From 5392a0d77ac41b1c2e450fe59a81a0751accc079 Mon Sep 17 00:00:00 2001
From: Gaetan Boismal <gaetan.boismal@forgerock.com>
Date: Mon, 23 Mar 2015 14:33:19 +0000
Subject: [PATCH] OPENDJ-1714: Code cleanup
---
opendj-server-legacy/src/main/java/org/opends/quicksetup/installer/NewSuffixOptions.java | 24 +
opendj-server-legacy/src/main/java/org/opends/server/tools/InstallDS.java | 319 ++++++++++---------
opendj-server-legacy/src/main/java/org/opends/quicksetup/installer/Installer.java | 507 ++++++++++++------------------
opendj-server-legacy/src/main/java/org/opends/server/util/SetupUtils.java | 72 +---
4 files changed, 413 insertions(+), 509 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 085e958..9115994 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
@@ -22,10 +22,20 @@
*
*
* Copyright 2006-2010 Sun Microsystems, Inc.
- * Portions Copyright 2011-2014 ForgeRock AS
+ * Portions Copyright 2011-2015 ForgeRock AS
*/
package org.opends.quicksetup.installer;
+import static org.forgerock.util.Utils.*;
+import static org.opends.admin.ads.ServerDescriptor.*;
+import static org.opends.admin.ads.ServerDescriptor.ServerProperty.*;
+import static org.opends.admin.ads.util.ConnectionUtils.*;
+import static org.opends.messages.QuickSetupMessages.*;
+import static org.opends.quicksetup.Step.*;
+import static org.opends.quicksetup.util.Utils.*;
+
+import static com.forgerock.opendj.cli.Utils.*;
+
import java.awt.event.WindowEvent;
import java.io.BufferedWriter;
import java.io.File;
@@ -118,16 +128,6 @@
import com.forgerock.opendj.util.OperatingSystem;
-import static com.forgerock.opendj.cli.Utils.*;
-
-import static org.forgerock.util.Utils.*;
-import static org.opends.admin.ads.ServerDescriptor.*;
-import static org.opends.admin.ads.ServerDescriptor.ServerProperty.*;
-import static org.opends.admin.ads.util.ConnectionUtils.*;
-import static org.opends.messages.QuickSetupMessages.*;
-import static org.opends.quicksetup.Step.*;
-import static org.opends.quicksetup.util.Utils.*;
-
/**
* This is an abstract class that is in charge of actually performing the
* installation.
@@ -145,36 +145,18 @@
*/
public abstract class Installer extends GuiApplication {
- private TopologyCache lastLoadedCache;
+ /** The minimum integer value that can be used for a port. */
+ public static final int MIN_PORT_VALUE = 1;
- /** Indicates that we've detected that there is something installed. */
- boolean forceToDisplaySetup;
+ /** The maximum integer value that can be used for a port. */
+ public static final int MAX_PORT_VALUE = 65535;
- /** When true indicates that the user has canceled this operation. */
- protected boolean canceled;
-
- private boolean javaVersionCheckFailed;
-
- /** Map containing information about what has been configured remotely. */
- private Map<ServerDescriptor, ConfiguredReplication>
- hmConfiguredRemoteReplication =
- new HashMap<ServerDescriptor, ConfiguredReplication>();
+ /** The name of the backend created on setup. */
+ public static final String BACKEND_NAME = "userRoot";
/** Constants used to do checks. */
private static final int MIN_DIRECTORY_MANAGER_PWD = 1;
- private static final LocalizedLogger logger = LocalizedLogger.getLoggerForThisClass();
-
- /**
- * 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;
-
private static final int MIN_NUMBER_ENTRIES = 1;
private static final int MAX_NUMBER_ENTRIES = 10000000;
@@ -191,9 +173,24 @@
*/
private static final int THRESHOLD_VERBOSE_START = 100000;
+ private static final LocalizedLogger logger = LocalizedLogger.getLoggerForThisClass();
+
+ private TopologyCache lastLoadedCache;
+
+ /** Indicates that we've detected that there is something installed. */
+ boolean forceToDisplaySetup;
+
+ /** When true indicates that the user has canceled this operation. */
+ protected boolean canceled;
+
+ private boolean javaVersionCheckFailed;
+
+ /** Map containing information about what has been configured remotely. */
+ private Map<ServerDescriptor, ConfiguredReplication> hmConfiguredRemoteReplication =
+ new HashMap<ServerDescriptor, ConfiguredReplication>();
+
/** Set of progress steps that have been completed. */
- protected Set<InstallProgressStep>
- completedProgress = new HashSet<InstallProgressStep>();
+ protected Set<InstallProgressStep> completedProgress = new HashSet<InstallProgressStep>();
private final List<WizardStep> lstSteps = new ArrayList<WizardStep>();
@@ -205,8 +202,7 @@
SUBSTEPS.add(Step.REMOTE_REPLICATION_PORTS);
}
- private final Map<WizardStep, WizardStep> hmPreviousSteps =
- new HashMap<WizardStep, WizardStep>();
+ private final Map<WizardStep, WizardStep> hmPreviousSteps = new HashMap<WizardStep, WizardStep>();
private char[] selfSignedCertPw;
@@ -215,24 +211,20 @@
private boolean createdRemoteAds;
private String lastImportProgress;
- /**
- * An static String that contains the class name of ConfigFileHandler.
- */
- protected static final String DEFAULT_CONFIG_CLASS_NAME =
- "org.opends.server.extensions.ConfigFileHandler";
+ /** A static String that contains the class name of ConfigFileHandler. */
+ protected static final String DEFAULT_CONFIG_CLASS_NAME = "org.opends.server.extensions.ConfigFileHandler";
/** Alias of a self-signed certificate. */
- protected static final String SELF_SIGNED_CERT_ALIAS =
- SecurityOptions.SELF_SIGNED_CERT_ALIAS;
-
- /** The threshold in minutes used to know whether we must display a warning
- * informing that there is a server clock difference between two servers
- * whose contents are being replicated. */
- public static final int THRESHOLD_CLOCK_DIFFERENCE_WARNING = 5;
+ protected static final String SELF_SIGNED_CERT_ALIAS = SecurityOptions.SELF_SIGNED_CERT_ALIAS;
/**
- * Creates a default instance.
+ * The threshold in minutes used to know whether we must display a warning
+ * informing that there is a server clock difference between two servers whose
+ * contents are being replicated.
*/
+ public static final int THRESHOLD_CLOCK_DIFFERENCE_WARNING = 5;
+
+ /** Creates a default instance. */
public Installer() {
lstSteps.add(WELCOME);
if (LicenseFile.exists()) {
@@ -820,7 +812,9 @@
/**
* This methods configures the server based on the contents of the UserData
* object provided in the constructor.
- * @throws ApplicationException if something goes wrong.
+ *
+ * @throws ApplicationException
+ * if something goes wrong.
*/
protected void configureServer() throws ApplicationException {
notifyListeners(getFormattedWithPoints(INFO_PROGRESS_CONFIGURING.get()));
@@ -832,11 +826,8 @@
}
copyTemplateInstance();
-
writeOpenDSJavaHome();
-
writeHostName();
-
checkAbort();
List<String> argList = new ArrayList<String>();
@@ -866,77 +857,7 @@
argList.add("-q");
}
- String aliasInKeyStore = sec.getAliasToUse();
- String aliasInTrustStore = aliasInKeyStore != null ? aliasInKeyStore : SELF_SIGNED_CERT_ALIAS;
-
- switch (sec.getCertificateType())
- {
- case SELF_SIGNED_CERTIFICATE:
- argList.add("-k");
- argList.add("cn=JKS,cn=Key Manager Providers,cn=config");
- argList.add("-t");
- argList.add("cn=JKS,cn=Trust Manager Providers,cn=config");
- break;
- case JKS:
- argList.add("-k");
- argList.add("cn=JKS,cn=Key Manager Providers,cn=config");
- argList.add("-t");
- argList.add("cn=JKS,cn=Trust Manager Providers,cn=config");
- argList.add("-m");
- argList.add(sec.getKeystorePath());
- if (aliasInKeyStore != null)
- {
- argList.add("-a");
- argList.add(aliasInKeyStore);
- }
- break;
- case JCEKS:
- argList.add("-k");
- argList.add("cn=JCEKS,cn=Key Manager Providers,cn=config");
- argList.add("-t");
- argList.add("cn=JCEKS,cn=Trust Manager Providers,cn=config");
- argList.add("-m");
- argList.add(sec.getKeystorePath());
- if (aliasInKeyStore != null)
- {
- argList.add("-a");
- argList.add(aliasInKeyStore);
- }
- break;
- case PKCS12:
- argList.add("-k");
- argList.add("cn=PKCS12,cn=Key Manager Providers,cn=config");
- argList.add("-t");
- // We are going to import the PCKS12 certificate in a JKS trust store
- argList.add("cn=JKS,cn=Trust Manager Providers,cn=config");
- argList.add("-m");
- argList.add(sec.getKeystorePath());
- if (aliasInKeyStore != null)
- {
- argList.add("-a");
- argList.add(aliasInKeyStore);
- }
- break;
- case PKCS11:
- argList.add("-k");
- argList.add("cn=PKCS11,cn=Key Manager Providers,cn=config");
- argList.add("-t");
- // We are going to import the PCKS11 certificate in a JKS trust store
- argList.add("cn=JKS,cn=Trust Manager Providers,cn=config");
- if (aliasInKeyStore != null)
- {
- argList.add("-a");
- argList.add(aliasInKeyStore);
- }
- break;
- case NO_CERTIFICATE:
- // Nothing to do.
- break;
- default:
- throw new IllegalStateException("Unknown certificate type: "+
- sec.getCertificateType());
- }
-
+ addCertificateArguments(sec, argList);
// For the moment do not enable JMX
if (getUserData().getServerJMXPort() > 0)
{
@@ -1002,7 +923,7 @@
}
else if (getUserData().getNewSuffixOptions().getBaseDns().isEmpty())
{
- helper.deleteBackend(getBackendName());
+ helper.deleteBackend(BACKEND_NAME);
}
} catch (ApplicationException aex)
{
@@ -1019,6 +940,7 @@
}
isOver = true;
}
+
@Override
public void abort()
{
@@ -1028,18 +950,19 @@
invokeLongOperation(thread);
notifyListeners(getFormattedDoneWithLineBreak());
checkAbort();
+ configureCertificate(sec);
+ }
+ private void configureCertificate(SecurityOptions sec) throws ApplicationException
+ {
try
{
SecurityOptions.CertificateType certType = sec.getCertificateType();
if (certType != SecurityOptions.CertificateType.NO_CERTIFICATE)
{
- notifyListeners(getFormattedWithPoints(
- INFO_PROGRESS_UPDATING_CERTIFICATES.get()));
+ notifyListeners(getFormattedWithPoints(INFO_PROGRESS_UPDATING_CERTIFICATES.get()));
}
- CertificateManager certManager;
- CertificateManager trustManager;
- File f;
+
switch (certType)
{
case NO_CERTIFICATE:
@@ -1047,132 +970,38 @@
break;
case SELF_SIGNED_CERTIFICATE:
String pwd = getSelfSignedCertificatePwd();
- certManager = new CertificateManager(
- getSelfSignedKeystorePath(),
- CertificateManager.KEY_STORE_TYPE_JKS,
- pwd);
+ final CertificateManager certManager =
+ new CertificateManager(getSelfSignedKeystorePath(), CertificateManager.KEY_STORE_TYPE_JKS, pwd);
certManager.generateSelfSignedCertificate(SELF_SIGNED_CERT_ALIAS,
- getSelfSignedCertificateSubjectDN(),
- getSelfSignedCertificateValidity());
- SetupUtils.exportCertificate(certManager, SELF_SIGNED_CERT_ALIAS,
- getTemporaryCertificatePath());
-
- trustManager = new CertificateManager(
- getTrustManagerPath(),
- CertificateManager.KEY_STORE_TYPE_JKS,
- pwd);
- trustManager.addCertificate(SELF_SIGNED_CERT_ALIAS,
- new File(getTemporaryCertificatePath()));
- createProtectedFile(getKeystorePinPath(), pwd);
- f = new File(getTemporaryCertificatePath());
- f.delete();
-
+ getSelfSignedCertificateSubjectDN(), getSelfSignedCertificateValidity());
+ SetupUtils.exportCertificate(certManager, SELF_SIGNED_CERT_ALIAS, getTemporaryCertificatePath());
+ configureTrustStore(CertificateManager.KEY_STORE_TYPE_JKS, SELF_SIGNED_CERT_ALIAS, pwd);
break;
+
case JKS:
- certManager = new CertificateManager(
- sec.getKeystorePath(),
- CertificateManager.KEY_STORE_TYPE_JKS,
- sec.getKeystorePassword());
- if (aliasInKeyStore != null)
- {
- SetupUtils.exportCertificate(certManager, aliasInKeyStore,
- getTemporaryCertificatePath());
- }
- else
- {
- SetupUtils.exportCertificate(certManager,
- getTemporaryCertificatePath());
- }
-
- trustManager = new CertificateManager(
- getTrustManagerPath(),
- CertificateManager.KEY_STORE_TYPE_JKS,
- sec.getKeystorePassword());
- trustManager.addCertificate(aliasInTrustStore,
- new File(getTemporaryCertificatePath()));
- createProtectedFile(getKeystorePinPath(), sec.getKeystorePassword());
- f = new File(getTemporaryCertificatePath());
- f.delete();
+ configureKeyAndTrustStore(sec.getKeystorePath(), CertificateManager.KEY_STORE_TYPE_JKS,
+ CertificateManager.KEY_STORE_TYPE_JKS, sec);
break;
+
case JCEKS:
- certManager = new CertificateManager(
- sec.getKeystorePath(),
- CertificateManager.KEY_STORE_TYPE_JCEKS,
- sec.getKeystorePassword());
- if (aliasInKeyStore != null)
- {
- SetupUtils.exportCertificate(certManager, aliasInKeyStore,
- getTemporaryCertificatePath());
- }
- else
- {
- SetupUtils.exportCertificate(certManager,
- getTemporaryCertificatePath());
- }
-
- trustManager = new CertificateManager(
- getTrustManagerPath(),
- CertificateManager.KEY_STORE_TYPE_JCEKS,
- sec.getKeystorePassword());
- trustManager.addCertificate(aliasInTrustStore,
- new File(getTemporaryCertificatePath()));
- createProtectedFile(getKeystorePinPath(), sec.getKeystorePassword());
- f = new File(getTemporaryCertificatePath());
- f.delete();
+ configureKeyAndTrustStore(sec.getKeystorePath(), CertificateManager.KEY_STORE_TYPE_JCEKS,
+ CertificateManager.KEY_STORE_TYPE_JCEKS, sec);
break;
+
case PKCS12:
- certManager = new CertificateManager(
- sec.getKeystorePath(),
- CertificateManager.KEY_STORE_TYPE_PKCS12,
- sec.getKeystorePassword());
- if (aliasInKeyStore != null)
- {
- SetupUtils.exportCertificate(certManager, aliasInKeyStore,
- getTemporaryCertificatePath());
- }
- else
- {
- SetupUtils.exportCertificate(certManager,
- getTemporaryCertificatePath());
- }
-
- trustManager = new CertificateManager(
- getTrustManagerPath(),
- CertificateManager.KEY_STORE_TYPE_JKS,
- sec.getKeystorePassword());
- trustManager.addCertificate(aliasInTrustStore,
- new File(getTemporaryCertificatePath()));
- createProtectedFile(getKeystorePinPath(), sec.getKeystorePassword());
- f = new File(getTemporaryCertificatePath());
- f.delete();
+ configureKeyAndTrustStore(sec.getKeystorePath(), CertificateManager.KEY_STORE_TYPE_PKCS12,
+ CertificateManager.KEY_STORE_TYPE_JKS, sec);
break;
+
case PKCS11:
- certManager = new CertificateManager(
- CertificateManager.KEY_STORE_PATH_PKCS11,
- CertificateManager.KEY_STORE_TYPE_PKCS11,
- sec.getKeystorePassword());
- if (aliasInKeyStore != null)
- {
- SetupUtils.exportCertificate(certManager, aliasInKeyStore,
- getTemporaryCertificatePath());
- }
- else
- {
- SetupUtils.exportCertificate(certManager,
- getTemporaryCertificatePath());
- }
-
- trustManager = new CertificateManager(
- getTrustManagerPath(),
- CertificateManager.KEY_STORE_TYPE_JKS,
- sec.getKeystorePassword());
- trustManager.addCertificate(aliasInTrustStore,
- new File(getTemporaryCertificatePath()));
- createProtectedFile(getKeystorePinPath(), sec.getKeystorePassword());
+ configureKeyAndTrustStore(CertificateManager.KEY_STORE_PATH_PKCS11, CertificateManager.KEY_STORE_TYPE_PKCS11,
+ CertificateManager.KEY_STORE_TYPE_JKS, sec);
break;
+
default:
- throw new IllegalStateException("Unknown certificate type: "+certType);
+ throw new IllegalStateException("Unknown certificate type: " + certType);
}
+
if (certType != SecurityOptions.CertificateType.NO_CERTIFICATE)
{
notifyListeners(getFormattedDoneWithLineBreak());
@@ -1180,11 +1009,104 @@
}
catch (Throwable t)
{
- logger.error(LocalizableMessage.raw("Error configuring certificate: "+t, t));
+ logger.error(LocalizableMessage.raw("Error configuring certificate: " + t, t));
throw new ApplicationException(
- ReturnCode.CONFIGURATION_ERROR,
- getThrowableMsg(INFO_ERROR_CONFIGURING_CERTIFICATE.get(),
- t), t);
+ ReturnCode.CONFIGURATION_ERROR, getThrowableMsg(INFO_ERROR_CONFIGURING_CERTIFICATE.get(), t), t);
+ }
+ }
+
+ private void configureKeyAndTrustStore(final String keyStorePath, final String keyStoreType,
+ final String trustStoreType, final SecurityOptions sec) throws Exception
+ {
+ final String keystorePassword = sec.getKeystorePassword();
+ final String keyStoreAlias = sec.getAliasToUse();
+
+ CertificateManager certManager = new CertificateManager(keyStorePath, keyStoreType, keystorePassword);
+ SetupUtils.exportCertificate(certManager, keyStoreAlias, getTemporaryCertificatePath());
+ configureTrustStore(trustStoreType, keyStoreAlias, keystorePassword);
+ }
+
+ private void configureTrustStore(final String type, final String keyStoreAlias, final String password)
+ throws Exception
+ {
+ final String alias = keyStoreAlias != null ? keyStoreAlias : SELF_SIGNED_CERT_ALIAS;
+ final CertificateManager trustMgr = new CertificateManager(getTrustManagerPath(), type, password);
+ trustMgr.addCertificate(alias, new File(getTemporaryCertificatePath()));
+
+ createProtectedFile(getKeystorePinPath(), password);
+ final File f = new File(getTemporaryCertificatePath());
+ f.delete();
+ }
+
+ private void addCertificateArguments(SecurityOptions sec, List<String> argList)
+ {
+ final String aliasInKeyStore = sec.getAliasToUse();
+
+ switch (sec.getCertificateType())
+ {
+ case SELF_SIGNED_CERTIFICATE:
+ argList.add("-k");
+ argList.add("cn=JKS,cn=Key Manager Providers,cn=config");
+ argList.add("-t");
+ argList.add("cn=JKS,cn=Trust Manager Providers,cn=config");
+ break;
+ case JKS:
+ argList.add("-k");
+ argList.add("cn=JKS,cn=Key Manager Providers,cn=config");
+ argList.add("-t");
+ argList.add("cn=JKS,cn=Trust Manager Providers,cn=config");
+ argList.add("-m");
+ argList.add(sec.getKeystorePath());
+ if (aliasInKeyStore != null)
+ {
+ argList.add("-a");
+ argList.add(aliasInKeyStore);
+ }
+ break;
+ case JCEKS:
+ argList.add("-k");
+ argList.add("cn=JCEKS,cn=Key Manager Providers,cn=config");
+ argList.add("-t");
+ argList.add("cn=JCEKS,cn=Trust Manager Providers,cn=config");
+ argList.add("-m");
+ argList.add(sec.getKeystorePath());
+ if (aliasInKeyStore != null)
+ {
+ argList.add("-a");
+ argList.add(aliasInKeyStore);
+ }
+ break;
+ case PKCS12:
+ argList.add("-k");
+ argList.add("cn=PKCS12,cn=Key Manager Providers,cn=config");
+ argList.add("-t");
+ // We are going to import the PCKS12 certificate in a JKS trust store
+ argList.add("cn=JKS,cn=Trust Manager Providers,cn=config");
+ argList.add("-m");
+ argList.add(sec.getKeystorePath());
+ if (aliasInKeyStore != null)
+ {
+ argList.add("-a");
+ argList.add(aliasInKeyStore);
+ }
+ break;
+ case PKCS11:
+ argList.add("-k");
+ argList.add("cn=PKCS11,cn=Key Manager Providers,cn=config");
+ argList.add("-t");
+ // We are going to import the PCKS11 certificate in a JKS trust store
+ argList.add("cn=JKS,cn=Trust Manager Providers,cn=config");
+ if (aliasInKeyStore != null)
+ {
+ argList.add("-a");
+ argList.add(aliasInKeyStore);
+ }
+ break;
+ case NO_CERTIFICATE:
+ // Nothing to do.
+ break;
+ default:
+ throw new IllegalStateException("Unknown certificate type: " + sec.getCertificateType());
}
}
@@ -1219,7 +1141,7 @@
List<String> argList = new ArrayList<String>();
argList.add("-n");
- argList.add(getBackendName());
+ argList.add(BACKEND_NAME);
for (File f : ldifFiles)
{
argList.add("-l");
@@ -1274,37 +1196,33 @@
/**
* This methods imports the contents of an LDIF file based on the contents of
* the UserData object provided in the constructor.
- * @throws ApplicationException if something goes wrong.
+ *
+ * @throws ApplicationException
+ * if something goes wrong.
*/
private void importLDIF() throws ApplicationException {
- LinkedList<String> ldifPaths =
- getUserData().getNewSuffixOptions().getLDIFPaths();
+ LinkedList<String> ldifPaths = getUserData().getNewSuffixOptions().getLDIFPaths();
LocalizableMessageBuilder mb = new LocalizableMessageBuilder();
if (ldifPaths.size() > 1)
{
if (isVerbose())
{
- mb.append(getFormattedProgress(INFO_PROGRESS_IMPORTING_LDIFS.get(
- joinAsString(", ", ldifPaths))));
+ mb.append(getFormattedProgress(INFO_PROGRESS_IMPORTING_LDIFS.get(joinAsString(", ", ldifPaths))));
mb.append(getLineBreak());
}
else
{
- mb.append(getFormattedProgress(
- INFO_PROGRESS_IMPORTING_LDIFS_NON_VERBOSE.get(
- joinAsString(", ", ldifPaths))));
+ mb.append(getFormattedProgress(INFO_PROGRESS_IMPORTING_LDIFS_NON_VERBOSE.get(joinAsString(", ", ldifPaths))));
}
}
else if (isVerbose())
{
- mb.append(getFormattedProgress(INFO_PROGRESS_IMPORTING_LDIF.get(
- ldifPaths.getFirst())));
+ mb.append(getFormattedProgress(INFO_PROGRESS_IMPORTING_LDIF.get(ldifPaths.getFirst())));
mb.append(getLineBreak());
}
else
{
- mb.append(getFormattedProgress(
- INFO_PROGRESS_IMPORTING_LDIF_NON_VERBOSE.get(ldifPaths.getFirst())));
+ mb.append(getFormattedProgress(INFO_PROGRESS_IMPORTING_LDIF_NON_VERBOSE.get(ldifPaths.getFirst())));
}
notifyListeners(mb.toMessage());
@@ -1318,7 +1236,7 @@
List<String> argList = new ArrayList<String>();
argList.add("-n");
- argList.add(getBackendName());
+ argList.add(BACKEND_NAME);
for (String ldifPath : ldifPaths)
{
argList.add("-l");
@@ -1420,14 +1338,12 @@
LocalizableMessageBuilder mb = new LocalizableMessageBuilder();
if (isVerbose() || nEntries > THRESHOLD_AUTOMATIC_DATA_VERBOSE)
{
- mb.append(getFormattedProgress(
- INFO_PROGRESS_IMPORT_AUTOMATICALLY_GENERATED.get(nEntries)));
+ mb.append(getFormattedProgress(INFO_PROGRESS_IMPORT_AUTOMATICALLY_GENERATED.get(nEntries)));
mb.append(getLineBreak());
}
else
{
- mb.append(getFormattedProgress(
- INFO_PROGRESS_IMPORT_AUTOMATICALLY_GENERATED_NON_VERBOSE.get(nEntries)));
+ mb.append(getFormattedProgress(INFO_PROGRESS_IMPORT_AUTOMATICALLY_GENERATED_NON_VERBOSE.get(nEntries)));
}
notifyListeners(mb.toMessage());
@@ -1443,7 +1359,7 @@
}
final List<String> argList = new ArrayList<String>();
argList.add("-n");
- argList.add(getBackendName());
+ argList.add(BACKEND_NAME);
argList.add("-A");
argList.add(templatePath.getAbsolutePath());
argList.add("-s"); // seed
@@ -1470,7 +1386,8 @@
ReturnCode.IMPORT_ERROR,
INFO_ERROR_IMPORT_LDIF_TOOL_RETURN_CODE.get(result), null);
}
- } catch (Throwable t)
+ }
+ catch (Throwable t)
{
ae = new ApplicationException(
ReturnCode.IMPORT_ERROR,
@@ -1626,7 +1543,7 @@
{
Set<String> baseDns = new HashSet<String>(
getUserData().getNewSuffixOptions().getBaseDns());
- hmBackendSuffix.put(getBackendName(), baseDns);
+ hmBackendSuffix.put(BACKEND_NAME, baseDns);
}
else
{
@@ -1684,7 +1601,7 @@
deleteUserRoot = true;
for (String backendName : hmBackendSuffix.keySet())
{
- if (backendName.equalsIgnoreCase(getBackendName()))
+ if (backendName.equalsIgnoreCase(BACKEND_NAME))
{
deleteUserRoot = false;
break;
@@ -1701,12 +1618,12 @@
if (deleteUserRoot)
{
// Delete the userRoot backend.
- helper.deleteBackend(ctx, getBackendName(),
+ helper.deleteBackend(ctx, BACKEND_NAME,
ConnectionUtils.getHostPort(ctx));
}
for (String backendName : hmBackendSuffix.keySet())
{
- if (backendName.equalsIgnoreCase(getBackendName()))
+ if (backendName.equalsIgnoreCase(BACKEND_NAME))
{
helper.setBaseDns(
ctx, backendName, hmBackendSuffix.get(backendName),
@@ -2234,15 +2151,6 @@
}
/**
- * Returns the default backend name (the one that will be created).
- * @return the default backend name (the one that will be created).
- */
- private String getBackendName()
- {
- return "userRoot";
- }
-
- /**
* Sets the current progress step of the installation process.
* @param currentProgressStep the current progress step of the installation
* process.
@@ -2258,39 +2166,34 @@
/**
* This methods updates the data on the server based on the contents of the
* UserData object provided in the constructor.
- * @throws ApplicationException if something goes wrong.
+ *
+ * @throws ApplicationException
+ * if something goes wrong.
*/
protected void createData() throws ApplicationException
{
- if (createNotReplicatedSuffix())
+ if (createNotReplicatedSuffix() &&
+ getUserData().getNewSuffixOptions().getType() != NewSuffixOptions.Type.LEAVE_DATABASE_EMPTY)
{
+ currentProgressStep = getUserData().getNewSuffixOptions().getInstallProgressStep();
+ if (isVerbose())
+ {
+ notifyListeners(getTaskSeparator());
+ }
+
switch (getUserData().getNewSuffixOptions().getType())
{
case CREATE_BASE_ENTRY:
- currentProgressStep = InstallProgressStep.CREATING_BASE_ENTRY;
- if (isVerbose())
- {
- notifyListeners(getTaskSeparator());
- }
createBaseEntry();
break;
case IMPORT_FROM_LDIF_FILE:
- currentProgressStep = InstallProgressStep.IMPORTING_LDIF;
- if (isVerbose())
- {
- notifyListeners(getTaskSeparator());
- }
importLDIF();
break;
case IMPORT_AUTOMATICALLY_GENERATED_DATA:
- currentProgressStep =
- InstallProgressStep.IMPORTING_AUTOMATICALLY_GENERATED;
- if (isVerbose())
- {
- notifyListeners(getTaskSeparator());
- }
importAutomaticallyGenerated();
break;
+ default:
+ break;
}
}
}
diff --git a/opendj-server-legacy/src/main/java/org/opends/quicksetup/installer/NewSuffixOptions.java b/opendj-server-legacy/src/main/java/org/opends/quicksetup/installer/NewSuffixOptions.java
index 985f024..b2ee400 100644
--- a/opendj-server-legacy/src/main/java/org/opends/quicksetup/installer/NewSuffixOptions.java
+++ b/opendj-server-legacy/src/main/java/org/opends/quicksetup/installer/NewSuffixOptions.java
@@ -22,7 +22,7 @@
*
*
* Copyright 2006-2008 Sun Microsystems, Inc.
- * Portions Copyright 2013 ForgeRock AS.
+ * Portions Copyright 2013-2015 ForgeRock AS.
*/
package org.opends.quicksetup.installer;
@@ -200,4 +200,26 @@
{
return new LinkedList<String>(baseDns);
}
+
+ /**
+ * Returns {@link InstallProgressStep} equivalent to the type of new suffix
+ * options.
+ *
+ * @return Returns {@link InstallProgressStep} equivalent to the type of new
+ * suffix options.
+ */
+ public InstallProgressStep getInstallProgressStep()
+ {
+ switch (type)
+ {
+ case CREATE_BASE_ENTRY:
+ return InstallProgressStep.CREATING_BASE_ENTRY;
+ case IMPORT_FROM_LDIF_FILE:
+ return InstallProgressStep.IMPORTING_LDIF;
+ case IMPORT_AUTOMATICALLY_GENERATED_DATA:
+ return InstallProgressStep.IMPORTING_AUTOMATICALLY_GENERATED;
+ default:
+ return null;
+ }
+ }
}
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/tools/InstallDS.java b/opendj-server-legacy/src/main/java/org/opends/server/tools/InstallDS.java
index 4560ba5..f0edb0d 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/tools/InstallDS.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/tools/InstallDS.java
@@ -346,8 +346,7 @@
return InstallReturnCode.JAVA_VERSION_INCOMPATIBLE.getReturnCode();
}
- if (argParser.usageOrVersionDisplayed() ||
- argParser.testOnlyArg.isPresent())
+ if (argParser.usageOrVersionDisplayed() || argParser.testOnlyArg.isPresent())
{
return InstallReturnCode.SUCCESSFUL_NOP.getReturnCode();
}
@@ -567,22 +566,13 @@
private void printStatusCommand()
{
- String cmd;
- // Use this instead a call to Installation to avoid to launch a new JVM
- // just to retrieve a path.
- final String root = Utils.getInstallPathFromClasspath();
- if (isWindows())
- {
- final String binDir = Utils.getPath(root,
- Installation.WINDOWS_BINARIES_PATH_RELATIVE);
- cmd = Utils.getPath(binDir, Installation.WINDOWS_STATUSCLI_FILE_NAME);
- }
- else
- {
- final String binDir = Utils.getPath(root,
- Installation.UNIX_BINARIES_PATH_RELATIVE);
- cmd = Utils.getPath(binDir, Installation.UNIX_STATUSCLI_FILE_NAME);
- }
+ // Use this instead a call to Installation to avoid to launch a new JVM just to retrieve a path.
+ final String binariesRelativePath = isWindows() ? Installation.WINDOWS_BINARIES_PATH_RELATIVE :
+ Installation.UNIX_BINARIES_PATH_RELATIVE;
+ final String statusCliFileName = isWindows() ? Installation.WINDOWS_STATUSCLI_FILE_NAME :
+ Installation.UNIX_STATUSCLI_FILE_NAME;
+ final String binDir = Utils.getPath(Utils.getInstallPathFromClasspath(), binariesRelativePath);
+ final String cmd = Utils.getPath(binDir, statusCliFileName);
println();
println(INFO_INSTALLDS_STATUS_COMMAND_LINE.get(cmd));
println();
@@ -969,12 +959,10 @@
* @throws ClientException
* if something went wrong checking passwords.
*/
- private void promptIfRequiredForDirectoryManager(UserData uData)
- throws UserDataException, ClientException
+ private void promptIfRequiredForDirectoryManager(UserData uData) throws UserDataException, ClientException
{
final LinkedList<String> dns = promptIfRequiredForDNs(
- argParser.directoryManagerDNArg, INFO_INSTALLDS_PROMPT_ROOT_DN.get(),
- true);
+ argParser.directoryManagerDNArg, INFO_INSTALLDS_PROMPT_ROOT_DN.get(), true);
uData.setDirectoryManagerDn(dns.getFirst());
int nTries = 0;
@@ -1013,15 +1001,19 @@
}
/**
- * This method returns a list of DNs. It checks that the provided list of
- * DNs actually contain some values. If no valid values are found it prompts
- * the user to provide a valid DN.
- * @param arg the Argument that the user provided to specify the DNs.
- * @param promptMsg the prompt message to be displayed.
- * @param includeLineBreak whether to include a line break before the first
- * prompt or not.
+ * This method returns a list of DNs. It checks that the provided list of DNs
+ * actually contain some values. If no valid values are found it prompts the
+ * user to provide a valid DN.
+ *
+ * @param arg
+ * the Argument that the user provided to specify the DNs.
+ * @param promptMsg
+ * the prompt message to be displayed.
+ * @param includeLineBreak
+ * whether to include a line break before the first prompt or not.
* @return a list of valid DNs.
- * @throws UserDataException if something went wrong checking the data.
+ * @throws UserDataException
+ * if something went wrong checking the data.
*/
private LinkedList<String> promptIfRequiredForDNs(StringArgument arg,
LocalizableMessage promptMsg, boolean includeLineBreak) throws UserDataException
@@ -1035,8 +1027,7 @@
{
if (nTries >= CONFIRMATION_MAX_TRIES)
{
- throw new UserDataException(null,
- ERR_TRIES_LIMIT_REACHED.get(CONFIRMATION_MAX_TRIES));
+ throw new UserDataException(null, ERR_TRIES_LIMIT_REACHED.get(CONFIRMATION_MAX_TRIES));
}
boolean prompted = false;
if (usedProvided || !arg.isPresent())
@@ -1095,11 +1086,12 @@
/**
* This method updates the contents of a UserData object with what the user
* specified in the command-line for the administration connector, LDAP and
- * JMX port parameters.
- * If the user did not provide explicitly some data or if the provided data is
- * not valid, it prompts the user to provide it.
+ * JMX port parameters. If the user did not provide explicitly some data or
+ * if the provided data is not valid, it prompts the user to provide it.
* Note: this method does not update nor check the LDAPS port.
- * @param uData the UserData object to be updated.
+ *
+ * @param uData
+ * the UserData object to be updated.
*/
private void promptIfRequiredForPortData(UserData uData)
{
@@ -1113,8 +1105,7 @@
usedPorts.add(ldapPort);
// Determine the Admin Connector port number.
- final int adminConnectorPort =
- promptIfRequiredForPortData(argParser.adminConnectorPortArg,
+ final int adminConnectorPort = promptIfRequiredForPortData(argParser.adminConnectorPortArg,
INFO_INSTALLDS_PROMPT_ADMINCONNECTORPORT.get(), usedPorts, true);
uData.setAdminConnectorPort(adminConnectorPort);
usedPorts.add(adminConnectorPort);
@@ -1132,20 +1123,23 @@
}
/**
- * This method returns a valid port value. It checks that the provided
- * argument contains a valid port. If a valid port is not found it prompts
- * the user to provide a valid port.
- * @param portArg the Argument that the user provided to specify the port.
- * @param promptMsg the prompt message to be displayed.
- * @param usedPorts the list of ports the user provided before for other
- * connection handlers.
- * @param includeLineBreak whether to include a line break before the first
- * prompt or not.
+ * This method returns a valid port value. It checks that the provided
+ * argument contains a valid port. If a valid port is not found it prompts the
+ * user to provide a valid port.
+ *
+ * @param portArg
+ * the Argument that the user provided to specify the port.
+ * @param promptMsg
+ * the prompt message to be displayed.
+ * @param usedPorts
+ * the list of ports the user provided before for other connection
+ * handlers.
+ * @param includeLineBreak
+ * whether to include a line break before the first prompt or not.
* @return a valid port number.
*/
- private int promptIfRequiredForPortData(IntegerArgument portArg,
- LocalizableMessage promptMsg, Collection<Integer> usedPorts,
- boolean includeLineBreak)
+ private int promptIfRequiredForPortData(IntegerArgument portArg, LocalizableMessage promptMsg,
+ Collection<Integer> usedPorts, boolean includeLineBreak)
{
int portNumber = -1;
boolean usedProvided = false;
@@ -1188,8 +1182,7 @@
usedProvided = true;
}
- if (!argParser.skipPortCheckArg.isPresent()
- && !SetupUtils.canUseAsPort(portNumber))
+ if (!argParser.skipPortCheckArg.isPresent() && !SetupUtils.canUseAsPort(portNumber))
{
final LocalizableMessage message = getCannotBindErrorMessage(portNumber);
if (prompted || includeLineBreak)
@@ -1228,8 +1221,7 @@
* @throws UserDataException
* if something went wrong checking the data.
*/
- private NewSuffixOptions promptIfRequiredForImportData()
- throws UserDataException
+ private NewSuffixOptions promptIfRequiredForImportData() throws UserDataException
{
boolean prompt = true;
if (!argParser.baseDNArg.isPresent())
@@ -1237,29 +1229,24 @@
println();
try
{
- prompt = confirmAction(INFO_INSTALLDS_PROVIDE_BASE_DN_PROMPT.get(),
- true);
+ prompt = confirmAction(INFO_INSTALLDS_PROVIDE_BASE_DN_PROMPT.get(), true);
}
catch (final ClientException ce)
{
prompt = true;
- logger.warn(LocalizableMessage.raw("Error reading input: "+ce, ce));
+ logger.warn(LocalizableMessage.raw("Error reading input: " + ce, ce));
}
}
- NewSuffixOptions dataOptions;
+
if (!prompt)
{
- final List<String> baseDNs = new LinkedList<String>();
- dataOptions = NewSuffixOptions.createEmpty(baseDNs);
+ return NewSuffixOptions.createEmpty(new LinkedList<String>());
}
- else
- {
- // Check the validity of the base DNs
- final List<String> baseDNs = promptIfRequiredForDNs(
- argParser.baseDNArg, INFO_INSTALLDS_PROMPT_BASEDN.get(), true);
- dataOptions = promptIfRequiredForDataOptions(baseDNs);
- }
- return dataOptions;
+
+ // Check the validity of the base DNs
+ final List<String> baseDNs = promptIfRequiredForDNs(argParser.baseDNArg, INFO_INSTALLDS_PROMPT_BASEDN.get(), true);
+ return promptIfRequiredForDataOptions(baseDNs);
+
}
private NewSuffixOptions promptIfRequiredForDataOptions(List<String> baseDNs)
@@ -1486,10 +1473,10 @@
* @throws UserDataException
* if the user did not manage to provide the keystore password after
* a certain number of tries.
- * @throws ClientException If an error occurs when reading inputs.
+ * @throws ClientException
+ * If an error occurs when reading inputs.
*/
- private SecurityOptions promptIfRequiredForSecurityData(UserData uData)
- throws UserDataException, ClientException
+ private SecurityOptions promptIfRequiredForSecurityData(UserData uData) throws UserDataException, ClientException
{
// Check that the security data provided is valid.
boolean enableSSL = false;
@@ -1768,24 +1755,28 @@
}
/**
- * Checks that the provided parameters are valid to access an existing
- * key store. This method adds the encountered errors to the provided
- * list of LocalizableMessage. It also adds the alias (nicknames) found to the provided
- * list of String.
- * @param type the type of key store.
- * @param path the path of the key store.
- * @param pwd the password (PIN) to access the key store.
- * @param certNickname the certificate nickname that we are looking for (or
- * null if we just one to get the one that is in the key store).
- * @param errorMessages the list that will be updated with the errors
- * encountered.
- * @param nicknameList the list that will be updated with the nicknames found
- * in the key store.
+ * Checks that the provided parameters are valid to access an existing key
+ * store. This method adds the encountered errors to the provided list of
+ * LocalizableMessage. It also adds the alias (nicknames) found to the
+ * provided list of String.
+ *
+ * @param type
+ * the type of key store.
+ * @param path
+ * the path of the key store.
+ * @param pwd
+ * the password (PIN) to access the key store.
+ * @param certNickname
+ * the certificate nickname that we are looking for (or null if we
+ * just one to get the one that is in the key store).
+ * @param errorMessages
+ * the list that will be updated with the errors encountered.
+ * @param nicknameList
+ * the list that will be updated with the nicknames found in the key
+ * store.
*/
- public static void checkCertificateInKeystore(
- SecurityOptions.CertificateType type,
- String path, String pwd, String certNickname,
- Collection<LocalizableMessage> errorMessages, Collection<String> nicknameList)
+ public static void checkCertificateInKeystore(SecurityOptions.CertificateType type, String path, String pwd,
+ String certNickname, Collection<LocalizableMessage> errorMessages, Collection<String> nicknameList)
{
boolean errorWithPath = false;
if (type != SecurityOptions.CertificateType.PKCS11)
@@ -1920,20 +1911,25 @@
/**
* Creates a SecurityOptions object that corresponds to the provided
- * parameters. If the parameters are not valid, it prompts the user to
- * provide them.
- * @param type the keystore type.
- * @param enableSSL whether to enable SSL or not.
- * @param enableStartTLS whether to enable StartTLS or not.
- * @param ldapsPort the LDAPS port to use.
+ * parameters. If the parameters are not valid, it prompts the user to provide
+ * them.
+ *
+ * @param type
+ * the keystore type.
+ * @param enableSSL
+ * whether to enable SSL or not.
+ * @param enableStartTLS
+ * whether to enable StartTLS or not.
+ * @param ldapsPort
+ * the LDAPS port to use.
* @return a SecurityOptions object that corresponds to the provided
- * parameters (or to what the user provided after being prompted).
- * @throws UserDataException if the user did not manage to provide the
- * keystore password after a certain number of tries.
+ * parameters (or to what the user provided after being prompted).
+ * @throws UserDataException
+ * if the user did not manage to provide the keystore password after
+ * a certain number of tries.
* @throws ClientException
*/
- private SecurityOptions createSecurityOptionsPrompting(
- SecurityOptions.CertificateType type, boolean enableSSL,
+ private SecurityOptions createSecurityOptionsPrompting(SecurityOptions.CertificateType type, boolean enableSSL,
boolean enableStartTLS, int ldapsPort) throws UserDataException, ClientException
{
SecurityOptions securityOptions;
@@ -2090,11 +2086,14 @@
}
/**
- * Tells if any of the error messages provided corresponds to a problem
- * with the key store path.
- * @param msgs the messages to analyze.
+ * Tells if any of the error messages provided corresponds to a problem with
+ * the key store path.
+ *
+ * @param msgs
+ * the messages to analyze.
* @return <CODE>true</CODE> if any of the error messages provided corresponds
- * to a problem with the key store path and <CODE>false</CODE> otherwise.
+ * to a problem with the key store path and <CODE>false</CODE>
+ * otherwise.
*/
public static boolean containsKeyStorePathErrorMessage(Collection<LocalizableMessage> msgs)
{
@@ -2118,11 +2117,14 @@
}
/**
- * Tells if any of the error messages provided corresponds to a problem
- * with the key store password.
- * @param msgs the messages to analyze.
+ * Tells if any of the error messages provided corresponds to a problem with
+ * the key store password.
+ *
+ * @param msgs
+ * the messages to analyze.
* @return <CODE>true</CODE> if any of the error messages provided corresponds
- * to a problem with the key store password and <CODE>false</CODE> otherwise.
+ * to a problem with the key store password and <CODE>false</CODE>
+ * otherwise.
*/
public static boolean containsKeyStorePasswordErrorMessage(Collection<LocalizableMessage> msgs)
{
@@ -2145,12 +2147,14 @@
}
/**
- * Tells if any of the error messages provided corresponds to a problem
- * with the certificate nickname.
- * @param msgs the messages to analyze.
+ * Tells if any of the error messages provided corresponds to a problem with
+ * the certificate nickname.
+ *
+ * @param msgs
+ * the messages to analyze.
* @return <CODE>true</CODE> if any of the error messages provided corresponds
- * to a problem with the certificate nickname and <CODE>false</CODE>
- * otherwise.
+ * to a problem with the certificate nickname and <CODE>false</CODE>
+ * otherwise.
*/
public static boolean containsCertNicknameErrorMessage(
Collection<LocalizableMessage> msgs)
@@ -2170,24 +2174,25 @@
/**
* Interactively prompts (on standard output) the user to provide an integer
- * value. The answer provided must be parseable as an integer, and may be
- * required to be within a given set of bounds. It will keep prompting until
+ * value. The answer provided must be parseable as an integer, and may be
+ * required to be within a given set of bounds. It will keep prompting until
* an acceptable value is given.
*
- * @param prompt The prompt to present to the user.
- * @param defaultValue The default value to assume if the user presses ENTER
- * without typing anything, or <CODE>null</CODE> if
- * there should not be a default and the user must
- * explicitly provide a value.
- * @param lowerBound The lower bound that should be enforced, or
- * <CODE>null</CODE> if there is none.
- * @param upperBound The upper bound that should be enforced, or
- * <CODE>null</CODE> if there is none.
- *
- * @return The <CODE>int</CODE> value read from the user input.
+ * @param prompt
+ * The prompt to present to the user.
+ * @param defaultValue
+ * The default value to assume if the user presses ENTER without
+ * typing anything, or <CODE>null</CODE> if there should not be a
+ * default and the user must explicitly provide a value.
+ * @param lowerBound
+ * The lower bound that should be enforced, or <CODE>null</CODE> if
+ * there is none.
+ * @param upperBound
+ * The upper bound that should be enforced, or <CODE>null</CODE> if
+ * there is none.
+ * @return The <CODE>int</CODE> value read from the user input.
*/
- private int promptForInteger(LocalizableMessage prompt, Integer defaultValue,
- Integer lowerBound, Integer upperBound)
+ private int promptForInteger(LocalizableMessage prompt, Integer defaultValue, Integer lowerBound, Integer upperBound)
{
int returnValue = -1;
while (returnValue == -1)
@@ -2245,9 +2250,11 @@
}
/**
- * Prompts the user to accept on the certificates that appears on the list
- * and returns the chosen certificate nickname.
- * @param nicknames the list of certificates the user must choose from.
+ * Prompts the user to accept on the certificates that appears on the list and
+ * returns the chosen certificate nickname.
+ *
+ * @param nicknames
+ * the list of certificates the user must choose from.
* @return the chosen certificate nickname.
*/
private String promptForCertificateNickname(List<String> nicknames)
@@ -2276,7 +2283,9 @@
/**
* It displays the information provided by the user.
- * @param uData the UserData that the user provided.
+ *
+ * @param uData
+ * the UserData that the user provided.
*/
private void printSummary(UserData uData)
{
@@ -2378,11 +2387,12 @@
}
/**
- * This method asks the user to confirm to continue the setup. It basically
+ * This method asks the user to confirm to continue the setup. It basically
* displays the information provided by the user and at the end proposes a
* menu with the different options to choose from.
+ *
* @return the answer provided by the user: cancel setup, continue setup or
- * provide information again.
+ * provide information again.
*/
private ConfirmCode askForConfirmation()
{
@@ -2441,48 +2451,47 @@
try
{
argParser.initializeArguments();
- argParser.directoryManagerDNArg.setDefaultValue(
- uData.getDirectoryManagerDn());
- argParser.ldapPortArg.setDefaultValue(
- String.valueOf(uData.getServerPort()));
- argParser.adminConnectorPortArg.setDefaultValue(
- String.valueOf(uData.getAdminConnectorPort()));
+ argParser.directoryManagerDNArg.setDefaultValue(uData.getDirectoryManagerDn());
+ argParser.ldapPortArg.setDefaultValue(String.valueOf(uData.getServerPort()));
+ argParser.adminConnectorPortArg.setDefaultValue(String.valueOf(uData.getAdminConnectorPort()));
+
final int jmxPort = uData.getServerJMXPort();
if (jmxPort != -1)
{
argParser.jmxPortArg.setDefaultValue(String.valueOf(jmxPort));
}
+
final LinkedList<String> baseDNs = uData.getNewSuffixOptions().getBaseDns();
if (!baseDNs.isEmpty())
{
argParser.baseDNArg.setDefaultValue(baseDNs.getFirst());
}
+
final NewSuffixOptions suffixOptions = uData.getNewSuffixOptions();
lastResetPopulateOption = suffixOptions.getType();
- if (lastResetPopulateOption ==
- NewSuffixOptions.Type.IMPORT_AUTOMATICALLY_GENERATED_DATA)
+
+ if (NewSuffixOptions.Type.IMPORT_AUTOMATICALLY_GENERATED_DATA == lastResetPopulateOption)
{
lastResetNumEntries = suffixOptions.getNumberEntries();
}
- else if (lastResetPopulateOption ==
- NewSuffixOptions.Type.IMPORT_FROM_LDIF_FILE)
+ else if (NewSuffixOptions.Type.IMPORT_FROM_LDIF_FILE == lastResetPopulateOption)
{
lastResetImportFile = suffixOptions.getLDIFPaths().getFirst();
lastResetRejectedFile = suffixOptions.getRejectedFile();
lastResetSkippedFile = suffixOptions.getSkippedFile();
}
+
final SecurityOptions sec = uData.getSecurityOptions();
if (sec.getEnableSSL())
{
- argParser.ldapsPortArg.setDefaultValue(
- String.valueOf(sec.getSslPort()));
+ argParser.ldapsPortArg.setDefaultValue(String.valueOf(sec.getSslPort()));
}
lastResetEnableSSL = sec.getEnableSSL();
lastResetEnableStartTLS = sec.getEnableStartTLS();
lastResetCertType = sec.getCertificateType();
- if (lastResetCertType == SecurityOptions.CertificateType.JKS ||
- lastResetCertType == SecurityOptions.CertificateType.JCEKS ||
- lastResetCertType == SecurityOptions.CertificateType.PKCS12)
+ if (SecurityOptions.CertificateType.JKS == lastResetCertType
+ || SecurityOptions.CertificateType.JCEKS == lastResetCertType
+ || SecurityOptions.CertificateType.PKCS12 == lastResetCertType)
{
lastResetKeyStorePath = sec.getKeystorePath();
}
@@ -2496,7 +2505,7 @@
}
catch (final Throwable t)
{
- logger.warn(LocalizableMessage.raw("Error resetting arguments: "+t, t));
+ logger.warn(LocalizableMessage.raw("Error resetting arguments: " + t, t));
}
}
@@ -2514,8 +2523,7 @@
{
try
{
- hostName = readInput(INFO_INSTALLDS_PROMPT_HOST_NAME.get(),
- argParser.hostNameArg.getDefaultValue());
+ hostName = readInput(INFO_INSTALLDS_PROMPT_HOST_NAME.get(), argParser.hostNameArg.getDefaultValue());
}
catch (final ClientException ce)
{
@@ -2527,10 +2535,11 @@
}
/**
- * Returns the timeout to be used to connect in milliseconds. The method
- * must be called after parsing the arguments.
- * @return the timeout to be used to connect in milliseconds. Returns
- * {@code 0} if there is no timeout.
+ * Returns the timeout to be used to connect in milliseconds. The method must
+ * be called after parsing the arguments.
+ *
+ * @return the timeout to be used to connect in milliseconds. Returns
+ * {@code 0} if there is no timeout.
*/
private int getConnectTimeout()
{
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/util/SetupUtils.java b/opendj-server-legacy/src/main/java/org/opends/server/util/SetupUtils.java
index 842e852..84f05ca 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/util/SetupUtils.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/util/SetupUtils.java
@@ -22,7 +22,7 @@
*
*
* Copyright 2006-2010 Sun Microsystems, Inc.
- * Portions Copyright 2011-2014 ForgeRock AS
+ * Portions Copyright 2011-2015 ForgeRock AS
*/
package org.opends.server.util;
@@ -399,28 +399,30 @@
return pwd;
}
-
/**
- * Export a certificate in a file. It will export the first certificate
- * defined. This method is required because of the way.
+ * Export a certificate in a file. If the certificate alias to export is null,
+ * It will export the first certificate defined.
*
- * @param certManager Certificate manager to use.
- * @param path Path of the output file.
- *
- * @throws CertificateEncodingException If the certificate manager cannot
- * encode the certificate.
- * @throws IOException If a problem occurs while creating or writing in the
- * output file.
- * @throws KeyStoreException If the certificate manager cannot retrieve the
- * certificate to be exported.
+ * @param certManager
+ * Certificate manager to use.
+ * @param alias
+ * Certificate alias to export. If {@code null} the first certificate
+ * defined will be exported.
+ * @param path
+ * Path of the output file.
+ * @throws CertificateEncodingException
+ * If the certificate manager cannot encode the certificate.
+ * @throws IOException
+ * If a problem occurs while creating or writing in the output file.
+ * @throws KeyStoreException
+ * If the certificate manager cannot retrieve the certificate to be
+ * exported.
*/
- public static void exportCertificate(
- CertificateManager certManager, String path)
- throws CertificateEncodingException, IOException, KeyStoreException
+ public static void exportCertificate(CertificateManager certManager, String alias, String path)
+ throws CertificateEncodingException, IOException, KeyStoreException
{
- String[] aliases = certManager.getCertificateAliases();
- Certificate certificate = certManager.getCertificate(aliases[0]);
-
+ final Certificate certificate =
+ certManager.getCertificate(alias != null ? alias : certManager.getCertificateAliases()[0]);
byte[] certificateBytes = certificate.getEncoded();
FileOutputStream outputStream = new FileOutputStream(path, false);
@@ -434,38 +436,6 @@
}
}
- /**
- * Export a certificate in a file.
- *
- * @param certManager Certificate manager to use.
- * @param alias Certificate alias to export.
- * @param path Path of the output file.
- *
- * @throws CertificateEncodingException If the certificate manager cannot
- * encode the certificate.
- * @throws IOException If a problem occurs while creating or writing in the
- * output file.
- * @throws KeyStoreException If the certificate manager cannot retrieve the
- * certificate to be exported.
- */
- public static void exportCertificate(
- CertificateManager certManager, String alias, String path)
- throws CertificateEncodingException, IOException, KeyStoreException
- {
- Certificate certificate = certManager.getCertificate(alias);
-
- byte[] certificateBytes = certificate.getEncoded();
-
- FileOutputStream outputStream = new FileOutputStream(path, false);
- try
- {
- outputStream.write(certificateBytes);
- }
- finally
- {
- closeSilently(outputStream);
- }
- }
/**
* The next two methods are used to generate the random password for the
--
Gitblit v1.10.0