mirror of https://github.com/OpenIdentityPlatform/OpenDJ.git

jvergara
28.40.2007 26d643b864cafa79a8121431ddb65ad79d01119f
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();
    }
  }
  /**