From 81909cf43111e8499c583395b66e96b6b74e6ab9 Mon Sep 17 00:00:00 2001
From: Violette Roche-Montane <violette.roche-montane@forgerock.com>
Date: Fri, 21 Feb 2014 13:50:22 +0000
Subject: [PATCH] Checkpoint OPENDJ-1343 Migrate dsconfig / OPENDJ-1303 "opendj-cli" - replaced arguments by CLI sdk CommonArguments.(Basic only, riskless to conflicting arguments) - reverted modifications on InstallDS/InstallDSArgumentParser about getDirectoryManagerPassword. - removed from toolconstants 'description' / 'memberName' (unused)

---
 opendj3-server-dev/src/server/org/opends/server/tools/ToolConstants.java                              |   22 --
 opendj3-server-dev/src/server/org/opends/server/tools/InstallDSArgumentParser.java                    |   62 +-----
 opendj3-server-dev/src/server/org/opends/server/tools/InstallDS.java                                  |    8 
 opendj3-server-dev/src/server/org/opends/server/tools/LDAPCompare.java                                |    5 
 opendj3-server-dev/src/server/org/opends/server/tools/dsreplication/ReplicationCliArgumentParser.java |   57 +----
 opendj3-server-dev/src/server/org/opends/server/util/EMailMessage.java                                |    6 
 opendj3-server-dev/src/guitools/org/opends/guitools/controlpanel/ControlPanelArgumentParser.java      |   58 +----
 opendj3-server-dev/src/server/org/opends/server/tools/LDAPSearch.java                                 |    5 
 opendj3-server-dev/src/server/org/opends/server/util/Base64.java                                      |    5 
 opendj3-server-dev/src/server/org/opends/server/tools/LDAPDelete.java                                 |    7 
 opendj3-server-dev/src/server/org/opends/server/tools/upgrade/UpgradeCli.java                         |   32 --
 opendj3-server-dev/src/server/org/opends/server/tools/ManageAccount.java                              |    5 
 opendj3-server-dev/src/server/org/opends/server/admin/client/cli/SecureConnectionCliArgs.java         |  153 +++-------------
 opendj3-server-dev/src/server/org/opends/server/tools/LDAPModify.java                                 |    7 
 opendj3-server-dev/src/server/org/opends/server/admin/client/cli/SecureConnectionCliParser.java       |   16 -
 opendj3-server-dev/src/server/org/opends/server/tools/JavaPropertiesToolArgumentParser.java           |   12 
 opendj3-server-dev/src/guitools/org/opends/guitools/uninstaller/UninstallerArgumentParser.java        |   23 -
 opendj3-server-dev/src/server/org/opends/server/tools/tasks/TaskTool.java                             |   13 
 opendj3-server-dev/src/server/org/opends/server/tools/dsconfig/DSConfig.java                          |    4 
 opendj3-server-dev/src/server/org/opends/server/tools/makeldif/MakeLDIF.java                          |    6 
 opendj3-server-dev/src/server/org/opends/server/tools/status/StatusCliArgumentParser.java             |   29 +--
 21 files changed, 151 insertions(+), 384 deletions(-)

diff --git a/opendj3-server-dev/src/guitools/org/opends/guitools/controlpanel/ControlPanelArgumentParser.java b/opendj3-server-dev/src/guitools/org/opends/guitools/controlpanel/ControlPanelArgumentParser.java
index 874abba..8d9008f 100644
--- a/opendj3-server-dev/src/guitools/org/opends/guitools/controlpanel/ControlPanelArgumentParser.java
+++ b/opendj3-server-dev/src/guitools/org/opends/guitools/controlpanel/ControlPanelArgumentParser.java
@@ -38,9 +38,11 @@
 import org.opends.quicksetup.UserData;
 import org.opends.quicksetup.util.Utils;
 import org.opends.server.admin.AdministrationConnector;
+
 import com.forgerock.opendj.cli.ArgumentException;
 import com.forgerock.opendj.cli.ArgumentParser;
 import com.forgerock.opendj.cli.BooleanArgument;
+import com.forgerock.opendj.cli.CommonArguments;
 import com.forgerock.opendj.cli.FileBasedArgument;
 import com.forgerock.opendj.cli.IntegerArgument;
 import com.forgerock.opendj.cli.StringArgument;
@@ -129,64 +131,36 @@
    */
   public void initializeArguments() throws ArgumentException
   {
-    hostNameArg = new StringArgument("host", OPTION_SHORT_HOST,
-        OPTION_LONG_HOST, false, false, true, INFO_HOST_PLACEHOLDER.get(),
-        UserData.getDefaultHostName(),
-        null, INFO_DESCRIPTION_HOST.get());
-    hostNameArg.setPropertyName(OPTION_LONG_HOST);
+    hostNameArg = CommonArguments.getHostName(UserData.getDefaultHostName());
     addArgument(hostNameArg);
 
-    portArg = new IntegerArgument("port", OPTION_SHORT_PORT, OPTION_LONG_PORT,
-        false, false, true, INFO_PORT_PLACEHOLDER.get(),
-        getDefaultAdministrationPort(), null,
-        true, 1, true, 65535,
-        INFO_DESCRIPTION_ADMIN_PORT.get());
-    portArg.setPropertyName(OPTION_LONG_PORT);
+    portArg =
+        CommonArguments.getPort(getDefaultAdministrationPort(),
+            INFO_DESCRIPTION_ADMIN_PORT.get());
     addArgument(portArg);
 
-    bindDnArg = new StringArgument("bindDN", OPTION_SHORT_BINDDN,
-        OPTION_LONG_BINDDN, false, false, true, INFO_BINDDN_PLACEHOLDER.get(),
-        getDefaultBindDN(), null, INFO_DESCRIPTION_BINDDN.get());
-    bindDnArg.setPropertyName(OPTION_LONG_BINDDN);
+    bindDnArg = CommonArguments.getBindDN(getDefaultBindDN());
     addArgument(bindDnArg);
 
-    bindPasswordArg = new StringArgument("bindPassword",
-        OPTION_SHORT_BINDPWD, OPTION_LONG_BINDPWD, false, false, true,
-        INFO_BINDPWD_PLACEHOLDER.get(), null, null,
-        INFO_DESCRIPTION_BINDPASSWORD.get());
-    bindPasswordArg.setPropertyName(OPTION_LONG_BINDPWD);
+    bindPasswordArg = CommonArguments.getBindPassword();
     addArgument(bindPasswordArg);
 
-    bindPasswordFileArg = new FileBasedArgument("bindPasswordFile",
-        OPTION_SHORT_BINDPWD_FILE, OPTION_LONG_BINDPWD_FILE, false, false,
-        INFO_BINDPWD_FILE_PLACEHOLDER.get(), null, null,
-        INFO_DESCRIPTION_BINDPASSWORDFILE.get());
-    bindPasswordFileArg.setPropertyName(OPTION_LONG_BINDPWD_FILE);
+    bindPasswordFileArg = CommonArguments.getBindPasswordFile();
     addArgument(bindPasswordFileArg);
 
-    trustAllArg = new BooleanArgument("trustAll", OPTION_SHORT_TRUSTALL,
-        OPTION_LONG_TRUSTALL, INFO_DESCRIPTION_TRUSTALL.get());
-    trustAllArg.setPropertyName(OPTION_LONG_TRUSTALL);
+    trustAllArg = CommonArguments.getTrustAll();
     addArgument(trustAllArg);
 
-    remoteArg = new BooleanArgument("remote", OPTION_SHORT_REMOTE,
-        OPTION_LONG_REMOTE, INFO_DESCRIPTION_REMOTE.get());
-    remoteArg.setPropertyName(OPTION_LONG_REMOTE);
+    remoteArg = CommonArguments.getRemote();
     addArgument(remoteArg);
 
-    int defaultTimeout = ConnectionUtils.getDefaultLDAPTimeout();
-    connectTimeoutArg = new IntegerArgument(OPTION_LONG_CONNECT_TIMEOUT,
-        null, OPTION_LONG_CONNECT_TIMEOUT,
-        false, false, true, INFO_TIMEOUT_PLACEHOLDER.get(),
-        defaultTimeout, null,
-        true, 0, false, Integer.MAX_VALUE,
-        INFO_DESCRIPTION_CONNECTION_TIMEOUT.get());
-    connectTimeoutArg.setPropertyName(OPTION_LONG_CONNECT_TIMEOUT);
+    connectTimeoutArg =
+        CommonArguments.getConnectTimeOut(ConnectionUtils
+            .getDefaultLDAPTimeout());
+    connectTimeoutArg.setHidden(false);
     addArgument(connectTimeoutArg);
 
-    showUsageArg = new BooleanArgument("help", OPTION_SHORT_HELP,
-        OPTION_LONG_HELP,
-        INFO_DESCRIPTION_USAGE.get());
+    showUsageArg = CommonArguments.getShowUsage();
     addArgument(showUsageArg);
     setUsageArgument(showUsageArg);
   }
