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

Violette Roche-Montane
07.15.2014 73302adac1b5e9aa946418ca776df8be9613ced4
Checkpoint commit for OPENDJ-1303
- Extracted CLI arguments identifiers from CliConstants to ArgumentConstants.
- Moved default CLI values like DEFAULT_LDAP_PORT, DEFAULT_ADMIN_PORT to CliConstants.
- Code cleanup.

1 files added
5 files modified
1313 ■■■■ changed files
opendj-cli/src/main/java/com/forgerock/opendj/cli/ArgumentConstants.java 622 ●●●●● patch | view | raw | blame | history
opendj-cli/src/main/java/com/forgerock/opendj/cli/ArgumentParser.java 41 ●●●● patch | view | raw | blame | history
opendj-cli/src/main/java/com/forgerock/opendj/cli/CliConstants.java 617 ●●●●● patch | view | raw | blame | history
opendj-cli/src/main/java/com/forgerock/opendj/cli/CommonArguments.java 2 ●●● patch | view | raw | blame | history
opendj-cli/src/main/java/com/forgerock/opendj/cli/SubCommandArgumentParser.java 2 ●●● patch | view | raw | blame | history
opendj-cli/src/main/java/com/forgerock/opendj/cli/Utils.java 29 ●●●● patch | view | raw | blame | history
opendj-cli/src/main/java/com/forgerock/opendj/cli/ArgumentConstants.java
New file
@@ -0,0 +1,622 @@
/*
 * CDDL HEADER START
 *
 * The contents of this file are subject to the terms of the
 * Common Development and Distribution License, Version 1.0 only
 * (the "License").  You may not use this file except in compliance
 * with the License.
 *
 * You can obtain a copy of the license at legal-notices/CDDLv1_0.txt
 * or http://forgerock.org/license/CDDLv1.0.html.
 * See the License for the specific language governing permissions
 * and limitations under the License.
 *
 * When distributing Covered Code, include this CDDL HEADER in each
 * file and include the License file at legal-notices/CDDLv1_0.txt.
 * If applicable, add the following below this CDDL HEADER, with the
 * fields enclosed by brackets "[]" replaced with your own identifying
 * information:
 *      Portions Copyright [yyyy] [name of copyright owner]
 *
 * CDDL HEADER END
 *
 *
 *      Copyright 2014 ForgeRock AS
 */
package com.forgerock.opendj.cli;
/**
 * This class contains short and long options used by the argument in CLI.
 */
