From cebfcded1cf186360aa8a3c2a581fa56af7881e4 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.
---
opends/src/quicksetup/org/opends/quicksetup/installer/InstallLauncher.java | 141 ++++++++++++++++++++++++++++++++++++++++++-----
1 files changed, 126 insertions(+), 15 deletions(-)
diff --git a/opends/src/quicksetup/org/opends/quicksetup/installer/InstallLauncher.java b/opends/src/quicksetup/org/opends/quicksetup/installer/InstallLauncher.java
index 2202c6d..c4eb6af 100644
--- a/opends/src/quicksetup/org/opends/quicksetup/installer/InstallLauncher.java
+++ b/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();
+ }
}
/**
--
Gitblit v1.10.0