From 26d643b864cafa79a8121431ddb65ad79d01119f Mon Sep 17 00:00:00 2001
From: jvergara <jvergara@localhost>
Date: Thu, 28 Jun 2007 14:40:51 +0000
Subject: [PATCH] Fix for issue 1613.

---
 opendj-sdk/opends/src/quicksetup/org/opends/quicksetup/upgrader/UpgradeLauncher.java      |   60 ++++++--
 opendj-sdk/opends/src/quicksetup/org/opends/quicksetup/Launcher.java                      |    6 
 opendj-sdk/opends/src/quicksetup/org/opends/quicksetup/installer/InstallLauncher.java     |  141 ++++++++++++++++++--
 opendj-sdk/opends/src/quicksetup/org/opends/quicksetup/uninstaller/UninstallLauncher.java |   49 +++++-
 opendj-sdk/opends/src/server/org/opends/server/messages/ToolMessages.java                 |   62 ++++++++
 opendj-sdk/opends/src/quicksetup/org/opends/quicksetup/resources/Resources.properties     |  102 +-------------
 6 files changed, 286 insertions(+), 134 deletions(-)

diff --git a/opendj-sdk/opends/src/quicksetup/org/opends/quicksetup/Launcher.java b/opendj-sdk/opends/src/quicksetup/org/opends/quicksetup/Launcher.java
index 1d711a4..55ca1fd 100644
--- a/opendj-sdk/opends/src/quicksetup/org/opends/quicksetup/Launcher.java
+++ b/opendj-sdk/opends/src/quicksetup/org/opends/quicksetup/Launcher.java
@@ -377,7 +377,11 @@
     }
   }
 
-  private ResourceProvider getI18n()
+  /**
+   * Returns the ResourceProvider used to get localized messages.
+   * @return the ResourceProvider used to get localized messages.
+   */
+  protected ResourceProvider getI18n()
   {
     return ResourceProvider.getInstance();
   }
diff --git a/opendj-sdk/opends/src/quicksetup/org/opends/quicksetup/installer/InstallLauncher.java b/opendj-sdk/opends/src/quicksetup/org/opends/quicksetup/installer/InstallLauncher.java
index 2202c6d..c4eb6af 100644
--- a/opendj-sdk/opends/src/quicksetup/org/opends/quicksetup/installer/InstallLauncher.java
+++ b/opendj-sdk/opends/src/quicksetup/org/opends/quicksetup/installer/InstallLauncher.java
@@ -26,6 +26,9 @@
  */
 package org.opends.quicksetup.installer;
 
+import static org.opends.server.messages.ToolMessages.*;
+import static org.opends.server.tools.ToolConstants.*;
+
 import java.io.File;
 import java.util.ArrayList;
 import java.util.logging.Logger;
@@ -35,6 +38,13 @@
 import org.opends.quicksetup.Installation;
 import org.opends.quicksetup.QuickSetupLog;
 import org.opends.quicksetup.util.Utils;
