From e1e9596f6ae81d9aeb74177cf2792533966f45eb Mon Sep 17 00:00:00 2001
From: kenneth_suter <kenneth_suter@localhost>
Date: Mon, 23 Jul 2007 18:25:05 +0000
Subject: [PATCH] This commit does some initial work in anticipation of the reverter tool:

---
 opends/src/quicksetup/org/opends/quicksetup/upgrader/UpgradeLauncher.java |  101 ++++++++++++++++++++++++++++++++------------------
 1 files changed, 65 insertions(+), 36 deletions(-)

diff --git a/opends/src/quicksetup/org/opends/quicksetup/upgrader/UpgradeLauncher.java b/opends/src/quicksetup/org/opends/quicksetup/upgrader/UpgradeLauncher.java
index 0999a2f..11084c6 100644
--- a/opends/src/quicksetup/org/opends/quicksetup/upgrader/UpgradeLauncher.java
+++ b/opends/src/quicksetup/org/opends/quicksetup/upgrader/UpgradeLauncher.java
@@ -53,12 +53,15 @@
   /** Prefix for log files. */
   static public final String LOG_FILE_PREFIX = "opends-upgrade-";
 
-  /** Suffix for log files. */
-  static public final String LOG_FILE_SUFFIX = ".log";
-
   static private final Logger LOG =
           Logger.getLogger(UpgradeLauncher.class.getName());
 
+  /** Short form of the option for specifying the installation package file. */
+  static public final Character FILE_OPTION_SHORT = 'f';
+
+  /** Long form of the option for specifying the installation package file. */
+  static public final String FILE_OPTION_LONG = "file";
+
   /**
    * The main method which is called by the setup command lines.
    *
@@ -67,7 +70,8 @@
   public static void main(String[] args) {
     try {
       QuickSetupLog.initLogFileHandler(
-              File.createTempFile(LOG_FILE_PREFIX, LOG_FILE_SUFFIX));
+              File.createTempFile(LOG_FILE_PREFIX,
+                      QuickSetupLog.LOG_FILE_SUFFIX));
     } catch (Throwable t) {
       System.err.println(
               ResourceProvider.getInstance().getMsg("error-initializing-log"));
@@ -76,6 +80,8 @@
     new UpgradeLauncher(args).launch();
   }
 
+  private ArgumentParser argParser;
+
   /**
    * {@inheritDoc}
    */
@@ -95,40 +101,13 @@
    * {@inheritDoc}
    */
   protected void printUsage(boolean toStdErr) {
-    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()) {
-      scriptName = Installation.WINDOWS_UPGRADE_FILE_NAME;
-    } else {
-      scriptName = Installation.UNIX_UPGRADE_FILE_NAME;
-    }
-    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, toStdErr);
+      ArgumentParser argParser = getArgumentParser();
+      if (argParser != null) {
+        String msg = argParser.getUsage();
+        printUsage(msg, toStdErr);
+      }
     }
     catch (Throwable t)
     {
@@ -169,12 +148,62 @@
   }
 
   /**
+   * {@inheritDoc}
+   */
+  public ArgumentParser getArgumentParser() {
+    return argParser;
+  }
+
+  /**
    * Creates an instance.
    *
    * @param args specified on command line
    */
   protected UpgradeLauncher(String[] args) {
     super(args);
+
+    String scriptName;
+    if (Utils.isWindows()) {
+      scriptName = Installation.WINDOWS_UPGRADE_FILE_NAME;
+    } else {
+      scriptName = Installation.UNIX_UPGRADE_FILE_NAME;
+    }
+    System.setProperty(ServerConstants.PROPERTY_SCRIPT_NAME, scriptName);
+
+    argParser = new ArgumentParser(getClass().getName(),
+        getI18n().getMsg("upgrade-launcher-usage-description"), false);
+    BooleanArgument showUsage;
+    FileBasedArgument file;
+    BooleanArgument silent;
+    BooleanArgument interactive;
+    try
+    {
+      file = new FileBasedArgument(
+              "file",
+              FILE_OPTION_SHORT,
+              FILE_OPTION_LONG,
+              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);
+    }
+    catch (Throwable t)
+    {
+      System.out.println("ERROR: "+t);
+      t.printStackTrace();
+    }
+
   }
 
 }

--
Gitblit v1.10.0