diff --git a/opendj3-server-dev/src/guitools/org/opends/guitools/uninstaller/UninstallerArgumentParser.java b/opendj3-server-dev/src/guitools/org/opends/guitools/uninstaller/UninstallerArgumentParser.java
index b5053a3..a418c17 100644
--- a/opendj3-server-dev/src/guitools/org/opends/guitools/uninstaller/UninstallerArgumentParser.java
+++ b/opendj3-server-dev/src/guitools/org/opends/guitools/uninstaller/UninstallerArgumentParser.java
@@ -42,6 +42,7 @@
 import com.forgerock.opendj.cli.Argument;
 import com.forgerock.opendj.cli.ArgumentException;
 import com.forgerock.opendj.cli.BooleanArgument;
+import com.forgerock.opendj.cli.CommonArguments;
 import com.forgerock.opendj.cli.StringArgument;
 
 import static org.opends.messages.AdminToolMessages.*;
@@ -104,12 +105,9 @@
   throws ArgumentException
   {
     LinkedHashSet<Argument> args = new LinkedHashSet<Argument>();
-    cliArg = new BooleanArgument(
-        OPTION_LONG_CLI,
-        OPTION_SHORT_CLI,
-        OPTION_LONG_CLI,
-        INFO_UNINSTALLDS_DESCRIPTION_CLI.get());
+    cliArg = CommonArguments.getCLI();
     args.add(cliArg);
+
     removeAllArg = new BooleanArgument(
         "remove-all",
         'a',
@@ -159,12 +157,10 @@
         INFO_UNINSTALLDS_DESCRIPTION_REMOVE_LDIF_FILES.get()
         );
     args.add(removeLDIFFilesArg);
-    noPromptArg = new BooleanArgument(
-        OPTION_LONG_NO_PROMPT,
-        OPTION_SHORT_NO_PROMPT,
-        OPTION_LONG_NO_PROMPT,
-        INFO_DESCRIPTION_NO_PROMPT.get());
+
+    noPromptArg = CommonArguments.getNoPrompt();
     args.add(noPromptArg);
+
     forceOnErrorArg = new BooleanArgument(
         "forceOnError",
         'f',
@@ -172,11 +168,8 @@
         INFO_UNINSTALLDS_DESCRIPTION_FORCE.get(
             "--"+noPromptArg.getLongIdentifier()));
     args.add(forceOnErrorArg);
-    quietArg = new BooleanArgument(
-        OPTION_LONG_QUIET,
-        OPTION_SHORT_QUIET,
-        OPTION_LONG_QUIET,
-        INFO_UNINSTALLDS_DESCRIPTION_QUIET.get());
+
+    quietArg = CommonArguments.getQuiet();
     args.add(quietArg);
 
     for (Argument arg : args)
diff --git a/opendj3-server-dev/src/server/org/opends/server/admin/client/cli/SecureConnectionCliArgs.java b/opendj3-server-dev/src/server/org/opends/server/admin/client/cli/SecureConnectionCliArgs.java
index b30adde..be332dd 100644
--- a/opendj3-server-dev/src/server/org/opends/server/admin/client/cli/SecureConnectionCliArgs.java
+++ b/opendj3-server-dev/src/server/org/opends/server/admin/client/cli/SecureConnectionCliArgs.java
@@ -26,11 +26,14 @@
  */
 package org.opends.server.admin.client.cli;
 
+import static com.forgerock.opendj.cli.CliMessages.INFO_DESCRIPTION_ADMIN_PORT;
 import static org.opends.server.tools.JavaPropertiesTool.ErrorReturnCode.*;
 import static org.opends.messages.AdminToolMessages.*;
 import static org.opends.messages.ToolMessages.*;
+
 import org.forgerock.i18n.LocalizableMessage;
 import org.forgerock.i18n.LocalizableMessageBuilder;
+
 import static org.opends.server.tools.ToolConstants.*;
 import static org.opends.server.util.ServerConstants.MAX_LINE_WIDTH;
 import static org.opends.server.util.StaticUtils.*;
@@ -66,9 +69,11 @@
 import org.opends.server.core.DirectoryServer;
 import org.opends.server.util.PasswordReader;
 import org.opends.server.util.SelectableCertificateKeyManager;
+
 import com.forgerock.opendj.cli.Argument;
 import com.forgerock.opendj.cli.ArgumentException;
 import com.forgerock.opendj.cli.BooleanArgument;
+import com.forgerock.opendj.cli.CommonArguments;
 import com.forgerock.opendj.cli.FileBasedArgument;
 import com.forgerock.opendj.cli.IntegerArgument;
 import com.forgerock.opendj.cli.StringArgument;
@@ -429,9 +434,7 @@
   {
     argList = new LinkedHashSet<Argument>();
 
-    useSSLArg = new BooleanArgument("useSSL", OPTION_SHORT_USE_SSL,
-        OPTION_LONG_USE_SSL, INFO_DESCRIPTION_USE_SSL.get());
-    useSSLArg.setPropertyName(OPTION_LONG_USE_SSL);
+    useSSLArg = CommonArguments.getUseSSL();
     if (!alwaysSSL) {
       argList.add(useSSLArg);
     } else {
@@ -439,10 +442,7 @@
       useSSLArg.setPresent(true);
     }
 
-    useStartTLSArg = new BooleanArgument("startTLS", OPTION_SHORT_START_TLS,
-        OPTION_LONG_START_TLS,
-        INFO_DESCRIPTION_START_TLS.get());
-    useStartTLSArg.setPropertyName(OPTION_LONG_START_TLS);
+    useStartTLSArg = CommonArguments.getStartTLS();
     if (!alwaysSSL) {
       argList.add(useStartTLSArg);
     }
@@ -453,31 +453,17 @@
     } catch (Exception e) {
       defaultHostName="Unknown (" + e + ")";
     }
-    hostNameArg = new StringArgument("host", OPTION_SHORT_HOST,
-        OPTION_LONG_HOST, false, false, true, INFO_HOST_PLACEHOLDER.get(),
-        defaultHostName,
-        null, INFO_DESCRIPTION_HOST.get());
-    hostNameArg.setPropertyName(OPTION_LONG_HOST);
+    hostNameArg = CommonArguments.getHostName(defaultHostName);
     argList.add(hostNameArg);
 
-
-    LocalizableMessage portDescription = INFO_DESCRIPTION_PORT.get();
-    if (alwaysSSL) {
-      portDescription = INFO_DESCRIPTION_ADMIN_PORT.get();
-    }
-
-    portArg = new IntegerArgument("port", OPTION_SHORT_PORT, OPTION_LONG_PORT,
-        false, false, true, INFO_PORT_PLACEHOLDER.get(),
-        AdministrationConnector.DEFAULT_ADMINISTRATION_CONNECTOR_PORT, null,
-        true, 1, true, 65535,
-        portDescription);
-    portArg.setPropertyName(OPTION_LONG_PORT);
+    portArg =
+        CommonArguments.getPort(
+            AdministrationConnector.DEFAULT_ADMINISTRATION_CONNECTOR_PORT,
+            alwaysSSL ? INFO_DESCRIPTION_ADMIN_PORT.get()
+                : INFO_DESCRIPTION_PORT.get());
     argList.add(portArg);
 
-    bindDnArg = new StringArgument("bindDN", OPTION_SHORT_BINDDN,
-        OPTION_LONG_BINDDN, false, false, true, INFO_BINDDN_PLACEHOLDER.get(),
-        "cn=Directory Manager", null, INFO_DESCRIPTION_BINDDN.get());
-    bindDnArg.setPropertyName(OPTION_LONG_BINDDN);
+    bindDnArg = CommonArguments.getBindDN("cn=Directory Manager");
     argList.add(bindDnArg);
 
     // It is up to the classes that required admin UID to make this argument
@@ -490,92 +476,43 @@
     adminUidArg.setPropertyName(OPTION_LONG_ADMIN_UID);
     adminUidArg.setHidden(true);
 
-    bindPasswordArg = new StringArgument("bindPassword",
-        OPTION_SHORT_BINDPWD, OPTION_LONG_BINDPWD, false, false, true,
-        INFO_BINDPWD_PLACEHOLDER.get(), null, null,
-        INFO_DESCRIPTION_BINDPASSWORD.get());
-    bindPasswordArg.setPropertyName(OPTION_LONG_BINDPWD);
+    bindPasswordArg = CommonArguments.getBindPassword();
     argList.add(bindPasswordArg);
 
-    bindPasswordFileArg = new FileBasedArgument("bindPasswordFile",
-        OPTION_SHORT_BINDPWD_FILE, OPTION_LONG_BINDPWD_FILE, false, false,
-        INFO_BINDPWD_FILE_PLACEHOLDER.get(), null, null,
-        INFO_DESCRIPTION_BINDPASSWORDFILE.get());
-    bindPasswordFileArg.setPropertyName(OPTION_LONG_BINDPWD_FILE);
+    bindPasswordFileArg = CommonArguments.getBindPasswordFile();
     argList.add(bindPasswordFileArg);
 
-    saslOptionArg = new StringArgument(
-        "sasloption", OPTION_SHORT_SASLOPTION,
-        OPTION_LONG_SASLOPTION, false,
-        true, true,
-        INFO_SASL_OPTION_PLACEHOLDER.get(), null, null,
-        INFO_LDAP_CONN_DESCRIPTION_SASLOPTIONS.get());
-    saslOptionArg.setPropertyName(OPTION_LONG_SASLOPTION);
+    saslOptionArg = CommonArguments.getSASL();
     argList.add(saslOptionArg);
 
-    trustAllArg = new BooleanArgument("trustAll", OPTION_SHORT_TRUSTALL,
-        OPTION_LONG_TRUSTALL, INFO_DESCRIPTION_TRUSTALL.get());
-    trustAllArg.setPropertyName(OPTION_LONG_TRUSTALL);
+    trustAllArg = CommonArguments.getTrustAll();
     argList.add(trustAllArg);
 
-    trustStorePathArg = new StringArgument("trustStorePath",
-        OPTION_SHORT_TRUSTSTOREPATH, OPTION_LONG_TRUSTSTOREPATH, false,
-        false, true, INFO_TRUSTSTOREPATH_PLACEHOLDER.get(), null, null,
-        INFO_DESCRIPTION_TRUSTSTOREPATH.get());
-    trustStorePathArg.setPropertyName(OPTION_LONG_TRUSTSTOREPATH);
+    trustStorePathArg = CommonArguments.getTrustStorePath();
     argList.add(trustStorePathArg);
 
-    trustStorePasswordArg = new StringArgument("trustStorePassword",
-        OPTION_SHORT_TRUSTSTORE_PWD, OPTION_LONG_TRUSTSTORE_PWD, false, false,
-        true, INFO_TRUSTSTORE_PWD_PLACEHOLDER.get(), null, null,
-        INFO_DESCRIPTION_TRUSTSTOREPASSWORD.get());
-    trustStorePasswordArg.setPropertyName(OPTION_LONG_TRUSTSTORE_PWD);
+    trustStorePasswordArg = CommonArguments.getTrustStorePassword();
     argList.add(trustStorePasswordArg);
 
-    trustStorePasswordFileArg = new FileBasedArgument("trustStorePasswordFile",
-        OPTION_SHORT_TRUSTSTORE_PWD_FILE, OPTION_LONG_TRUSTSTORE_PWD_FILE,
-        false, false, INFO_TRUSTSTORE_PWD_FILE_PLACEHOLDER.get(), null, null,
-        INFO_DESCRIPTION_TRUSTSTOREPASSWORD_FILE.get());
-    trustStorePasswordFileArg.setPropertyName(OPTION_LONG_TRUSTSTORE_PWD_FILE);
+    trustStorePasswordFileArg = CommonArguments.getTrustStorePasswordFile();
     argList.add(trustStorePasswordFileArg);
 
-    keyStorePathArg = new StringArgument("keyStorePath",
-        OPTION_SHORT_KEYSTOREPATH, OPTION_LONG_KEYSTOREPATH, false, false,
-        true, INFO_KEYSTOREPATH_PLACEHOLDER.get(), null, null,
-        INFO_DESCRIPTION_KEYSTOREPATH.get());
-    keyStorePathArg.setPropertyName(OPTION_LONG_KEYSTOREPATH);
+    keyStorePathArg = CommonArguments.getKeyStorePath();
     argList.add(keyStorePathArg);
 
-    keyStorePasswordArg = new StringArgument("keyStorePassword",
-        OPTION_SHORT_KEYSTORE_PWD,
-        OPTION_LONG_KEYSTORE_PWD, false, false, true,
-        INFO_KEYSTORE_PWD_PLACEHOLDER.get(), null, null,
-        INFO_DESCRIPTION_KEYSTOREPASSWORD.get());
-    keyStorePasswordArg.setPropertyName(OPTION_LONG_KEYSTORE_PWD);
+    keyStorePasswordArg = CommonArguments.getKeyStorePassword();
     argList.add(keyStorePasswordArg);
 
-    keyStorePasswordFileArg = new FileBasedArgument("keystorePasswordFile",
-        OPTION_SHORT_KEYSTORE_PWD_FILE, OPTION_LONG_KEYSTORE_PWD_FILE, false,
-        false, INFO_KEYSTORE_PWD_FILE_PLACEHOLDER.get(), null, null,
-        INFO_DESCRIPTION_KEYSTOREPASSWORD_FILE.get());
-    keyStorePasswordFileArg.setPropertyName(OPTION_LONG_KEYSTORE_PWD_FILE);
+    keyStorePasswordFileArg = CommonArguments.getKeyStorePasswordFile();
     argList.add(keyStorePasswordFileArg);
 
-    certNicknameArg = new StringArgument("certNickname",
-        OPTION_SHORT_CERT_NICKNAME, OPTION_LONG_CERT_NICKNAME,
-        false, false, true, INFO_NICKNAME_PLACEHOLDER.get(), null, null,
-        INFO_DESCRIPTION_CERT_NICKNAME.get());
-    certNicknameArg.setPropertyName(OPTION_LONG_CERT_NICKNAME);
+    certNicknameArg = CommonArguments.getCertNickName();
     argList.add(certNicknameArg);
 
-    int defaultTimeout = ConnectionUtils.getDefaultLDAPTimeout();
-    connectTimeoutArg = new IntegerArgument(OPTION_LONG_CONNECT_TIMEOUT,
-        null, OPTION_LONG_CONNECT_TIMEOUT,
-        false, false, true, INFO_TIMEOUT_PLACEHOLDER.get(),
-        defaultTimeout, null,
-        true, 0, false, Integer.MAX_VALUE,
-        INFO_DESCRIPTION_CONNECTION_TIMEOUT.get());
-    connectTimeoutArg.setPropertyName(OPTION_LONG_CONNECT_TIMEOUT);
+    connectTimeoutArg =
+        CommonArguments.getConnectTimeOut(ConnectionUtils
+            .getDefaultLDAPTimeout());
+    connectTimeoutArg.setHidden(false);
     argList.add(connectTimeoutArg);
 
     return argList;
@@ -593,17 +530,14 @@
     {
       return hostNameArg.getValue();
     }
-    else
-    {
-      return hostNameArg.getDefaultValue();
-    }
+    return hostNameArg.getDefaultValue();
   }
 
   /**
    * Get the port which has to be used for the command.
    *
-   * @return The port specified by the command line argument, or the
-   *         default value, if not specified.
+   * @return The port specified by the command line argument, or the default
+   *         value, if not specified.
    */
   public String getPort()
   {
@@ -611,10 +545,7 @@
     {
       return portArg.getValue();
     }
-    else
-    {
-      return portArg.getDefaultValue();
-    }
+    return portArg.getDefaultValue();
   }
 
   /**
@@ -738,14 +669,7 @@
    */
   public boolean useSSL()
   {
-    if (useSSLArg.isPresent() || alwaysSSL())
-    {
-      return true;
-    }
-    else
-    {
-      return false ;
-    }
+    return (useSSLArg.isPresent() || alwaysSSL());
   }
 
   /**
@@ -755,14 +679,7 @@
    */
   public boolean useStartTLS()
   {
-    if (useStartTLSArg.isPresent())
-    {
-      return true;
-    }
-    else
-    {
-      return false ;
-    }
+    return useStartTLSArg.isPresent();
   }
 
   /**
diff --git a/opendj3-server-dev/src/server/org/opends/server/admin/client/cli/SecureConnectionCliParser.java b/opendj3-server-dev/src/server/org/opends/server/admin/client/cli/SecureConnectionCliParser.java
index a598f7c..da39098 100644
--- a/opendj3-server-dev/src/server/org/opends/server/admin/client/cli/SecureConnectionCliParser.java
+++ b/opendj3-server-dev/src/server/org/opends/server/admin/client/cli/SecureConnectionCliParser.java
@@ -44,7 +44,6 @@
 import com.forgerock.opendj.cli.*;
 
 import static org.opends.messages.ToolMessages.*;
-import static org.opends.server.tools.ToolConstants.*;
 import static org.opends.server.util.ServerConstants.*;
 import static org.opends.server.util.StaticUtils.*;
 
@@ -265,25 +264,18 @@
     secureArgsList = new SecureConnectionCliArgs(alwaysSSL);
     LinkedHashSet<Argument> set = secureArgsList.createGlobalArguments();
 
-    showUsageArg = new BooleanArgument("showUsage", OPTION_SHORT_HELP,
-        OPTION_LONG_HELP, INFO_DESCRIPTION_SHOWUSAGE.get());
+    showUsageArg = CommonArguments.getShowUsage();
     setUsageArgument(showUsageArg, outStream);
     set.add(showUsageArg);
 
-    verboseArg = new BooleanArgument("verbose", OPTION_SHORT_VERBOSE,
-        OPTION_LONG_VERBOSE, INFO_DESCRIPTION_VERBOSE.get());
+    verboseArg = CommonArguments.getVerbose();
     set.add(verboseArg);
 
-    propertiesFileArg = new StringArgument("propertiesFilePath",
-        null, OPTION_LONG_PROP_FILE_PATH,
-        false, false, true, INFO_PROP_FILE_PATH_PLACEHOLDER.get(), null, null,
-        INFO_DESCRIPTION_PROP_FILE_PATH.get());
+    propertiesFileArg = CommonArguments.getPropertiesFile();
     setFilePropertiesArgument(propertiesFileArg);
     set.add(propertiesFileArg);
 
-    noPropertiesFileArg = new BooleanArgument(
-        "noPropertiesFileArgument", null, OPTION_LONG_NO_PROP_FILE,
-        INFO_DESCRIPTION_NO_PROP_FILE.get());
+    noPropertiesFileArg = CommonArguments.getNoPropertiesFile();
     setNoPropertiesFileArgument(noPropertiesFileArg);
     set.add(noPropertiesFileArg);
 
diff --git a/opendj3-server-dev/src/server/org/opends/server/tools/InstallDS.java b/opendj3-server-dev/src/server/org/opends/server/tools/InstallDS.java
index 482da72..f5a1a4f 100644
--- a/opendj3-server-dev/src/server/org/opends/server/tools/InstallDS.java
+++ b/opendj3-server-dev/src/server/org/opends/server/tools/InstallDS.java
@@ -722,7 +722,7 @@
       errorMessages.add(message);
     }
     uData.setDirectoryManagerDn(dmDN);
-    uData.setDirectoryManagerPwd(String.valueOf(argParser.getDirectoryManagerPassword()));
+    uData.setDirectoryManagerPwd(argParser.getDirectoryManagerPassword());
 
     // Check the validity of the base DNs
     List<String> baseDNs = argParser.baseDNArg.getValues();
@@ -978,7 +978,7 @@
         true);
     uData.setDirectoryManagerDn(dns.getFirst());
 
-    char[] pwd = argParser.getDirectoryManagerPassword();
+    String pwd = argParser.getDirectoryManagerPassword();
     int nTries = 0;
     while (pwd == null)
     {
@@ -1004,9 +1004,9 @@
       char[] pwd2 =
         readPassword(INFO_INSTALLDS_PROMPT_CONFIRM_ROOT_PASSWORD.get());
 
-      if (pwd1.equals(pwd2))
+      if (Arrays.equals(pwd1, pwd2))
       {
-        pwd = pwd1;
+        pwd = String.valueOf(pwd1);
       }
       else
       {
diff --git a/opendj3-server-dev/src/server/org/opends/server/tools/InstallDSArgumentParser.java b/opendj3-server-dev/src/server/org/opends/server/tools/InstallDSArgumentParser.java
index a95894a..2405fc5 100644
--- a/opendj3-server-dev/src/server/org/opends/server/tools/InstallDSArgumentParser.java
+++ b/opendj3-server-dev/src/server/org/opends/server/tools/InstallDSArgumentParser.java
@@ -36,7 +36,6 @@
 
 import org.forgerock.i18n.LocalizableMessage;
 import org.forgerock.i18n.slf4j.LocalizedLogger;
-
 import org.opends.admin.ads.util.ConnectionUtils;
 import org.opends.quicksetup.Constants;
 import org.opends.quicksetup.Installation;
@@ -44,10 +43,12 @@
 import org.opends.quicksetup.util.Utils;
 import org.opends.server.admin.AdministrationConnector;
 import org.opends.server.util.SetupUtils;
+
 import com.forgerock.opendj.cli.Argument;
 import com.forgerock.opendj.cli.ArgumentException;
 import com.forgerock.opendj.cli.ArgumentParser;
 import com.forgerock.opendj.cli.BooleanArgument;
+import com.forgerock.opendj.cli.CommonArguments;
 import com.forgerock.opendj.cli.FileBasedArgument;
 import com.forgerock.opendj.cli.IntegerArgument;
 import com.forgerock.opendj.cli.StringArgument;
@@ -119,19 +120,10 @@
    */
   public void initializeArguments() throws ArgumentException
   {
-    testOnlyArg = new BooleanArgument(
-        "testOnly".toLowerCase(), 't', "testOnly",
-        INFO_INSTALLDS_DESCRIPTION_TESTONLY.get());
-    testOnlyArg.setHidden(true);
-    testOnlyArg.setPropertyName("testOnly");
+    testOnlyArg = CommonArguments.getTestOnly();
     addArgument(testOnlyArg);
 
-    cliArg = new BooleanArgument(
-        OPTION_LONG_CLI.toLowerCase(),
-        OPTION_SHORT_CLI,
-        OPTION_LONG_CLI,
-        INFO_INSTALLDS_DESCRIPTION_CLI.get());
-    cliArg.setPropertyName(OPTION_LONG_CLI);
+    cliArg = CommonArguments.getCLI();
     addArgument(cliArg);
 
     String defaultProgName;
@@ -150,24 +142,13 @@
     progNameArg.setHidden(true);
     addArgument(progNameArg);
 
-    noPromptArg = new BooleanArgument(
-        OPTION_LONG_NO_PROMPT.toLowerCase(),
-        OPTION_SHORT_NO_PROMPT,
-        OPTION_LONG_NO_PROMPT,
-        INFO_INSTALLDS_DESCRIPTION_NO_PROMPT.get());
-    noPromptArg.setPropertyName(OPTION_LONG_NO_PROMPT);
+    noPromptArg = CommonArguments.getNoPrompt();
     addArgument(noPromptArg);
 
-    quietArg = new BooleanArgument(
-        OPTION_LONG_QUIET.toLowerCase(), OPTION_SHORT_QUIET,
-        OPTION_LONG_QUIET,
-        INFO_INSTALLDS_DESCRIPTION_SILENT.get());
-    quietArg.setPropertyName(OPTION_LONG_QUIET);
+    quietArg = CommonArguments.getQuiet();
     addArgument(quietArg);
 
-    verboseArg = new BooleanArgument(OPTION_LONG_VERBOSE.toLowerCase(),
-        OPTION_SHORT_VERBOSE,
-        OPTION_LONG_VERBOSE, INFO_DESCRIPTION_VERBOSE.get());
+    verboseArg = CommonArguments.getVerbose();
     addArgument(verboseArg);
 
     propertiesFileArgument = new StringArgument(
@@ -392,25 +373,15 @@
         INFO_INSTALLDS_DESCRIPTION_CERT_NICKNAME.get());
     addDefaultArgument(certNicknameArg);
 
-    int defaultTimeout = ConnectionUtils.getDefaultLDAPTimeout();
-    connectTimeoutArg = new IntegerArgument(OPTION_LONG_CONNECT_TIMEOUT,
-        null, OPTION_LONG_CONNECT_TIMEOUT,
-        false, false, true, INFO_TIMEOUT_PLACEHOLDER.get(),
-        defaultTimeout, null,
-        true, 1, true, 65535,
-        INFO_DESCRIPTION_CONNECTION_TIMEOUT.get());
-    connectTimeoutArg.setPropertyName(OPTION_LONG_CONNECT_TIMEOUT);
-    connectTimeoutArg.setHidden(true);
+    connectTimeoutArg =
+        CommonArguments.getConnectTimeOut(ConnectionUtils
+            .getDefaultLDAPTimeout());
     addArgument(connectTimeoutArg);
 
-    acceptLicense = new BooleanArgument(OPTION_LONG_ACCEPT_LICENSE, null,
-        OPTION_LONG_ACCEPT_LICENSE, INFO_OPTION_ACCEPT_LICENSE.get());
+    acceptLicense = CommonArguments.getAcceptLicense();
     addArgument(acceptLicense);
 
-    showUsageArg = new BooleanArgument(
-        OPTION_LONG_HELP.toLowerCase(), OPTION_SHORT_HELP,
-        OPTION_LONG_HELP,
-        INFO_INSTALLDS_DESCRIPTION_HELP.get());
+    showUsageArg = CommonArguments.getShowUsage();
     addArgument(showUsageArg);
     setUsageArgument(showUsageArg);
   }