+import org.opends.server.util.ServerConstants;
+import org.opends.server.util.SetupUtils;
+import org.opends.server.util.args.ArgumentParser;
+import org.opends.server.util.args.BooleanArgument;
+import org.opends.server.util.args.FileBasedArgument;
+import org.opends.server.util.args.IntegerArgument;
+import org.opends.server.util.args.StringArgument;
 
 /**
  * This class is called by the setup command lines to launch the installation of
@@ -134,32 +144,133 @@
    * {@inheritDoc}
    */
   protected String getFrameTitle() {
-    return getMsg("frame-install-title");
+    return getI18n().getMsg("frame-install-title");
   }
 
   /**
    * {@inheritDoc}
    */
   public void printUsage() {
-    String arg;
+    String scriptName;
     if (Utils.isWindows()) {
-      arg = Installation.WINDOWS_SETUP_FILE_NAME;
+      scriptName = Installation.WINDOWS_SETUP_FILE_NAME;
     } else {
-      arg = Installation.UNIX_SETUP_FILE_NAME;
+      scriptName = Installation.UNIX_SETUP_FILE_NAME;
     }
-    /*
-     * This is required because the usage message contains '{' characters that
-     * mess up the MessageFormat.format method.
-     */
-    String msg;
+    System.setProperty(ServerConstants.PROPERTY_SCRIPT_NAME, scriptName);
+    ArgumentParser argParser = new ArgumentParser(getClass().getName(),
+        getI18n().getMsg("setup-launcher-usage-description"),
+        false);
+    BooleanArgument   addBaseEntry;
+    BooleanArgument   cliMode;
+    BooleanArgument   showUsage;
+    BooleanArgument   silentInstall;
+    BooleanArgument   skipPortCheck;
+    BooleanArgument   noWindowsService;
+    FileBasedArgument rootPWFile;
+    IntegerArgument   ldapPort;
+    IntegerArgument   jmxPort;
+    IntegerArgument   sampleData;
+    StringArgument    baseDN;
+    StringArgument    importLDIF;
+    StringArgument    rootDN;
+    StringArgument    rootPWString;
 
-    if (Utils.isWindows()) {
-      msg = getMsg("setup-launcher-usage-windows");
-    } else {
-      msg = getMsg("setup-launcher-usage-unix");
+    try
+    {
+      cliMode = new BooleanArgument("cli", null, OPTION_LONG_CLI,
+          MSGID_INSTALLDS_DESCRIPTION_CLI);
+      argParser.addArgument(cliMode);
+
+      silentInstall = new BooleanArgument("silent", 's', "silentInstall",
+          MSGID_INSTALLDS_DESCRIPTION_SILENT);
+      argParser.addArgument(silentInstall);
+
+      baseDN = new StringArgument("basedn", OPTION_SHORT_BASEDN,
+          OPTION_LONG_BASEDN, false, true, true,
+          OPTION_VALUE_BASEDN,
+          "dc=example,dc=com", null,
+          MSGID_INSTALLDS_DESCRIPTION_BASEDN);
+      argParser.addArgument(baseDN);
+
+      addBaseEntry = new BooleanArgument("addbase", 'a', "addBaseEntry",
+          MSGID_INSTALLDS_DESCRIPTION_ADDBASE);
+      argParser.addArgument(addBaseEntry);
+
+      importLDIF = new StringArgument("importldif", OPTION_SHORT_LDIF_FILE,
+          OPTION_LONG_LDIF_FILE, false,
+          true, true, OPTION_VALUE_LDIF_FILE,
+          null, null,
+          MSGID_INSTALLDS_DESCRIPTION_IMPORTLDIF);
+      argParser.addArgument(importLDIF);
+
+      sampleData = new IntegerArgument("sampledata", 'd', "sampleData", false,
+          false, true, "{numEntries}", 0, null,
+          true, 0, false, 0,
+          MSGID_INSTALLDS_DESCRIPTION_SAMPLE_DATA);
+      argParser.addArgument(sampleData);
+
+      ldapPort = new IntegerArgument("ldapport", OPTION_SHORT_PORT,
+          "ldapPort", false, false,
+          true, OPTION_VALUE_PORT, 389,
+          null, true, 1, true, 65535,
+          MSGID_INSTALLDS_DESCRIPTION_LDAPPORT);
+      argParser.addArgument(ldapPort);
+
+      jmxPort = new IntegerArgument("jmxport", 'x', "jmxPort", false, false,
+          true, "{jmxPort}",
+          SetupUtils.getDefaultJMXPort(), null, true,
+          1, true, 65535,
+          MSGID_INSTALLDS_DESCRIPTION_JMXPORT);
+      argParser.addArgument(jmxPort);
+
+      skipPortCheck = new BooleanArgument("skipportcheck", 'S', "skipPortCheck",
+          MSGID_INSTALLDS_DESCRIPTION_SKIPPORT);
+      argParser.addArgument(skipPortCheck);
+
+      rootDN = new StringArgument("rootdn",OPTION_SHORT_ROOT_USER_DN,
+          OPTION_LONG_ROOT_USER_DN, false, true,
+          true, OPTION_VALUE_ROOT_USER_DN,
+          "cn=Directory Manager",
+          null, MSGID_INSTALLDS_DESCRIPTION_ROOTDN);
+      argParser.addArgument(rootDN);
+
+      rootPWString = new StringArgument("rootpwstring", OPTION_SHORT_BINDPWD,
+          "rootUserPassword",
+          false, false, true,
+          "{password}", null,
+          null,
+          MSGID_INSTALLDS_DESCRIPTION_ROOTPW);
+      argParser.addArgument(rootPWString);
+
+      rootPWFile = new FileBasedArgument("rootpwfile",
+          OPTION_SHORT_BINDPWD_FILE,
+          "rootUserPasswordFile", false, false,
+          OPTION_VALUE_BINDPWD_FILE,
+          null, null, MSGID_INSTALLDS_DESCRIPTION_ROOTPWFILE);
+      argParser.addArgument(rootPWFile);
+
+      noWindowsService = new BooleanArgument("nowindowsservice", 'n',
+          "noWindowsService",
+          MSGID_INSTALLDS_DESCRIPTION_NO_WINDOWS_SERVICE);
+      if (SetupUtils.isWindows())
+      {
+        argParser.addArgument(noWindowsService);
+      }
+
+      showUsage = new BooleanArgument("help", OPTION_SHORT_HELP,
+          OPTION_LONG_HELP,
+          MSGID_INSTALLDS_DESCRIPTION_HELP);
+      argParser.addArgument(showUsage);
+      argParser.setUsageArgument(showUsage);
+      String msg = argParser.getUsage();
+      printUsage(msg);
     }
-    msg = msg.replace("{0}", arg);
-    printUsage(msg);
+    catch (Throwable t)
+    {
+      System.out.println("ERROR: "+t);
+      t.printStackTrace();
+    }
   }
 
   /**
diff --git a/opendj-sdk/opends/src/quicksetup/org/opends/quicksetup/resources/Resources.properties b/opendj-sdk/opends/src/quicksetup/org/opends/quicksetup/resources/Resources.properties
index 8e933bd..360f12e 100644
--- a/opendj-sdk/opends/src/quicksetup/org/opends/quicksetup/resources/Resources.properties
+++ b/opendj-sdk/opends/src/quicksetup/org/opends/quicksetup/resources/Resources.properties
@@ -31,76 +31,9 @@
 #
 # Setup command line messages
 #
-setup-launcher-usage-unix=This utility may be used to setup the Directory \
-Server.\n\Usage:  {0} {options}\n        where {options} include:\n\
---cli\n\    Specifies to use the command line setup.  If not specified the \
-graphical\n\    interface will be launched.\n\
--V, --version\n    Display Directory Server version information.\n\
--?, -H , --help\n    Display this usage information.\n\n\
-The following options will only be taken into account if the option --cli \n\
-(command line) is specified\n\
--s, --silentInstall\n    Perform a silent installation.\n\
--b, --baseDN {baseDN}\n\    Specifies the base DN for user \
-information in the Directory Server.\n    Multiple base DNs may be provided by \
-using this option multiple times.\n\
--a, --addBaseEntry\n    Indicates whether to create the base entry in the \
-Directory Server\n    database.\n\
--l, --ldifFile {ldifFile}\n    Specifies the path to an LDIF \
-file containing data that should be added to\n    the Directory Server \
-database.  Multiple LDIF files may be provided by\n    using this option \
-multiple times.\n\
--d {numEntries}, --sampleData {numEntries}\n    Specifies that the \
-database should be populated with the specified number\n\    of sample \
-entries.\n\
--p, --ldapPort {port}\n    Specifies the port on which the \
-Directory Server should listen for LDAP\n    communication.\n\
--x, --jmxPort {jmxPort}\n    Specifies the port on which the \
-Directory Server should listen for JMX\n    communication.\n\
--S , --skipPortCheck\n    Skip the check to determine whether the \
-specified LDAP port is usable.\n\
--D, --rootUserDN {rootUserDN}\n    Specifies the DN for the initial \
-Administrative User for the Directory\n    Server.\n\
--w, --rootUserPassword {password}\n    Specifies the password \
-for the initial Administrative User for the\n    Directory Server.\n\
--j , --rootUserPasswordFile {filename}\n    Specifies the path \
-to a file containing the password for the initial\n    Administrative User \
-for the Directory Server.
-setup-launcher-usage-windows=This utility may be used to setup the Directory \
-Server.\n\Usage:  {0} {options}\n        where {options} include:\n\
---cli\n\    Specifies to use the command line setup.  If not specified the \
-graphical\n\    interface will be launched.\n\
--V, --version\n    Display Directory Server version information.\n\
--?, -H, --help\n    Display this usage information.\n\n\
-The following options will only be taken into account if the option --cli \n\
-(command line) is specified\n\
--s, -silentInstall\n    Perform a silent installation.\n\
--b {baseDN}, --baseDN {baseDN}\n\    Specifies the base DN for user \
-information in the Directory Server.\n    Multiple base DNs may be provided by \
-using this option multiple times.\n\
--a, --addBaseEntry\n    Indicates whether to create the base entry in the \
-Directory Server\n    database.\n\
--l, --ldifFile {ldifFile}\n    Specifies the path to an LDIF \
-file containing data that should be added to\n    the Directory Server \
-database.  Multiple LDIF files may be provided by\n    using this option \
-multiple times.\n\
--d, --sampleData {numEntries}\n    Specifies that the \
-database should be populated with the specified number\n\    of sample \
-entries.\n\
--p, --ldapPort {port}\n    Specifies the port on which the \
-Directory Server should listen for LDAP\n    communication.\n\
--x, --jmxPort {jmxPort}\n    Specifies the port on which the \
-Directory Server should listen for JMX\n    communication.\n\
--S, --skipPortCheck\n    Skip the check to determine whether the \
-specified LDAP port is usable.\n\
--D, --rootUserDN {rootUserDN}\n    Specifies the DN for the initial \
-Administrative User for the Directory\n    Server.\n\
--w, --rootUserPassword {password}\n    Specifies the password \
-for the initial Administrative User for the\n    Directory Server.\n\
--j , --rootUserPasswordFile {filename}\n    Specifies the path \
-to a file containing the password for the initial\n    Administrative User \
-for the Directory Server.\n\
--n, --noWindowsService\n    Do not enable OpenDS to run as a Windows \
-Service.
+setup-launcher-usage-description=This utility may be used to setup the Directory \
+Server.
+
 setup-launcher-launching-gui=Launching graphical setup...
 setup-launcher-gui-launched-failed=\n\nThe graphical Setup launch failed.\n\n\
 Launching command line Setup...
@@ -111,16 +44,8 @@
 #
 # Uninstall command line messages
 #
-uninstall-launcher-usage=This utility may be used to uninstall the \
-Directory Server.\n\
-Usage:  {0} {options}\n        where {options} include:\n\
---cli\n\    Specifies to use the command line uninstall.  If not specified\n\    the\
-   graphical interface will be launched.\n\
--?, -H, --help\n    Display this usage information.\n\
--V, --version\n    Display Directory Server version information.\n\n\
-The following options will only be taken into account if the option --cli \n\
-(command line) is specified\n\
--s, --silentUninstall\n    Perform a silent uninstall.
+uninstall-launcher-usage-description=This utility may be used to uninstall the \
+Directory Server.
 uninstall-launcher-launching-gui=Launching graphical uninstall...
 uninstall-launcher-launching-cli=Launching command line uninstall...
 uninstall-launcher-gui-launched-failed=\n\nThe graphical Uninstall launch \
@@ -168,18 +93,11 @@
 #
 upgrade-launcher-description=This utility may be used to upgrade the Directory \
   Server to a newer version.
-upgrade-launcher-usage=This utility may be used to upgrade the Directory Server \
-   to a newer version.  Use of this tool assumes that you have already downloaded an \
-   OpenDS install package (.zip) file.  You can also upgrade your server using \
-   the Java Web Start version of this tool by visiting the OpenDS web site at opends.org.\n\n\
-   Usage:  {0} {options}\n        where {options} include:\n\
-     -V, --version\n    Display Directory Server version information.\n\
-     -f, --file {file}\n    Specifies an existing OpenDS package (.zip) \
-   file to which the\n    current build will be upgraded using the command line \
-   \n    version of this tool\n-i, --interactive\n    Prompt for any required \
-   information rather than fail\
-   \n-s, --silent\n    Perform a silent upgrade\n-?, -H , --help\n    Display \
-   this usage information.\n
+upgrade-launcher-usage-description=This utility may be used to upgrade the \
+Directory Server to a newer version.  Use of this tool assumes that you have \
+already downloaded an OpenDS install package (.zip) file.  You can also \
+upgrade your server using the Java Web Start version of this tool by visiting \
+the OpenDS web site at www.opends.org.
 upgrade-launcher-launching-gui=Launching graphical upgrade...
 upgrade-launcher-launching-cli=Launching command line upgrade...
 upgrade-launcher-gui-launched-failed=\n\nThe graphical upgrade launch \
diff --git a/opendj-sdk/opends/src/quicksetup/org/opends/quicksetup/uninstaller/UninstallLauncher.java b/opendj-sdk/opends/src/quicksetup/org/opends/quicksetup/uninstaller/UninstallLauncher.java
index 85462c1..afe965e 100644
--- a/opendj-sdk/opends/src/quicksetup/org/opends/quicksetup/uninstaller/UninstallLauncher.java
+++ b/opendj-sdk/opends/src/quicksetup/org/opends/quicksetup/uninstaller/UninstallLauncher.java
@@ -27,6 +27,9 @@
 
 package org.opends.quicksetup.uninstaller;
 
+import static org.opends.server.messages.ToolMessages.*;
+import static org.opends.server.tools.ToolConstants.*;
+
 import java.io.File;
 import java.util.logging.Logger;
 
@@ -35,6 +38,9 @@
 import org.opends.quicksetup.Installation;
 import org.opends.quicksetup.QuickSetupLog;
 import org.opends.quicksetup.util.Utils;
+import org.opends.server.util.ServerConstants;
+import org.opends.server.util.args.ArgumentParser;
+import org.opends.server.util.args.BooleanArgument;
 
 /**
  * This class is called by the uninstall command lines to launch the uninstall
@@ -115,26 +121,47 @@
    * {@inheritDoc}
    */
   protected String getFrameTitle() {
-    return getMsg("frame-uninstall-title");
+    return getI18n().getMsg("frame-uninstall-title");
   }
 
   /**
    * {@inheritDoc}
    */
   protected void printUsage() {
-    String arg;
+    ArgumentParser argParser = new ArgumentParser(getClass().getName(),
+        getI18n().getMsg("uninstall-launcher-usage-description"), false);
+    BooleanArgument cli;
+    BooleanArgument silent;
+    BooleanArgument showUsage;
+    String scriptName;
     if (Utils.isWindows()) {
-      arg = Installation.WINDOWS_UNINSTALL_FILE_NAME;
+      scriptName = Installation.WINDOWS_UNINSTALL_FILE_NAME;
     } else {
-      arg = Installation.UNIX_UNINSTALL_FILE_NAME;
+      scriptName = Installation.UNIX_UNINSTALL_FILE_NAME;
     }
-    String msg = getMsg("uninstall-launcher-usage");
-    /*
-     * This is required because the usage message contains '{' characters that
-     * mess up the MessageFormat.format method.
-     */
-    msg = msg.replace("{0}", arg);
-    printUsage(msg);
+    System.setProperty(ServerConstants.PROPERTY_SCRIPT_NAME, scriptName);
+    try
+    {
+      cli = new BooleanArgument("cli", 'i', "cli",
+          MSGID_UNINSTALLDS_DESCRIPTION_CLI);
+      argParser.addArgument(cli);
+      silent = new BooleanArgument("silent", 's', "silent",
+          MSGID_UNINSTALLDS_DESCRIPTION_SILENT);
+      argParser.addArgument(silent);
+      showUsage = new BooleanArgument("showusage", OPTION_SHORT_HELP,
+        OPTION_LONG_HELP,
+        MSGID_DESCRIPTION_USAGE);
+      argParser.addArgument(showUsage);
+      argParser.setUsageArgument(showUsage);
+
+      String msg = argParser.getUsage();
+      printUsage(msg);
+    }
+    catch (Throwable t)
+    {
+      System.out.println("ERROR: "+t);
+      t.printStackTrace();
+    }
   }
 
 }