public final class ArgumentConstants {
    /**
     * The name of the SASL property that can be used to provide the
     * authentication ID for the bind.
     */
    public static final String SASL_PROPERTY_AUTHID = "authid";
    /**
     * The name of the SASL property that can be used to provide the
     * authorization ID for the bind.
     */
    public static final String SASL_PROPERTY_AUTHZID = "authzid";
    /**
     * The name of the SASL property that can be used to provide the digest URI
     * for the bind.
     */
    public static final String SASL_PROPERTY_DIGEST_URI = "digest-uri";
    /**
     * The name of the SASL property that can be used to provide the KDC for use
     * in Kerberos authentication.
     */
    public static final String SASL_PROPERTY_KDC = "kdc";
    /**
     * The name of the SASL property that can be used to provide the quality of
     * protection for the bind.
     */
    public static final String SASL_PROPERTY_QOP = "qop";
    /**
     * The name of the SASL property that can be used to provide the realm for
     * the bind.
     */
    public static final String SASL_PROPERTY_REALM = "realm";
    /**
     * The name of the SASL property that can be used to provide the SASL
     * mechanism to use.
     */
    public static final String SASL_PROPERTY_MECH = "mech";
    /**
     * The value for the short option batchFilePath.
     */
    public static final char OPTION_SHORT_BATCH_FILE_PATH = 'F';
    /**
     * The value for the long option batchFilePath .
     */
    public static final String OPTION_LONG_BATCH_FILE_PATH = "batchFilePath";
    /**
     * The value for the short option host name.
     */
    public static final char OPTION_SHORT_HOST = 'h';
    /**
     * The value for the long option host name.
     */
    public static final String OPTION_LONG_HOST = "hostname";
    /**
     * The value for the short option port.
     */
    public static final char OPTION_SHORT_PORT = 'p';
    /**
     * The value for the long option port.
     */
    public static final String OPTION_LONG_PORT = "port";
    /**
     * The value for the short option useSSL.
     */
    public static final char OPTION_SHORT_USE_SSL = 'Z';
    /**
     * The value for the long option useSSL.
     */
    public static final String OPTION_LONG_USE_SSL = "useSSL";
    /**
     * The value for the short option baseDN.
     */
    public static final char OPTION_SHORT_BASEDN = 'b';
    /**
     * The value for the long option baseDN.
     */
    public static final String OPTION_LONG_BASEDN = "baseDN";
    /**
     * The value for the short option bindDN.
     */
    public static final char OPTION_SHORT_BINDDN = 'D';
    /**
     * The value for the long option bindDN.
     */
    public static final String OPTION_LONG_BINDDN = "bindDN";
    /**
     * The value for the short option bindPassword.
     */
    public static final char OPTION_SHORT_BINDPWD = 'w';
    /**
     * The value for the long option bindPassword.
     */
    public static final String OPTION_LONG_BINDPWD = "bindPassword";
    /**
     * The value for the short option bindPasswordFile.
     */
    public static final char OPTION_SHORT_BINDPWD_FILE = 'j';
    /**
     * The value for the long option bindPasswordFile.
     */
    public static final String OPTION_LONG_BINDPWD_FILE = "bindPasswordFile";
    /**
     * The value for the short option compress.
     */
    public static final char OPTION_SHORT_COMPRESS = 'c';
    /**
     * The value for the long option compress.
     */
    public static final String OPTION_LONG_COMPRESS = "compress";
    /**
     * The value for the short option filename.
     */
    public static final char OPTION_SHORT_FILENAME = 'f';
    /**
     * The value for the long option filename.
     */
    public static final String OPTION_LONG_FILENAME = "filename";
    /**
     * The value for the short option ldifFile.
     */
    public static final char OPTION_SHORT_LDIF_FILE = 'l';
    /**
     * The value for the long option ldifFile.
     */
    public static final String OPTION_LONG_LDIF_FILE = "ldifFile";
    /**
     * The value for the short option useStartTLS.
     */
    public static final char OPTION_SHORT_START_TLS = 'q';
    /**
     * The value for the long option useStartTLS.
     */
    public static final String OPTION_LONG_START_TLS = "useStartTLS";
    /**
     * The value for the short option randomSeed.
     */
    public static final char OPTION_SHORT_RANDOM_SEED = 's';
    /**
     * The value for the long option randomSeed.
     */
    public static final String OPTION_LONG_RANDOM_SEED = "randomSeed";
    /**
     * The value for the short option keyStorePath.
     */
    public static final char OPTION_SHORT_KEYSTOREPATH = 'K';
    /**
     * The value for the long option keyStorePath.
     */
    public static final String OPTION_LONG_KEYSTOREPATH = "keyStorePath";
    /**
     * The value for the short option trustStorePath.
     */
    public static final char OPTION_SHORT_TRUSTSTOREPATH = 'P';
    /**
     * The value for the long option trustStorePath.
     */
    public static final String OPTION_LONG_TRUSTSTOREPATH = "trustStorePath";
    /**
     * The value for the short option keyStorePassword.
     */
    public static final char OPTION_SHORT_KEYSTORE_PWD = 'W';
    /**
     * The value for the long option keyStorePassword.
     */
    public static final String OPTION_LONG_KEYSTORE_PWD = "keyStorePassword";
    /**
     * The value for the short option trustStorePassword.
     */
    public static final char OPTION_SHORT_TRUSTSTORE_PWD = 'T';
    /**
     * The value for the long option trustStorePassword.
     */
    public static final String OPTION_LONG_TRUSTSTORE_PWD = "trustStorePassword";
    /**
     * The value for the short option keyStorePasswordFile .
     */
    public static final char OPTION_SHORT_KEYSTORE_PWD_FILE = 'u';
    /**
     * The value for the long option keyStorePasswordFile .
     */
    public static final String OPTION_LONG_KEYSTORE_PWD_FILE = "keyStorePasswordFile";
    /**
     * The value for the short option keyStorePasswordFile .
     */
    public static final char OPTION_SHORT_TRUSTSTORE_PWD_FILE = 'U';
    /**
     * The value for the long option keyStorePasswordFile .
     */
    public static final String OPTION_LONG_TRUSTSTORE_PWD_FILE = "trustStorePasswordFile";
    /**
     * The value for the short option trustAll .
     */
    public static final char OPTION_SHORT_TRUSTALL = 'X';
    /**
     * The value for the long option trustAll .
     */
    public static final String OPTION_LONG_TRUSTALL = "trustAll";
    /**
     * The value for the short option certNickname .
     */
    public static final char OPTION_SHORT_CERT_NICKNAME = 'N';
    /**
     * The value for the long option certNickname .
     */
    public static final String OPTION_LONG_CERT_NICKNAME = "certNickname";
    /**
     * The value for the long option assertionFilter .
     */
    public static final String OPTION_LONG_ASSERTION_FILE = "assertionFilter";
    /**
     * The value for the short option dry-run.
     */
    public static final char OPTION_SHORT_DRYRUN = 'n';
    /**
     * The value for the long option dry-run.
     */
    public static final String OPTION_LONG_DRYRUN = "dry-run";
    /**
     * The value for the short option help.
     */
    public static final char OPTION_SHORT_HELP = 'H';
    /**
     * The value for the long option help.
     */
    public static final String OPTION_LONG_HELP = "help";
    /**
     * The value for the long option cli.
     */
    public static final String OPTION_LONG_CLI = "cli";
    /**
     * The value for the short option cli.
     */
    public static final char OPTION_SHORT_CLI = 'i';
    /**
     * The value for the short option proxyAs.
     */
    public static final char OPTION_SHORT_PROXYAUTHID = 'Y';
    /**
     * The value for the long option proxyAs.
     */
    public static final String OPTION_LONG_PROXYAUTHID = "proxyAs";
    /**
     * The value for the short option saslOption.
     */
    public static final char OPTION_SHORT_SASLOPTION = 'o';
    /**
     * The value for the long option saslOption.
     */
    public static final String OPTION_LONG_SASLOPTION = "saslOption";
    /**
     * The value for the short option geteffectiverights control authzid.
     */
    public static final char OPTION_SHORT_EFFECTIVERIGHTSUSER = 'g';
    /**
     * The value for the long option geteffectiverights control authzid.
     */
    public static final String OPTION_LONG_EFFECTIVERIGHTSUSER = "getEffectiveRightsAuthzid";
    /**
     * The value for the short option geteffectiveights control attributes.
     */
    public static final char OPTION_SHORT_EFFECTIVERIGHTSATTR = 'e';
    /**
     * The value for the long option geteffectiverights control specific
     * attribute list.
     */
    public static final String OPTION_LONG_EFFECTIVERIGHTSATTR = "getEffectiveRightsAttribute";
    /**
     * The value for the short option protocol version attributes.
     */
    public static final char OPTION_SHORT_PROTOCOL_VERSION = 'V';
    /**
     * The value for the long option protocol version attribute.
     */
    public static final String OPTION_LONG_PROTOCOL_VERSION = "ldapVersion";
    /**
     * The value for the long option version.
     */
    public static final char OPTION_SHORT_PRODUCT_VERSION = 'V';
    /**
     * The value for the long option version.
     */
    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.
     */
    public static final char OPTION_SHORT_GROUPNAME = 'g';
    /**
     * The value for the long option groupName attribute.
     */
    public static final String OPTION_LONG_GROUPNAME = "groupName";
    /**
     * The value for the short option newGroupName attribute.
     */
    public static final char OPTION_SHORT_NEWGROUPNAME = 'n';
    /**
     * The value for the long option groupName attribute.
     */
    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 serverID attributes.
     */
    public static final String OPTION_SHORT_SERVERID = null;
    /**
     * The value for the long option serverID attribute.
     */
    public static final String OPTION_LONG_SERVERID = "serverID";
    /**
     * The value for the short option userID attributes.
     */
    public static final String OPTION_SHORT_USERID = null;
    /**
     * The value for the long option userID attribute.
     */
    public static final String OPTION_LONG_USERID = "userID";
    /**
     * The value for the short option set.
     */
    public static final Character OPTION_SHORT_SET = null;
    /**
     * The value for the long option set.
     */
    public static final String OPTION_LONG_SET = "set";
    /**
     * Value for the quiet option short form.
     */
    public static final Character OPTION_SHORT_QUIET = 'Q';
    /**
     * Value for the quiet option long form.
     */
    public static final String OPTION_LONG_QUIET = "quiet";
    /**
     * Value for non-interactive session short form.
     */
    public static final Character OPTION_SHORT_NO_PROMPT = 'n';
    /**
     * Value for non-interactive session long form.
     */
    public static final String OPTION_LONG_NO_PROMPT = "no-prompt";
    /**
     * Long form of script friendly option.
     */
    public static final String OPTION_LONG_SCRIPT_FRIENDLY = "script-friendly";
    /**
     * Short form of script friendly option.
     */
    public static final Character OPTION_SHORT_SCRIPT_FRIENDLY = 's';
    /**
     * Value for verbose option short form.
     */
    public static final Character OPTION_SHORT_VERBOSE = 'v';
    /**
     * Value for verbose option long form.
     */
    public static final String OPTION_LONG_VERBOSE = "verbose";
    /**
     * The value for the long option propertiesFilePAth .
     */
    public static final String OPTION_LONG_PROP_FILE_PATH = "propertiesFilePath";
    /**
     * The value for the long option propertiesFilePAth .
     */
    public static final String OPTION_LONG_NO_PROP_FILE = "noPropertiesFile";
    /**
     * Long form of referenced host name.
     */
    public static final String OPTION_LONG_REFERENCED_HOST_NAME = "referencedHostName";
    /**
     * Long form of admin UID.
     */
    public static final String OPTION_LONG_ADMIN_UID = "adminUID";
    /**
     * Long form of report authorization ID connection option.
     */
    public static final String OPTION_LONG_REPORT_AUTHZ_ID = "reportAuthzID";
    /**
     * Long form of use password policy control connection option.
     */
    public static final String OPTION_LONG_USE_PW_POLICY_CTL = "usePasswordPolicyControl";
    /**
     * Long form of use SASL external connection option.
     */
    public static final String OPTION_LONG_USE_SASL_EXTERNAL = "useSASLExternal";
    /**
     * Long form of option for the command-line encoding option.
     */
    public static final String OPTION_LONG_ENCODING = "encoding";
    /**
     * Long form of option specifying no wrapping of the command-line.
     */
    public static final String OPTION_LONG_DONT_WRAP = "dontWrap";
    /**
     * The value for the long option targetDN.
     */
    public static final String OPTION_LONG_TARGETDN = "targetDN";
    /**
     * Long form of email notification upon completion option.
     */
    public static final String OPTION_LONG_COMPLETION_NOTIFICATION_EMAIL = "completionNotify";
    /**
     * Short form of email notification upon completion option.
     */
    public static final Character OPTION_SHORT_COMPLETION_NOTIFICATION_EMAIL = null;
    /**
     * Long form of email notification upon error option.
     */
    public static final String OPTION_LONG_ERROR_NOTIFICATION_EMAIL = "errorNotify";
    /**
     * Short form of email notification upon error option.
     */
    public static final Character OPTION_SHORT_ERROR_NOTIFICATION_EMAIL = null;
    /**
     * Long form of dependency option.
     */
    public static final String OPTION_LONG_DEPENDENCY = "dependency";
    /**
     * Short form of dependency option.
     */
    public static final Character OPTION_SHORT_DEPENDENCY = null;
    /**
     * Long form of failed dependency action option.
     */
    public static final String OPTION_LONG_FAILED_DEPENDENCY_ACTION = "failedDependencyAction";
    /**
     * Short form of failed dependency action option.
     */
    public static final Character OPTION_SHORT_FAILED_DEPENDENCY_ACTION = null;
    /**
     * The default separator to be used in tables.
     */
    public static final String LIST_TABLE_SEPARATOR = ":";
    /**
     *
     * The value for the short option output LDIF filename.
     */
    public static final char OPTION_SHORT_OUTPUT_LDIF_FILENAME = 'o';
    /**
     * The value for the long option output LDIF filename.
     */
    public static final String OPTION_LONG_OUTPUT_LDIF_FILENAME = "outputLDIF";
    /**
     * The value for the long option to automatically accept the license
     * if present.
     */
    public static final String OPTION_LONG_ACCEPT_LICENSE = "acceptLicense";
    /**
     * The value for the short option rootUserDN.
     */
    public static final char OPTION_SHORT_ROOT_USER_DN = 'D';
    /**
     * The value for the long option rootUserDN.
     */
    public static final String OPTION_LONG_ROOT_USER_DN = "rootUserDN";
    /**
     * The value for the long option connect timeout attribute.
     */
    public static final String OPTION_LONG_CONNECT_TIMEOUT = "connectTimeout";
    // Prevent instantiation.
    private ArgumentConstants() {
    }
}
opendj-cli/src/main/java/com/forgerock/opendj/cli/ArgumentParser.java
@@ -27,8 +27,7 @@
package com.forgerock.opendj.cli;
import static com.forgerock.opendj.cli.CliMessages.*;
import static com.forgerock.opendj.cli.CliConstants.*;
import static com.forgerock.opendj.cli.Utils.PROPERTY_SCRIPT_NAME;
import static com.forgerock.opendj.cli.ArgumentConstants.*;
import static com.forgerock.opendj.cli.Utils.wrapText;
import static com.forgerock.opendj.util.StaticUtils.EOL;
import static com.forgerock.opendj.util.StaticUtils.getBytes;
@@ -65,6 +64,27 @@
 */
