From 0b24906baca4426b4a42c89e54135b80484dd7b6 Mon Sep 17 00:00:00 2001
From: Jean-Noel Rouvignac <jean-noel.rouvignac@forgerock.com>
Date: Mon, 13 Jul 2015 16:07:13 +0000
Subject: [PATCH] Code cleanup: - used early exits - removed code duplication
---
opendj-server-legacy/src/main/java/org/opends/quicksetup/installer/Installer.java | 348 +++++++++++++++++++++++++--------------------------------
1 files changed, 154 insertions(+), 194 deletions(-)
diff --git a/opendj-server-legacy/src/main/java/org/opends/quicksetup/installer/Installer.java b/opendj-server-legacy/src/main/java/org/opends/quicksetup/installer/Installer.java
index 978fa58..46098dd 100644
--- a/opendj-server-legacy/src/main/java/org/opends/quicksetup/installer/Installer.java
+++ b/opendj-server-legacy/src/main/java/org/opends/quicksetup/installer/Installer.java
@@ -33,6 +33,7 @@
import static org.opends.messages.QuickSetupMessages.*;
import static org.opends.quicksetup.Step.*;
import static org.opends.quicksetup.installer.DataReplicationOptions.Type.*;
+import static org.opends.quicksetup.installer.InstallProgressStep.*;
import static org.opends.quicksetup.util.Utils.*;
import static com.forgerock.opendj.cli.ArgumentConstants.*;
@@ -45,6 +46,7 @@
import java.io.IOException;
import java.net.URI;
import java.util.ArrayList;
+import java.util.Collection;
import java.util.Collections;
import java.util.HashMap;
import java.util.HashSet;
@@ -71,6 +73,7 @@
import org.forgerock.i18n.LocalizableMessage;
import org.forgerock.i18n.LocalizableMessageBuilder;
+import org.forgerock.i18n.LocalizableMessageDescriptor.Arg0;
import org.forgerock.i18n.slf4j.LocalizedLogger;
import org.forgerock.opendj.config.ManagedObjectDefinition;
import org.forgerock.opendj.server.config.client.BackendCfgClient;
@@ -154,7 +157,6 @@
{
/** The minimum integer value that can be used for a port. */
public static final int MIN_PORT_VALUE = 1;
-
/** The maximum integer value that can be used for a port. */
public static final int MAX_PORT_VALUE = 65535;
@@ -165,7 +167,6 @@
private static final int MIN_DIRECTORY_MANAGER_PWD = 1;
private static final int MIN_NUMBER_ENTRIES = 1;
-
private static final int MAX_NUMBER_ENTRIES = 10000000;
/**
@@ -233,21 +234,7 @@
/** Creates a default instance. */
public Installer()
{
- lstSteps.add(WELCOME);
- if (LicenseFile.exists())
- {
- lstSteps.add(LICENSE);
- }
- lstSteps.add(SERVER_SETTINGS);
- lstSteps.add(REPLICATION_OPTIONS);
- lstSteps.add(CREATE_GLOBAL_ADMINISTRATOR);
- lstSteps.add(SUFFIXES_OPTIONS);
- lstSteps.add(REMOTE_REPLICATION_PORTS);
- lstSteps.add(NEW_SUFFIX_OPTIONS);
- lstSteps.add(RUNTIME_OPTIONS);
- lstSteps.add(REVIEW);
- lstSteps.add(PROGRESS);
- lstSteps.add(FINISHED);
+ addStepsInOrder(lstSteps, LicenseFile.exists());
try
{
if (!QuickSetupLog.isInitialized())
@@ -366,16 +353,14 @@
@Override
public boolean finishClicked(final WizardStep cStep, final QuickSetup qs)
{
- if (cStep == Step.REVIEW)
- {
- updateUserDataForReviewPanel(qs);
- qs.launch();
- qs.setCurrentStep(Step.PROGRESS);
- }
- else
+ if (cStep != Step.REVIEW)
{
throw new IllegalStateException("Cannot click on finish when we are not in the Review window");
}
+
+ updateUserDataForReviewPanel(qs);
+ qs.launch();
+ qs.setCurrentStep(Step.PROGRESS);
// Installer responsible for updating the user data and launching
return false;
}
@@ -531,56 +516,37 @@
@Override
public QuickSetupStepPanel createWizardStepPanel(WizardStep step)
{
- QuickSetupStepPanel p = null;
- if (step == WELCOME)
+ if (step instanceof Step)
{
- p = new InstallWelcomePanel(this);
+ switch ((Step) step)
+ {
+ case WELCOME:
+ return new InstallWelcomePanel(this);
+ case LICENSE:
+ return new InstallLicensePanel(this);
+ case SERVER_SETTINGS:
+ return new ServerSettingsPanel(this);
+ case REPLICATION_OPTIONS:
+ return new DataReplicationPanel(this);
+ case CREATE_GLOBAL_ADMINISTRATOR:
+ return new GlobalAdministratorPanel(this);
+ case SUFFIXES_OPTIONS:
+ return new SuffixesToReplicatePanel(this);
+ case REMOTE_REPLICATION_PORTS:
+ return new RemoteReplicationPortsPanel(this);
+ case NEW_SUFFIX_OPTIONS:
+ return new DataOptionsPanel(this);
+ case RUNTIME_OPTIONS:
+ return new RuntimeOptionsPanel(this);
+ case REVIEW:
+ return new InstallReviewPanel(this);
+ case PROGRESS:
+ return new ProgressPanel(this);
+ case FINISHED:
+ return new FinishedPanel(this);
+ }
}
- else if (step == LICENSE)
- {
- p = new InstallLicensePanel(this);
- }
- else if (step == SERVER_SETTINGS)
- {
- p = new ServerSettingsPanel(this);
- }
- else if (step == REPLICATION_OPTIONS)
- {
- p = new DataReplicationPanel(this);
- }
- else if (step == CREATE_GLOBAL_ADMINISTRATOR)
- {
- p = new GlobalAdministratorPanel(this);
- }
- else if (step == SUFFIXES_OPTIONS)
- {
- p = new SuffixesToReplicatePanel(this);
- }
- else if (step == REMOTE_REPLICATION_PORTS)
- {
- p = new RemoteReplicationPortsPanel(this);
- }
- else if (step == NEW_SUFFIX_OPTIONS)
- {
- p = new DataOptionsPanel(this);
- }
- else if (step == RUNTIME_OPTIONS)
- {
- p = new RuntimeOptionsPanel(this);
- }
- else if (step == REVIEW)
- {
- p = new InstallReviewPanel(this);
- }
- else if (step == PROGRESS)
- {
- p = new ProgressPanel(this);
- }
- else if (step == FINISHED)
- {
- p = new FinishedPanel(this);
- }
- return p;
+ return null;
}
@Override
@@ -697,59 +663,7 @@
@Override
public WizardStep getNextWizardStep(WizardStep step)
{
- WizardStep next = null;
- if (step == Step.REPLICATION_OPTIONS)
- {
- if (getUserData().mustCreateAdministrator())
- {
- next = Step.CREATE_GLOBAL_ADMINISTRATOR;
- }
- else
- {
- switch (getUserData().getReplicationOptions().getType())
- {
- case FIRST_IN_TOPOLOGY:
- next = Step.NEW_SUFFIX_OPTIONS;
- break;
- case STANDALONE:
- next = Step.NEW_SUFFIX_OPTIONS;
- break;
- default:
- next = Step.SUFFIXES_OPTIONS;
- }
- }
- }
- else if (step == Step.SUFFIXES_OPTIONS)
- {
- switch (getUserData().getSuffixesToReplicateOptions().getType())
- {
- case REPLICATE_WITH_EXISTING_SUFFIXES:
-
- if (getUserData().getRemoteWithNoReplicationPort().size() > 0)
- {
- next = Step.REMOTE_REPLICATION_PORTS;
- }
- else
- {
- next = Step.RUNTIME_OPTIONS;
- }
- break;
- default:
- next = Step.NEW_SUFFIX_OPTIONS;
- }
- }
- else if (step == Step.REMOTE_REPLICATION_PORTS)
- {
- next = Step.RUNTIME_OPTIONS;
- }
- else
- {
- int i = lstSteps.indexOf(step);
- if (i != -1 && i + 1 < lstSteps.size())
- {
- next = lstSteps.get(i + 1);
- }
- }
+ WizardStep next = getNextWizardStep0(step);
if (next != null)
{
hmPreviousSteps.put(next, step);
@@ -757,28 +671,80 @@
return next;
}
+ private WizardStep getNextWizardStep0(WizardStep step)
+ {
+ if (step == Step.REPLICATION_OPTIONS)
+ {
+ if (getUserData().mustCreateAdministrator())
+ {
+ return Step.CREATE_GLOBAL_ADMINISTRATOR;
+ }
+
+ switch (getUserData().getReplicationOptions().getType())
+ {
+ case FIRST_IN_TOPOLOGY:
+ case STANDALONE:
+ return Step.NEW_SUFFIX_OPTIONS;
+ default:
+ return Step.SUFFIXES_OPTIONS;
+ }
+ }
+ else if (step == Step.SUFFIXES_OPTIONS)
+ {
+ switch (getUserData().getSuffixesToReplicateOptions().getType())
+ {
+ case REPLICATE_WITH_EXISTING_SUFFIXES:
+ if (getUserData().getRemoteWithNoReplicationPort().size() > 0)
+ {
+ return Step.REMOTE_REPLICATION_PORTS;
+ }
+ return Step.RUNTIME_OPTIONS;
+ default:
+ return Step.NEW_SUFFIX_OPTIONS;
+ }
+ }
+ else if (step == Step.REMOTE_REPLICATION_PORTS)
+ {
+ return Step.RUNTIME_OPTIONS;
+ }
+ else
+ {
+ int i = lstSteps.indexOf(step);
+ if (i != -1 && i + 1 < lstSteps.size())
+ {
+ return lstSteps.get(i + 1);
+ }
+ }
+ return null;
+ }
+
@Override
public LinkedHashSet<WizardStep> getOrderedSteps()
{
LinkedHashSet<WizardStep> orderedSteps = new LinkedHashSet<>();
- orderedSteps.add(WELCOME);
- if (lstSteps.contains(LICENSE))
- {
- orderedSteps.add(LICENSE);
- }
- orderedSteps.add(SERVER_SETTINGS);
- orderedSteps.add(REPLICATION_OPTIONS);
- orderedSteps.add(CREATE_GLOBAL_ADMINISTRATOR);
- orderedSteps.add(SUFFIXES_OPTIONS);
- orderedSteps.add(REMOTE_REPLICATION_PORTS);
- orderedSteps.add(NEW_SUFFIX_OPTIONS);
- orderedSteps.add(RUNTIME_OPTIONS);
- orderedSteps.add(REVIEW);
- orderedSteps.add(PROGRESS);
- orderedSteps.add(FINISHED);
+ addStepsInOrder(orderedSteps, lstSteps.contains(LICENSE));
return orderedSteps;
}
+ private void addStepsInOrder(Collection<WizardStep> steps, boolean licenseExists)
+ {
+ steps.add(WELCOME);
+ if (licenseExists)
+ {
+ steps.add(LICENSE);
+ }
+ steps.add(SERVER_SETTINGS);
+ steps.add(REPLICATION_OPTIONS);
+ steps.add(CREATE_GLOBAL_ADMINISTRATOR);
+ steps.add(SUFFIXES_OPTIONS);
+ steps.add(REMOTE_REPLICATION_PORTS);
+ steps.add(NEW_SUFFIX_OPTIONS);
+ steps.add(RUNTIME_OPTIONS);
+ steps.add(REVIEW);
+ steps.add(PROGRESS);
+ steps.add(FINISHED);
+ }
+
@Override
public WizardStep getPreviousWizardStep(WizardStep step)
{
@@ -835,19 +801,17 @@
*/
private File createTemplateFile() throws ApplicationException
{
- File file;
try
{
Set<String> baseDNs = new LinkedHashSet<>(getUserData().getNewSuffixOptions().getBaseDns());
int nEntries = getUserData().getNewSuffixOptions().getNumberEntries();
- file = SetupUtils.createTemplateFile(baseDNs, nEntries);
+ return SetupUtils.createTemplateFile(baseDNs, nEntries);
}
catch (IOException ioe)
{
LocalizableMessage failedMsg = getThrowableMsg(INFO_ERROR_CREATING_TEMP_FILE.get(), ioe);
throw new ApplicationException(ReturnCode.FILE_SYSTEM_ACCESS_ERROR, failedMsg, ioe);
}
- return file;
}
/**
@@ -923,8 +887,7 @@
if (createNotReplicatedSuffix())
{
- LinkedList<String> baseDns = getUserData().getNewSuffixOptions().getBaseDns();
- for (String baseDn : baseDns)
+ for (String baseDn : getUserData().getNewSuffixOptions().getBaseDns())
{
argList.add("-b");
argList.add(baseDn);
@@ -1530,7 +1493,10 @@
{
notifyListeners(getFormattedError(ae, true));
}
- StaticUtils.close(ctx);
+ finally
+ {
+ StaticUtils.close(ctx);
+ }
notifyListeners(getFormattedDoneWithLineBreak());
}
}
@@ -1896,25 +1862,21 @@
*/
protected void initSummaryMap(Map<ProgressStep, LocalizableMessage> hmSummary, boolean isCli)
{
- hmSummary.put(InstallProgressStep.NOT_STARTED, getFormattedSummary(INFO_SUMMARY_INSTALL_NOT_STARTED.get()));
- hmSummary.put(InstallProgressStep.DOWNLOADING, getFormattedSummary(INFO_SUMMARY_DOWNLOADING.get()));
- hmSummary.put(InstallProgressStep.EXTRACTING, getFormattedSummary(INFO_SUMMARY_EXTRACTING.get()));
- hmSummary.put(InstallProgressStep.CONFIGURING_SERVER, getFormattedSummary(INFO_SUMMARY_CONFIGURING.get()));
- hmSummary.put(InstallProgressStep.CREATING_BASE_ENTRY, getFormattedSummary(INFO_SUMMARY_CREATING_BASE_ENTRY.get()));
- hmSummary.put(InstallProgressStep.IMPORTING_LDIF, getFormattedSummary(INFO_SUMMARY_IMPORTING_LDIF.get()));
- hmSummary.put(InstallProgressStep.IMPORTING_AUTOMATICALLY_GENERATED,
- getFormattedSummary(INFO_SUMMARY_IMPORTING_AUTOMATICALLY_GENERATED.get()));
- hmSummary.put(InstallProgressStep.CONFIGURING_REPLICATION,
- getFormattedSummary(INFO_SUMMARY_CONFIGURING_REPLICATION.get()));
- hmSummary.put(InstallProgressStep.STARTING_SERVER, getFormattedSummary(INFO_SUMMARY_STARTING.get()));
- hmSummary.put(InstallProgressStep.STOPPING_SERVER, getFormattedSummary(INFO_SUMMARY_STOPPING.get()));
- hmSummary.put(InstallProgressStep.CONFIGURING_ADS, getFormattedSummary(INFO_SUMMARY_CONFIGURING_ADS.get()));
- hmSummary.put(InstallProgressStep.INITIALIZE_REPLICATED_SUFFIXES,
- getFormattedSummary(INFO_SUMMARY_INITIALIZE_REPLICATED_SUFFIXES.get()));
- hmSummary.put(InstallProgressStep.ENABLING_WINDOWS_SERVICE,
- getFormattedSummary(INFO_SUMMARY_ENABLING_WINDOWS_SERVICE.get()));
- hmSummary.put(InstallProgressStep.WAITING_TO_CANCEL, getFormattedSummary(INFO_SUMMARY_WAITING_TO_CANCEL.get()));
- hmSummary.put(InstallProgressStep.CANCELING, getFormattedSummary(INFO_SUMMARY_CANCELING.get()));
+ put(hmSummary, NOT_STARTED, INFO_SUMMARY_INSTALL_NOT_STARTED);
+ put(hmSummary, DOWNLOADING, INFO_SUMMARY_DOWNLOADING);
+ put(hmSummary, EXTRACTING, INFO_SUMMARY_EXTRACTING);
+ put(hmSummary, CONFIGURING_SERVER, INFO_SUMMARY_CONFIGURING);
+ put(hmSummary, CREATING_BASE_ENTRY, INFO_SUMMARY_CREATING_BASE_ENTRY);
+ put(hmSummary, IMPORTING_LDIF, INFO_SUMMARY_IMPORTING_LDIF);
+ put(hmSummary, IMPORTING_AUTOMATICALLY_GENERATED, INFO_SUMMARY_IMPORTING_AUTOMATICALLY_GENERATED);
+ put(hmSummary, CONFIGURING_REPLICATION, INFO_SUMMARY_CONFIGURING_REPLICATION);
+ put(hmSummary, STARTING_SERVER, INFO_SUMMARY_STARTING);
+ put(hmSummary, STOPPING_SERVER, INFO_SUMMARY_STOPPING);
+ put(hmSummary, CONFIGURING_ADS, INFO_SUMMARY_CONFIGURING_ADS);
+ put(hmSummary, INITIALIZE_REPLICATED_SUFFIXES, INFO_SUMMARY_INITIALIZE_REPLICATED_SUFFIXES);
+ put(hmSummary, ENABLING_WINDOWS_SERVICE, INFO_SUMMARY_ENABLING_WINDOWS_SERVICE);
+ put(hmSummary, WAITING_TO_CANCEL, INFO_SUMMARY_WAITING_TO_CANCEL);
+ put(hmSummary, CANCELING, INFO_SUMMARY_CANCELING);
Installation installation = getInstallation();
String cmd = Utils.addWordBreaks(getPath(installation.getControlPanelCommandFile()), 60, 5);
@@ -1931,11 +1893,15 @@
DynamicConstants.PRODUCT_NAME, formattedPath, INFO_GENERAL_SERVER_STOPPED.get(),
DynamicConstants.DOC_QUICK_REFERENCE_GUIDE, DynamicConstants.PRODUCT_NAME, cmd),
LocalizableMessage.class);
- hmSummary.put(InstallProgressStep.FINISHED_SUCCESSFULLY, getFormattedSuccess(successMessage));
- hmSummary.put(InstallProgressStep.FINISHED_CANCELED, getFormattedSuccess(INFO_SUMMARY_INSTALL_FINISHED_CANCELED
- .get()));
- hmSummary.put(InstallProgressStep.FINISHED_WITH_ERROR, getFormattedError(INFO_SUMMARY_INSTALL_FINISHED_WITH_ERROR
- .get(INFO_GENERAL_SERVER_STOPPED.get(), cmd)));
+ hmSummary.put(FINISHED_SUCCESSFULLY, getFormattedSuccess(successMessage));
+ hmSummary.put(FINISHED_CANCELED, getFormattedSuccess(INFO_SUMMARY_INSTALL_FINISHED_CANCELED.get()));
+ hmSummary.put(FINISHED_WITH_ERROR,
+ getFormattedError(INFO_SUMMARY_INSTALL_FINISHED_WITH_ERROR.get(INFO_GENERAL_SERVER_STOPPED.get(), cmd)));
+ }
+
+ private void put(Map<ProgressStep, LocalizableMessage> hmSummary, InstallProgressStep step, Arg0 msg)
+ {
+ hmSummary.put(step, getFormattedSummary(msg.get()));
}
/**
@@ -3044,7 +3010,7 @@
private void updateUserDataForReplicationOptionsPanel(QuickSetup qs) throws UserDataException
{
boolean hasGlobalAdministrators = false;
- Integer replicationPort = -1;
+ int replicationPort = -1;
boolean secureReplication = false;
Integer port = null;
List<LocalizableMessage> errorMsgs = new ArrayList<>();
@@ -3118,29 +3084,7 @@
auth.setPwd(pwd);
auth.setUseSecureConnection(true);
- DataReplicationOptions repl;
- switch (type)
- {
- case IN_EXISTING_TOPOLOGY:
- {
- repl = DataReplicationOptions.createInExistingTopology(auth, replicationPort, secureReplication);
- break;
- }
- case STANDALONE:
- {
- repl = DataReplicationOptions.createStandalone();
- break;
- }
- case FIRST_IN_TOPOLOGY:
- {
- repl = DataReplicationOptions.createFirstInTopology(replicationPort, secureReplication);
- break;
- }
- default:
- throw new IllegalStateException("Do not know what to do with type: " + type);
- }
- getUserData().setReplicationOptions(repl);
-
+ getUserData().setReplicationOptions(createDataReplicationOptions(replicationPort, secureReplication, type, auth));
getUserData().createAdministrator(
!hasGlobalAdministrators && type == DataReplicationOptions.Type.IN_EXISTING_TOPOLOGY);
}
@@ -3154,6 +3098,22 @@
}
}
+ private DataReplicationOptions createDataReplicationOptions(int replicationPort, boolean secureReplication,
+ DataReplicationOptions.Type type, AuthenticationData auth)
+ {
+ switch (type)
+ {
+ case IN_EXISTING_TOPOLOGY:
+ return DataReplicationOptions.createInExistingTopology(auth, replicationPort, secureReplication);
+ case STANDALONE:
+ return DataReplicationOptions.createStandalone();
+ case FIRST_IN_TOPOLOGY:
+ return DataReplicationOptions.createFirstInTopology(replicationPort, secureReplication);
+ default:
+ throw new IllegalStateException("Do not know what to do with type: " + type);
+ }
+ }
+
private int checkReplicationPort(QuickSetup qs, List<LocalizableMessage> errorMsgs)
{
int replicationPort = -1;
--
Gitblit v1.10.0