diff --git a/opendj-sdk/opends/src/quicksetup/org/opends/quicksetup/upgrader/UpgradeLauncher.java b/opendj-sdk/opends/src/quicksetup/org/opends/quicksetup/upgrader/UpgradeLauncher.java
index 0eaad6b..e0ea267 100644
--- a/opendj-sdk/opends/src/quicksetup/org/opends/quicksetup/upgrader/UpgradeLauncher.java
+++ b/opendj-sdk/opends/src/quicksetup/org/opends/quicksetup/upgrader/UpgradeLauncher.java
@@ -27,12 +27,19 @@
 
 package org.opends.quicksetup.upgrader;
 
+import static org.opends.server.messages.ToolMessages.*;
+import static org.opends.server.tools.ToolConstants.*;
+
 import org.opends.quicksetup.Launcher;
 import org.opends.quicksetup.CliApplication;
 import org.opends.quicksetup.Installation;
 import org.opends.quicksetup.QuickSetupLog;
 import org.opends.quicksetup.i18n.ResourceProvider;
 import org.opends.quicksetup.util.Utils;
+import org.opends.server.util.ServerConstants;
+import org.opends.server.util.args.ArgumentParser;
+import org.opends.server.util.args.BooleanArgument;
+import org.opends.server.util.args.FileBasedArgument;
 
 import java.util.logging.Logger;
 import java.io.File;