public class ArgumentParser {
    /**
     * The name of the OpenDJ configuration direction in the user home
     * directory.
     */
    public static final String DEFAULT_OPENDJ_CONFIG_DIR = ".opendj";
    /**
     * The default properties file name.
     */
    public static final String DEFAULT_OPENDJ_PROPERTIES_FILE_NAME = "tools";
    /**
     * The default properties file extension.
     */
    public static final String DEFAULT_OPENDJ_PROPERTIES_FILE_EXTENSION = ".properties";
    /**
     * The name of a command-line script used to launch a tool.
     */
    public static final String PROPERTY_SCRIPT_NAME = "com.forgerock.opendj.ldap.tools.scriptName";
    /**
     * The argument that will be used to indicate the file properties.
     */
    private StringArgument filePropertiesPathArgument;
@@ -313,13 +333,9 @@
        if (versionArgument != null) {
            if (shortID != null && shortID.equals(versionArgument.getShortIdentifier())) {
                // Update the version argument to not display its short
                // identifier.
                // Update the version argument to not display its short identifier.
                try {
                    versionArgument =
                            new BooleanArgument(OPTION_LONG_PRODUCT_VERSION, null,
                                    OPTION_LONG_PRODUCT_VERSION, INFO_DESCRIPTION_PRODUCT_VERSION
                                            .get());
                    versionArgument = getVersionArgument(false);
                    this.generalArgGroup.addArgument(versionArgument);
                } catch (final ArgumentException e) {
                    // ignore
@@ -359,6 +375,11 @@
        argumentGroups.add(group);
    }
    private BooleanArgument getVersionArgument(final boolean displayShortIdentifier) throws ArgumentException {
        return new BooleanArgument(OPTION_LONG_PRODUCT_VERSION, displayShortIdentifier ? OPTION_SHORT_PRODUCT_VERSION
                : null, OPTION_LONG_PRODUCT_VERSION, INFO_DESCRIPTION_PRODUCT_VERSION.get());
    }
    /**
     * Adds the provided argument to the set of arguments handled by this parser
     * and puts the arguement in the default group.
@@ -1451,9 +1472,7 @@
        this.argumentGroups.add(ioArgGroup);
        try {
            versionArgument =
                    new BooleanArgument(OPTION_LONG_PRODUCT_VERSION, OPTION_SHORT_PRODUCT_VERSION,
                            OPTION_LONG_PRODUCT_VERSION, INFO_DESCRIPTION_PRODUCT_VERSION.get());
            versionArgument = getVersionArgument(true);
            this.generalArgGroup.addArgument(versionArgument);
        } catch (final ArgumentException e) {
            // ignore
opendj-cli/src/main/java/com/forgerock/opendj/cli/CliConstants.java
@@ -27,616 +27,37 @@
package com.forgerock.opendj.cli;
/**
 * This class defines a number of constants used in one or more Directory Server
 * tools.
 * This class defines a number of constants used by tools.
 */
public final class CliConstants {
    /**
     * The name of the SASL property that can be used to provide the
     * authentication ID for the bind.
     */
    public static final String SASL_PROPERTY_AUTHID = "authid";
    /**
     * The name of the SASL property that can be used to provide the
     * authorization ID for the bind.
     */
    public static final String SASL_PROPERTY_AUTHZID = "authzid";
    /** Default value for incrementing port number. */
    public static final int PORT_INCREMENT = 1000;
    /**
     * The name of the SASL property that can be used to provide the digest URI
     * for the bind.
     */
    public static final String SASL_PROPERTY_DIGEST_URI = "digest-uri";
    /** Default port number for the LDAP port. */
    public static final int DEFAULT_LDAP_PORT = 389;
    /**
     * The name of the SASL property that can be used to provide the KDC for use
     * in Kerberos authentication.
     */
    public static final String SASL_PROPERTY_KDC = "kdc";
    /** Default port number for the LDAPS port. */
    public static final int DEFAULT_LDAPS_PORT = 1636;
    /**
     * The name of the SASL property that can be used to provide the quality of
     * protection for the bind.
     */
    public static final String SASL_PROPERTY_QOP = "qop";
    /** Default port number for the administrator port. */
    public static final int DEFAULT_ADMIN_PORT = 1444;
    /**
     * The name of the SASL property that can be used to provide the realm for
     * the bind.
     */
    public static final String SASL_PROPERTY_REALM = "realm";
    /** Default port number for the SSL Connection. */
    public static final int DEFAULT_SSL_PORT = 636;
    /**
     * The name of the SASL property that can be used to provide trace
     * information for a SASL ANONYMOUS request.
     */
    public static final String SASL_PROPERTY_TRACE = "trace";
    /** Default port number for the JMX Connection handler. */
    public static final int DEFAULT_JMX_PORT = 1689;
    /**
     * The name of the SASL property that can be used to provide the SASL
     * mechanism to use.
     */
    public static final String SASL_PROPERTY_MECH = "mech";
    /** Default port number for the HTTP Connection handler. */
    public static final int DEFAULT_HTTP_PORT = 8080;
    /**
     * The name of the opendj configuration direction in the user home
     * directory.
     */
    public static final String DEFAULT_OPENDJ_CONFIG_DIR = ".opendj";
    /** Default port number for the SNMP Connection handler. */
    public static final int DEFAULT_SNMP_PORT = 161;
    /**
     * The default properties file name.
     */
    public static final String DEFAULT_OPENDJ_PROPERTIES_FILE_NAME = "tools";
    /**
     * The default properties file extension.
     */
    public static final String DEFAULT_OPENDJ_PROPERTIES_FILE_EXTENSION = ".properties";
    /**
     * The value for the short option batchFilePath.
     */
    public static final char OPTION_SHORT_BATCH_FILE_PATH = 'F';
    /**
     * The value for the long option batchFilePath .
     */
    public static final String OPTION_LONG_BATCH_FILE_PATH = "batchFilePath";
    /**
     * The value for the short option host name.
     */
    public static final char OPTION_SHORT_HOST = 'h';
    /**
     * The value for the long option host name.
     */
    public static final String OPTION_LONG_HOST = "hostname";
    /**
     * The value for the short option port.
     */
    public static final char OPTION_SHORT_PORT = 'p';
    /**
     * The value for the long option port.
     */
    public static final String OPTION_LONG_PORT = "port";
    /**
     * The value for the short option useSSL.
     */
    public static final char OPTION_SHORT_USE_SSL = 'Z';
    /**
     * The value for the long option useSSL.
     */
    public static final String OPTION_LONG_USE_SSL = "useSSL";
    /**
     * The value for the short option baseDN.
     */
    public static final char OPTION_SHORT_BASEDN = 'b';
    /**
     * The value for the long option baseDN.
     */
    public static final String OPTION_LONG_BASEDN = "baseDN";
    /**
     * The value for the short option bindDN.
     */
    public static final char OPTION_SHORT_BINDDN = 'D';
    /**
     * The value for the long option bindDN.
     */
    public static final String OPTION_LONG_BINDDN = "bindDN";
    /**
     * The value for the short option bindPassword.
     */
    public static final char OPTION_SHORT_BINDPWD = 'w';
    /**
     * The value for the long option bindPassword.
     */
    public static final String OPTION_LONG_BINDPWD = "bindPassword";
    /**
     * The value for the short option bindPasswordFile.
     */
    public static final char OPTION_SHORT_BINDPWD_FILE = 'j';
    /**
     * The value for the long option bindPasswordFile.
     */
    public static final String OPTION_LONG_BINDPWD_FILE = "bindPasswordFile";
    /**
     * The value for the short option compress.
     */
    public static final char OPTION_SHORT_COMPRESS = 'c';
    /**
     * The value for the long option compress.
     */
    public static final String OPTION_LONG_COMPRESS = "compress";
    /**
     * The value for the short option filename.
     */
    public static final char OPTION_SHORT_FILENAME = 'f';
    /**
     * The value for the long option filename.
     */
    public static final String OPTION_LONG_FILENAME = "filename";
    /**
     * The value for the short option ldifFile.
     */
    public static final char OPTION_SHORT_LDIF_FILE = 'l';
    /**
     * The value for the long option ldifFile.
     */
    public static final String OPTION_LONG_LDIF_FILE = "ldifFile";
    /**
     * The value for the short option useStartTLS.
     */
    public static final char OPTION_SHORT_START_TLS = 'q';
    /**
     * The value for the long option useStartTLS.
     */
    public static final String OPTION_LONG_START_TLS = "useStartTLS";
    /**
     * The value for the short option randomSeed.
     */
    public static final char OPTION_SHORT_RANDOM_SEED = 's';
    /**
     * The value for the long option randomSeed.
     */
    public static final String OPTION_LONG_RANDOM_SEED = "randomSeed";
    /**
     * The value for the short option keyStorePath.
     */
    public static final char OPTION_SHORT_KEYSTOREPATH = 'K';
    /**
     * The value for the long option keyStorePath.
     */
    public static final String OPTION_LONG_KEYSTOREPATH = "keyStorePath";
    /**
     * The value for the short option trustStorePath.
     */
    public static final char OPTION_SHORT_TRUSTSTOREPATH = 'P';
    /**
     * The value for the long option trustStorePath.
     */
    public static final String OPTION_LONG_TRUSTSTOREPATH = "trustStorePath";
    /**
     * The value for the short option keyStorePassword.
     */
    public static final char OPTION_SHORT_KEYSTORE_PWD = 'W';
    /**
     * The value for the long option keyStorePassword.
     */
    public static final String OPTION_LONG_KEYSTORE_PWD = "keyStorePassword";
    /**
     * The value for the short option trustStorePassword.
     */
    public static final char OPTION_SHORT_TRUSTSTORE_PWD = 'T';
    /**
     * The value for the long option trustStorePassword.
     */
    public static final String OPTION_LONG_TRUSTSTORE_PWD = "trustStorePassword";
    /**
     * The value for the short option keyStorePasswordFile .
     */
    public static final char OPTION_SHORT_KEYSTORE_PWD_FILE = 'u';
    /**
     * The value for the long option keyStorePasswordFile .
     */
    public static final String OPTION_LONG_KEYSTORE_PWD_FILE = "keyStorePasswordFile";
    /**
     * The value for the short option keyStorePasswordFile .
     */
    public static final char OPTION_SHORT_TRUSTSTORE_PWD_FILE = 'U';
    /**
     * The value for the long option keyStorePasswordFile .
     */
    public static final String OPTION_LONG_TRUSTSTORE_PWD_FILE = "trustStorePasswordFile";
    /**
     * The value for the short option trustAll .
     */
    public static final char OPTION_SHORT_TRUSTALL = 'X';
    /**
     * The value for the long option trustAll .
     */
    public static final String OPTION_LONG_TRUSTALL = "trustAll";
    /**
     * The value for the short option certNickname .
     */
    public static final char OPTION_SHORT_CERT_NICKNAME = 'N';
    /**
     * The value for the long option certNickname .
     */
    public static final String OPTION_LONG_CERT_NICKNAME = "certNickname";
    /**
     * The value for the long option assertionFilter .
     */
    public static final String OPTION_LONG_ASSERTION_FILE = "assertionFilter";
    /**
     * The value for the short option dry-run.
     */
    public static final char OPTION_SHORT_DRYRUN = 'n';
    /**
     * The value for the long option dry-run.
     */
    public static final String OPTION_LONG_DRYRUN = "dry-run";
    /**
     * The value for the short option help.
     */
    public static final char OPTION_SHORT_HELP = 'H';
    /**
     * The value for the long option help.
     */
    public static final String OPTION_LONG_HELP = "help";
    /**
     * The value for the long option cli.
     */
    public static final String OPTION_LONG_CLI = "cli";
    /**
     * The value for the short option cli.
     */
    public static final char OPTION_SHORT_CLI = 'i';
    /**
     * The value for the short option proxyAs.
     */
    public static final char OPTION_SHORT_PROXYAUTHID = 'Y';
    /**
     * The value for the long option proxyAs.
     */
    public static final String OPTION_LONG_PROXYAUTHID = "proxyAs";
    /**
     * The value for the short option saslOption.
     */
    public static final char OPTION_SHORT_SASLOPTION = 'o';
    /**
     * The value for the long option saslOption.
     */
    public static final String OPTION_LONG_SASLOPTION = "saslOption";
    /**
     * The value for the short option geteffectiverights control authzid.
     */
    public static final char OPTION_SHORT_EFFECTIVERIGHTSUSER = 'g';
    /**
     * The value for the long option geteffectiverights control authzid.
     */
    public static final String OPTION_LONG_EFFECTIVERIGHTSUSER = "getEffectiveRightsAuthzid";
    /**
     * The value for the short option geteffectiveights control attributes.
     */
    public static final char OPTION_SHORT_EFFECTIVERIGHTSATTR = 'e';
    /**
     * The value for the long option geteffectiverights control specific
     * attribute list.
     */
    public static final String OPTION_LONG_EFFECTIVERIGHTSATTR = "getEffectiveRightsAttribute";
    /**
     * The value for the short option protocol version attributes.
     */
    public static final char OPTION_SHORT_PROTOCOL_VERSION = 'V';
    /**
     * The value for the long option protocol version attribute.
     */
    public static final String OPTION_LONG_PROTOCOL_VERSION = "ldapVersion";
    /**
     * The value for the long option version.
     */
    public static final char OPTION_SHORT_PRODUCT_VERSION = 'V';
    /**
     * The value for the long option version.
     */
    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.
     */
    public static final char OPTION_SHORT_GROUPNAME = 'g';
    /**
     * The value for the long option groupName attribute.
     */
    public static final String OPTION_LONG_GROUPNAME = "groupName";
    /**
     * The value for the short option newGroupName attribute.
     */
    public static final char OPTION_SHORT_NEWGROUPNAME = 'n';
    /**
     * The value for the long option groupName attribute.
     */
    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 serverID attributes.
     */
    public static final String OPTION_SHORT_SERVERID = null;
    /**
     * The value for the long option serverID attribute.
     */
    public static final String OPTION_LONG_SERVERID = "serverID";
    /**
     * The value for the short option userID attributes.
     */
    public static final String OPTION_SHORT_USERID = null;
    /**
     * The value for the long option userID attribute.
     */
    public static final String OPTION_LONG_USERID = "userID";
    /**
     * The value for the short option set.
     */
    public static final Character OPTION_SHORT_SET = null;
    /**
     * The value for the long option set.
     */
    public static final String OPTION_LONG_SET = "set";
    /**
     * Value for the quiet option short form.
     */
    public static final Character OPTION_SHORT_QUIET = 'Q';
    /**
     * Value for the quiet option long form.
     */
    public static final String OPTION_LONG_QUIET = "quiet";
    /**
     * Value for non-interactive session short form.
     */
    public static final Character OPTION_SHORT_NO_PROMPT = 'n';
    /**
     * Value for non-interactive session long form.
     */
    public static final String OPTION_LONG_NO_PROMPT = "no-prompt";
    /**
     * Long form of script friendly option.
     */
    public static final String OPTION_LONG_SCRIPT_FRIENDLY = "script-friendly";
    /**
     * Short form of script friendly option.
     */
    public static final Character OPTION_SHORT_SCRIPT_FRIENDLY = 's';
    /**
     * Value for verbose option short form.
     */
    public static final Character OPTION_SHORT_VERBOSE = 'v';
    /**
     * Value for verbose option long form.
     */
    public static final String OPTION_LONG_VERBOSE = "verbose";
    /**
     * The value for the long option propertiesFilePAth .
     */
    public static final String OPTION_LONG_PROP_FILE_PATH = "propertiesFilePath";
    /**
     * The value for the long option propertiesFilePAth .
     */
    public static final String OPTION_LONG_NO_PROP_FILE = "noPropertiesFile";
    /**
     * Long form of referenced host name.
     */
    public static final String OPTION_LONG_REFERENCED_HOST_NAME = "referencedHostName";
    /**
     * Long form of admin UID.
     */
    public static final String OPTION_LONG_ADMIN_UID = "adminUID";
    /**
     * Long form of report authorization ID connection option.
     */
    public static final String OPTION_LONG_REPORT_AUTHZ_ID = "reportAuthzID";
    /**
     * Long form of use password policy control connection option.
     */
    public static final String OPTION_LONG_USE_PW_POLICY_CTL = "usePasswordPolicyControl";
    /**
     * Long form of use SASL external connection option.
     */
    public static final String OPTION_LONG_USE_SASL_EXTERNAL = "useSASLExternal";
    /**
     * Long form of option for the command-line encoding option.
     */
    public static final String OPTION_LONG_ENCODING = "encoding";
    /**
     * Long form of option specifying no wrapping of the command-line.
     */
    public static final String OPTION_LONG_DONT_WRAP = "dontWrap";
    /**
     * The value for the long option targetDN.
     */
    public static final String OPTION_LONG_TARGETDN = "targetDN";
    /**
     * Long form of email notification upon completion option.
     */
    public static final String OPTION_LONG_COMPLETION_NOTIFICATION_EMAIL = "completionNotify";
    /**
     * Short form of email notification upon completion option.
     */
    public static final Character OPTION_SHORT_COMPLETION_NOTIFICATION_EMAIL = null;
    /**
     * Long form of email notification upon error option.
     */
    public static final String OPTION_LONG_ERROR_NOTIFICATION_EMAIL = "errorNotify";
    /**
     * Short form of email notification upon error option.
     */
    public static final Character OPTION_SHORT_ERROR_NOTIFICATION_EMAIL = null;
    /**
     * Long form of dependency option.
     */
    public static final String OPTION_LONG_DEPENDENCY = "dependency";
    /**
     * Short form of dependency option.
     */
    public static final Character OPTION_SHORT_DEPENDENCY = null;
    /**
     * Long form of failed dependency action option.
     */
    public static final String OPTION_LONG_FAILED_DEPENDENCY_ACTION = "failedDependencyAction";
    /**
     * Short form of failed dependency action option.
     */
    public static final Character OPTION_SHORT_FAILED_DEPENDENCY_ACTION = null;
    /**
     * The default separator to be used in tables.
     */
    public static final String LIST_TABLE_SEPARATOR = ":";
    /**
     *
     * The value for the short option output LDIF filename.
     */
    public static final char OPTION_SHORT_OUTPUT_LDIF_FILENAME = 'o';
    /**
     * The value for the long option output LDIF filename.
     */
    public static final String OPTION_LONG_OUTPUT_LDIF_FILENAME = "outputLDIF";
    /**
     * The value for the long option to automatically accept the license
     * if present.
     */
    public static final String OPTION_LONG_ACCEPT_LICENSE = "acceptLicense";
    /**
     * The value for the short option rootUserDN.
     */
    public static final char OPTION_SHORT_ROOT_USER_DN = 'D';
    /**
     * The value for the long option rootUserDN.
     */
    public static final String OPTION_LONG_ROOT_USER_DN = "rootUserDN";
    /** Default name of root user DN. */
    public static final String DEFAULT_ROOT_USER_DN = "cn=Directory Manager";
    /**
     * The value for the long option connect timeout attribute.
     */
    public static final String OPTION_LONG_CONNECT_TIMEOUT = "connectTimeout";
    // Prevent instantiation.
    private CliConstants() {
opendj-cli/src/main/java/com/forgerock/opendj/cli/CommonArguments.java
@@ -25,8 +25,8 @@
 */
package com.forgerock.opendj.cli;
import static com.forgerock.opendj.cli.CliConstants.*;
import static com.forgerock.opendj.cli.CliMessages.*;
import static com.forgerock.opendj.cli.ArgumentConstants.*;
/**
 * This class regroup commons arguments used by the different CLI.
opendj-cli/src/main/java/com/forgerock/opendj/cli/SubCommandArgumentParser.java
@@ -28,6 +28,7 @@
import static com.forgerock.opendj.util.StaticUtils.toLowerCase;
import static com.forgerock.opendj.util.StaticUtils.EOL;
import static com.forgerock.opendj.cli.ArgumentConstants.*;
import java.io.IOException;
import java.io.OutputStream;
@@ -46,7 +47,6 @@
import org.forgerock.i18n.LocalizableMessageBuilder;
import static com.forgerock.opendj.cli.CliMessages.*;
import static com.forgerock.opendj.cli.CliConstants.*;
import static com.forgerock.opendj.cli.Utils.*;
/**
opendj-cli/src/main/java/com/forgerock/opendj/cli/Utils.java
@@ -32,6 +32,8 @@
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.net.InetAddress;
import java.net.UnknownHostException;
import java.util.StringTokenizer;
import org.forgerock.i18n.LocalizableMessage;
@@ -44,11 +46,6 @@
    static public final String LINE_SEPARATOR = System.getProperty("line.separator");
    /**
     * The name of a command-line script used to launch a tool.
     */
    public static final String PROPERTY_SCRIPT_NAME = "com.forgerock.opendj.ldap.tools.scriptName";
    /**
     * The column at which to wrap long lines of output in the command-line
     * tools.
     */
@@ -346,6 +343,28 @@
        }
    }
    /**
     * Returns the default host name.
     *
     * @return The default host name or empty string if the host name cannot be resolved.
     */
    public static String getDefaultHostName() {
        try {
            return InetAddress.getLocalHost().getHostName();
        } catch (UnknownHostException e) {
            // Fails.
        }
        String host = System.getenv("COMPUTERNAME"); // Windows.
        if (host != null) {
            return host;
        }
        host = System.getenv("HOSTNAME"); // Unix.
        if (host != null) {
            return host;
        }
        return "";
    }
    // Prevent instantiation.
    private Utils() {
        // Do nothing.