@@ -464,17 +435,18 @@
    * should be called after a call to parseArguments.
    * @return the directory manager password provided by the user.
    */
-  public char[] getDirectoryManagerPassword()
+  public String getDirectoryManagerPassword()
   {
+    String pwd = null;
     if (directoryManagerPwdStringArg.isPresent())
     {
-      return directoryManagerPwdStringArg.getValue().toCharArray();
+      pwd = directoryManagerPwdStringArg.getValue();
     }
     else if (directoryManagerPwdFileArg.isPresent())
     {
-      return directoryManagerPwdFileArg.getValue().toCharArray();
+      pwd = directoryManagerPwdFileArg.getValue();
     }
-    return null;
+    return pwd;
   }
 
   /**
diff --git a/opendj3-server-dev/src/server/org/opends/server/tools/JavaPropertiesToolArgumentParser.java b/opendj3-server-dev/src/server/org/opends/server/tools/JavaPropertiesToolArgumentParser.java
index 13c1f13..fc6a69e 100644
--- a/opendj3-server-dev/src/server/org/opends/server/tools/JavaPropertiesToolArgumentParser.java
+++ b/opendj3-server-dev/src/server/org/opends/server/tools/JavaPropertiesToolArgumentParser.java
@@ -36,9 +36,11 @@
 import org.opends.quicksetup.Constants;
 import org.opends.quicksetup.Installation;
 import org.opends.quicksetup.util.Utils;
+
 import com.forgerock.opendj.cli.ArgumentException;
 import com.forgerock.opendj.cli.ArgumentParser;
 import com.forgerock.opendj.cli.BooleanArgument;
+import com.forgerock.opendj.cli.CommonArguments;
 import com.forgerock.opendj.cli.StringArgument;
 
 /**
@@ -74,11 +76,7 @@
    */
   public void initializeArguments() throws ArgumentException
   {
-    quietArg = new BooleanArgument(
-        "quiet", OPTION_SHORT_QUIET,
-        OPTION_LONG_QUIET,
-        INFO_JAVAPROPERTIES_DESCRIPTION_SILENT.get());
-    quietArg.setPropertyName(OPTION_LONG_QUIET);
+    quietArg = CommonArguments.getQuiet();
     addArgument(quietArg);
 
     propertiesFileArg = new StringArgument("propertiesFile",
@@ -99,9 +97,7 @@
     destinationFileArg.setHidden(true);
     addArgument(destinationFileArg);
 
-    showUsageArg = new BooleanArgument("help", OPTION_SHORT_HELP,
-        OPTION_LONG_HELP,
-        INFO_JAVAPROPERTIES_DESCRIPTION_HELP.get());
+    showUsageArg = CommonArguments.getShowUsage();
     addArgument(showUsageArg);
     setUsageArgument(showUsageArg);
   }
diff --git a/opendj3-server-dev/src/server/org/opends/server/tools/LDAPCompare.java b/opendj3-server-dev/src/server/org/opends/server/tools/LDAPCompare.java
index 9449b58..dca3b45 100644
--- a/opendj3-server-dev/src/server/org/opends/server/tools/LDAPCompare.java
+++ b/opendj3-server-dev/src/server/org/opends/server/tools/LDAPCompare.java
@@ -55,6 +55,7 @@
 import com.forgerock.opendj.cli.ArgumentException;
 import com.forgerock.opendj.cli.ArgumentParser;
 import com.forgerock.opendj.cli.BooleanArgument;
+import com.forgerock.opendj.cli.CommonArguments;
 import com.forgerock.opendj.cli.FileBasedArgument;
 import com.forgerock.opendj.cli.IntegerArgument;
 import com.forgerock.opendj.cli.StringArgument;
@@ -636,9 +637,7 @@
       argParser.addArgument(noop);
       noop.setPropertyName(OPTION_LONG_DRYRUN);
 
-      verbose = new BooleanArgument("verbose", 'v', "verbose",
-                                    INFO_DESCRIPTION_VERBOSE.get());
-      verbose.setPropertyName("verbose");
+      verbose = CommonArguments.getVerbose();
       argParser.addArgument(verbose);
 
       showUsage = new BooleanArgument("showUsage", OPTION_SHORT_HELP,
diff --git a/opendj3-server-dev/src/server/org/opends/server/tools/LDAPDelete.java b/opendj3-server-dev/src/server/org/opends/server/tools/LDAPDelete.java
index c6fa335..e9653fa 100644
--- a/opendj3-server-dev/src/server/org/opends/server/tools/LDAPDelete.java
+++ b/opendj3-server-dev/src/server/org/opends/server/tools/LDAPDelete.java
@@ -48,15 +48,18 @@
 import org.forgerock.opendj.ldap.ByteString;
 import org.opends.server.util.EmbeddedUtils;
 import org.opends.server.util.PasswordReader;
+
 import com.forgerock.opendj.cli.ArgumentException;
 import com.forgerock.opendj.cli.ArgumentParser;
 import com.forgerock.opendj.cli.BooleanArgument;
+import com.forgerock.opendj.cli.CommonArguments;
 import com.forgerock.opendj.cli.FileBasedArgument;
 import com.forgerock.opendj.cli.IntegerArgument;
 import com.forgerock.opendj.cli.StringArgument;
 
 import org.opends.server.controls.SubtreeDeleteControl;
 import org.forgerock.i18n.slf4j.LocalizedLogger;
+
 import static org.opends.messages.ToolMessages.*;
 import static org.opends.server.protocols.ldap.LDAPResultCode.*;
 import static org.opends.server.util.ServerConstants.*;
@@ -542,9 +545,7 @@
       noop.setPropertyName(OPTION_LONG_DRYRUN);
       argParser.addArgument(noop);
 
-      verbose = new BooleanArgument("verbose", 'v', "verbose",
-                                    INFO_DESCRIPTION_VERBOSE.get());
-      verbose.setPropertyName("verbose");
+      verbose = CommonArguments.getVerbose();
       argParser.addArgument(verbose);
 
       showUsage = new BooleanArgument("showUsage", OPTION_SHORT_HELP,
diff --git a/opendj3-server-dev/src/server/org/opends/server/tools/LDAPModify.java b/opendj3-server-dev/src/server/org/opends/server/tools/LDAPModify.java
index 800513f..77d822f 100644
--- a/opendj3-server-dev/src/server/org/opends/server/tools/LDAPModify.java
+++ b/opendj3-server-dev/src/server/org/opends/server/tools/LDAPModify.java
@@ -39,7 +39,6 @@
 import java.util.concurrent.atomic.AtomicInteger;
 
 import org.opends.server.controls.*;
-import org.opends.server.controls.ProxiedAuthV2Control;
 import org.forgerock.i18n.slf4j.LocalizedLogger;
 import org.opends.server.plugins.ChangeNumberControlPlugin;
 import org.forgerock.opendj.ldap.DecodeException;
@@ -69,9 +68,11 @@
 import org.opends.server.util.ModifyChangeRecordEntry;
 import org.opends.server.util.ModifyDNChangeRecordEntry;
 import org.opends.server.util.PasswordReader;
+
 import com.forgerock.opendj.cli.ArgumentException;
 import com.forgerock.opendj.cli.ArgumentParser;
 import com.forgerock.opendj.cli.BooleanArgument;
+import com.forgerock.opendj.cli.CommonArguments;
 import com.forgerock.opendj.cli.FileBasedArgument;
 import com.forgerock.opendj.cli.IntegerArgument;
 import com.forgerock.opendj.cli.StringArgument;
@@ -871,9 +872,7 @@
       noop.setPropertyName(OPTION_LONG_DRYRUN);
       argParser.addArgument(noop);
 
-      verbose = new BooleanArgument("verbose", 'v', "verbose",
-                                    INFO_DESCRIPTION_VERBOSE.get());
-      verbose.setPropertyName("verbose");
+      verbose = CommonArguments.getVerbose();
       argParser.addArgument(verbose);
 
       showUsage = new BooleanArgument("showUsage", OPTION_SHORT_HELP,
diff --git a/opendj3-server-dev/src/server/org/opends/server/tools/LDAPSearch.java b/opendj3-server-dev/src/server/org/opends/server/tools/LDAPSearch.java
index 397aa16..b6d2857 100644
--- a/opendj3-server-dev/src/server/org/opends/server/tools/LDAPSearch.java
+++ b/opendj3-server-dev/src/server/org/opends/server/tools/LDAPSearch.java
@@ -49,6 +49,7 @@
 import com.forgerock.opendj.cli.ArgumentException;
 import com.forgerock.opendj.cli.ArgumentParser;
 import com.forgerock.opendj.cli.BooleanArgument;
+import com.forgerock.opendj.cli.CommonArguments;
 import com.forgerock.opendj.cli.FileBasedArgument;
 import com.forgerock.opendj.cli.IntegerArgument;
 import com.forgerock.opendj.cli.MultiChoiceArgument;
@@ -1057,9 +1058,7 @@
       noop.setPropertyName(OPTION_LONG_DRYRUN);
       argParser.addArgument(noop);
 
-      verbose = new BooleanArgument("verbose", 'v', "verbose",
-                                    INFO_DESCRIPTION_VERBOSE.get());
-      verbose.setPropertyName("verbose");
+      verbose = CommonArguments.getVerbose();
       argParser.addArgument(verbose);
 
       showUsage = new BooleanArgument("showUsage", OPTION_SHORT_HELP,
diff --git a/opendj3-server-dev/src/server/org/opends/server/tools/ManageAccount.java b/opendj3-server-dev/src/server/org/opends/server/tools/ManageAccount.java
index 6b9dc8e..257910a 100644
--- a/opendj3-server-dev/src/server/org/opends/server/tools/ManageAccount.java
+++ b/opendj3-server-dev/src/server/org/opends/server/tools/ManageAccount.java
@@ -51,6 +51,7 @@
 import com.forgerock.opendj.cli.Argument;
 import com.forgerock.opendj.cli.ArgumentException;
 import com.forgerock.opendj.cli.BooleanArgument;
+import com.forgerock.opendj.cli.CommonArguments;
 import com.forgerock.opendj.cli.FileBasedArgument;
 import com.forgerock.opendj.cli.IntegerArgument;
 import com.forgerock.opendj.cli.MultiChoiceArgument;
@@ -964,9 +965,7 @@
                                   INFO_PWPSTATE_DESCRIPTION_TSPWFILE.get());
       argParser.addGlobalArgument(trustStorePWFile);
 
-      verbose = new BooleanArgument("verbose", 'v', "verbose",
-                                    INFO_DESCRIPTION_VERBOSE.get());
-      verbose.setPropertyName("verbose");
+      verbose = CommonArguments.getVerbose();
       argParser.addGlobalArgument(verbose);
 
       showUsage = new BooleanArgument(
diff --git a/opendj3-server-dev/src/server/org/opends/server/tools/ToolConstants.java b/opendj3-server-dev/src/server/org/opends/server/tools/ToolConstants.java
index d82eec7..470f42c 100644
--- a/opendj3-server-dev/src/server/org/opends/server/tools/ToolConstants.java
+++ b/opendj3-server-dev/src/server/org/opends/server/tools/ToolConstants.java
@@ -22,7 +22,7 @@
  *
  *
  *      Copyright 2006-2010 Sun Microsystems, Inc.
- *      Portions Copyright 2011-2013 ForgeRock AS
+ *      Portions Copyright 2011-2014 ForgeRock AS
  */
 package org.opends.server.tools;
 
@@ -456,15 +456,6 @@
      */
      public static final String OPTION_LONG_PRODUCT_VERSION  = "version";
 
-  /**
-   * The value for the short option description attributes.
-   */
-  public static final char OPTION_SHORT_DESCRIPTION = 'd';
-
-  /**
-   * The value for the long option description attribute.
-   */
-  public static final String OPTION_LONG_DESCRIPTION = "description";
 
   /**
    * The value for the short option groupName attributes.
@@ -489,17 +480,6 @@
   public static final String OPTION_LONG_NEWGROUPNAME= "newGroupName";
 
   /**
-   * The value for the short option member-name attributes.
-   */
-  public static final char OPTION_SHORT_MEMBERNAME = 'm';
-
-  /**
-   * The value for the long member-name version
-   * attribute.
-   */
-  public static final String OPTION_LONG_MEMBERNAME= "memberName";
-
-  /**
    * The value for the short option backendName attributes.
    */
   public static final char OPTION_SHORT_BACKENDNAME = 'b';
diff --git a/opendj3-server-dev/src/server/org/opends/server/tools/dsconfig/DSConfig.java b/opendj3-server-dev/src/server/org/opends/server/tools/dsconfig/DSConfig.java
index 0f9ca72..5b284b8 100644
--- a/opendj3-server-dev/src/server/org/opends/server/tools/dsconfig/DSConfig.java
+++ b/opendj3-server-dev/src/server/org/opends/server/tools/dsconfig/DSConfig.java
@@ -81,6 +81,7 @@
 
 import com.forgerock.opendj.cli.ArgumentException;
 import com.forgerock.opendj.cli.BooleanArgument;
+import com.forgerock.opendj.cli.CommonArguments;
 import com.forgerock.opendj.cli.StringArgument;
 import com.forgerock.opendj.cli.SubCommand;
 import com.forgerock.opendj.cli.SubCommandArgumentParser;
@@ -548,8 +549,7 @@
   private void initializeGlobalArguments(String[] args)
   throws ArgumentException {
     if (globalArgumentsInitialized == false) {
-      verboseArgument = new BooleanArgument("verbose", 'v', "verbose",
-          INFO_DESCRIPTION_VERBOSE.get());
+      verboseArgument = CommonArguments.getVerbose();
 
       quietArgument = new BooleanArgument(
           OPTION_LONG_QUIET,
diff --git a/opendj3-server-dev/src/server/org/opends/server/tools/dsreplication/ReplicationCliArgumentParser.java b/opendj3-server-dev/src/server/org/opends/server/tools/dsreplication/ReplicationCliArgumentParser.java
index 32c1ec2..6af2c72 100644
--- a/opendj3-server-dev/src/server/org/opends/server/tools/dsreplication/ReplicationCliArgumentParser.java
+++ b/opendj3-server-dev/src/server/org/opends/server/tools/dsreplication/ReplicationCliArgumentParser.java
@@ -47,11 +47,13 @@
 import org.opends.server.admin.client.cli.TaskScheduleArgs;
 import org.opends.server.extensions.ConfigFileHandler;
 import org.opends.server.tasks.PurgeConflictsHistoricalTask;
+
 import com.forgerock.opendj.cli.Argument;
 import com.forgerock.opendj.cli.ArgumentException;
 import com.forgerock.opendj.cli.ArgumentGroup;
 import com.forgerock.opendj.cli.BooleanArgument;
 import com.forgerock.opendj.cli.ClientException;
+import com.forgerock.opendj.cli.CommonArguments;
 import com.forgerock.opendj.cli.FileBasedArgument;
 import com.forgerock.opendj.cli.IntegerArgument;
 import com.forgerock.opendj.cli.StringArgument;
@@ -553,54 +555,30 @@
 
     defaultArgs.remove(verboseArg);
 
-    quietArg = new BooleanArgument(
-        OPTION_LONG_QUIET,
-        OPTION_SHORT_QUIET,
-        OPTION_LONG_QUIET,
-        INFO_REPLICATION_DESCRIPTION_QUIET.get());
+    quietArg = CommonArguments.getQuiet();
     defaultArgs.add(index++, quietArg);
 
-    noPromptArg = new BooleanArgument(
-        OPTION_LONG_NO_PROMPT,
-        OPTION_SHORT_NO_PROMPT,
-        OPTION_LONG_NO_PROMPT,
-        INFO_DESCRIPTION_NO_PROMPT.get());
+    noPromptArg = CommonArguments.getNoPrompt();
     defaultArgs.add(index++, noPromptArg);
 
-    displayEquivalentArgument = new BooleanArgument(
-        OPTION_DSCFG_LONG_DISPLAY_EQUIVALENT,
-        null, OPTION_DSCFG_LONG_DISPLAY_EQUIVALENT,
-        INFO_REPLICATION_DESCRIPTION_DISPLAY_EQUIVALENT.get());
+    displayEquivalentArgument = CommonArguments.getDisplayEquivalentCommand();
+
     defaultArgs.add(index++, displayEquivalentArgument);
 
-    equivalentCommandFileArgument = new StringArgument(
-        OPTION_LONG_EQUIVALENT_COMMAND_FILE_PATH, null,
-        OPTION_LONG_EQUIVALENT_COMMAND_FILE_PATH, false, false, true,
-        INFO_PATH_PLACEHOLDER.get(), null, null,
-        INFO_REPLICATION_DESCRIPTION_EQUIVALENT_COMMAND_FILE_PATH.get());
+    equivalentCommandFileArgument =
+        CommonArguments
+            .getEquivalentCommandFile(
+                INFO_REPLICATION_DESCRIPTION_EQUIVALENT_COMMAND_FILE_PATH.get());
     defaultArgs.add(index++, equivalentCommandFileArgument);
 
-    advancedArg = new BooleanArgument(OPTION_DSCFG_LONG_ADVANCED,
-        OPTION_DSCFG_SHORT_ADVANCED,
-        OPTION_DSCFG_LONG_ADVANCED,
-        INFO_REPLICATION_DESCRIPTION_ADVANCED.get());
+    advancedArg = CommonArguments.getAdvancedMode();
     defaultArgs.add(index++, advancedArg);
 
     configClassArg =
-      new StringArgument("configclass", OPTION_SHORT_CONFIG_CLASS,
-                         OPTION_LONG_CONFIG_CLASS, true, false,
-                         true, INFO_CONFIGCLASS_PLACEHOLDER.get(),
-                         ConfigFileHandler.class.getName(), null,
-                         INFO_DESCRIPTION_CONFIG_CLASS.get());
-    configClassArg.setHidden(true);
+        CommonArguments.getConfigClass(ConfigFileHandler.class.getName());
     defaultArgs.add(index++, configClassArg);
 
-    configFileArg =
-      new StringArgument("configfile", 'f', "configFile", true, false,
-                         true, INFO_CONFIGFILE_PLACEHOLDER.get(), null,
-                         null,
-                         INFO_DESCRIPTION_CONFIG_FILE.get());
-    configFileArg.setHidden(true);
+    configFileArg = CommonArguments.getConfigFile();
     defaultArgs.add(index++, configFileArg);
 
     for (int i=0; i<index; i++)
@@ -609,16 +587,11 @@
       arg.setPropertyName(arg.getLongIdentifier());
     }
 
-    this.propertiesFileArgument = new StringArgument(
-        "propertiesFilePath", null, OPTION_LONG_PROP_FILE_PATH, false, false,
-        true, INFO_PROP_FILE_PATH_PLACEHOLDER.get(), null, null,
-        INFO_DESCRIPTION_PROP_FILE_PATH.get());
+    this.propertiesFileArgument = CommonArguments.getPropertiesFile();
     defaultArgs.add(this.propertiesFileArgument);
     setFilePropertiesArgument(this.propertiesFileArgument);
 
-    this.noPropertiesFileArgument = new BooleanArgument(
-        "noPropertiesFileArgument", null, OPTION_LONG_NO_PROP_FILE,
-        INFO_DESCRIPTION_NO_PROP_FILE.get());
+    this.noPropertiesFileArgument = CommonArguments.getNoPropertiesFile();
     defaultArgs.add(this.noPropertiesFileArgument);
     setNoPropertiesFileArgument(this.noPropertiesFileArgument);
 
diff --git a/opendj3-server-dev/src/server/org/opends/server/tools/makeldif/MakeLDIF.java b/opendj3-server-dev/src/server/org/opends/server/tools/makeldif/MakeLDIF.java
index c7072e3..5825764 100644
--- a/opendj3-server-dev/src/server/org/opends/server/tools/makeldif/MakeLDIF.java
+++ b/opendj3-server-dev/src/server/org/opends/server/tools/makeldif/MakeLDIF.java
@@ -42,9 +42,11 @@
 import org.opends.server.types.NullOutputStream;
 import org.opends.server.util.BuildVersion;
 import org.opends.server.util.LDIFWriter;
+
 import com.forgerock.opendj.cli.ArgumentException;
 import com.forgerock.opendj.cli.ArgumentParser;
 import com.forgerock.opendj.cli.BooleanArgument;
+import com.forgerock.opendj.cli.CommonArguments;
 import com.forgerock.opendj.cli.IntegerArgument;
 import com.forgerock.opendj.cli.StringArgument;
 
@@ -189,9 +191,7 @@
       argParser.addArgument(randomSeed);
 
 
-      showUsage = new BooleanArgument("help", OPTION_SHORT_HELP,
-                                      OPTION_LONG_HELP,
-                                      INFO_MAKELDIF_DESCRIPTION_HELP.get());
+      showUsage = CommonArguments.getShowUsage();
       argParser.addArgument(showUsage);
       argParser.setUsageArgument(showUsage);
     }
diff --git a/opendj3-server-dev/src/server/org/opends/server/tools/status/StatusCliArgumentParser.java b/opendj3-server-dev/src/server/org/opends/server/tools/status/StatusCliArgumentParser.java
index f9b8a87..1e3aac7 100644
--- a/opendj3-server-dev/src/server/org/opends/server/tools/status/StatusCliArgumentParser.java
+++ b/opendj3-server-dev/src/server/org/opends/server/tools/status/StatusCliArgumentParser.java
@@ -29,18 +29,17 @@
 
 import static org.opends.messages.AdminToolMessages.*;
 import static org.opends.messages.ToolMessages.*;
-import static org.opends.server.tools.ToolConstants.OPTION_LONG_NO_PROP_FILE;
-import static org.opends.server.tools.ToolConstants.OPTION_LONG_PROP_FILE_PATH;
 
 import java.io.OutputStream;
 import java.util.ArrayList;
 
 import org.opends.server.admin.client.cli.SecureConnectionCliArgs;
 import org.opends.server.admin.client.cli.SecureConnectionCliParser;
-import org.opends.server.tools.ToolConstants;
+
 import com.forgerock.opendj.cli.Argument;
 import com.forgerock.opendj.cli.ArgumentException;
 import com.forgerock.opendj.cli.BooleanArgument;
+import com.forgerock.opendj.cli.CommonArguments;
 import com.forgerock.opendj.cli.IntegerArgument;
 import com.forgerock.opendj.cli.StringArgument;
 
@@ -98,30 +97,20 @@
     defaultArgs.remove(verboseArg);
     defaultArgs.remove(noPropertiesFileArg);
     defaultArgs.remove(propertiesFileArg);
-    noPromptArg = new BooleanArgument(
-        ToolConstants.OPTION_LONG_NO_PROMPT,
-        ToolConstants.OPTION_SHORT_NO_PROMPT,
-        ToolConstants.OPTION_LONG_NO_PROMPT,
-        INFO_DESCRIPTION_NO_PROMPT.get());
+    noPromptArg = CommonArguments.getNoPrompt();
     defaultArgs.add(0, noPromptArg);
 
-    scriptFriendlyArg = new BooleanArgument(
-        "script-friendly",
-        's',
-        "script-friendly",
-        INFO_DESCRIPTION_SCRIPT_FRIENDLY.get());
+    scriptFriendlyArg = CommonArguments.getScriptFriendly();
     defaultArgs.add(1, scriptFriendlyArg);
 
-    StringArgument propertiesFileArgument = new StringArgument(
-        "propertiesFilePath", null, OPTION_LONG_PROP_FILE_PATH, false, false,
-        true, INFO_PROP_FILE_PATH_PLACEHOLDER.get(), null, null,
-        INFO_DESCRIPTION_PROP_FILE_PATH.get());
+    StringArgument propertiesFileArgument
+        = CommonArguments.getPropertiesFile();
+
     defaultArgs.add(propertiesFileArgument);
     setFilePropertiesArgument(propertiesFileArgument);
 
-    BooleanArgument noPropertiesFileArgument = new BooleanArgument(
-        "noPropertiesFileArgument", null, OPTION_LONG_NO_PROP_FILE,
-        INFO_DESCRIPTION_NO_PROP_FILE.get());
+    BooleanArgument noPropertiesFileArgument =
+        CommonArguments.getNoPropertiesFile();
     defaultArgs.add(noPropertiesFileArgument);
     setNoPropertiesFileArgument(noPropertiesFileArgument);
 
diff --git a/opendj3-server-dev/src/server/org/opends/server/tools/tasks/TaskTool.java b/opendj3-server-dev/src/server/org/opends/server/tools/tasks/TaskTool.java
index 8653362..e34bc05 100644
--- a/opendj3-server-dev/src/server/org/opends/server/tools/tasks/TaskTool.java
+++ b/opendj3-server-dev/src/server/org/opends/server/tools/tasks/TaskTool.java
@@ -30,6 +30,7 @@
 import com.forgerock.opendj.cli.ArgumentGroup;
 import com.forgerock.opendj.cli.ArgumentException;
 import com.forgerock.opendj.cli.BooleanArgument;
+import com.forgerock.opendj.cli.CommonArguments;
 import com.forgerock.opendj.cli.StringArgument;
 import com.forgerock.opendj.cli.ClientException;
 
@@ -137,17 +138,13 @@
       INFO_DESCRIPTION_TASK_TASK_ARGS.get(), 1000);
 
     try {
-      StringArgument propertiesFileArgument = new StringArgument(
-        "propertiesFilePath",
-        null, OPTION_LONG_PROP_FILE_PATH,
-        false, false, true, INFO_PROP_FILE_PATH_PLACEHOLDER.get(), null, null,
-        INFO_DESCRIPTION_PROP_FILE_PATH.get());
+      StringArgument propertiesFileArgument =
+          CommonArguments.getPropertiesFile();
       argParser.addArgument(propertiesFileArgument);
       argParser.setFilePropertiesArgument(propertiesFileArgument);
 
-      BooleanArgument noPropertiesFileArgument = new BooleanArgument(
-        "noPropertiesFileArgument", null, OPTION_LONG_NO_PROP_FILE,
-        INFO_DESCRIPTION_NO_PROP_FILE.get());
+      BooleanArgument noPropertiesFileArgument =
+          CommonArguments.getNoPropertiesFile();
       argParser.addArgument(noPropertiesFileArgument);
       argParser.setNoPropertiesFileArgument(noPropertiesFileArgument);
 
diff --git a/opendj3-server-dev/src/server/org/opends/server/tools/upgrade/UpgradeCli.java b/opendj3-server-dev/src/server/org/opends/server/tools/upgrade/UpgradeCli.java
index c46c65b..7220bf7 100644
--- a/opendj3-server-dev/src/server/org/opends/server/tools/upgrade/UpgradeCli.java
+++ b/opendj3-server-dev/src/server/org/opends/server/tools/upgrade/UpgradeCli.java
@@ -54,6 +54,7 @@
 
 import com.forgerock.opendj.cli.ArgumentException;
 import com.forgerock.opendj.cli.BooleanArgument;
+import com.forgerock.opendj.cli.CommonArguments;
 import com.forgerock.opendj.cli.StringArgument;
 import com.forgerock.opendj.cli.SubCommandArgumentParser;
 import com.forgerock.opendj.cli.ClientException;
@@ -231,29 +232,15 @@
     if (!globalArgumentsInitialized)
     {
       configClass =
-          new StringArgument("configclass", OPTION_SHORT_CONFIG_CLASS,
-              OPTION_LONG_CONFIG_CLASS, true, false, true,
-              INFO_CONFIGCLASS_PLACEHOLDER.get(), ConfigFileHandler.class
-                  .getName(), null, INFO_DESCRIPTION_CONFIG_CLASS.get());
-      configClass.setHidden(true);
+          CommonArguments.getConfigClass(ConfigFileHandler.class.getName());
 
-      configFile =
-          new StringArgument("configfile", 'f', "configFile", true, false,
-              true, INFO_CONFIGFILE_PLACEHOLDER.get(), null, null,
-              INFO_DESCRIPTION_CONFIG_FILE.get());
-      configFile.setHidden(true);
+      configFile = CommonArguments.getConfigFile();
 
-      noPrompt =
-          new BooleanArgument(OPTION_LONG_NO_PROMPT, OPTION_SHORT_NO_PROMPT,
-              OPTION_LONG_NO_PROMPT, INFO_UPGRADE_DESCRIPTION_NO_PROMPT.get());
+      noPrompt = CommonArguments.getNoPrompt();
 
-      verbose =
-          new BooleanArgument(OPTION_LONG_VERBOSE, OPTION_SHORT_VERBOSE,
-              OPTION_LONG_VERBOSE, INFO_DESCRIPTION_VERBOSE.get());
+      verbose = CommonArguments.getVerbose();
 
-      quietMode =
-          new BooleanArgument(OPTION_LONG_QUIET, OPTION_SHORT_QUIET,
-              OPTION_LONG_QUIET, INFO_DESCRIPTION_QUIET.get());
+      quietMode = CommonArguments.getQuiet();
 
       ignoreErrors =
           new BooleanArgument(OPTION_LONG_IGNORE_ERRORS, null,
@@ -264,12 +251,9 @@
           OPTION_LONG_FORCE_UPGRADE,
           INFO_UPGRADE_OPTION_FORCE.get(OPTION_LONG_NO_PROMPT));
 
-      acceptLicense = new BooleanArgument(OPTION_LONG_ACCEPT_LICENSE, null,
-          OPTION_LONG_ACCEPT_LICENSE, INFO_OPTION_ACCEPT_LICENSE.get());
+      acceptLicense = CommonArguments.getAcceptLicense();
 
-      showUsageArgument =
-          new BooleanArgument("help", OPTION_SHORT_HELP, OPTION_LONG_HELP,
-              INFO_DESCRIPTION_USAGE.get());
+      showUsageArgument = CommonArguments.getShowUsage();
 
 
       // Register the global arguments.
diff --git a/opendj3-server-dev/src/server/org/opends/server/util/Base64.java b/opendj3-server-dev/src/server/org/opends/server/util/Base64.java
index 6a93d6c..bc59e55 100644
--- a/opendj3-server-dev/src/server/org/opends/server/util/Base64.java
+++ b/opendj3-server-dev/src/server/org/opends/server/util/Base64.java
@@ -48,8 +48,10 @@
 import org.opends.server.core.DirectoryServer;
 import org.opends.server.types.NullOutputStream;
 import org.forgerock.opendj.ldap.ByteSequence;
+
 import com.forgerock.opendj.cli.ArgumentException;
 import com.forgerock.opendj.cli.BooleanArgument;
+import com.forgerock.opendj.cli.CommonArguments;
 import com.forgerock.opendj.cli.StringArgument;
 import com.forgerock.opendj.cli.SubCommand;
 import com.forgerock.opendj.cli.SubCommandArgumentParser;
@@ -541,8 +543,7 @@
       subCommandList.add(encodeSubCommand);
 
 
-      showUsage = new BooleanArgument("help", 'H', "help",
-                                      INFO_BASE64_HELP_DESCRIPTION.get());
+      showUsage = CommonArguments.getShowUsage();
       argParser.addGlobalArgument(showUsage);
       argParser.setUsageGroupArgument(showUsage, subCommandList);
       argParser.setUsageArgument(showUsage, NullOutputStream.printStream());
diff --git a/opendj3-server-dev/src/server/org/opends/server/util/EMailMessage.java b/opendj3-server-dev/src/server/org/opends/server/util/EMailMessage.java
index dddfb8b..b0256bb 100644
--- a/opendj3-server-dev/src/server/org/opends/server/util/EMailMessage.java
+++ b/opendj3-server-dev/src/server/org/opends/server/util/EMailMessage.java
@@ -37,6 +37,7 @@
 import java.util.LinkedList;
 import java.util.List;
 import java.util.Properties;
+
 import javax.activation.DataHandler;
 import javax.activation.FileDataSource;
 import javax.mail.MessagingException;
@@ -52,9 +53,11 @@
 import org.forgerock.i18n.LocalizableMessageBuilder;
 import org.opends.server.core.DirectoryServer;
 import org.forgerock.i18n.slf4j.LocalizedLogger;
+
 import com.forgerock.opendj.cli.ArgumentException;
 import com.forgerock.opendj.cli.ArgumentParser;
 import com.forgerock.opendj.cli.BooleanArgument;
+import com.forgerock.opendj.cli.CommonArguments;
 import com.forgerock.opendj.cli.StringArgument;
 
 import static org.opends.messages.ToolMessages.*;
@@ -549,8 +552,7 @@
       argParser.addArgument(attachFile);
 
 
-      showUsage = new BooleanArgument("help", 'H', "help",
-                                      INFO_EMAIL_HELP_DESCRIPTION.get());
+      showUsage = CommonArguments.getShowUsage();
       argParser.addArgument(showUsage);
       argParser.setUsageArgument(showUsage);
     }

--
Gitblit v1.10.0