@@ -55,9 +62,7 @@
   /**
    * The main method which is called by the setup command lines.
    *
-   * @param args the arguments passed by the command lines.  In the case
-   * we want to launch the cli setup they are basically the arguments that we
-   * will pass to the org.opends.server.tools.InstallDS class.
+   * @param args the arguments passed by the command lines.
    */
   public static void main(String[] args) {
     try {
@@ -75,7 +80,7 @@
    * {@inheritDoc}
    */
   protected String getFrameTitle() {
-    return getMsg("frame-upgrade-title");
+    return getI18n().getMsg("frame-upgrade-title");
   }
 
   /**
@@ -90,19 +95,46 @@
    * {@inheritDoc}
    */
   protected void printUsage() {
-    String arg;
+    ArgumentParser argParser = new ArgumentParser(getClass().getName(),
+        getI18n().getMsg("upgrade-launcher-usage-description"), false);
+    BooleanArgument showUsage;
+    FileBasedArgument file;
+    BooleanArgument silent;
+    BooleanArgument interactive;
+    String scriptName;
     if (Utils.isWindows()) {
-      arg = Installation.WINDOWS_UPGRADE_FILE_NAME;
+      scriptName = Installation.WINDOWS_UPGRADE_FILE_NAME;
     } else {
-      arg = Installation.UNIX_UPGRADE_FILE_NAME;
+      scriptName = Installation.UNIX_UPGRADE_FILE_NAME;
     }
-    String msg = getMsg("upgrade-launcher-usage");
-    /*
-     * This is required because the usage message contains '{' characters that
-     * mess up the MessageFormat.format method.
-     */
-    msg = msg.replace("{0}", arg);
-    printUsage(msg);
+    System.setProperty(ServerConstants.PROPERTY_SCRIPT_NAME, scriptName);
+    try
+    {
+      file = new FileBasedArgument("file", 'f',
+          "{file}", false, false,
+          "file",
+          null, null, MSGID_UPGRADE_DESCRIPTION_FILE);
+      argParser.addArgument(file);
+      interactive = new BooleanArgument("interactive", 'i', "interactive",
+          MSGID_UPGRADE_DESCRIPTION_INTERACTIVE);
+      argParser.addArgument(interactive);
+      silent = new BooleanArgument("silent", 's', "silent",
+          MSGID_UPGRADE_DESCRIPTION_SILENT);
+      argParser.addArgument(silent);
+      showUsage = new BooleanArgument("showusage", OPTION_SHORT_HELP,
+        OPTION_LONG_HELP,
+        MSGID_DESCRIPTION_USAGE);
+      argParser.addArgument(showUsage);
+      argParser.setUsageArgument(showUsage);
+
+      String msg = argParser.getUsage();
+      printUsage(msg);
+    }
+    catch (Throwable t)
+    {
+      System.out.println("ERROR: "+t);
+      t.printStackTrace();
+    }
   }
 
   /**
diff --git a/opendj-sdk/opends/src/server/org/opends/server/messages/ToolMessages.java b/opendj-sdk/opends/src/server/org/opends/server/messages/ToolMessages.java
index 9055d7e..b07562b 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/messages/ToolMessages.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/messages/ToolMessages.java
@@ -8937,6 +8937,46 @@
   public static final int MSGID_PWPSTATE_CANNOT_CONNECT =
        CATEGORY_MASK_TOOLS | SEVERITY_MASK_SEVERE_ERROR | 1189;
 
+  /**
+   * The message ID for the message that will be used as the
+   * description of the upgrade file argument. This does not
+   * take any arguments.
+   */
+  public static final int MSGID_UPGRADE_DESCRIPTION_FILE =
+       CATEGORY_MASK_TOOLS | SEVERITY_MASK_INFORMATIONAL | 1190;
+
+
+  /**
+   * The message ID for the message that will be used as the
+   * description of the upgrade interactive mode argument. This does not
+   * take any arguments.
+   */
+  public static final int MSGID_UPGRADE_DESCRIPTION_INTERACTIVE =
+    CATEGORY_MASK_TOOLS | SEVERITY_MASK_INFORMATIONAL | 1191;
+
+  /**
+   * The message ID for the message that will be used as the
+   * description of the upgrade silent mode argument. This does not
+   * take any arguments.
+   */
+  public static final int MSGID_UPGRADE_DESCRIPTION_SILENT =
+    CATEGORY_MASK_TOOLS | SEVERITY_MASK_INFORMATIONAL | 1192;
+
+  /**
+   * The message ID for the message that will be used as the
+   * description of the uninstall cli mode argument. This does not
+   * take any arguments.
+   */
+  public static final int MSGID_UNINSTALLDS_DESCRIPTION_CLI =
+    CATEGORY_MASK_TOOLS | SEVERITY_MASK_INFORMATIONAL | 1193;
+
+  /**
+   * The message ID for the message that will be used as the
+   * description of the uninstall silent mode argument. This does not
+   * take any arguments.
+   */
+  public static final int MSGID_UNINSTALLDS_DESCRIPTION_SILENT =
+    CATEGORY_MASK_TOOLS | SEVERITY_MASK_INFORMATIONAL | 1194;
 
 
   /**
@@ -10267,7 +10307,10 @@
     registerMessage(MSGID_INSTALLDS_DESCRIPTION_PROGNAME,
                     "The setup command used to invoke this program");
     registerMessage(MSGID_INSTALLDS_DESCRIPTION_CLI,
-                    "Launch the installer in command-line mode (no GUI)");
+                    "Specifies to use the command line install.  If not "+
+                    "specified the graphical interface will be launched.  The "+
+                    "rest of the options (excluding help and version) will " +
+                    "only be taken into account if this option is specified");
     registerMessage(MSGID_INSTALLDS_DESCRIPTION_SILENT,
                     "Perform a silent installation");
     registerMessage(MSGID_INSTALLDS_DESCRIPTION_BASEDN,
@@ -10440,6 +10483,13 @@
     registerMessage(MSGID_INSTALLDS_ENABLING_WINDOWS_SERVICE,
                     "Enabling OpenDS as a Windows service...");
 
+    registerMessage(MSGID_UNINSTALLDS_DESCRIPTION_CLI,
+        "Specifies to use the command line install.  If not "+
+        "specified the graphical interface will be launched.  The "+
+        "silent install option will only be taken into account if this "+
+        "option is specified");
+    registerMessage(MSGID_UNINSTALLDS_DESCRIPTION_SILENT,
+        "Perform a silent uninstall");
 
     registerMessage(MSGID_MAKELDIF_TAG_INVALID_ARGUMENT_COUNT,
                     "Invalid number of arguments provided for tag %s on line " +
@@ -11547,6 +11597,16 @@
     registerMessage(MSGID_DSCFG_DESCRIPTION_SHOW_GROUP_USAGE_SUMMARY,
                     "Display summary usage information");
 
+    registerMessage(MSGID_UPGRADE_DESCRIPTION_FILE,
+                    "Specifies an existing OpenDS package (.zip) file to "+
+                    "which the current build will be upgraded using the "+
+                    "command line version of this tool");
+
+    registerMessage(MSGID_UPGRADE_DESCRIPTION_INTERACTIVE,
+                    "Prompt for any required information rather than fail");
+
+    registerMessage(MSGID_UPGRADE_DESCRIPTION_SILENT,
+                    "Perform a silent upgrade");
 
     registerMessage(MSGID_PWPSTATE_TOOL_DESCRIPTION,
                     "This utility may be used to retrieve and manipulate " +

--
Gitblit v1.10.0