OPENDJSDK-42 cli arguments fluent builder
PR-278 sdk PR-45
Consequences of changes done in sdk PR-45
All Arguments objects are now built with fluent builder.
* An argument has a mandatory long identifier
* The name attribute has been merged with long identifier and removed
* Remove useless null checks on argument long identifiers
* Now all argument can be set in a property file.
The argument property name is always the same as the argument long identifier (i.e can not be set any more)
* Remove the possiblity to set if an argument needs a value.
* For IntegerArgument default lower bound is Integer.MIN_VALUE
and the default upper bound is Integer.MAX_VALUE
* Once every needed attributes are contributed, the argument can be
created by the builder or added to an argument parser or a subcommand.
This commit also includes additional related cleanup.
| | |
| | | * |
| | | * |
| | | * Copyright 2007-2010 Sun Microsystems, Inc. |
| | | * Portions Copyright 2013-2015 ForgeRock AS |
| | | * Portions Copyright 2013-2016 ForgeRock AS |
| | | */ |
| | | package org.forgerock.opendj.config.dsconfig; |
| | | |
| | |
| | | // Build the -t option usage. |
| | | this.typeUsage = getSubTypesUsage(r.getChildDefinition()); |
| | | |
| | | // Create the --property argument which is used to specify |
| | | // property values. |
| | | this.propertySetArgument = new StringArgument(OPTION_DSCFG_LONG_SET, OPTION_DSCFG_SHORT_SET, |
| | | OPTION_DSCFG_LONG_SET, false, true, true, INFO_VALUE_SET_PLACEHOLDER.get(), null, null, |
| | | INFO_DSCFG_DESCRIPTION_PROP_VAL.get()); |
| | | this.subCommand.addArgument(this.propertySetArgument); |
| | | // Create the --property argument which is used to specify property values. |
| | | this.propertySetArgument = |
| | | StringArgument.builder(OPTION_DSCFG_LONG_SET) |
| | | .shortIdentifier(OPTION_DSCFG_SHORT_SET) |
| | | .description(INFO_DSCFG_DESCRIPTION_PROP_VAL.get()) |
| | | .multiValued() |
| | | .valuePlaceholder(INFO_VALUE_SET_PLACEHOLDER.get()) |
| | | .buildAndAddToSubCommand(subCommand); |
| | | |
| | | final StringArgument.Builder typeArgumentBuilder = StringArgument.builder(OPTION_DSCFG_LONG_TYPE) |
| | | .shortIdentifier(OPTION_DSCFG_SHORT_TYPE) |
| | | .valuePlaceholder(INFO_TYPE_PLACEHOLDER.get()); |
| | | |
| | | if (!types.containsKey(DSConfig.GENERIC_TYPE)) { |
| | | // The option is mandatory when non-interactive. |
| | | this.typeArgument = new StringArgument("type", OPTION_DSCFG_SHORT_TYPE, OPTION_DSCFG_LONG_TYPE, false, |
| | | false, true, INFO_TYPE_PLACEHOLDER.get(), null, null, INFO_DSCFG_DESCRIPTION_TYPE.get(r |
| | | .getChildDefinition().getUserFriendlyName(), typeUsage)); |
| | | typeArgumentBuilder.description(INFO_DSCFG_DESCRIPTION_TYPE.get( |
| | | r.getChildDefinition().getUserFriendlyName(), typeUsage)); |
| | | } else { |
| | | // The option has a sensible default "generic". |
| | | this.typeArgument = new StringArgument("type", OPTION_DSCFG_SHORT_TYPE, OPTION_DSCFG_LONG_TYPE, false, |
| | | false, true, INFO_TYPE_PLACEHOLDER.get(), DSConfig.GENERIC_TYPE, null, |
| | | INFO_DSCFG_DESCRIPTION_TYPE_DEFAULT.get(r.getChildDefinition().getUserFriendlyName(), |
| | | DSConfig.GENERIC_TYPE, typeUsage)); |
| | | |
| | | // Hide the option if it defaults to generic and generic is the |
| | | // only possible value. |
| | | typeArgumentBuilder.description(INFO_DSCFG_DESCRIPTION_TYPE_DEFAULT.get( |
| | | r.getChildDefinition().getUserFriendlyName(), DSConfig.GENERIC_TYPE, typeUsage)) |
| | | .defaultValue(DSConfig.GENERIC_TYPE); |
| | | // Hide the option if it defaults to generic and generic is the only possible value. |
| | | if (types.size() == 1) { |
| | | this.typeArgument.setHidden(true); |
| | | typeArgumentBuilder.hidden(); |
| | | } |
| | | } |
| | | this.subCommand.addArgument(this.typeArgument); |
| | | typeArgument = typeArgumentBuilder.buildAndAddToSubCommand(subCommand); |
| | | |
| | | // Register the tags associated with the child managed objects. |
| | | addTags(relation.getChildDefinition().getAllTags()); |
| | |
| | | commandBuilder.addArgument(typeArgument); |
| | | } else { |
| | | // Set the type provided by the user |
| | | StringArgument arg = new StringArgument(typeArgument.getName(), OPTION_DSCFG_SHORT_TYPE, |
| | | OPTION_DSCFG_LONG_TYPE, false, false, true, INFO_TYPE_PLACEHOLDER.get(), |
| | | typeArgument.getDefaultValue(), typeArgument.getPropertyName(), typeArgument.getDescription()); |
| | | StringArgument arg = |
| | | StringArgument.builder(OPTION_DSCFG_LONG_TYPE) |
| | | .shortIdentifier(OPTION_DSCFG_SHORT_TYPE) |
| | | .description(typeArgument.getDescription()) |
| | | .defaultValue(typeArgument.getDefaultValue()) |
| | | .valuePlaceholder(INFO_TYPE_PLACEHOLDER.get()) |
| | | .buildArgument(); |
| | | arg.addValue(getTypeName(d)); |
| | | commandBuilder.addArgument(arg); |
| | | } |
| | |
| | | * We might have some conflicts in terms of arguments: the user might have provided some values that |
| | | * were not good and then these have overwritten when asking for them interactively: filter them |
| | | */ |
| | | StringArgument filteredArg = new StringArgument(OPTION_DSCFG_LONG_SET, OPTION_DSCFG_SHORT_SET, |
| | | OPTION_DSCFG_LONG_SET, false, true, true, INFO_VALUE_SET_PLACEHOLDER.get(), null, null, |
| | | INFO_DSCFG_DESCRIPTION_PROP_VAL.get()); |
| | | StringArgument filteredArg = |
| | | StringArgument.builder(OPTION_DSCFG_LONG_SET) |
| | | .shortIdentifier(OPTION_DSCFG_SHORT_SET) |
| | | .description(INFO_DSCFG_DESCRIPTION_PROP_VAL.get()) |
| | | .multiValued() |
| | | .valuePlaceholder(INFO_VALUE_SET_PLACEHOLDER.get()) |
| | | .buildArgument(); |
| | | for (String value : propertySetArgument.getValues()) { |
| | | if (canAddValue(commandBuilder, value)) { |
| | | filteredArg.addValue(value); |
| | |
| | | List<Argument> argsCopy = new LinkedList<>(commandBuilder.getArguments()); |
| | | for (Argument arg : argsCopy) { |
| | | if (arg != null |
| | | && (OPTION_DSCFG_LONG_RESET.equals(arg.getName()) |
| | | || OPTION_DSCFG_LONG_REMOVE.equals(arg.getName()))) { |
| | | && (OPTION_DSCFG_LONG_RESET.equals(arg.getLongIdentifier()) |
| | | || OPTION_DSCFG_LONG_REMOVE.equals(arg.getLongIdentifier()))) { |
| | | commandBuilder.removeArgument(arg); |
| | | } |
| | | } |
| | | |
| | | if (isNameProvidedInteractively) { |
| | | StringArgument arg = new StringArgument(providedNamingArgName, null, providedNamingArgName, false, |
| | | true, INFO_NAME_PLACEHOLDER.get(), INFO_DSCFG_DESCRIPTION_NAME_CREATE.get(d |
| | | .getUserFriendlyName())); |
| | | StringArgument arg = |
| | | StringArgument.builder(providedNamingArgName) |
| | | .description(INFO_DSCFG_DESCRIPTION_NAME_CREATE.get(d.getUserFriendlyName())) |
| | | .valuePlaceholder(INFO_NAME_PLACEHOLDER.get()) |
| | | .buildArgument(); |
| | | arg.addValue(child.getManagedObjectPath().getName()); |
| | | commandBuilder.addArgument(arg); |
| | | } else { |
| | |
| | | String propName = value.substring(0, index); |
| | | for (Argument arg : commandBuilder.getArguments()) { |
| | | for (String value2 : arg.getValues()) { |
| | | String prop2Name = getPropName(arg.getName(), value2); |
| | | String prop2Name = getPropName(arg.getLongIdentifier(), value2); |
| | | if (propName.equalsIgnoreCase(prop2Name)) { |
| | | return false; |
| | | } |
| | |
| | | switch (mod.getType()) { |
| | | case ADD: |
| | | case SET: |
| | | arg = new StringArgument(OPTION_DSCFG_LONG_SET, OPTION_DSCFG_SHORT_SET, OPTION_DSCFG_LONG_SET, false, true, |
| | | true, INFO_VALUE_SET_PLACEHOLDER.get(), null, null, INFO_DSCFG_DESCRIPTION_PROP_VAL.get()); |
| | | arg = |
| | | StringArgument.builder(OPTION_DSCFG_LONG_SET) |
| | | .shortIdentifier(OPTION_DSCFG_SHORT_SET) |
| | | .description(INFO_DSCFG_DESCRIPTION_PROP_VAL.get()) |
| | | .multiValued() |
| | | .valuePlaceholder(INFO_VALUE_SET_PLACEHOLDER.get()) |
| | | .buildArgument(); |
| | | addValues(mod, arg); |
| | | return arg; |
| | | case RESET: |
| | | arg = new StringArgument(OPTION_DSCFG_LONG_RESET, null, OPTION_DSCFG_LONG_RESET, false, true, true, |
| | | INFO_PROPERTY_PLACEHOLDER.get(), null, null, INFO_DSCFG_DESCRIPTION_RESET_PROP.get()); |
| | | arg = |
| | | StringArgument.builder(OPTION_DSCFG_LONG_RESET) |
| | | .description(INFO_DSCFG_DESCRIPTION_RESET_PROP.get()) |
| | | .multiValued() |
| | | .valuePlaceholder(INFO_PROPERTY_PLACEHOLDER.get()) |
| | | .buildArgument(); |
| | | arg.addValue(mod.getPropertyDefinition().getName()); |
| | | return arg; |
| | | case REMOVE: |
| | | arg = new StringArgument(OPTION_DSCFG_LONG_REMOVE, null, OPTION_DSCFG_LONG_REMOVE, false, true, true, |
| | | INFO_VALUE_SET_PLACEHOLDER.get(), null, null, INFO_DSCFG_DESCRIPTION_REMOVE_PROP_VAL.get()); |
| | | arg = |
| | | StringArgument.builder(OPTION_DSCFG_LONG_REMOVE) |
| | | .description(INFO_DSCFG_DESCRIPTION_REMOVE_PROP_VAL.get()) |
| | | .multiValued() |
| | | .valuePlaceholder(INFO_VALUE_SET_PLACEHOLDER.get()) |
| | | .buildArgument(); |
| | | addValues(mod, arg); |
| | | return arg; |
| | | default: |
| | |
| | | * |
| | | * |
| | | * Copyright 2007-2010 Sun Microsystems, Inc. |
| | | * Portions Copyright 2012-2015 ForgeRock AS. |
| | | * Portions Copyright 2012-2016 ForgeRock AS. |
| | | */ |
| | | package org.forgerock.opendj.config.dsconfig; |
| | | |
| | |
| | | advancedModeArgument = CommonArguments.getAdvancedMode(); |
| | | showUsageArgument = CommonArguments.getShowUsage(); |
| | | |
| | | batchArgument = new BooleanArgument(OPTION_LONG_BATCH, null, OPTION_LONG_BATCH, |
| | | INFO_DESCRIPTION_BATCH.get()); |
| | | |
| | | batchFileArgument = new StringArgument(OPTION_LONG_BATCH_FILE_PATH, OPTION_SHORT_BATCH_FILE_PATH, |
| | | OPTION_LONG_BATCH_FILE_PATH, false, false, true, INFO_BATCH_FILE_PATH_PLACEHOLDER.get(), null, |
| | | null, INFO_DESCRIPTION_BATCH_FILE_PATH.get()); |
| | | |
| | | displayEquivalentArgument = new BooleanArgument(OPTION_LONG_DISPLAY_EQUIVALENT, null, |
| | | OPTION_LONG_DISPLAY_EQUIVALENT, INFO_DSCFG_DESCRIPTION_DISPLAY_EQUIVALENT.get()); |
| | | |
| | | equivalentCommandFileArgument = new StringArgument(OPTION_LONG_EQUIVALENT_COMMAND_FILE_PATH, null, |
| | | OPTION_LONG_EQUIVALENT_COMMAND_FILE_PATH, false, false, true, INFO_PATH_PLACEHOLDER.get(), null, |
| | | null, INFO_DSCFG_DESCRIPTION_EQUIVALENT_COMMAND_FILE_PATH.get()); |
| | | |
| | | propertiesFileArgument = new StringArgument("propertiesFilePath", null, OPTION_LONG_PROP_FILE_PATH, false, |
| | | false, true, INFO_PROP_FILE_PATH_PLACEHOLDER.get(), null, null, |
| | | INFO_DESCRIPTION_PROP_FILE_PATH.get()); |
| | | |
| | | noPropertiesFileArgument = new BooleanArgument("noPropertiesFileArgument", null, OPTION_LONG_NO_PROP_FILE, |
| | | INFO_DESCRIPTION_NO_PROP_FILE.get()); |
| | | batchArgument = |
| | | BooleanArgument.builder(OPTION_LONG_BATCH) |
| | | .description(INFO_DESCRIPTION_BATCH.get()) |
| | | .buildArgument(); |
| | | batchFileArgument = |
| | | StringArgument.builder(OPTION_LONG_BATCH_FILE_PATH) |
| | | .shortIdentifier(OPTION_SHORT_BATCH_FILE_PATH) |
| | | .description(INFO_DESCRIPTION_BATCH_FILE_PATH.get()) |
| | | .valuePlaceholder(INFO_BATCH_FILE_PATH_PLACEHOLDER.get()) |
| | | .buildArgument(); |
| | | displayEquivalentArgument = |
| | | BooleanArgument.builder(OPTION_LONG_DISPLAY_EQUIVALENT) |
| | | .description(INFO_DSCFG_DESCRIPTION_DISPLAY_EQUIVALENT.get()) |
| | | .buildArgument(); |
| | | equivalentCommandFileArgument = |
| | | StringArgument.builder(OPTION_LONG_EQUIVALENT_COMMAND_FILE_PATH) |
| | | .description(INFO_DSCFG_DESCRIPTION_EQUIVALENT_COMMAND_FILE_PATH.get()) |
| | | .valuePlaceholder(INFO_PATH_PLACEHOLDER.get()) |
| | | .buildArgument(); |
| | | propertiesFileArgument = |
| | | StringArgument.builder(OPTION_LONG_PROP_FILE_PATH) |
| | | .description(INFO_DESCRIPTION_PROP_FILE_PATH.get()) |
| | | .valuePlaceholder(INFO_PROP_FILE_PATH_PLACEHOLDER.get()) |
| | | .buildArgument(); |
| | | noPropertiesFileArgument = |
| | | BooleanArgument.builder(OPTION_LONG_NO_PROP_FILE) |
| | | .description(INFO_DESCRIPTION_NO_PROP_FILE.get()) |
| | | .buildArgument(); |
| | | |
| | | // Register the global arguments. |
| | | |
| | | ArgumentGroup toolOptionsGroup = new ArgumentGroup(INFO_DSCFG_DESCRIPTION_OPTIONS_ARGS.get(), 2); |
| | | parser.addGlobalArgument(advancedModeArgument, toolOptionsGroup); |
| | | |
| | |
| | | |
| | | String option = OPTION_LONG_HELP + "-" + tag.getName(); |
| | | String synopsis = tag.getSynopsis().toString().toLowerCase(); |
| | | BooleanArgument arg = new BooleanArgument(option, null, option, |
| | | INFO_DSCFG_DESCRIPTION_SHOW_GROUP_USAGE.get(synopsis)); |
| | | BooleanArgument arg = |
| | | BooleanArgument.builder(option) |
| | | .description(INFO_DSCFG_DESCRIPTION_SHOW_GROUP_USAGE.get(synopsis)) |
| | | .buildArgument(); |
| | | |
| | | parser.addGlobalArgument(arg); |
| | | parser.setUsageGroupArgument(arg, subCommands); |
| | |
| | | |
| | | // Register the --help-all argument. |
| | | String option = OPTION_LONG_HELP + "-all"; |
| | | BooleanArgument arg = new BooleanArgument(option, null, option, |
| | | INFO_DSCFG_DESCRIPTION_SHOW_GROUP_USAGE_ALL.get()); |
| | | BooleanArgument arg = |
| | | BooleanArgument.builder(option) |
| | | .description(INFO_DSCFG_DESCRIPTION_SHOW_GROUP_USAGE_ALL.get()) |
| | | .buildArgument(); |
| | | |
| | | parser.addGlobalArgument(arg); |
| | | parser.setUsageGroupArgument(arg, allSubCommands); |
| | |
| | | * |
| | | * |
| | | * Copyright 2009 Sun Microsystems, Inc. |
| | | * Portions Copyright 2014 ForgeRock AS |
| | | * Portions Copyright 2014-2016 ForgeRock AS |
| | | */ |
| | | package org.forgerock.opendj.config.dsconfig; |
| | | |
| | |
| | | this.namingArgs = createNamingArgs(subCommand, c, false); |
| | | |
| | | // Create the --force argument which is used to force deletion. |
| | | this.forceArgument = new BooleanArgument(OPTION_DSCFG_LONG_FORCE, OPTION_DSCFG_SHORT_FORCE, |
| | | OPTION_DSCFG_LONG_FORCE, INFO_DSCFG_DESCRIPTION_FORCE.get(ufpn)); |
| | | subCommand.addArgument(forceArgument); |
| | | this.forceArgument = |
| | | BooleanArgument.builder(OPTION_DSCFG_LONG_FORCE) |
| | | .shortIdentifier(OPTION_DSCFG_SHORT_FORCE) |
| | | .description(INFO_DSCFG_DESCRIPTION_FORCE.get(ufpn)) |
| | | .buildAndAddToSubCommand(subCommand); |
| | | |
| | | // Register the tags associated with the child managed objects. |
| | | addTags(relation.getChildDefinition().getAllTags()); |
| | |
| | | * |
| | | * |
| | | * Copyright 2007-2008 Sun Microsystems, Inc. |
| | | * Portions Copyright 2011-2015 ForgeRock AS |
| | | * Portions Copyright 2011-2016 ForgeRock AS |
| | | */ |
| | | package org.forgerock.opendj.config.dsconfig; |
| | | |
| | |
| | | LocalizableMessage desc = INFO_DSCFG_DESCRIPTION_SUBCMD_HELPPROP.get(); |
| | | this.subCommand = new SubCommand(parser, name, false, 0, 0, null, desc); |
| | | |
| | | this.categoryArgument = new StringArgument(OPTION_DSCFG_LONG_CATEGORY, OPTION_DSCFG_SHORT_CATEGORY, |
| | | OPTION_DSCFG_LONG_CATEGORY, false, false, true, INFO_CATEGORY_PLACEHOLDER.get(), null, null, |
| | | INFO_DSCFG_DESCRIPTION_HELP_CATEGORY.get()); |
| | | this.subCommand.addArgument(this.categoryArgument); |
| | | |
| | | this.typeArgument = new StringArgument(OPTION_DSCFG_LONG_TYPE, OPTION_DSCFG_SHORT_TYPE, OPTION_DSCFG_LONG_TYPE, |
| | | false, false, true, INFO_TYPE_PLACEHOLDER.get(), null, null, INFO_DSCFG_DESCRIPTION_HELP_TYPE.get()); |
| | | this.subCommand.addArgument(this.typeArgument); |
| | | |
| | | this.inheritedModeArgument = new BooleanArgument(OPTION_DSCFG_LONG_INHERITED, OPTION_DSCFG_SHORT_INHERITED, |
| | | OPTION_DSCFG_LONG_INHERITED, INFO_DSCFG_DESCRIPTION_HELP_INHERITED.get()); |
| | | subCommand.addArgument(inheritedModeArgument); |
| | | categoryArgument = |
| | | StringArgument.builder(OPTION_DSCFG_LONG_CATEGORY) |
| | | .shortIdentifier(OPTION_DSCFG_SHORT_CATEGORY) |
| | | .description(INFO_DSCFG_DESCRIPTION_HELP_CATEGORY.get()) |
| | | .valuePlaceholder(INFO_CATEGORY_PLACEHOLDER.get()) |
| | | .buildAndAddToSubCommand(subCommand); |
| | | typeArgument = |
| | | StringArgument.builder(OPTION_DSCFG_LONG_TYPE) |
| | | .shortIdentifier(OPTION_DSCFG_SHORT_TYPE) |
| | | .description(INFO_DSCFG_DESCRIPTION_HELP_TYPE.get()) |
| | | .valuePlaceholder(INFO_TYPE_PLACEHOLDER.get()) |
| | | .buildAndAddToSubCommand(subCommand); |
| | | inheritedModeArgument = |
| | | BooleanArgument.builder(OPTION_DSCFG_LONG_INHERITED) |
| | | .shortIdentifier(OPTION_DSCFG_SHORT_INHERITED) |
| | | .description(INFO_DSCFG_DESCRIPTION_HELP_INHERITED.get()) |
| | | .buildAndAddToSubCommand(subCommand); |
| | | |
| | | // Register common arguments. |
| | | registerPropertyNameArgument(this.subCommand); |
| | |
| | | * |
| | | * |
| | | * Copyright 2007-2010 Sun Microsystems, Inc. |
| | | * Portions Copyright 2011-2015 ForgeRock AS |
| | | * Portions Copyright 2011-2016 ForgeRock AS |
| | | * Portions Copyright 2012 profiq, s.r.o. |
| | | */ |
| | | package org.forgerock.opendj.config.dsconfig; |
| | |
| | | |
| | | /** |
| | | * A sub-command handler which is used to modify the properties of a managed object. |
| | | * <p> |
| | | * <p/> |
| | | * This sub-command implements the various set-xxx-prop sub-commands. |
| | | */ |
| | | final class SetPropSubCommandHandler extends SubCommandHandler { |
| | |
| | | * Creates a new set-xxx-prop sub-command for an instantiable relation. |
| | | * |
| | | * @param parser |
| | | * The sub-command argument parser. |
| | | * The sub-command argument parser. |
| | | * @param path |
| | | * The parent managed object path. |
| | | * The parent managed object path. |
| | | * @param r |
| | | * The instantiable relation. |
| | | * The instantiable relation. |
| | | * @return Returns the new set-xxx-prop sub-command. |
| | | * @throws ArgumentException |
| | | * If the sub-command could not be created successfully. |
| | | * If the sub-command could not be created successfully. |
| | | */ |
| | | public static SetPropSubCommandHandler create(SubCommandArgumentParser parser, ManagedObjectPath<?, ?> path, |
| | | InstantiableRelationDefinition<?, ?> r) throws ArgumentException { |
| | |
| | | * Creates a new set-xxx-prop sub-command for an optional relation. |
| | | * |
| | | * @param parser |
| | | * The sub-command argument parser. |
| | | * The sub-command argument parser. |
| | | * @param path |
| | | * The parent managed object path. |
| | | * The parent managed object path. |
| | | * @param r |
| | | * The optional relation. |
| | | * The optional relation. |
| | | * @return Returns the new set-xxx-prop sub-command. |
| | | * @throws ArgumentException |
| | | * If the sub-command could not be created successfully. |
| | | * If the sub-command could not be created successfully. |
| | | */ |
| | | public static SetPropSubCommandHandler create(SubCommandArgumentParser parser, ManagedObjectPath<?, ?> path, |
| | | OptionalRelationDefinition<?, ?> r) throws ArgumentException { |
| | |
| | | * Creates a new set-xxx-prop sub-command for a set relation. |
| | | * |
| | | * @param parser |
| | | * The sub-command argument parser. |
| | | * The sub-command argument parser. |
| | | * @param path |
| | | * The parent managed object path. |
| | | * The parent managed object path. |
| | | * @param r |
| | | * The set relation. |
| | | * The set relation. |
| | | * @return Returns the new set-xxx-prop sub-command. |
| | | * @throws ArgumentException |
| | | * If the sub-command could not be created successfully. |
| | | * If the sub-command could not be created successfully. |
| | | */ |
| | | public static SetPropSubCommandHandler create(SubCommandArgumentParser parser, ManagedObjectPath<?, ?> path, |
| | | SetRelationDefinition<?, ?> r) throws ArgumentException { |
| | |
| | | * Creates a new set-xxx-prop sub-command for a singleton relation. |
| | | * |
| | | * @param parser |
| | | * The sub-command argument parser. |
| | | * The sub-command argument parser. |
| | | * @param path |
| | | * The parent managed object path. |
| | | * The parent managed object path. |
| | | * @param r |
| | | * The singleton relation. |
| | | * The singleton relation. |
| | | * @return Returns the new set-xxx-prop sub-command. |
| | | * @throws ArgumentException |
| | | * If the sub-command could not be created successfully. |
| | | * If the sub-command could not be created successfully. |
| | | */ |
| | | public static SetPropSubCommandHandler create(SubCommandArgumentParser parser, ManagedObjectPath<?, ?> path, |
| | | SingletonRelationDefinition<?, ?> r) throws ArgumentException { |
| | |
| | | * object. |
| | | * |
| | | * @param app |
| | | * The console application. |
| | | * The console application. |
| | | * @param context |
| | | * The management context. |
| | | * The management context. |
| | | * @param mo |
| | | * The managed object to be configured. |
| | | * The managed object to be configured. |
| | | * @param handler |
| | | * The SubCommandHandler whose command builder properties must be updated. |
| | | * The SubCommandHandler whose command builder properties must be updated. |
| | | * @return Returns a MenuResult.success() if the managed object was configured successfully, or MenuResult.quit(), |
| | | * or MenuResult.cancel(), if the managed object was edited interactively and the user chose to quit or |
| | | * cancel. |
| | | * or MenuResult.cancel(), if the managed object was edited interactively and the user chose to quit or |
| | | * cancel. |
| | | * @throws ClientException |
| | | * If an unrecoverable client exception occurred whilst interacting with the server. |
| | | * If an unrecoverable client exception occurred whilst interacting with the server. |
| | | * @throws ClientException |
| | | * If an error occurred whilst interacting with the console. |
| | | * If an error occurred whilst interacting with the console. |
| | | */ |
| | | public static MenuResult<Void> modifyManagedObject(ConsoleApplication app, ManagementContext context, |
| | | ManagedObject<?> mo, SubCommandHandler handler) throws ClientException { |
| | |
| | | String argName = CLIProfile.getInstance().getNamingArgument( |
| | | path.getRelationDefinition()); |
| | | try { |
| | | StringArgument arg = new StringArgument(argName, null, argName, |
| | | false, true, INFO_NAME_PLACEHOLDER.get(), |
| | | INFO_DSCFG_DESCRIPTION_NAME.get(d.getUserFriendlyName())); |
| | | StringArgument arg = |
| | | StringArgument.builder(argName) |
| | | .description(INFO_DSCFG_DESCRIPTION_NAME.get( |
| | | d.getUserFriendlyName())) |
| | | .valuePlaceholder(INFO_NAME_PLACEHOLDER.get()) |
| | | .buildArgument(); |
| | | arg.addValue(name); |
| | | builder.addArgument(arg); |
| | | } catch (Throwable t) { |
| | |
| | | } |
| | | |
| | | try { |
| | | StringArgument arg = new StringArgument(OPTION_DSCFG_LONG_SET, |
| | | OPTION_DSCFG_SHORT_SET, OPTION_DSCFG_LONG_SET, false, true, |
| | | true, INFO_VALUE_SET_PLACEHOLDER.get(), null, null, |
| | | INFO_DSCFG_DESCRIPTION_PROP_VAL.get()); |
| | | StringArgument arg = |
| | | StringArgument.builder(OPTION_DSCFG_LONG_SET) |
| | | .shortIdentifier(OPTION_DSCFG_SHORT_SET) |
| | | .description(INFO_DSCFG_DESCRIPTION_PROP_VAL.get()) |
| | | .multiValued() |
| | | .valuePlaceholder(INFO_VALUE_SET_PLACEHOLDER.get()) |
| | | .buildArgument(); |
| | | PropertyDefinition<?> propertyDefinition = cvc.getPropertyDefinition(); |
| | | arg.addValue(propertyDefinition.getName() + ':' |
| | | + castAndGetArgumentValue(propertyDefinition, cvc.getValue())); |
| | |
| | | this.namingArgs = createNamingArgs(subCommand, path, false); |
| | | |
| | | // Create the --set argument. |
| | | this.propertySetArgument = new StringArgument(OPTION_DSCFG_LONG_SET, OPTION_DSCFG_SHORT_SET, |
| | | OPTION_DSCFG_LONG_SET, false, true, true, INFO_VALUE_SET_PLACEHOLDER.get(), null, null, |
| | | INFO_DSCFG_DESCRIPTION_PROP_VAL.get()); |
| | | this.subCommand.addArgument(this.propertySetArgument); |
| | | |
| | | propertySetArgument = |
| | | StringArgument.builder(OPTION_DSCFG_LONG_SET) |
| | | .shortIdentifier(OPTION_DSCFG_SHORT_SET) |
| | | .description(INFO_DSCFG_DESCRIPTION_PROP_VAL.get()) |
| | | .multiValued() |
| | | .valuePlaceholder(INFO_VALUE_SET_PLACEHOLDER.get()) |
| | | .buildAndAddToSubCommand(subCommand); |
| | | // Create the --reset argument. |
| | | this.propertyResetArgument = new StringArgument(OPTION_DSCFG_LONG_RESET, OPTION_DSCFG_SHORT_RESET, |
| | | OPTION_DSCFG_LONG_RESET, false, true, true, INFO_PROPERTY_PLACEHOLDER.get(), null, null, |
| | | INFO_DSCFG_DESCRIPTION_RESET_PROP.get()); |
| | | this.subCommand.addArgument(this.propertyResetArgument); |
| | | |
| | | propertyResetArgument = |
| | | StringArgument.builder(OPTION_DSCFG_LONG_RESET) |
| | | .shortIdentifier(OPTION_DSCFG_SHORT_RESET) |
| | | .description(INFO_DSCFG_DESCRIPTION_RESET_PROP.get()) |
| | | .multiValued() |
| | | .valuePlaceholder(INFO_PROPERTY_PLACEHOLDER.get()) |
| | | .buildAndAddToSubCommand(subCommand); |
| | | // Create the --add argument. |
| | | this.propertyAddArgument = new StringArgument(OPTION_DSCFG_LONG_ADD, OPTION_DSCFG_SHORT_ADD, |
| | | OPTION_DSCFG_LONG_ADD, false, true, true, INFO_VALUE_SET_PLACEHOLDER.get(), null, null, |
| | | INFO_DSCFG_DESCRIPTION_ADD_PROP_VAL.get()); |
| | | this.subCommand.addArgument(this.propertyAddArgument); |
| | | |
| | | this.propertyAddArgument = |
| | | StringArgument.builder(OPTION_DSCFG_LONG_ADD) |
| | | .shortIdentifier(OPTION_DSCFG_SHORT_ADD) |
| | | .description(INFO_DSCFG_DESCRIPTION_ADD_PROP_VAL.get()) |
| | | .multiValued() |
| | | .valuePlaceholder(INFO_VALUE_SET_PLACEHOLDER.get()) |
| | | .buildAndAddToSubCommand(subCommand); |
| | | // Create the --remove argument. |
| | | this.propertyRemoveArgument = new StringArgument(OPTION_DSCFG_LONG_REMOVE, OPTION_DSCFG_SHORT_REMOVE, |
| | | OPTION_DSCFG_LONG_REMOVE, false, true, true, INFO_VALUE_SET_PLACEHOLDER.get(), null, null, |
| | | INFO_DSCFG_DESCRIPTION_REMOVE_PROP_VAL.get()); |
| | | this.subCommand.addArgument(this.propertyRemoveArgument); |
| | | this.propertyRemoveArgument = |
| | | StringArgument.builder(OPTION_DSCFG_LONG_REMOVE) |
| | | .shortIdentifier(OPTION_DSCFG_SHORT_REMOVE) |
| | | .description(INFO_DSCFG_DESCRIPTION_REMOVE_PROP_VAL.get()) |
| | | .multiValued() |
| | | .valuePlaceholder(INFO_VALUE_SET_PLACEHOLDER.get()) |
| | | .buildAndAddToSubCommand(this.subCommand); |
| | | |
| | | // Register the tags associated with the child managed objects. |
| | | addTags(path.getManagedObjectDefinition().getAllTags()); |
| | |
| | | * modification proposed by the user in the provided PropertyEditorModification object. |
| | | * |
| | | * @param mod |
| | | * the object describing the modification made. |
| | | * the object describing the modification made. |
| | | * @param <T> |
| | | * the type of the property to be retrieved. |
| | | * the type of the property to be retrieved. |
| | | * @return the argument representing the modification. |
| | | * @throws ArgumentException |
| | | * if there is a problem creating the argument. |
| | | * if there is a problem creating the argument. |
| | | */ |
| | | private static <T> Argument createArgument(PropertyEditorModification<T> mod) throws ArgumentException { |
| | | StringArgument arg; |
| | |
| | | |
| | | switch (mod.getType()) { |
| | | case RESET: |
| | | arg = new StringArgument(OPTION_DSCFG_LONG_RESET, OPTION_DSCFG_SHORT_RESET, OPTION_DSCFG_LONG_RESET, false, |
| | | true, true, INFO_PROPERTY_PLACEHOLDER.get(), null, null, INFO_DSCFG_DESCRIPTION_RESET_PROP.get()); |
| | | arg = |
| | | StringArgument.builder(OPTION_DSCFG_LONG_RESET) |
| | | .shortIdentifier(OPTION_DSCFG_SHORT_RESET) |
| | | .description(INFO_DSCFG_DESCRIPTION_RESET_PROP.get()) |
| | | .multiValued() |
| | | .valuePlaceholder(INFO_PROPERTY_PLACEHOLDER.get()) |
| | | .buildArgument(); |
| | | arg.addValue(propName); |
| | | break; |
| | | case REMOVE: |
| | | arg = new StringArgument(OPTION_DSCFG_LONG_REMOVE, OPTION_DSCFG_SHORT_REMOVE, OPTION_DSCFG_LONG_REMOVE, |
| | | false, true, true, INFO_VALUE_SET_PLACEHOLDER.get(), null, null, |
| | | INFO_DSCFG_DESCRIPTION_REMOVE_PROP_VAL.get()); |
| | | arg = |
| | | StringArgument.builder(OPTION_DSCFG_LONG_REMOVE) |
| | | .shortIdentifier(OPTION_DSCFG_SHORT_REMOVE) |
| | | .description(INFO_DSCFG_DESCRIPTION_REMOVE_PROP_VAL.get()) |
| | | .multiValued() |
| | | .valuePlaceholder(INFO_VALUE_SET_PLACEHOLDER.get()) |
| | | .buildArgument(); |
| | | for (T value : mod.getModificationValues()) { |
| | | arg.addValue(propName + ':' + getArgumentValue(propertyDefinition, value)); |
| | | } |
| | | break; |
| | | case ADD: |
| | | arg = new StringArgument(OPTION_DSCFG_LONG_ADD, OPTION_DSCFG_SHORT_ADD, OPTION_DSCFG_LONG_ADD, false, true, |
| | | true, INFO_VALUE_SET_PLACEHOLDER.get(), null, null, INFO_DSCFG_DESCRIPTION_ADD_PROP_VAL.get()); |
| | | arg = |
| | | StringArgument.builder(OPTION_DSCFG_LONG_ADD) |
| | | .shortIdentifier(OPTION_DSCFG_SHORT_ADD) |
| | | .description(INFO_DSCFG_DESCRIPTION_ADD_PROP_VAL.get()) |
| | | .multiValued() |
| | | .valuePlaceholder(INFO_VALUE_SET_PLACEHOLDER.get()) |
| | | .buildArgument(); |
| | | for (T value : mod.getModificationValues()) { |
| | | arg.addValue(propName + ':' + getArgumentValue(propertyDefinition, value)); |
| | | } |
| | | break; |
| | | case SET: |
| | | arg = new StringArgument(OPTION_DSCFG_LONG_SET, OPTION_DSCFG_SHORT_SET, OPTION_DSCFG_LONG_SET, false, true, |
| | | true, INFO_VALUE_SET_PLACEHOLDER.get(), null, null, INFO_DSCFG_DESCRIPTION_PROP_VAL.get()); |
| | | arg = |
| | | StringArgument.builder(OPTION_DSCFG_LONG_SET) |
| | | .shortIdentifier(OPTION_DSCFG_SHORT_SET) |
| | | .description(INFO_DSCFG_DESCRIPTION_PROP_VAL.get()) |
| | | .multiValued() |
| | | .valuePlaceholder(INFO_VALUE_SET_PLACEHOLDER.get()) |
| | | .buildArgument(); |
| | | for (T value : mod.getModificationValues()) { |
| | | arg.addValue(propName + ':' + getArgumentValue(propertyDefinition, value)); |
| | | } |
| | |
| | | * |
| | | * |
| | | * Copyright 2007-2010 Sun Microsystems, Inc. |
| | | * Portions Copyright 2011-2015 ForgeRock AS |
| | | * Portions Copyright 2011-2016 ForgeRock AS |
| | | */ |
| | | package org.forgerock.opendj.config.dsconfig; |
| | | |
| | |
| | | StringArgument arg; |
| | | |
| | | try { |
| | | final StringArgument.Builder argBuilder = StringArgument.builder(argName); |
| | | if (isCreate && sz == 0) { |
| | | // The final path element in create-xxx sub-commands should |
| | | // have a different usage. |
| | | PropertyDefinition<?> pd = r.getNamingPropertyDefinition(); |
| | | |
| | | if (pd != null) { |
| | | // Use syntax and description from naming property. |
| | | PropertyDefinitionUsageBuilder b = new PropertyDefinitionUsageBuilder(false); |
| | | LocalizableMessage usage = LocalizableMessage.raw("{" + b.getUsage(pd) + "}"); |
| | | arg = new StringArgument(argName, null, argName, false, true, usage, |
| | | INFO_DSCFG_DESCRIPTION_NAME_CREATE_EXT.get(d.getUserFriendlyName(), pd.getName(), |
| | | pd.getSynopsis())); |
| | | argBuilder.description(INFO_DSCFG_DESCRIPTION_NAME_CREATE_EXT.get( |
| | | d.getUserFriendlyName(), pd.getName(), pd.getSynopsis())) |
| | | .valuePlaceholder(usage); |
| | | } else { |
| | | arg = new StringArgument(argName, null, argName, false, true, INFO_NAME_PLACEHOLDER.get(), |
| | | INFO_DSCFG_DESCRIPTION_NAME_CREATE.get(d.getUserFriendlyName())); |
| | | argBuilder.description(INFO_DSCFG_DESCRIPTION_NAME_CREATE.get(d.getUserFriendlyName())) |
| | | .valuePlaceholder(INFO_NAME_PLACEHOLDER.get()); |
| | | } |
| | | } else { |
| | | // A normal naming argument. |
| | | arg = new StringArgument(argName, null, argName, false, true, INFO_NAME_PLACEHOLDER.get(), |
| | | INFO_DSCFG_DESCRIPTION_NAME.get(d.getUserFriendlyName())); |
| | | argBuilder.description(INFO_DSCFG_DESCRIPTION_NAME.get(d.getUserFriendlyName())) |
| | | .valuePlaceholder(INFO_NAME_PLACEHOLDER.get()) |
| | | .buildArgument(); |
| | | } |
| | | subCommand.addArgument(arg); |
| | | arg = argBuilder.buildAndAddToSubCommand(subCommand); |
| | | arguments.add(arg); |
| | | } catch (ArgumentException e) { |
| | | this.e = e; |
| | |
| | | } |
| | | |
| | | String argName = CLIProfile.getInstance().getNamingArgument(r); |
| | | StringArgument arg; |
| | | |
| | | try { |
| | | arg = new StringArgument(argName, null, argName, false, true, INFO_NAME_PLACEHOLDER.get(), |
| | | INFO_DSCFG_DESCRIPTION_NAME.get(d.getUserFriendlyName())); |
| | | subCommand.addArgument(arg); |
| | | arguments.add(arg); |
| | | arguments.add(StringArgument.builder(argName) |
| | | .description(INFO_DSCFG_DESCRIPTION_NAME.get(d.getUserFriendlyName())) |
| | | .valuePlaceholder(INFO_NAME_PLACEHOLDER.get()) |
| | | .buildAndAddToSubCommand(subCommand)); |
| | | } catch (ArgumentException e) { |
| | | this.e = e; |
| | | } |
| | |
| | | if (app.confirmAction(msg, true)) { |
| | | try { |
| | | String argName = CLIProfile.getInstance().getNamingArgument(r); |
| | | StringArgument arg = new StringArgument(argName, null, argName, false, true, |
| | | INFO_NAME_PLACEHOLDER.get(), |
| | | INFO_DSCFG_DESCRIPTION_NAME_CREATE.get(d.getUserFriendlyName())); |
| | | StringArgument arg = |
| | | StringArgument.builder(argName) |
| | | .description(INFO_DSCFG_DESCRIPTION_NAME_CREATE.get(d.getUserFriendlyName())) |
| | | .valuePlaceholder(INFO_NAME_PLACEHOLDER.get()) |
| | | .buildArgument(); |
| | | if (r instanceof InstantiableRelationDefinition) { |
| | | arg.addValue(children.get(children.firstKey())); |
| | | } else { |
| | |
| | | return MenuResult.cancel(); |
| | | } |
| | | String argName = CLIProfile.getInstance().getNamingArgument(r); |
| | | StringArgument arg = new StringArgument(argName, null, argName, false, true, |
| | | INFO_NAME_PLACEHOLDER.get(), INFO_DSCFG_DESCRIPTION_NAME_CREATE.get(d.getUserFriendlyName())); |
| | | StringArgument arg = |
| | | StringArgument.builder(argName) |
| | | .description(INFO_DSCFG_DESCRIPTION_NAME_CREATE.get(d.getUserFriendlyName())) |
| | | .valuePlaceholder(INFO_NAME_PLACEHOLDER.get()) |
| | | .buildArgument(); |
| | | if (r instanceof InstantiableRelationDefinition) { |
| | | arg.addValue(result.getValue()); |
| | | } else { |
| | |
| | | * If the property name argument could not be registered. |
| | | */ |
| | | protected final void registerPropertyNameArgument(SubCommand subCommand) throws ArgumentException { |
| | | this.propertyArgument = new StringArgument(OPTION_DSCFG_LONG_PROPERTY, OPTION_DSCFG_SHORT_PROPERTY, |
| | | OPTION_DSCFG_LONG_PROPERTY, false, true, true, INFO_PROPERTY_PLACEHOLDER.get(), null, null, |
| | | INFO_DSCFG_DESCRIPTION_PROP.get()); |
| | | subCommand.addArgument(propertyArgument); |
| | | propertyArgument = |
| | | StringArgument.builder(OPTION_DSCFG_LONG_PROPERTY) |
| | | .shortIdentifier(OPTION_DSCFG_SHORT_PROPERTY) |
| | | .description(INFO_DSCFG_DESCRIPTION_PROP.get()) |
| | | .multiValued() |
| | | .valuePlaceholder(INFO_PROPERTY_PLACEHOLDER.get()) |
| | | .buildAndAddToSubCommand(subCommand); |
| | | } |
| | | |
| | | /** |
| | |
| | | * If the record mode argument could not be registered. |
| | | */ |
| | | protected final void registerRecordModeArgument(SubCommand subCommand) throws ArgumentException { |
| | | this.recordModeArgument = new BooleanArgument(OPTION_DSCFG_LONG_RECORD, OPTION_DSCFG_SHORT_RECORD, |
| | | OPTION_DSCFG_LONG_RECORD, INFO_DSCFG_DESCRIPTION_RECORD.get()); |
| | | this.recordModeArgument.setPropertyName(OPTION_DSCFG_LONG_RECORD); |
| | | subCommand.addArgument(recordModeArgument); |
| | | recordModeArgument = |
| | | BooleanArgument.builder(OPTION_DSCFG_LONG_RECORD) |
| | | .shortIdentifier(OPTION_DSCFG_SHORT_RECORD) |
| | | .description(INFO_DSCFG_DESCRIPTION_RECORD.get()) |
| | | .buildAndAddToSubCommand(subCommand); |
| | | } |
| | | |
| | | /** |
| | |
| | | * If the unit-size argument could not be registered. |
| | | */ |
| | | protected final void registerUnitSizeArgument(SubCommand subCommand) throws ArgumentException { |
| | | this.unitSizeArgument = new StringArgument(OPTION_DSCFG_LONG_UNIT_SIZE, OPTION_DSCFG_SHORT_UNIT_SIZE, |
| | | OPTION_DSCFG_LONG_UNIT_SIZE, false, true, INFO_UNIT_PLACEHOLDER.get(), |
| | | INFO_DSCFG_DESCRIPTION_UNIT_SIZE.get()); |
| | | this.unitSizeArgument.setPropertyName(OPTION_DSCFG_LONG_UNIT_SIZE); |
| | | |
| | | subCommand.addArgument(unitSizeArgument); |
| | | unitSizeArgument = |
| | | StringArgument.builder(OPTION_DSCFG_LONG_UNIT_SIZE) |
| | | .shortIdentifier(OPTION_DSCFG_SHORT_UNIT_SIZE) |
| | | .description(INFO_DSCFG_DESCRIPTION_UNIT_SIZE.get()) |
| | | .valuePlaceholder(INFO_UNIT_PLACEHOLDER.get()) |
| | | .buildAndAddToSubCommand(subCommand); |
| | | } |
| | | |
| | | /** |
| | |
| | | * If the unit-time argument could not be registered. |
| | | */ |
| | | protected final void registerUnitTimeArgument(SubCommand subCommand) throws ArgumentException { |
| | | this.unitTimeArgument = new StringArgument(OPTION_DSCFG_LONG_UNIT_TIME, OPTION_DSCFG_SHORT_UNIT_TIME, |
| | | OPTION_DSCFG_LONG_UNIT_TIME, false, true, INFO_UNIT_PLACEHOLDER.get(), |
| | | INFO_DSCFG_DESCRIPTION_UNIT_TIME.get()); |
| | | this.unitTimeArgument.setPropertyName(OPTION_DSCFG_LONG_UNIT_TIME); |
| | | |
| | | subCommand.addArgument(unitTimeArgument); |
| | | unitTimeArgument = |
| | | StringArgument.builder(OPTION_DSCFG_LONG_UNIT_TIME) |
| | | .shortIdentifier(OPTION_DSCFG_SHORT_UNIT_TIME) |
| | | .description(INFO_DSCFG_DESCRIPTION_UNIT_TIME.get()) |
| | | .valuePlaceholder(INFO_UNIT_PLACEHOLDER.get()) |
| | | .buildAndAddToSubCommand(subCommand); |
| | | } |
| | | |
| | | /** |
| | |
| | | * |
| | | * |
| | | * Copyright 2009-2010 Sun Microsystems, Inc. |
| | | * Portions Copyright 2011-2015 ForgeRock AS. |
| | | * Portions Copyright 2011-2016 ForgeRock AS. |
| | | */ |
| | | package org.opends.guitools.controlpanel; |
| | | |
| | |
| | | addArgument(remoteArg); |
| | | |
| | | connectTimeoutArg = CommonArguments.getConnectTimeOut(); |
| | | connectTimeoutArg.setHidden(false); |
| | | addArgument(connectTimeoutArg); |
| | | |
| | | showUsageArg = CommonArguments.getShowUsage(); |
| | |
| | | * |
| | | * |
| | | * Copyright 2006-2010 Sun Microsystems, Inc. |
| | | * Portions Copyright 2014-2015 ForgeRock AS |
| | | * Portions Copyright 2014-2016 ForgeRock AS |
| | | */ |
| | | package org.opends.guitools.uninstaller; |
| | | |
| | |
| | | { |
| | | println(); |
| | | printErrorMessage(ERR_UNINSTALL_ERROR_UPDATING_REMOTE_FORCE.get( |
| | | "--"+parser.getSecureArgsList().adminUidArg.getLongIdentifier(), |
| | | "--"+parser.getSecureArgsList().adminUidHiddenArg.getLongIdentifier(), |
| | | "--"+OPTION_LONG_BINDPWD, |
| | | "--"+OPTION_LONG_BINDPWD_FILE, |
| | | exceptionMsg)); |
| | |
| | | throw new UserDataException(null, |
| | | ERR_UNINSTALL_ERROR_UPDATING_REMOTE_NO_FORCE.get( |
| | | "--"+ |
| | | parser.getSecureArgsList().adminUidArg.getLongIdentifier(), |
| | | parser.getSecureArgsList().adminUidHiddenArg.getLongIdentifier(), |
| | | "--"+OPTION_LONG_BINDPWD, |
| | | "--"+OPTION_LONG_BINDPWD_FILE, |
| | | "--"+parser.forceOnErrorArg.getLongIdentifier(), |
| | |
| | | LocalizableMessage msg = |
| | | ERR_UNINSTALL_ERROR_UPDATING_REMOTE_NO_FORCE.get( |
| | | "--"+ |
| | | parser.getSecureArgsList().adminUidArg.getLongIdentifier(), |
| | | parser.getSecureArgsList().adminUidHiddenArg.getLongIdentifier(), |
| | | "--"+OPTION_LONG_BINDPWD, |
| | | "--"+OPTION_LONG_BINDPWD_FILE, |
| | | "--"+parser.forceOnErrorArg.getLongIdentifier(), |
| | |
| | | * |
| | | * |
| | | * Copyright 2006-2010 Sun Microsystems, Inc. |
| | | * Portions Copyright 2014-2015 ForgeRock AS |
| | | * Portions Copyright 2014-2016 ForgeRock AS |
| | | */ |
| | | package org.opends.guitools.uninstaller; |
| | | |
| | |
| | | LocalizableMessage msg = |
| | | ERR_UNINSTALL_ERROR_UPDATING_REMOTE_NO_FORCE.get( |
| | | "--"+ |
| | | parser.getSecureArgsList().adminUidArg.getLongIdentifier(), |
| | | parser.getSecureArgsList().adminUidHiddenArg.getLongIdentifier(), |
| | | "--"+OPTION_LONG_BINDPWD, |
| | | "--"+OPTION_LONG_BINDPWD_FILE, |
| | | "--"+parser.forceOnErrorArg.getLongIdentifier(), |
| | |
| | | * |
| | | * |
| | | * Copyright 2008-2010 Sun Microsystems, Inc. |
| | | * Portions Copyright 2014-2015 ForgeRock AS. |
| | | * Portions Copyright 2014-2016 ForgeRock AS. |
| | | */ |
| | | package org.opends.guitools.uninstaller; |
| | | |
| | |
| | | private BooleanArgument removeLDIFFilesArg; |
| | | |
| | | private StringArgument referencedHostNameArg; |
| | | private StringArgument adminUidArg; |
| | | |
| | | /** This CLI is always using the administration connector with SSL. */ |
| | | private final boolean alwaysSSL = true; |
| | |
| | | throws ArgumentException |
| | | { |
| | | LinkedHashSet<Argument> args = new LinkedHashSet<>(); |
| | | adminUidArg = CommonArguments.getAdminUid(INFO_DESCRIPTION_ADMIN_UID.get()); |
| | | cliArg = CommonArguments.getCLI(); |
| | | args.add(cliArg); |
| | | |
| | | removeAllArg = new BooleanArgument( |
| | | "remove-all", |
| | | 'a', |
| | | "remove-all", |
| | | INFO_UNINSTALLDS_DESCRIPTION_REMOVE_ALL.get() |
| | | ); |
| | | removeAllArg = |
| | | BooleanArgument.builder("remove-all") |
| | | .shortIdentifier('a') |
| | | .description(INFO_UNINSTALLDS_DESCRIPTION_REMOVE_ALL.get()) |
| | | .buildArgument(); |
| | | args.add(removeAllArg); |
| | | removeServerLibrariesArg = new BooleanArgument( |
| | | "server-libraries", |
| | | 'l', |
| | | "server-libraries", |
| | | INFO_UNINSTALLDS_DESCRIPTION_REMOVE_SERVER_LIBRARIES.get() |
| | | ); |
| | | |
| | | removeServerLibrariesArg = |
| | | BooleanArgument.builder("server-libraries") |
| | | .shortIdentifier('l') |
| | | .description(INFO_UNINSTALLDS_DESCRIPTION_REMOVE_SERVER_LIBRARIES.get()) |
| | | .buildArgument(); |
| | | args.add(removeServerLibrariesArg); |
| | | removeDatabasesArg = new BooleanArgument( |
| | | "databases", |
| | | 'd', |
| | | "databases", |
| | | INFO_UNINSTALLDS_DESCRIPTION_REMOVE_DATABASES.get() |
| | | ); |
| | | |
| | | removeDatabasesArg = |
| | | BooleanArgument.builder("databases") |
| | | .shortIdentifier('d') |
| | | .description(INFO_UNINSTALLDS_DESCRIPTION_REMOVE_DATABASES.get()) |
| | | .buildArgument(); |
| | | args.add(removeDatabasesArg); |
| | | removeLogFilesArg = new BooleanArgument( |
| | | "log-files", |
| | | 'L', |
| | | "log-files", |
| | | INFO_UNINSTALLDS_DESCRIPTION_REMOVE_LOG_FILES.get() |
| | | ); |
| | | |
| | | removeLogFilesArg = |
| | | BooleanArgument.builder("log-files") |
| | | .shortIdentifier('L') |
| | | .description(INFO_UNINSTALLDS_DESCRIPTION_REMOVE_LOG_FILES.get()) |
| | | .buildArgument(); |
| | | args.add(removeLogFilesArg); |
| | | removeConfigurationFilesArg = new BooleanArgument( |
| | | "configuration-files", |
| | | 'c', |
| | | "configuration-files", |
| | | INFO_UNINSTALLDS_DESCRIPTION_REMOVE_CONFIGURATION_FILES.get() |
| | | ); |
| | | |
| | | removeConfigurationFilesArg = |
| | | BooleanArgument.builder("configuration-files") |
| | | .shortIdentifier('c') |
| | | .description(INFO_UNINSTALLDS_DESCRIPTION_REMOVE_CONFIGURATION_FILES.get()) |
| | | .buildArgument(); |
| | | args.add(removeConfigurationFilesArg); |
| | | removeBackupFilesArg = new BooleanArgument( |
| | | "backup-files", |
| | | 'b', |
| | | "backup-files", |
| | | INFO_UNINSTALLDS_DESCRIPTION_REMOVE_BACKUP_FILES.get() |
| | | ); |
| | | |
| | | removeBackupFilesArg = |
| | | BooleanArgument.builder("backup-files") |
| | | .shortIdentifier('b') |
| | | .description(INFO_UNINSTALLDS_DESCRIPTION_REMOVE_BACKUP_FILES.get()) |
| | | .buildArgument(); |
| | | args.add(removeBackupFilesArg); |
| | | removeLDIFFilesArg = new BooleanArgument( |
| | | "ldif-files", |
| | | 'e', |
| | | "ldif-files", |
| | | INFO_UNINSTALLDS_DESCRIPTION_REMOVE_LDIF_FILES.get() |
| | | ); |
| | | |
| | | removeLDIFFilesArg = |
| | | BooleanArgument.builder("ldif-files") |
| | | .shortIdentifier('e') |
| | | .description(INFO_UNINSTALLDS_DESCRIPTION_REMOVE_LDIF_FILES.get()) |
| | | .buildArgument(); |
| | | args.add(removeLDIFFilesArg); |
| | | |
| | | noPromptArg = CommonArguments.getNoPrompt(); |
| | | args.add(noPromptArg); |
| | | |
| | | forceOnErrorArg = new BooleanArgument( |
| | | "forceOnError", |
| | | 'f', |
| | | "forceOnError", |
| | | INFO_UNINSTALLDS_DESCRIPTION_FORCE.get( |
| | | "--"+noPromptArg.getLongIdentifier())); |
| | | forceOnErrorArg = |
| | | BooleanArgument.builder("forceOnError") |
| | | .shortIdentifier('f') |
| | | .description(INFO_UNINSTALLDS_DESCRIPTION_FORCE.get("--" + noPromptArg.getLongIdentifier())) |
| | | .buildArgument(); |
| | | args.add(forceOnErrorArg); |
| | | |
| | | quietArg = CommonArguments.getQuiet(); |
| | | args.add(quietArg); |
| | | |
| | | for (Argument arg : args) |
| | | { |
| | | arg.setPropertyName(arg.getLongIdentifier()); |
| | | } |
| | | |
| | | ArrayList<Argument> defaultArgs = new ArrayList<>(createGlobalArguments(outStream, alwaysSSL)); |
| | | int index = defaultArgs.indexOf(secureArgsList.bindDnArg); |
| | | if (index != -1) |
| | | { |
| | | defaultArgs.add(index, secureArgsList.adminUidArg); |
| | | defaultArgs.add(index, adminUidArg); |
| | | defaultArgs.remove(secureArgsList.bindDnArg); |
| | | } |
| | | else |
| | | { |
| | | defaultArgs.add(secureArgsList.adminUidArg); |
| | | defaultArgs.add(adminUidArg); |
| | | } |
| | | secureArgsList.adminUidArg.setHidden(false); |
| | | defaultArgs.remove(secureArgsList.hostNameArg); |
| | | defaultArgs.remove(secureArgsList.portArg); |
| | | referencedHostNameArg = new StringArgument("referencedHostName", |
| | | OPTION_SHORT_HOST, |
| | | OPTION_LONG_REFERENCED_HOST_NAME, false, false, true, |
| | | INFO_HOST_PLACEHOLDER.get(), |
| | | UserData.getDefaultHostName(), OPTION_LONG_REFERENCED_HOST_NAME, |
| | | INFO_DESCRIPTION_REFERENCED_HOST.get()); |
| | | referencedHostNameArg = |
| | | StringArgument.builder(OPTION_LONG_REFERENCED_HOST_NAME) |
| | | .shortIdentifier(OPTION_SHORT_HOST) |
| | | .description(INFO_DESCRIPTION_REFERENCED_HOST.get()) |
| | | .defaultValue(UserData.getDefaultHostName()) |
| | | .valuePlaceholder(INFO_HOST_PLACEHOLDER.get()) |
| | | .buildArgument(); |
| | | defaultArgs.add(referencedHostNameArg); |
| | | |
| | | args.addAll(defaultArgs); |
| | |
| | | */ |
| | | public String getDefaultAdministratorUID() |
| | | { |
| | | return secureArgsList.adminUidArg.getDefaultValue(); |
| | | return adminUidArg.getDefaultValue(); |
| | | } |
| | | |
| | | /** |
| | |
| | | * |
| | | * |
| | | * Copyright 2007-2010 Sun Microsystems, Inc. |
| | | * Portions Copyright 2011-2015 ForgeRock AS |
| | | * Portions Copyright 2011-2016 ForgeRock AS |
| | | */ |
| | | package org.opends.server.admin.client.cli; |
| | | |
| | | import static com.forgerock.opendj.cli.ArgumentConstants.*; |
| | | import static com.forgerock.opendj.cli.CliMessages.*; |
| | | import static com.forgerock.opendj.cli.ReturnCode.*; |
| | | import static com.forgerock.opendj.cli.Utils.*; |
| | |
| | | import java.util.List; |
| | | import java.util.Set; |
| | | |
| | | import com.forgerock.opendj.cli.ArgumentParser; |
| | | import org.forgerock.i18n.LocalizableMessage; |
| | | import org.forgerock.i18n.LocalizableMessageBuilder; |
| | | import org.forgerock.i18n.LocalizableMessageDescriptor.Arg1; |
| | |
| | | /** The 'bindDN' global argument. */ |
| | | public StringArgument bindDnArg; |
| | | /** The 'adminUID' global argument. */ |
| | | public StringArgument adminUidArg; |
| | | public StringArgument adminUidHiddenArg; |
| | | /** The 'bindPasswordFile' global argument. */ |
| | | public FileBasedArgument bindPasswordFileArg; |
| | | /** The 'bindPassword' global argument. */ |
| | |
| | | */ |
| | | public String getAdministratorUID() |
| | | { |
| | | if (adminUidArg.isPresent()) |
| | | if (adminUidHiddenArg.isPresent()) |
| | | { |
| | | return adminUidArg.getValue(); |
| | | return adminUidHiddenArg.getValue(); |
| | | } |
| | | return adminUidArg.getDefaultValue(); |
| | | return adminUidHiddenArg.getDefaultValue(); |
| | | } |
| | | |
| | | /** |
| | |
| | | */ |
| | | public boolean useAdminUID() |
| | | { |
| | | return !adminUidArg.isHidden(); |
| | | return !adminUidHiddenArg.isHidden(); |
| | | } |
| | | |
| | | /** |
| | |
| | | argList.add(useStartTLSArg); |
| | | } |
| | | |
| | | String defaultHostName; |
| | | try |
| | | { |
| | | defaultHostName = InetAddress.getLocalHost().getHostName(); |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | defaultHostName = "Unknown (" + e + ")"; |
| | | } |
| | | hostNameArg = CommonArguments.getHostName(defaultHostName); |
| | | hostNameArg = CommonArguments.getHostName(getDefaultHostName()); |
| | | argList.add(hostNameArg); |
| | | |
| | | portArg = CommonArguments.getPort(AdministrationConnector.DEFAULT_ADMINISTRATION_CONNECTOR_PORT, |
| | | alwaysSSL ? INFO_DESCRIPTION_ADMIN_PORT.get() : INFO_DESCRIPTION_PORT.get()); |
| | | portArg = createPortArgument(AdministrationConnector.DEFAULT_ADMINISTRATION_CONNECTOR_PORT); |
| | | argList.add(portArg); |
| | | |
| | | bindDnArg = CommonArguments.getBindDN(CliConstants.DEFAULT_ROOT_USER_DN); |
| | | argList.add(bindDnArg); |
| | | |
| | | // It is up to the classes that required admin UID to make this argument |
| | | // visible and add it. |
| | | adminUidArg = new StringArgument("adminUID", 'I', OPTION_LONG_ADMIN_UID, false, false, true, |
| | | INFO_ADMINUID_PLACEHOLDER.get(), CliConstants.GLOBAL_ADMIN_UID, |
| | | null, INFO_DESCRIPTION_ADMIN_UID.get()); |
| | | adminUidArg.setPropertyName(OPTION_LONG_ADMIN_UID); |
| | | adminUidArg.setHidden(true); |
| | | // Classes that required admin UID to be not hidden must use CommonsArguments.getAdminUid(). |
| | | adminUidHiddenArg = CommonArguments.getAdminUidHidden(INFO_DESCRIPTION_ADMIN_UID.get()); |
| | | |
| | | bindPasswordArg = CommonArguments.getBindPassword(); |
| | | argList.add(bindPasswordArg); |
| | |
| | | argList.add(certNicknameArg); |
| | | |
| | | connectTimeoutArg = CommonArguments.getConnectTimeOut(); |
| | | connectTimeoutArg.setHidden(false); |
| | | argList.add(connectTimeoutArg); |
| | | |
| | | return argList; |
| | |
| | | } |
| | | |
| | | /** |
| | | * Returns the current hostname. |
| | | * |
| | | * If the hostname resolution fails, this method returns {@literal "localhost"}. |
| | | * @return the current hostname |
| | | */ |
| | | public String getDefaultHostName() { |
| | | try |
| | | { |
| | | return InetAddress.getLocalHost().getHostName(); |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | return "localhost"; |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * Get the port which has to be used for the command. |
| | | * |
| | | * @return The port specified by the command line argument, or the default |
| | |
| | | * Updates the default values of the port and the trust store with what is |
| | | * read in the configuration. |
| | | * |
| | | * @throws ConfigException |
| | | * if there is an error reading the configuration. |
| | | * @param parser |
| | | * The argument parser where the secure connection arguments were added. |
| | | */ |
| | | public void initArgumentsWithConfiguration() throws ConfigException |
| | | { |
| | | portArg.setDefaultValue(String.valueOf(getPortFromConfig())); |
| | | |
| | | String truststoreFileAbsolute = getTruststoreFileFromConfig(); |
| | | if (truststoreFileAbsolute != null) |
| | | public void initArgumentsWithConfiguration(final ArgumentParser parser) { |
| | | try |
| | | { |
| | | trustStorePathArg.setDefaultValue(truststoreFileAbsolute); |
| | | portArg = createPortArgument(getPortFromConfig()); |
| | | trustStorePathArg = CommonArguments.getTrustStorePathArgument(getTruststoreFileFromConfig()); |
| | | parser.replaceArgument(portArg); |
| | | parser.replaceArgument(trustStorePathArg); |
| | | } |
| | | catch (ConfigException | ArgumentException e) |
| | | { |
| | | logger.error(LocalizableMessage.raw( |
| | | "Internal error while reading arguments of this program from configuration"), e); |
| | | } |
| | | } |
| | | |
| | | private IntegerArgument createPortArgument(final int defaultValue) throws ArgumentException |
| | | { |
| | | return CommonArguments.getPort( |
| | | defaultValue, alwaysSSL ? INFO_DESCRIPTION_ADMIN_PORT.get() : INFO_DESCRIPTION_PORT.get()); |
| | | } |
| | | } |
| | |
| | | |
| | | private void createTaskArguments() throws ArgumentException |
| | | { |
| | | startArg = new StringArgument(OPTION_LONG_START_DATETIME, |
| | | OPTION_SHORT_START_DATETIME, OPTION_LONG_START_DATETIME, false, false, |
| | | true, INFO_START_DATETIME_PLACEHOLDER.get(), null, null, |
| | | INFO_DESCRIPTION_START_DATETIME.get()); |
| | | startArg = |
| | | StringArgument.builder(OPTION_LONG_START_DATETIME) |
| | | .shortIdentifier(OPTION_SHORT_START_DATETIME) |
| | | .description(INFO_DESCRIPTION_START_DATETIME.get()) |
| | | .valuePlaceholder(INFO_START_DATETIME_PLACEHOLDER.get()) |
| | | .buildArgument(); |
| | | recurringArg = |
| | | StringArgument.builder(OPTION_LONG_RECURRING_TASK) |
| | | .shortIdentifier(OPTION_SHORT_RECURRING_TASK) |
| | | .description(INFO_DESCRIPTION_RECURRING_TASK.get()) |
| | | .valuePlaceholder(INFO_RECURRING_TASK_PLACEHOLDER.get()) |
| | | .buildArgument(); |
| | | completionNotificationArg = |
| | | StringArgument.builder(OPTION_LONG_COMPLETION_NOTIFICATION_EMAIL) |
| | | .shortIdentifier(OPTION_SHORT_COMPLETION_NOTIFICATION_EMAIL) |
| | | .description(INFO_DESCRIPTION_TASK_COMPLETION_NOTIFICATION.get()) |
| | | .multiValued() |
| | | .valuePlaceholder(INFO_EMAIL_ADDRESS_PLACEHOLDER.get()) |
| | | .buildArgument(); |
| | | errorNotificationArg = |
| | | StringArgument.builder(OPTION_LONG_ERROR_NOTIFICATION_EMAIL) |
| | | .shortIdentifier(OPTION_SHORT_ERROR_NOTIFICATION_EMAIL) |
| | | .description(INFO_DESCRIPTION_TASK_ERROR_NOTIFICATION.get()) |
| | | .multiValued() |
| | | .valuePlaceholder(INFO_EMAIL_ADDRESS_PLACEHOLDER.get()) |
| | | .buildArgument(); |
| | | dependencyArg = |
| | | StringArgument.builder(OPTION_LONG_DEPENDENCY) |
| | | .shortIdentifier(OPTION_SHORT_DEPENDENCY) |
| | | .description(INFO_DESCRIPTION_TASK_DEPENDENCY_ID.get()) |
| | | .multiValued() |
| | | .valuePlaceholder(INFO_TASK_ID_PLACEHOLDER.get()) |
| | | .buildArgument(); |
| | | |
| | | recurringArg = new StringArgument(OPTION_LONG_RECURRING_TASK, |
| | | OPTION_SHORT_RECURRING_TASK, OPTION_LONG_RECURRING_TASK, false, false, |
| | | true, INFO_RECURRING_TASK_PLACEHOLDER.get(), null, null, |
| | | INFO_DESCRIPTION_RECURRING_TASK.get()); |
| | | |
| | | completionNotificationArg = new StringArgument( |
| | | OPTION_LONG_COMPLETION_NOTIFICATION_EMAIL, |
| | | OPTION_SHORT_COMPLETION_NOTIFICATION_EMAIL, |
| | | OPTION_LONG_COMPLETION_NOTIFICATION_EMAIL, false, true, true, |
| | | INFO_EMAIL_ADDRESS_PLACEHOLDER.get(), null, null, |
| | | INFO_DESCRIPTION_TASK_COMPLETION_NOTIFICATION.get()); |
| | | |
| | | errorNotificationArg = new StringArgument( |
| | | OPTION_LONG_ERROR_NOTIFICATION_EMAIL, |
| | | OPTION_SHORT_ERROR_NOTIFICATION_EMAIL, |
| | | OPTION_LONG_ERROR_NOTIFICATION_EMAIL, false, true, true, |
| | | INFO_EMAIL_ADDRESS_PLACEHOLDER.get(), null, null, |
| | | INFO_DESCRIPTION_TASK_ERROR_NOTIFICATION.get()); |
| | | |
| | | dependencyArg = new StringArgument(OPTION_LONG_DEPENDENCY, |
| | | OPTION_SHORT_DEPENDENCY, OPTION_LONG_DEPENDENCY, false, true, true, |
| | | INFO_TASK_ID_PLACEHOLDER.get(), null, null, |
| | | INFO_DESCRIPTION_TASK_DEPENDENCY_ID.get()); |
| | | |
| | | Set<FailedDependencyAction> fdaValSet = |
| | | EnumSet.allOf(FailedDependencyAction.class); |
| | | failedDependencyActionArg = new StringArgument( |
| | | OPTION_LONG_FAILED_DEPENDENCY_ACTION, |
| | | OPTION_SHORT_FAILED_DEPENDENCY_ACTION, |
| | | OPTION_LONG_FAILED_DEPENDENCY_ACTION, false, true, true, |
| | | INFO_ACTION_PLACEHOLDER.get(), null, null, |
| | | INFO_DESCRIPTION_TASK_FAILED_DEPENDENCY_ACTION.get( |
| | | Utils.joinAsString(",", fdaValSet), |
| | | FailedDependencyAction.defaultValue().name())); |
| | | |
| | | for (Argument arg : getArguments()) |
| | | { |
| | | arg.setPropertyName(arg.getLongIdentifier()); |
| | | } |
| | | final Set<FailedDependencyAction> fdaValSet = EnumSet.allOf(FailedDependencyAction.class); |
| | | failedDependencyActionArg = |
| | | StringArgument.builder(OPTION_LONG_FAILED_DEPENDENCY_ACTION) |
| | | .shortIdentifier(OPTION_SHORT_FAILED_DEPENDENCY_ACTION) |
| | | .description(INFO_DESCRIPTION_TASK_FAILED_DEPENDENCY_ACTION.get( |
| | | Utils.joinAsString(",", fdaValSet), FailedDependencyAction.defaultValue().name())) |
| | | .multiValued() |
| | | .valuePlaceholder(INFO_ACTION_PLACEHOLDER.get()) |
| | | .buildArgument(); |
| | | } |
| | | |
| | | /** |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2015 ForgeRock AS. |
| | | * Portions Copyright 2015-2016 ForgeRock AS. |
| | | */ |
| | | package org.opends.server.backends.pluggable; |
| | | |
| | |
| | | if (!globalArgumentsInitialized) |
| | | { |
| | | configClass = |
| | | new StringArgument("configclass", OPTION_SHORT_CONFIG_CLASS, OPTION_LONG_CONFIG_CLASS, true, false, true, |
| | | INFO_CONFIGCLASS_PLACEHOLDER.get(), ConfigFileHandler.class.getName(), null, |
| | | INFO_DESCRIPTION_CONFIG_CLASS.get()); |
| | | configClass.setHidden(true); |
| | | |
| | | StringArgument.builder(OPTION_LONG_CONFIG_CLASS) |
| | | .shortIdentifier(OPTION_SHORT_CONFIG_CLASS) |
| | | .description(INFO_DESCRIPTION_CONFIG_CLASS.get()) |
| | | .hidden() |
| | | .required() |
| | | .defaultValue(ConfigFileHandler.class.getName()) |
| | | .valuePlaceholder(INFO_CONFIGCLASS_PLACEHOLDER.get()) |
| | | .buildArgument(); |
| | | configFile = |
| | | new StringArgument("configfile", 'f', "configFile", true, false, true, INFO_CONFIGFILE_PLACEHOLDER.get(), |
| | | null, null, INFO_DESCRIPTION_CONFIG_FILE.get()); |
| | | configFile.setHidden(true); |
| | | StringArgument.builder("configFile") |
| | | .shortIdentifier('f') |
| | | .description(INFO_DESCRIPTION_CONFIG_FILE.get()) |
| | | .hidden() |
| | | .required() |
| | | .valuePlaceholder(INFO_CONFIGFILE_PLACEHOLDER.get()) |
| | | .buildArgument(); |
| | | |
| | | showUsageArgument = CommonArguments.getShowUsage(); |
| | | |
| | |
| | | INFO_DESCRIPTION_BACKEND_TOOL_SUBCMD_LIST_BACKENDS.get()); |
| | | |
| | | // list-base-dns |
| | | SubCommand sub = new SubCommand(parser, LIST_BASE_DNS, |
| | | INFO_DESCRIPTION_BACKEND_DEBUG_SUBCMD_LIST_ENTRY_CONTAINERS.get()); |
| | | addBackendArgument(sub); |
| | | addBackendArgument(new SubCommand( |
| | | parser, LIST_BASE_DNS, INFO_DESCRIPTION_BACKEND_DEBUG_SUBCMD_LIST_ENTRY_CONTAINERS.get())); |
| | | |
| | | // list-indexes |
| | | sub = new SubCommand(parser, LIST_INDEXES, INFO_DESCRIPTION_BACKEND_TOOL_SUBCMD_LIST_INDEXES.get()); |
| | | addBackendBaseDNArguments(sub, false, false, true); |
| | | final SubCommand listIndexes = new SubCommand( |
| | | parser, LIST_INDEXES, INFO_DESCRIPTION_BACKEND_TOOL_SUBCMD_LIST_INDEXES.get()); |
| | | addBackendBaseDNArguments(listIndexes, false, false); |
| | | |
| | | // show-index-status |
| | | sub = new SubCommand(parser, SHOW_INDEX_STATUS, INFO_DESCRIPTION_BACKEND_DEBUG_SUBCMD_LIST_INDEX_STATUS.get()); |
| | | sub.setDocDescriptionSupplement(SUPPLEMENT_DESCRIPTION_BACKEND_TOOL_SUBCMD_LIST_INDEX_STATUS.get()); |
| | | addBackendBaseDNArguments(sub, true, true, true); |
| | | final SubCommand showIndexStatus = new SubCommand( |
| | | parser, SHOW_INDEX_STATUS, INFO_DESCRIPTION_BACKEND_DEBUG_SUBCMD_LIST_INDEX_STATUS.get()); |
| | | showIndexStatus.setDocDescriptionSupplement(SUPPLEMENT_DESCRIPTION_BACKEND_TOOL_SUBCMD_LIST_INDEX_STATUS.get()); |
| | | addBackendBaseDNArguments(showIndexStatus, true, true); |
| | | |
| | | // dump-index |
| | | sub = new SubCommand(parser, DUMP_INDEX, INFO_DESCRIPTION_BACKEND_TOOL_SUBCMD_DUMP_INDEX.get()); |
| | | addBackendBaseDNArguments(sub, true, false, true); |
| | | sub.addArgument(new StringArgument(INDEXNAME_NAME, 'i', INDEXNAME, true, false, true, |
| | | INFO_INDEX_NAME_PLACEHOLDER.get(), null, null, |
| | | INFO_DESCRIPTION_BACKEND_DEBUG_INDEX_NAME.get())); |
| | | addDumpSubCommandArguments(sub); |
| | | BooleanArgument skipDecode = |
| | | new BooleanArgument(SKIPDECODE_NAME, 'p', SKIPDECODE, INFO_DESCRIPTION_BACKEND_DEBUG_SKIP_DECODE.get()); |
| | | sub.addArgument(skipDecode); |
| | | final SubCommand dumpIndex = new SubCommand( |
| | | parser, DUMP_INDEX, INFO_DESCRIPTION_BACKEND_TOOL_SUBCMD_DUMP_INDEX.get()); |
| | | addBackendBaseDNArguments(dumpIndex, true, false); |
| | | dumpIndex.addArgument(StringArgument.builder(INDEXNAME) |
| | | .shortIdentifier('i') |
| | | .description(INFO_DESCRIPTION_BACKEND_DEBUG_INDEX_NAME.get()) |
| | | .required() |
| | | .valuePlaceholder(INFO_INDEX_NAME_PLACEHOLDER.get()) |
| | | .buildArgument()); |
| | | addDumpSubCommandArguments(dumpIndex); |
| | | dumpIndex.addArgument(BooleanArgument.builder(SKIPDECODE) |
| | | .shortIdentifier('p') |
| | | .description(INFO_DESCRIPTION_BACKEND_DEBUG_SKIP_DECODE.get()) |
| | | .buildArgument()); |
| | | |
| | | // list-raw-dbs |
| | | sub = new SubCommand(parser, LIST_RAW_DBS, INFO_DESCRIPTION_BACKEND_TOOL_SUBCMD_LIST_RAW_DBS.get()); |
| | | addBackendArgument(sub); |
| | | BooleanArgument useSIUnits = |
| | | new BooleanArgument(USESIUNITS_NAME, 'u', USESIUNITS, INFO_DESCRIPTION_BACKEND_TOOL_USE_SI_UNITS.get()); |
| | | sub.addArgument(useSIUnits); |
| | | final SubCommand listRawDBs = new SubCommand( |
| | | parser, LIST_RAW_DBS, INFO_DESCRIPTION_BACKEND_TOOL_SUBCMD_LIST_RAW_DBS.get()); |
| | | addBackendArgument(listRawDBs); |
| | | listRawDBs.addArgument(BooleanArgument.builder(USESIUNITS) |
| | | .shortIdentifier('u') |
| | | .description(INFO_DESCRIPTION_BACKEND_TOOL_USE_SI_UNITS.get()) |
| | | .buildArgument()); |
| | | |
| | | // dump-raw-db |
| | | sub = new SubCommand(parser, DUMP_RAW_DB, INFO_DESCRIPTION_BACKEND_TOOL_SUBCMD_DUMP_RAW_DB.get()); |
| | | addBackendArgument(sub); |
| | | sub.addArgument(new StringArgument(DBNAME_NAME, 'd', DBNAME, true, false, true, |
| | | INFO_DATABASE_NAME_PLACEHOLDER.get(), null, null, |
| | | INFO_DESCRIPTION_BACKEND_DEBUG_RAW_DB_NAME.get())); |
| | | addDumpSubCommandArguments(sub); |
| | | BooleanArgument singleLine = |
| | | new BooleanArgument(SINGLELINE_NAME, 'l', SINGLELINE, INFO_DESCRIPTION_BACKEND_TOOL_SUBCMD_SINGLE_LINE.get()); |
| | | sub.addArgument(singleLine); |
| | | final SubCommand dumbRawDB = new SubCommand( |
| | | parser, DUMP_RAW_DB, INFO_DESCRIPTION_BACKEND_TOOL_SUBCMD_DUMP_RAW_DB.get()); |
| | | addBackendArgument(dumbRawDB); |
| | | dumbRawDB.addArgument(StringArgument.builder(DBNAME) |
| | | .shortIdentifier('d') |
| | | .description(INFO_DESCRIPTION_BACKEND_DEBUG_RAW_DB_NAME.get()) |
| | | .required() |
| | | .valuePlaceholder(INFO_DATABASE_NAME_PLACEHOLDER.get()) |
| | | .buildArgument()); |
| | | addDumpSubCommandArguments(dumbRawDB); |
| | | dumbRawDB.addArgument(BooleanArgument.builder(SINGLELINE) |
| | | .shortIdentifier('l') |
| | | .description(INFO_DESCRIPTION_BACKEND_TOOL_SUBCMD_SINGLE_LINE.get()) |
| | | .buildArgument()); |
| | | |
| | | subCommandsInitialized = true; |
| | | } |
| | |
| | | private void addBackendArgument(SubCommand sub) throws ArgumentException |
| | | { |
| | | sub.addArgument( |
| | | new StringArgument(BACKENDID_NAME, 'n', BACKENDID, true, false, true, INFO_BACKENDNAME_PLACEHOLDER.get(), null, |
| | | null, INFO_DESCRIPTION_BACKEND_DEBUG_BACKEND_ID.get())); |
| | | StringArgument.builder(BACKENDID) |
| | | .shortIdentifier('n') |
| | | .description(INFO_DESCRIPTION_BACKEND_DEBUG_BACKEND_ID.get()) |
| | | .required() |
| | | .valuePlaceholder(INFO_BACKENDNAME_PLACEHOLDER.get()) |
| | | .buildArgument()); |
| | | } |
| | | |
| | | private void addBackendBaseDNArguments(SubCommand sub, boolean isRequired, boolean isMultiValued, boolean needsValue) |
| | | private void addBackendBaseDNArguments(SubCommand sub, boolean isRequired, boolean isMultiValued) |
| | | throws ArgumentException |
| | | { |
| | | addBackendArgument(sub); |
| | | sub.addArgument(new StringArgument(BASEDN_NAME, 'b', BASEDN, isRequired, isMultiValued, needsValue, |
| | | INFO_BASEDN_PLACEHOLDER.get(), null, null, INFO_DESCRIPTION_BACKEND_DEBUG_BASE_DN.get())); |
| | | final StringArgument.Builder builder = StringArgument.builder(BASEDN) |
| | | .shortIdentifier('b') |
| | | .description(INFO_DESCRIPTION_BACKEND_DEBUG_BASE_DN.get()) |
| | | .valuePlaceholder(INFO_BASEDN_PLACEHOLDER.get()); |
| | | if (isMultiValued) |
| | | { |
| | | builder.multiValued(); |
| | | } |
| | | if (isRequired) { |
| | | builder.required(); |
| | | } |
| | | sub.addArgument(builder.buildArgument()); |
| | | } |
| | | |
| | | private void addDumpSubCommandArguments(SubCommand sub) throws ArgumentException |
| | | { |
| | | sub.addArgument(new BooleanArgument(STATSONLY_NAME, 'q', STATSONLY, |
| | | INFO_DESCRIPTION_BACKEND_DEBUG_STATS_ONLY.get())); |
| | | sub.addArgument(BooleanArgument.builder(STATSONLY) |
| | | .shortIdentifier('q') |
| | | .description(INFO_DESCRIPTION_BACKEND_DEBUG_STATS_ONLY.get()) |
| | | .buildArgument()); |
| | | |
| | | sub.addArgument(newMaxKeyValueArg()); |
| | | sub.addArgument(newMinKeyValueArg()); |
| | | sub.addArgument(new StringArgument(MAXHEXKEYVALUE_NAME, 'X', MAXHEXKEYVALUE, false, false, true, |
| | | INFO_MAX_KEY_VALUE_PLACEHOLDER.get(), null, null, INFO_DESCRIPTION_BACKEND_DEBUG_MAX_KEY_VALUE.get())); |
| | | sub.addArgument(new StringArgument(MINHEXKEYVALUE_NAME, 'x', MINHEXKEYVALUE, false, false, true, |
| | | INFO_MIN_KEY_VALUE_PLACEHOLDER.get(), null, null, INFO_DESCRIPTION_BACKEND_DEBUG_MIN_KEY_VALUE.get())); |
| | | sub.addArgument(new IntegerArgument(MAXDATASIZE_NAME, 'S', MAXDATASIZE, false, false, true, |
| | | INFO_MAX_DATA_SIZE_PLACEHOLDER.get(), -1, null, INFO_DESCRIPTION_BACKEND_DEBUG_MAX_DATA_SIZE.get())); |
| | | sub.addArgument(new IntegerArgument(MINDATASIZE_NAME, 's', MINDATASIZE, false, false, true, |
| | | INFO_MIN_DATA_SIZE_PLACEHOLDER.get(), -1, null, INFO_DESCRIPTION_BACKEND_DEBUG_MIN_DATA_SIZE.get())); |
| | | sub.addArgument(StringArgument.builder(MAXHEXKEYVALUE) |
| | | .shortIdentifier('X') |
| | | .description(INFO_DESCRIPTION_BACKEND_DEBUG_MAX_KEY_VALUE.get()) |
| | | .valuePlaceholder(INFO_MAX_KEY_VALUE_PLACEHOLDER.get()) |
| | | .buildArgument()); |
| | | |
| | | sub.addArgument(StringArgument.builder(MINHEXKEYVALUE) |
| | | .shortIdentifier('x') |
| | | .description(INFO_DESCRIPTION_BACKEND_DEBUG_MIN_KEY_VALUE.get()) |
| | | .valuePlaceholder(INFO_MIN_KEY_VALUE_PLACEHOLDER.get()) |
| | | .buildArgument()); |
| | | |
| | | sub.addArgument(IntegerArgument.builder(MAXDATASIZE) |
| | | .shortIdentifier('S') |
| | | .description(INFO_DESCRIPTION_BACKEND_DEBUG_MAX_DATA_SIZE.get()) |
| | | .defaultValue(-1) |
| | | .valuePlaceholder(INFO_MAX_DATA_SIZE_PLACEHOLDER.get()) |
| | | .buildArgument()); |
| | | |
| | | sub.addArgument(IntegerArgument.builder(MINDATASIZE) |
| | | .shortIdentifier('s') |
| | | .description(INFO_DESCRIPTION_BACKEND_DEBUG_MIN_DATA_SIZE.get()) |
| | | .defaultValue(-1) |
| | | .valuePlaceholder(INFO_MIN_DATA_SIZE_PLACEHOLDER.get()) |
| | | .buildArgument()); |
| | | } |
| | | |
| | | private StringArgument newMinKeyValueArg() throws ArgumentException |
| | | { |
| | | return new StringArgument(MINKEYVALUE_NAME, 'k', MINKEYVALUE, false, false, true, |
| | | INFO_MIN_KEY_VALUE_PLACEHOLDER.get(), null, null, INFO_DESCRIPTION_BACKEND_DEBUG_MIN_KEY_VALUE.get()); |
| | | return StringArgument.builder(MINKEYVALUE) |
| | | .shortIdentifier('k') |
| | | .description(INFO_DESCRIPTION_BACKEND_DEBUG_MIN_KEY_VALUE.get()) |
| | | .valuePlaceholder(INFO_MIN_KEY_VALUE_PLACEHOLDER.get()) |
| | | .buildArgument(); |
| | | } |
| | | |
| | | private StringArgument newMaxKeyValueArg() throws ArgumentException |
| | | { |
| | | return new StringArgument(MAXKEYVALUE_NAME, 'K', MAXKEYVALUE, false, false, true, |
| | | INFO_MAX_KEY_VALUE_PLACEHOLDER.get(), null, null, INFO_DESCRIPTION_BACKEND_DEBUG_MAX_KEY_VALUE.get()); |
| | | return StringArgument.builder(MAXKEYVALUE) |
| | | .shortIdentifier('K') |
| | | .description(INFO_DESCRIPTION_BACKEND_DEBUG_MAX_KEY_VALUE.get()) |
| | | .valuePlaceholder(INFO_MAX_KEY_VALUE_PLACEHOLDER.get()) |
| | | .buildArgument(); |
| | | } |
| | | |
| | | /** |
| | |
| | | public static void main(String[] args) |
| | | { |
| | | // Define the arguments that may be provided to the server. |
| | | final BooleanArgument displayUsage; |
| | | BooleanArgument checkStartability = null; |
| | | BooleanArgument quietMode = null; |
| | | IntegerArgument timeout = null; |
| | | BooleanArgument windowsNetStart = null; |
| | | BooleanArgument displayUsage = null; |
| | | BooleanArgument fullVersion = null; |
| | | BooleanArgument noDetach = null; |
| | | BooleanArgument systemInfo = null; |
| | |
| | | // Initialize all the command-line argument types and register them with the parser. |
| | | try |
| | | { |
| | | configClass = new StringArgument("configclass", 'C', "configClass", |
| | | true, false, true, |
| | | INFO_CONFIGCLASS_PLACEHOLDER.get(), |
| | | ConfigFileHandler.class.getName(), null, |
| | | INFO_DSCORE_DESCRIPTION_CONFIG_CLASS.get()); |
| | | configClass.setHidden(true); |
| | | argParser.addArgument(configClass); |
| | | |
| | | configFile = new StringArgument("configfile", 'f', "configFile", |
| | | true, false, true, |
| | | INFO_CONFIGFILE_PLACEHOLDER.get(), null, |
| | | null, |
| | | INFO_DSCORE_DESCRIPTION_CONFIG_FILE.get()); |
| | | configFile.setHidden(true); |
| | | argParser.addArgument(configFile); |
| | | |
| | | checkStartability = new BooleanArgument("checkstartability", null, |
| | | "checkStartability", |
| | | INFO_DSCORE_DESCRIPTION_CHECK_STARTABILITY.get()); |
| | | checkStartability.setHidden(true); |
| | | argParser.addArgument(checkStartability); |
| | | |
| | | windowsNetStart = new BooleanArgument("windowsnetstart", null, "windowsNetStart", |
| | | INFO_DSCORE_DESCRIPTION_WINDOWS_NET_START.get()); |
| | | windowsNetStart.setHidden(true); |
| | | argParser.addArgument(windowsNetStart); |
| | | |
| | | fullVersion = new BooleanArgument("fullversion", 'F', "fullVersion", |
| | | INFO_DSCORE_DESCRIPTION_FULLVERSION.get()); |
| | | fullVersion.setHidden(true); |
| | | argParser.addArgument(fullVersion); |
| | | |
| | | systemInfo = new BooleanArgument("systeminfo", 's', "systemInfo", |
| | | INFO_DSCORE_DESCRIPTION_SYSINFO.get()); |
| | | argParser.addArgument(systemInfo); |
| | | |
| | | BooleanArgument.builder("windowsNetStart") |
| | | .description(INFO_DSCORE_DESCRIPTION_WINDOWS_NET_START.get()) |
| | | .hidden() |
| | | .buildAndAddToParser(argParser); |
| | | configClass = |
| | | StringArgument.builder("configClass") |
| | | .shortIdentifier('C') |
| | | .description(INFO_DSCORE_DESCRIPTION_CONFIG_CLASS.get()) |
| | | .hidden() |
| | | .required() |
| | | .defaultValue(ConfigFileHandler.class.getName()) |
| | | .valuePlaceholder(INFO_CONFIGCLASS_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | configFile = |
| | | StringArgument.builder("configFile") |
| | | .shortIdentifier('f') |
| | | .description(INFO_DSCORE_DESCRIPTION_CONFIG_FILE.get()) |
| | | .hidden() |
| | | .required() |
| | | .valuePlaceholder(INFO_CONFIGFILE_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | checkStartability = |
| | | BooleanArgument.builder("checkStartability") |
| | | .description(INFO_DSCORE_DESCRIPTION_CHECK_STARTABILITY.get()) |
| | | .hidden() |
| | | .buildAndAddToParser(argParser); |
| | | fullVersion = |
| | | BooleanArgument.builder("fullVersion") |
| | | .shortIdentifier('F') |
| | | .description(INFO_DSCORE_DESCRIPTION_FULLVERSION.get()) |
| | | .hidden() |
| | | .buildAndAddToParser(argParser); |
| | | systemInfo = |
| | | BooleanArgument.builder("systemInfo") |
| | | .shortIdentifier('s') |
| | | .description(INFO_DSCORE_DESCRIPTION_SYSINFO.get()) |
| | | .buildAndAddToParser(argParser); |
| | | useLastKnownGoodConfig = |
| | | new BooleanArgument("lastknowngoodconfig", 'L', |
| | | "useLastKnownGoodConfig", |
| | | INFO_DSCORE_DESCRIPTION_LASTKNOWNGOODCFG.get()); |
| | | argParser.addArgument(useLastKnownGoodConfig); |
| | | |
| | | noDetach = new BooleanArgument("nodetach", 'N', "nodetach", |
| | | INFO_DSCORE_DESCRIPTION_NODETACH.get()); |
| | | argParser.addArgument(noDetach); |
| | | BooleanArgument.builder("useLastKnownGoodConfig") |
| | | .shortIdentifier('L') |
| | | .description(INFO_DSCORE_DESCRIPTION_LASTKNOWNGOODCFG.get()) |
| | | .buildAndAddToParser(argParser); |
| | | noDetach = |
| | | BooleanArgument.builder("nodetach") |
| | | .shortIdentifier('N') |
| | | .description(INFO_DSCORE_DESCRIPTION_NODETACH.get()) |
| | | .buildAndAddToParser(argParser); |
| | | |
| | | quietMode = CommonArguments.getQuiet(); |
| | | argParser.addArgument(quietMode); |
| | | |
| | | // Not used in this class, but required by the start-ds script |
| | | // (see issue #3814) |
| | | timeout = new IntegerArgument("timeout", 't', "timeout", true, false, |
| | | true, INFO_SECONDS_PLACEHOLDER.get(), |
| | | DEFAULT_TIMEOUT, |
| | | null, true, 0, false, |
| | | 0, INFO_DSCORE_DESCRIPTION_TIMEOUT.get()); |
| | | argParser.addArgument(timeout); |
| | | |
| | | // Not used in this class, but required by the start-ds script (see issue #3814) |
| | | timeout = |
| | | IntegerArgument.builder("timeout") |
| | | .shortIdentifier('t') |
| | | .description(INFO_DSCORE_DESCRIPTION_TIMEOUT.get()) |
| | | .required() |
| | | .lowerBound(0) |
| | | .defaultValue(DEFAULT_TIMEOUT) |
| | | .valuePlaceholder(INFO_SECONDS_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | displayUsage = CommonArguments.getShowUsage(); |
| | | argParser.addArgument(displayUsage); |
| | | argParser.setUsageArgument(displayUsage); |
| | |
| | | * |
| | | * |
| | | * Copyright 2006-2008 Sun Microsystems, Inc. |
| | | * Portions Copyright 2012-2015 ForgeRock AS |
| | | * Portions Copyright 2012-2016 ForgeRock AS |
| | | */ |
| | | package org.opends.server.plugins.profiler; |
| | | |
| | |
| | | try |
| | | { |
| | | fileNames = |
| | | new StringArgument("filenames", 'f', "fileName", true, true, true, |
| | | INFO_FILE_PLACEHOLDER.get(), null, null, |
| | | INFO_PROFILEVIEWER_DESCRIPTION_FILENAMES.get()); |
| | | argParser.addArgument(fileNames); |
| | | |
| | | useGUI = new BooleanArgument( |
| | | "usegui", 'g', "useGUI", |
| | | INFO_PROFILEVIEWER_DESCRIPTION_USE_GUI.get()); |
| | | argParser.addArgument(useGUI); |
| | | StringArgument.builder("fileName") |
| | | .shortIdentifier('f') |
| | | .description(INFO_PROFILEVIEWER_DESCRIPTION_FILENAMES.get()) |
| | | .multiValued() |
| | | .required() |
| | | .valuePlaceholder(INFO_FILE_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | useGUI = |
| | | BooleanArgument.builder("useGUI") |
| | | .shortIdentifier('g') |
| | | .description(INFO_PROFILEVIEWER_DESCRIPTION_USE_GUI.get()) |
| | | .buildAndAddToParser(argParser); |
| | | |
| | | displayUsage = CommonArguments.getShowUsage(); |
| | | argParser.addArgument(displayUsage); |
| | |
| | | * |
| | | * |
| | | * Copyright 2006-2009 Sun Microsystems, Inc. |
| | | * Portions Copyright 2013-2015 ForgeRock AS. |
| | | * Portions Copyright 2013-2016 ForgeRock AS. |
| | | */ |
| | | package org.opends.server.tools; |
| | | |
| | |
| | | /** Define the command-line arguments that may be used with this program. */ |
| | | private BooleanArgument backUpAll; |
| | | private BooleanArgument compress; |
| | | private BooleanArgument displayUsage; |
| | | private BooleanArgument encrypt; |
| | | private BooleanArgument hash; |
| | | private BooleanArgument incremental; |
| | |
| | | try |
| | | { |
| | | configClass = |
| | | new StringArgument( |
| | | "configclass", OPTION_SHORT_CONFIG_CLASS, |
| | | OPTION_LONG_CONFIG_CLASS, true, false, |
| | | true, INFO_CONFIGCLASS_PLACEHOLDER.get(), |
| | | ConfigFileHandler.class.getName(), null, |
| | | INFO_DESCRIPTION_CONFIG_CLASS.get()); |
| | | configClass.setHidden(true); |
| | | argParser.addArgument(configClass); |
| | | |
| | | |
| | | StringArgument.builder(OPTION_LONG_CONFIG_CLASS) |
| | | .shortIdentifier(OPTION_SHORT_CONFIG_CLASS) |
| | | .description(INFO_DESCRIPTION_CONFIG_CLASS.get()) |
| | | .hidden() |
| | | .required() |
| | | .defaultValue(ConfigFileHandler.class.getName()) |
| | | .valuePlaceholder(INFO_CONFIGCLASS_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | configFile = |
| | | new StringArgument( |
| | | "configfile", 'f', "configFile", true, false, |
| | | true, INFO_CONFIGFILE_PLACEHOLDER.get(), null, null, |
| | | INFO_DESCRIPTION_CONFIG_FILE.get()); |
| | | configFile.setHidden(true); |
| | | argParser.addArgument(configFile); |
| | | |
| | | |
| | | StringArgument.builder("configFile") |
| | | .shortIdentifier('f') |
| | | .description(INFO_DESCRIPTION_CONFIG_FILE.get()) |
| | | .hidden() |
| | | .required() |
| | | .valuePlaceholder(INFO_CONFIGFILE_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | backendID = |
| | | new StringArgument( |
| | | "backendid", 'n', "backendID", false, true, true, |
| | | INFO_BACKENDNAME_PLACEHOLDER.get(), null, null, |
| | | INFO_BACKUPDB_DESCRIPTION_BACKEND_ID.get()); |
| | | argParser.addArgument(backendID); |
| | | |
| | | |
| | | backUpAll = new BooleanArgument( |
| | | "backupall", 'a', "backUpAll", |
| | | INFO_BACKUPDB_DESCRIPTION_BACKUP_ALL.get()); |
| | | argParser.addArgument(backUpAll); |
| | | |
| | | |
| | | StringArgument.builder("backendID") |
| | | .shortIdentifier('n') |
| | | .description(INFO_BACKUPDB_DESCRIPTION_BACKEND_ID.get()) |
| | | .multiValued() |
| | | .valuePlaceholder(INFO_BACKENDNAME_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | backUpAll = |
| | | BooleanArgument.builder("backUpAll") |
| | | .shortIdentifier('a') |
| | | .description(INFO_BACKUPDB_DESCRIPTION_BACKUP_ALL.get()) |
| | | .buildAndAddToParser(argParser); |
| | | backupIDString = |
| | | new StringArgument( |
| | | "backupid", 'I', "backupID", false, false, true, |
| | | INFO_BACKUPID_PLACEHOLDER.get(), null, null, |
| | | INFO_BACKUPDB_DESCRIPTION_BACKUP_ID.get()); |
| | | argParser.addArgument(backupIDString); |
| | | |
| | | |
| | | StringArgument.builder("backupID") |
| | | .shortIdentifier('I') |
| | | .description(INFO_BACKUPDB_DESCRIPTION_BACKUP_ID.get()) |
| | | .valuePlaceholder(INFO_BACKUPID_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | backupDirectory = |
| | | new StringArgument( |
| | | "backupdirectory", 'd', "backupDirectory", true, |
| | | false, true, INFO_BACKUPDIR_PLACEHOLDER.get(), null, null, |
| | | INFO_BACKUPDB_DESCRIPTION_BACKUP_DIR.get()); |
| | | argParser.addArgument(backupDirectory); |
| | | |
| | | |
| | | incremental = new BooleanArgument( |
| | | "incremental", 'i', "incremental", |
| | | INFO_BACKUPDB_DESCRIPTION_INCREMENTAL.get()); |
| | | argParser.addArgument(incremental); |
| | | |
| | | |
| | | StringArgument.builder("backupDirectory") |
| | | .shortIdentifier('d') |
| | | .description(INFO_BACKUPDB_DESCRIPTION_BACKUP_DIR.get()) |
| | | .required() |
| | | .valuePlaceholder(INFO_BACKUPDIR_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | incremental = |
| | | BooleanArgument.builder("incremental") |
| | | .shortIdentifier('i') |
| | | .description(INFO_BACKUPDB_DESCRIPTION_INCREMENTAL.get()) |
| | | .buildAndAddToParser(argParser); |
| | | incrementalBaseID = |
| | | new StringArgument( |
| | | "incrementalbaseid", 'B', "incrementalBaseID", |
| | | false, false, true, INFO_BACKUPID_PLACEHOLDER.get(), null, |
| | | null, |
| | | INFO_BACKUPDB_DESCRIPTION_INCREMENTAL_BASE_ID.get()); |
| | | argParser.addArgument(incrementalBaseID); |
| | | |
| | | |
| | | compress = new BooleanArgument( |
| | | "compress", OPTION_SHORT_COMPRESS, |
| | | OPTION_LONG_COMPRESS, |
| | | INFO_BACKUPDB_DESCRIPTION_COMPRESS.get()); |
| | | argParser.addArgument(compress); |
| | | |
| | | |
| | | encrypt = new BooleanArgument( |
| | | "encrypt", 'y', "encrypt", |
| | | INFO_BACKUPDB_DESCRIPTION_ENCRYPT.get()); |
| | | argParser.addArgument(encrypt); |
| | | |
| | | |
| | | hash = new BooleanArgument( |
| | | "hash", 'A', "hash", |
| | | INFO_BACKUPDB_DESCRIPTION_HASH.get()); |
| | | argParser.addArgument(hash); |
| | | |
| | | |
| | | StringArgument.builder("incrementalBaseID") |
| | | .shortIdentifier('B') |
| | | .description(INFO_BACKUPDB_DESCRIPTION_INCREMENTAL_BASE_ID.get()) |
| | | .valuePlaceholder(INFO_BACKUPID_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | compress = |
| | | BooleanArgument.builder(OPTION_LONG_COMPRESS) |
| | | .shortIdentifier(OPTION_SHORT_COMPRESS) |
| | | .description(INFO_BACKUPDB_DESCRIPTION_COMPRESS.get()) |
| | | .buildAndAddToParser(argParser); |
| | | encrypt = |
| | | BooleanArgument.builder("encrypt") |
| | | .shortIdentifier('y') |
| | | .description(INFO_BACKUPDB_DESCRIPTION_ENCRYPT.get()) |
| | | .buildAndAddToParser(argParser); |
| | | hash = |
| | | BooleanArgument.builder("hash") |
| | | .shortIdentifier('A') |
| | | .description(INFO_BACKUPDB_DESCRIPTION_HASH.get()) |
| | | .buildAndAddToParser(argParser); |
| | | signHash = |
| | | new BooleanArgument( |
| | | "signhash", 's', "signHash", |
| | | INFO_BACKUPDB_DESCRIPTION_SIGN_HASH.get()); |
| | | argParser.addArgument(signHash); |
| | | BooleanArgument.builder("signHash") |
| | | .shortIdentifier('s') |
| | | .description(INFO_BACKUPDB_DESCRIPTION_SIGN_HASH.get()) |
| | | .buildAndAddToParser(argParser); |
| | | |
| | | |
| | | displayUsage = CommonArguments.getShowUsage(); |
| | | final BooleanArgument displayUsage = CommonArguments.getShowUsage(); |
| | | argParser.addArgument(displayUsage); |
| | | argParser.setUsageArgument(displayUsage); |
| | | } |
| | |
| | | } |
| | | |
| | | // Init the default values so that they can appear also on the usage. |
| | | try |
| | | { |
| | | argParser.getArguments().initArgumentsWithConfiguration(); |
| | | } |
| | | catch (ConfigException ce) |
| | | { |
| | | // Ignore. |
| | | } |
| | | argParser.getArguments().initArgumentsWithConfiguration(argParser); |
| | | |
| | | // Parse the command-line arguments provided to this program. |
| | | try |
| | |
| | | * |
| | | * |
| | | * Copyright 2006-2009 Sun Microsystems, Inc. |
| | | * Portions Copyright 2012-2015 ForgeRock AS. |
| | | * Portions Copyright 2012-2016 ForgeRock AS. |
| | | */ |
| | | package org.opends.server.tools; |
| | | |
| | | import static com.forgerock.opendj.cli.CliMessages.INFO_FILE_PLACEHOLDER; |
| | | import static com.forgerock.opendj.cli.CliMessages.INFO_JMXPORT_PLACEHOLDER; |
| | | import static com.forgerock.opendj.cli.CliMessages.INFO_PORT_PLACEHOLDER; |
| | | import static org.opends.messages.ConfigMessages.*; |
| | | import static org.opends.messages.ExtensionMessages.*; |
| | | import static org.opends.messages.ProtocolMessages.*; |
| | |
| | | { |
| | | try |
| | | { |
| | | configFile = new StringArgument( |
| | | "configfile", 'c', "configFile", |
| | | true, false, true, INFO_CONFIGFILE_PLACEHOLDER.get(), |
| | | null, null, INFO_DESCRIPTION_CONFIG_FILE.get()); |
| | | configFile.setHidden(true); |
| | | argParser.addArgument(configFile); |
| | | |
| | | configClass = new StringArgument( |
| | | "configclass", OPTION_SHORT_CONFIG_CLASS, OPTION_LONG_CONFIG_CLASS, |
| | | false, false, true, INFO_CONFIGCLASS_PLACEHOLDER.get(), |
| | | ConfigFileHandler.class.getName(), null, INFO_DESCRIPTION_CONFIG_CLASS.get()); |
| | | configClass.setHidden(true); |
| | | argParser.addArgument(configClass); |
| | | configFile = |
| | | StringArgument.builder("configFile") |
| | | .shortIdentifier('c') |
| | | .description(INFO_DESCRIPTION_CONFIG_FILE.get()) |
| | | .hidden() |
| | | .required() |
| | | .valuePlaceholder(INFO_CONFIGFILE_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | configClass = |
| | | StringArgument.builder(OPTION_LONG_CONFIG_CLASS) |
| | | .shortIdentifier(OPTION_SHORT_CONFIG_CLASS) |
| | | .description(INFO_DESCRIPTION_CONFIG_CLASS.get()) |
| | | .hidden() |
| | | .defaultValue(ConfigFileHandler.class.getName()) |
| | | .valuePlaceholder(INFO_CONFIGCLASS_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | |
| | | String defaultHostName; |
| | | try |
| | |
| | | defaultHostName = "localhost"; |
| | | } |
| | | |
| | | hostName = new StringArgument( |
| | | OPTION_LONG_HOST.toLowerCase(), OPTION_SHORT_HOST, OPTION_LONG_HOST, |
| | | false, false, true, INFO_HOST_PLACEHOLDER.get(), |
| | | defaultHostName, null, INFO_INSTALLDS_DESCRIPTION_HOST_NAME.get()); |
| | | argParser.addArgument(hostName); |
| | | |
| | | ldapPort = new IntegerArgument( |
| | | "ldapport", OPTION_SHORT_PORT, "ldapPort", |
| | | false, false, true, INFO_LDAPPORT_PLACEHOLDER.get(), |
| | | 389, null, true, 1, true, 65535, INFO_CONFIGDS_DESCRIPTION_LDAP_PORT.get()); |
| | | argParser.addArgument(ldapPort); |
| | | |
| | | adminConnectorPort = new IntegerArgument( |
| | | "adminConnectorPort".toLowerCase(), null, "adminConnectorPort", |
| | | false, false, true, INFO_PORT_PLACEHOLDER.get(), |
| | | 4444, "adminConnectorPort", true, 1, true, 65535, INFO_INSTALLDS_DESCRIPTION_ADMINCONNECTORPORT.get()); |
| | | argParser.addArgument(adminConnectorPort); |
| | | |
| | | ldapsPort = new IntegerArgument( |
| | | "ldapsPort", 'P', "ldapsPort", |
| | | false, false, true, INFO_LDAPPORT_PLACEHOLDER.get(), |
| | | 636, null, true, 1, true, 65535, INFO_CONFIGDS_DESCRIPTION_LDAPS_PORT.get()); |
| | | argParser.addArgument(ldapsPort); |
| | | |
| | | enableStartTLS = new BooleanArgument( |
| | | "enableStartTLS", OPTION_SHORT_START_TLS, "enableStartTLS", |
| | | INFO_CONFIGDS_DESCRIPTION_ENABLE_START_TLS.get()); |
| | | argParser.addArgument(enableStartTLS); |
| | | |
| | | jmxPort = new IntegerArgument( |
| | | "jmxport", 'x', "jmxPort", |
| | | false, false, true, INFO_JMXPORT_PLACEHOLDER.get(), |
| | | CliConstants.DEFAULT_JMX_PORT, null, true, 1, true, 65535, INFO_CONFIGDS_DESCRIPTION_JMX_PORT.get()); |
| | | argParser.addArgument(jmxPort); |
| | | |
| | | keyManagerProviderDN = new StringArgument( |
| | | "keymanagerproviderdn", 'k', "keyManagerProviderDN", |
| | | false, false, true, INFO_KEY_MANAGER_PROVIDER_DN_PLACEHOLDER.get(), |
| | | null, null, INFO_CONFIGDS_DESCRIPTION_KEYMANAGER_PROVIDER_DN.get()); |
| | | argParser.addArgument(keyManagerProviderDN); |
| | | |
| | | trustManagerProviderDN = new StringArgument( |
| | | "trustmanagerproviderdn", 't', "trustManagerProviderDN", |
| | | false, false, true, INFO_TRUST_MANAGER_PROVIDER_DN_PLACEHOLDER.get(), |
| | | null, null, INFO_CONFIGDS_DESCRIPTION_TRUSTMANAGER_PROVIDER_DN.get()); |
| | | argParser.addArgument(trustManagerProviderDN); |
| | | |
| | | keyManagerPath = new StringArgument( |
| | | "keymanagerpath", 'm', "keyManagerPath", |
| | | false, false, true, INFO_KEY_MANAGER_PATH_PLACEHOLDER.get(), |
| | | null, null, INFO_CONFIGDS_DESCRIPTION_KEYMANAGER_PATH.get()); |
| | | argParser.addArgument(keyManagerPath); |
| | | |
| | | certNickNames = new StringArgument( |
| | | "certnickname", 'a', "certNickName", |
| | | false, true, true, INFO_NICKNAME_PLACEHOLDER.get(), |
| | | null, null, INFO_CONFIGDS_DESCRIPTION_CERTNICKNAME.get()); |
| | | argParser.addArgument(certNickNames); |
| | | |
| | | baseDNString = new StringArgument( |
| | | "basedn", OPTION_SHORT_BASEDN, OPTION_LONG_BASEDN, |
| | | false, true, true, INFO_BASEDN_PLACEHOLDER.get(), |
| | | "dc=example,dc=com", null, INFO_CONFIGDS_DESCRIPTION_BASE_DN.get()); |
| | | argParser.addArgument(baseDNString); |
| | | |
| | | rootDNString = new StringArgument( |
| | | "rootdn", OPTION_SHORT_ROOT_USER_DN, OPTION_LONG_ROOT_USER_DN, |
| | | false, false, true, INFO_ROOT_USER_DN_PLACEHOLDER.get(), |
| | | "cn=Directory Manager", null, INFO_CONFIGDS_DESCRIPTION_ROOT_DN.get()); |
| | | argParser.addArgument(rootDNString); |
| | | |
| | | rootPassword = new StringArgument( |
| | | "rootpw", OPTION_SHORT_BINDPWD, "rootPassword", |
| | | false, false, true, INFO_ROOT_USER_PWD_PLACEHOLDER.get(), |
| | | null, null, INFO_CONFIGDS_DESCRIPTION_ROOT_PW.get()); |
| | | argParser.addArgument(rootPassword); |
| | | |
| | | rootPasswordFile = new FileBasedArgument( |
| | | "rootpwfile", OPTION_SHORT_BINDPWD_FILE, "rootPasswordFile", |
| | | false, false, INFO_FILE_PLACEHOLDER.get(), |
| | | null, null, INFO_CONFIGDS_DESCRIPTION_ROOT_PW_FILE.get()); |
| | | argParser.addArgument(rootPasswordFile); |
| | | hostName = |
| | | StringArgument.builder(OPTION_LONG_HOST) |
| | | .shortIdentifier(OPTION_SHORT_HOST) |
| | | .description(INFO_INSTALLDS_DESCRIPTION_HOST_NAME.get()) |
| | | .defaultValue(defaultHostName) |
| | | .valuePlaceholder(INFO_HOST_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | ldapPort = |
| | | IntegerArgument.builder("ldapPort") |
| | | .shortIdentifier(OPTION_SHORT_PORT) |
| | | .description(INFO_CONFIGDS_DESCRIPTION_LDAP_PORT.get()) |
| | | .range(1, 65535) |
| | | .defaultValue(389) |
| | | .valuePlaceholder(INFO_LDAPPORT_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | adminConnectorPort = |
| | | IntegerArgument.builder("adminConnectorPort") |
| | | .description(INFO_INSTALLDS_DESCRIPTION_ADMINCONNECTORPORT.get()) |
| | | .range(1, 65535) |
| | | .defaultValue(4444) |
| | | .valuePlaceholder(INFO_PORT_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | ldapsPort = |
| | | IntegerArgument.builder("ldapsPort") |
| | | .shortIdentifier('P') |
| | | .description(INFO_CONFIGDS_DESCRIPTION_LDAPS_PORT.get()) |
| | | .range(1, 65535) |
| | | .defaultValue(636) |
| | | .valuePlaceholder(INFO_LDAPPORT_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | enableStartTLS = |
| | | BooleanArgument.builder("enableStartTLS") |
| | | .shortIdentifier(OPTION_SHORT_START_TLS) |
| | | .description(INFO_CONFIGDS_DESCRIPTION_ENABLE_START_TLS.get()) |
| | | .buildAndAddToParser(argParser); |
| | | jmxPort = |
| | | IntegerArgument.builder("jmxPort") |
| | | .shortIdentifier('x') |
| | | .description(INFO_CONFIGDS_DESCRIPTION_JMX_PORT.get()) |
| | | .range(1, 65535) |
| | | .defaultValue(CliConstants.DEFAULT_JMX_PORT) |
| | | .valuePlaceholder(INFO_JMXPORT_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | keyManagerProviderDN = |
| | | StringArgument.builder("keyManagerProviderDN") |
| | | .shortIdentifier('k') |
| | | .description(INFO_CONFIGDS_DESCRIPTION_KEYMANAGER_PROVIDER_DN.get()) |
| | | .valuePlaceholder(INFO_KEY_MANAGER_PROVIDER_DN_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | trustManagerProviderDN = |
| | | StringArgument.builder("trustManagerProviderDN") |
| | | .shortIdentifier('t') |
| | | .description(INFO_CONFIGDS_DESCRIPTION_TRUSTMANAGER_PROVIDER_DN.get()) |
| | | .valuePlaceholder(INFO_TRUST_MANAGER_PROVIDER_DN_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | keyManagerPath = |
| | | StringArgument.builder("keyManagerPath") |
| | | .shortIdentifier('m') |
| | | .description(INFO_CONFIGDS_DESCRIPTION_KEYMANAGER_PATH.get()) |
| | | .valuePlaceholder(INFO_KEY_MANAGER_PATH_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | certNickNames = |
| | | StringArgument.builder("certNickName") |
| | | .shortIdentifier('a') |
| | | .description(INFO_CONFIGDS_DESCRIPTION_CERTNICKNAME.get()) |
| | | .multiValued() |
| | | .valuePlaceholder(INFO_NICKNAME_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | baseDNString = |
| | | StringArgument.builder(OPTION_LONG_BASEDN) |
| | | .shortIdentifier(OPTION_SHORT_BASEDN) |
| | | .description(INFO_CONFIGDS_DESCRIPTION_BASE_DN.get()) |
| | | .multiValued() |
| | | .defaultValue("dc=example,dc=com") |
| | | .valuePlaceholder(INFO_BASEDN_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | rootDNString = |
| | | StringArgument.builder(OPTION_LONG_ROOT_USER_DN) |
| | | .shortIdentifier(OPTION_SHORT_ROOT_USER_DN) |
| | | .description(INFO_CONFIGDS_DESCRIPTION_ROOT_DN.get()) |
| | | .defaultValue("cn=Directory Manager") |
| | | .valuePlaceholder(INFO_ROOT_USER_DN_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | rootPassword = |
| | | StringArgument.builder("rootPassword") |
| | | .shortIdentifier(OPTION_SHORT_BINDPWD) |
| | | .description(INFO_CONFIGDS_DESCRIPTION_ROOT_PW.get()) |
| | | .valuePlaceholder(INFO_ROOT_USER_PWD_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | rootPasswordFile = |
| | | FileBasedArgument.builder("rootPasswordFile") |
| | | .shortIdentifier(OPTION_SHORT_BINDPWD_FILE) |
| | | .description(INFO_CONFIGDS_DESCRIPTION_ROOT_PW_FILE.get()) |
| | | .valuePlaceholder(INFO_FILE_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | |
| | | showUsage = CommonArguments.getShowUsage(); |
| | | argParser.addArgument(showUsage); |
| | | argParser.setUsageArgument(showUsage); |
| | | |
| | | serverRoot = new StringArgument( |
| | | "serverRoot", OPTION_SHORT_SERVER_ROOT, OPTION_LONG_SERVER_ROOT, |
| | | false, false, true, INFO_SERVER_ROOT_DIR_PLACEHOLDER.get(), |
| | | null, null, null); |
| | | serverRoot.setHidden(true); |
| | | argParser.addArgument(serverRoot); |
| | | |
| | | backendType = new StringArgument( |
| | | OPTION_LONG_BACKEND_TYPE.toLowerCase(), null, OPTION_LONG_BACKEND_TYPE, |
| | | false, false, true, INFO_INSTALLDS_BACKEND_TYPE_PLACEHOLDER.get(), |
| | | null, OPTION_LONG_BACKEND_TYPE, INFO_INSTALLDS_DESCRIPTION_BACKEND_TYPE.get() |
| | | ); |
| | | argParser.addArgument(backendType); |
| | | serverRoot = |
| | | StringArgument.builder(OPTION_LONG_SERVER_ROOT) |
| | | .shortIdentifier(OPTION_SHORT_SERVER_ROOT) |
| | | .hidden() |
| | | .valuePlaceholder(INFO_SERVER_ROOT_DIR_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | backendType = |
| | | StringArgument.builder(OPTION_LONG_BACKEND_TYPE) |
| | | .description(INFO_INSTALLDS_DESCRIPTION_BACKEND_TYPE.get()) |
| | | .valuePlaceholder(INFO_INSTALLDS_BACKEND_TYPE_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | } |
| | | catch (final ArgumentException ae) |
| | | { |
| | |
| | | * |
| | | * |
| | | * Copyright 2008-2010 Sun Microsystems, Inc. |
| | | * Portions Copyright 2011-2015 ForgeRock AS. |
| | | * Portions Copyright 2011-2016 ForgeRock AS. |
| | | */ |
| | | package org.opends.server.tools; |
| | | |
| | |
| | | |
| | | try |
| | | { |
| | | enableService = new BooleanArgument("enableservice", 'e', "enableService", |
| | | INFO_CONFIGURE_WINDOWS_SERVICE_DESCRIPTION_ENABLE.get()); |
| | | argParser.addArgument(enableService); |
| | | |
| | | disableService = new BooleanArgument("disableservice", 'd', "disableService", |
| | | INFO_CONFIGURE_WINDOWS_SERVICE_DESCRIPTION_DISABLE.get()); |
| | | argParser.addArgument(disableService); |
| | | |
| | | serviceState = new BooleanArgument("servicestate", 's', "serviceState", |
| | | INFO_CONFIGURE_WINDOWS_SERVICE_DESCRIPTION_STATE.get()); |
| | | argParser.addArgument(serviceState); |
| | | |
| | | cleanupService = new StringArgument("cleanupservice", 'c', "cleanupService", false, false, true, |
| | | INFO_SERVICE_NAME_PLACEHOLDER.get(), null, null, |
| | | INFO_CONFIGURE_WINDOWS_SERVICE_DESCRIPTION_CLEANUP.get()); |
| | | argParser.addArgument(cleanupService); |
| | | enableService = |
| | | BooleanArgument.builder("enableService") |
| | | .shortIdentifier('e') |
| | | .description(INFO_CONFIGURE_WINDOWS_SERVICE_DESCRIPTION_ENABLE.get()) |
| | | .buildAndAddToParser(argParser); |
| | | disableService = |
| | | BooleanArgument.builder("disableService") |
| | | .shortIdentifier('d') |
| | | .description(INFO_CONFIGURE_WINDOWS_SERVICE_DESCRIPTION_DISABLE.get()) |
| | | .buildAndAddToParser(argParser); |
| | | serviceState = |
| | | BooleanArgument.builder("serviceState") |
| | | .shortIdentifier('s') |
| | | .description(INFO_CONFIGURE_WINDOWS_SERVICE_DESCRIPTION_STATE.get()) |
| | | .buildAndAddToParser(argParser); |
| | | cleanupService = |
| | | StringArgument.builder("cleanupService") |
| | | .shortIdentifier('c') |
| | | .description(INFO_CONFIGURE_WINDOWS_SERVICE_DESCRIPTION_CLEANUP.get()) |
| | | .valuePlaceholder(INFO_SERVICE_NAME_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | |
| | | showUsage = CommonArguments.getShowUsage(); |
| | | argParser.addArgument(showUsage); |
| | |
| | | * |
| | | * |
| | | * Copyright 2008 Sun Microsystems, Inc. |
| | | * Portions Copyright 2010-2015 ForgeRock AS. |
| | | * Portions Copyright 2010-2016 ForgeRock AS. |
| | | */ |
| | | package org.opends.server.tools; |
| | | |
| | |
| | | |
| | | try |
| | | { |
| | | outputFile = new StringArgument("outputfile", 'f', "outputFile", true, |
| | | false, true, INFO_PATH_PLACEHOLDER.get(), |
| | | null, null, |
| | | INFO_CREATERC_OUTFILE_DESCRIPTION.get()); |
| | | argParser.addArgument(outputFile); |
| | | |
| | | |
| | | userName = new StringArgument("username", 'u', "userName", false, false, |
| | | true, INFO_USER_NAME_PLACEHOLDER.get(), |
| | | null, null, |
| | | INFO_CREATERC_USER_DESCRIPTION.get()); |
| | | argParser.addArgument(userName); |
| | | |
| | | |
| | | javaHome = new StringArgument("javahome", 'j', "javaHome", false, false, |
| | | true, INFO_PATH_PLACEHOLDER.get(), null, |
| | | null, |
| | | INFO_CREATERC_JAVA_HOME_DESCRIPTION.get()); |
| | | argParser.addArgument(javaHome); |
| | | |
| | | |
| | | javaArgs = new StringArgument("javaargs", 'J', "javaArgs", false, false, |
| | | true, INFO_ARGS_PLACEHOLDER.get(), null, |
| | | null, |
| | | INFO_CREATERC_JAVA_ARGS_DESCRIPTION.get()); |
| | | argParser.addArgument(javaArgs); |
| | | |
| | | outputFile = |
| | | StringArgument.builder("outputFile") |
| | | .shortIdentifier('f') |
| | | .description(INFO_CREATERC_OUTFILE_DESCRIPTION.get()) |
| | | .required() |
| | | .valuePlaceholder(INFO_PATH_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | userName = |
| | | StringArgument.builder("userName") |
| | | .shortIdentifier('u') |
| | | .description(INFO_CREATERC_USER_DESCRIPTION.get()) |
| | | .valuePlaceholder(INFO_USER_NAME_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | javaHome = |
| | | StringArgument.builder("javaHome") |
| | | .shortIdentifier('j') |
| | | .description(INFO_CREATERC_JAVA_HOME_DESCRIPTION.get()) |
| | | .valuePlaceholder(INFO_PATH_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | javaArgs = |
| | | StringArgument.builder("javaArgs") |
| | | .shortIdentifier('J') |
| | | .description(INFO_CREATERC_JAVA_ARGS_DESCRIPTION.get()) |
| | | .valuePlaceholder(INFO_ARGS_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | |
| | | showUsage = CommonArguments.getShowUsage(); |
| | | argParser.addArgument(showUsage); |
| | |
| | | * |
| | | * |
| | | * Copyright 2006-2010 Sun Microsystems, Inc. |
| | | * Portions Copyright 2011-2015 ForgeRock AS. |
| | | * Portions Copyright 2011-2016 ForgeRock AS. |
| | | */ |
| | | package org.opends.server.tools; |
| | | |
| | | import static com.forgerock.opendj.cli.ArgumentConstants.*; |
| | | import static com.forgerock.opendj.cli.CliMessages.INFO_FILE_PLACEHOLDER; |
| | | import static com.forgerock.opendj.cli.Utils.*; |
| | | |
| | | import static org.opends.messages.ConfigMessages.*; |
| | |
| | | argParser.setShortToolDescription(REF_SHORT_DESC_ENCODE_PASSWORD.get()); |
| | | argParser.setVersionHandler(new DirectoryServerVersionHandler()); |
| | | |
| | | // Initialize all the command-line argument types and register them with the |
| | | // parser. |
| | | // Initialize all the command-line argument types and register them with the parser. |
| | | try |
| | | { |
| | | listSchemes = new BooleanArgument( |
| | | "listschemes", 'l', "listSchemes", |
| | | INFO_ENCPW_DESCRIPTION_LISTSCHEMES.get()); |
| | | argParser.addArgument(listSchemes); |
| | | |
| | | interactivePassword = new BooleanArgument( |
| | | "interactivePassword", 'i', |
| | | "interactivePassword", |
| | | INFO_ENCPW_DESCRIPTION_INPUT_PW.get()); |
| | | argParser.addArgument(interactivePassword); |
| | | |
| | | clearPassword = new StringArgument("clearpw", 'c', "clearPassword", false, |
| | | false, true, INFO_CLEAR_PWD.get(), |
| | | null, null, |
| | | INFO_ENCPW_DESCRIPTION_CLEAR_PW.get()); |
| | | argParser.addArgument(clearPassword); |
| | | |
| | | |
| | | listSchemes = |
| | | BooleanArgument.builder("listSchemes") |
| | | .shortIdentifier('l') |
| | | .description(INFO_ENCPW_DESCRIPTION_LISTSCHEMES.get()) |
| | | .buildAndAddToParser(argParser); |
| | | interactivePassword = |
| | | BooleanArgument.builder("interactivePassword") |
| | | .shortIdentifier('i') |
| | | .description(INFO_ENCPW_DESCRIPTION_INPUT_PW.get()) |
| | | .buildAndAddToParser(argParser); |
| | | clearPassword = |
| | | StringArgument.builder("clearPassword") |
| | | .shortIdentifier('c') |
| | | .description(INFO_ENCPW_DESCRIPTION_CLEAR_PW.get()) |
| | | .valuePlaceholder(INFO_CLEAR_PWD.get()) |
| | | .buildAndAddToParser(argParser); |
| | | clearPasswordFile = |
| | | new FileBasedArgument("clearpwfile", 'f', "clearPasswordFile", false, |
| | | false, INFO_FILE_PLACEHOLDER.get(), null, null, |
| | | INFO_ENCPW_DESCRIPTION_CLEAR_PW_FILE.get()); |
| | | argParser.addArgument(clearPasswordFile); |
| | | |
| | | |
| | | encodedPassword = new StringArgument( |
| | | "encodedpw", 'e', "encodedPassword", |
| | | false, false, true, INFO_ENCODED_PWD_PLACEHOLDER.get(), |
| | | null, null, |
| | | INFO_ENCPW_DESCRIPTION_ENCODED_PW.get()); |
| | | argParser.addArgument(encodedPassword); |
| | | |
| | | |
| | | FileBasedArgument.builder("clearPasswordFile") |
| | | .shortIdentifier('f') |
| | | .description(INFO_ENCPW_DESCRIPTION_CLEAR_PW_FILE.get()) |
| | | .valuePlaceholder(INFO_FILE_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | encodedPassword = |
| | | StringArgument.builder("encodedPassword") |
| | | .shortIdentifier('e') |
| | | .description(INFO_ENCPW_DESCRIPTION_ENCODED_PW.get()) |
| | | .valuePlaceholder(INFO_ENCODED_PWD_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | encodedPasswordFile = |
| | | new FileBasedArgument("encodedpwfile", 'E', "encodedPasswordFile", |
| | | false, false, INFO_FILE_PLACEHOLDER.get(), |
| | | null, null, |
| | | INFO_ENCPW_DESCRIPTION_ENCODED_PW_FILE.get()); |
| | | argParser.addArgument(encodedPasswordFile); |
| | | |
| | | |
| | | configClass = new StringArgument("configclass", OPTION_SHORT_CONFIG_CLASS, |
| | | OPTION_LONG_CONFIG_CLASS, |
| | | true, false, true, |
| | | INFO_CONFIGCLASS_PLACEHOLDER.get(), |
| | | ConfigFileHandler.class.getName(), null, |
| | | INFO_DESCRIPTION_CONFIG_CLASS.get()); |
| | | configClass.setHidden(true); |
| | | argParser.addArgument(configClass); |
| | | |
| | | |
| | | configFile = new StringArgument("configfile", 'F', "configFile", |
| | | true, false, true, |
| | | INFO_CONFIGFILE_PLACEHOLDER.get(), null, |
| | | null, |
| | | INFO_DESCRIPTION_CONFIG_FILE.get()); |
| | | configFile.setHidden(true); |
| | | argParser.addArgument(configFile); |
| | | |
| | | |
| | | schemeName = new StringArgument("scheme", 's', "storageScheme", false, |
| | | false, true, |
| | | INFO_STORAGE_SCHEME_PLACEHOLDER.get(), |
| | | null, null, |
| | | INFO_ENCPW_DESCRIPTION_SCHEME.get()); |
| | | argParser.addArgument(schemeName); |
| | | |
| | | |
| | | authPasswordSyntax = new BooleanArgument( |
| | | "authpasswordsyntax", 'a', |
| | | "authPasswordSyntax", |
| | | INFO_ENCPW_DESCRIPTION_AUTHPW.get()); |
| | | argParser.addArgument(authPasswordSyntax); |
| | | |
| | | |
| | | FileBasedArgument.builder("encodedPasswordFile") |
| | | .shortIdentifier('E') |
| | | .description(INFO_ENCPW_DESCRIPTION_ENCODED_PW_FILE.get()) |
| | | .valuePlaceholder(INFO_FILE_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | configClass = |
| | | StringArgument.builder(OPTION_LONG_CONFIG_CLASS) |
| | | .shortIdentifier(OPTION_SHORT_CONFIG_CLASS) |
| | | .description(INFO_DESCRIPTION_CONFIG_CLASS.get()) |
| | | .hidden() |
| | | .required() |
| | | .defaultValue(ConfigFileHandler.class.getName()) |
| | | .valuePlaceholder(INFO_CONFIGCLASS_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | configFile = |
| | | StringArgument.builder("configFile") |
| | | .shortIdentifier('F') |
| | | .description(INFO_DESCRIPTION_CONFIG_FILE.get()) |
| | | .hidden() |
| | | .required() |
| | | .valuePlaceholder(INFO_CONFIGFILE_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | schemeName = |
| | | StringArgument.builder("storageScheme") |
| | | .shortIdentifier('s') |
| | | .description(INFO_ENCPW_DESCRIPTION_SCHEME.get()) |
| | | .valuePlaceholder(INFO_STORAGE_SCHEME_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | authPasswordSyntax = |
| | | BooleanArgument.builder("authPasswordSyntax") |
| | | .shortIdentifier('a') |
| | | .description(INFO_ENCPW_DESCRIPTION_AUTHPW.get()) |
| | | .buildAndAddToParser(argParser); |
| | | useCompareResultCode = |
| | | new BooleanArgument("usecompareresultcode", 'r', |
| | | "useCompareResultCode", |
| | | INFO_ENCPW_DESCRIPTION_USE_COMPARE_RESULT.get()); |
| | | argParser.addArgument(useCompareResultCode); |
| | | |
| | | BooleanArgument.builder("useCompareResultCode") |
| | | .shortIdentifier('r') |
| | | .description(INFO_ENCPW_DESCRIPTION_USE_COMPARE_RESULT.get()) |
| | | .buildAndAddToParser(argParser); |
| | | |
| | | showUsage = CommonArguments.getShowUsage(); |
| | | argParser.addArgument(showUsage); |
| | |
| | | try |
| | | { |
| | | configClass = |
| | | new StringArgument("configclass", OPTION_SHORT_CONFIG_CLASS, |
| | | OPTION_LONG_CONFIG_CLASS, true, false, |
| | | true, INFO_CONFIGCLASS_PLACEHOLDER.get(), |
| | | ConfigFileHandler.class.getName(), null, |
| | | INFO_DESCRIPTION_CONFIG_CLASS.get()); |
| | | configClass.setHidden(true); |
| | | argParser.addArgument(configClass); |
| | | |
| | | |
| | | StringArgument.builder(OPTION_LONG_CONFIG_CLASS) |
| | | .shortIdentifier(OPTION_SHORT_CONFIG_CLASS) |
| | | .description(INFO_DESCRIPTION_CONFIG_CLASS.get()) |
| | | .hidden() |
| | | .required() |
| | | .defaultValue(ConfigFileHandler.class.getName()) |
| | | .valuePlaceholder(INFO_CONFIGCLASS_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | configFile = |
| | | new StringArgument("configfile", 'f', "configFile", true, false, |
| | | true, INFO_CONFIGFILE_PLACEHOLDER.get(), null, |
| | | null, |
| | | INFO_DESCRIPTION_CONFIG_FILE.get()); |
| | | configFile.setHidden(true); |
| | | argParser.addArgument(configFile); |
| | | |
| | | |
| | | StringArgument.builder("configFile") |
| | | .shortIdentifier('f') |
| | | .description(INFO_DESCRIPTION_CONFIG_FILE.get()) |
| | | .hidden() |
| | | .required() |
| | | .valuePlaceholder(INFO_CONFIGFILE_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | ldifFile = |
| | | new StringArgument("ldiffile", OPTION_SHORT_LDIF_FILE, |
| | | OPTION_LONG_LDIF_FILE,true, false, true, |
| | | INFO_LDIFFILE_PLACEHOLDER.get(), null, null, |
| | | INFO_LDIFEXPORT_DESCRIPTION_LDIF_FILE.get()); |
| | | argParser.addArgument(ldifFile); |
| | | |
| | | |
| | | appendToLDIF = new BooleanArgument( |
| | | "appendldif", 'a', "appendToLDIF", |
| | | INFO_LDIFEXPORT_DESCRIPTION_APPEND_TO_LDIF.get()); |
| | | argParser.addArgument(appendToLDIF); |
| | | |
| | | |
| | | StringArgument.builder(OPTION_LONG_LDIF_FILE) |
| | | .shortIdentifier(OPTION_SHORT_LDIF_FILE) |
| | | .description(INFO_LDIFEXPORT_DESCRIPTION_LDIF_FILE.get()) |
| | | .required() |
| | | .valuePlaceholder(INFO_LDIFFILE_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | appendToLDIF = |
| | | BooleanArgument.builder("appendToLDIF") |
| | | .shortIdentifier('a') |
| | | .description(INFO_LDIFEXPORT_DESCRIPTION_APPEND_TO_LDIF.get()) |
| | | .buildAndAddToParser(argParser); |
| | | backendID = |
| | | new StringArgument("backendid", 'n', "backendID", true, false, true, |
| | | INFO_BACKENDNAME_PLACEHOLDER.get(), null, null, |
| | | INFO_LDIFEXPORT_DESCRIPTION_BACKEND_ID.get()); |
| | | argParser.addArgument(backendID); |
| | | |
| | | |
| | | StringArgument.builder("backendID") |
| | | .shortIdentifier('n') |
| | | .description(INFO_LDIFEXPORT_DESCRIPTION_BACKEND_ID.get()) |
| | | .required() |
| | | .valuePlaceholder(INFO_BACKENDNAME_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | includeBranchStrings = |
| | | new StringArgument("includebranch", 'b', "includeBranch", false, |
| | | true, true, INFO_BRANCH_DN_PLACEHOLDER.get(), |
| | | null, null, |
| | | INFO_LDIFEXPORT_DESCRIPTION_INCLUDE_BRANCH.get()); |
| | | argParser.addArgument(includeBranchStrings); |
| | | |
| | | |
| | | StringArgument.builder("includeBranch") |
| | | .shortIdentifier('b') |
| | | .description(INFO_LDIFEXPORT_DESCRIPTION_INCLUDE_BRANCH.get()) |
| | | .multiValued() |
| | | .valuePlaceholder(INFO_BRANCH_DN_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | excludeBranchStrings = |
| | | new StringArgument("excludebranch", 'B', "excludeBranch", false, |
| | | true, true, INFO_BRANCH_DN_PLACEHOLDER.get(), |
| | | null, null, |
| | | INFO_LDIFEXPORT_DESCRIPTION_EXCLUDE_BRANCH.get()); |
| | | argParser.addArgument(excludeBranchStrings); |
| | | |
| | | |
| | | StringArgument.builder("excludeBranch") |
| | | .shortIdentifier('B') |
| | | .description(INFO_LDIFEXPORT_DESCRIPTION_EXCLUDE_BRANCH.get()) |
| | | .multiValued() |
| | | .valuePlaceholder(INFO_BRANCH_DN_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | includeAttributeStrings = |
| | | new StringArgument( |
| | | "includeattribute", 'i', "includeAttribute", |
| | | false, true, true, INFO_ATTRIBUTE_PLACEHOLDER.get(), null, |
| | | null, |
| | | INFO_LDIFEXPORT_DESCRIPTION_INCLUDE_ATTRIBUTE.get()); |
| | | argParser.addArgument(includeAttributeStrings); |
| | | |
| | | |
| | | StringArgument.builder("includeAttribute") |
| | | .shortIdentifier('i') |
| | | .description(INFO_LDIFEXPORT_DESCRIPTION_INCLUDE_ATTRIBUTE.get()) |
| | | .multiValued() |
| | | .valuePlaceholder(INFO_ATTRIBUTE_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | excludeAttributeStrings = |
| | | new StringArgument( |
| | | "excludeattribute", 'e', "excludeAttribute", |
| | | false, true, true, INFO_ATTRIBUTE_PLACEHOLDER.get(), null, |
| | | null, |
| | | INFO_LDIFEXPORT_DESCRIPTION_EXCLUDE_ATTRIBUTE.get()); |
| | | argParser.addArgument(excludeAttributeStrings); |
| | | |
| | | |
| | | StringArgument.builder("excludeAttribute") |
| | | .shortIdentifier('e') |
| | | .description(INFO_LDIFEXPORT_DESCRIPTION_EXCLUDE_ATTRIBUTE.get()) |
| | | .multiValued() |
| | | .valuePlaceholder(INFO_ATTRIBUTE_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | includeFilterStrings = |
| | | new StringArgument("includefilter", 'I', "includeFilter", |
| | | false, true, true, INFO_FILTER_PLACEHOLDER.get(), |
| | | null, null, |
| | | INFO_LDIFEXPORT_DESCRIPTION_INCLUDE_FILTER.get()); |
| | | argParser.addArgument(includeFilterStrings); |
| | | |
| | | |
| | | StringArgument.builder("includeFilter") |
| | | .shortIdentifier('I') |
| | | .description(INFO_LDIFEXPORT_DESCRIPTION_INCLUDE_FILTER.get()) |
| | | .multiValued() |
| | | .valuePlaceholder(INFO_FILTER_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | excludeFilterStrings = |
| | | new StringArgument("excludefilter", 'E', "excludeFilter", |
| | | false, true, true, INFO_FILTER_PLACEHOLDER.get(), |
| | | null, null, |
| | | INFO_LDIFEXPORT_DESCRIPTION_EXCLUDE_FILTER.get()); |
| | | argParser.addArgument(excludeFilterStrings); |
| | | |
| | | |
| | | StringArgument.builder("excludeFilter") |
| | | .shortIdentifier('E') |
| | | .description(INFO_LDIFEXPORT_DESCRIPTION_EXCLUDE_FILTER.get()) |
| | | .multiValued() |
| | | .valuePlaceholder(INFO_FILTER_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | excludeOperationalAttrs = |
| | | new BooleanArgument("excludeoperational", 'O', "excludeOperational", |
| | | INFO_LDIFEXPORT_DESCRIPTION_EXCLUDE_OPERATIONAL.get()); |
| | | argParser.addArgument(excludeOperationalAttrs); |
| | | |
| | | |
| | | BooleanArgument.builder("excludeOperational") |
| | | .shortIdentifier('O') |
| | | .description(INFO_LDIFEXPORT_DESCRIPTION_EXCLUDE_OPERATIONAL.get()) |
| | | .buildAndAddToParser(argParser); |
| | | wrapColumn = |
| | | new IntegerArgument("wrapcolumn", null, "wrapColumn", false, false, |
| | | true, INFO_WRAP_COLUMN_PLACEHOLDER.get(), 0, |
| | | null, true, 0, false, 0, |
| | | INFO_LDIFEXPORT_DESCRIPTION_WRAP_COLUMN.get()); |
| | | argParser.addArgument(wrapColumn); |
| | | |
| | | |
| | | IntegerArgument.builder("wrapColumn") |
| | | .description(INFO_LDIFEXPORT_DESCRIPTION_WRAP_COLUMN.get()) |
| | | .lowerBound(0) |
| | | .defaultValue(0) |
| | | .valuePlaceholder(INFO_WRAP_COLUMN_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | compressLDIF = |
| | | new BooleanArgument("compressldif", OPTION_SHORT_COMPRESS, |
| | | OPTION_LONG_COMPRESS, |
| | | INFO_LDIFEXPORT_DESCRIPTION_COMPRESS_LDIF.get()); |
| | | argParser.addArgument(compressLDIF); |
| | | |
| | | |
| | | BooleanArgument.builder(OPTION_LONG_COMPRESS) |
| | | .shortIdentifier(OPTION_SHORT_COMPRESS) |
| | | .description(INFO_LDIFEXPORT_DESCRIPTION_COMPRESS_LDIF.get()) |
| | | .buildAndAddToParser(argParser); |
| | | encryptLDIF = |
| | | new BooleanArgument("encryptldif", 'y', "encryptLDIF", |
| | | INFO_LDIFEXPORT_DESCRIPTION_ENCRYPT_LDIF.get()); |
| | | encryptLDIF.setHidden(true); // See issue #27 |
| | | argParser.addArgument(encryptLDIF); |
| | | |
| | | |
| | | BooleanArgument.builder("encryptLDIF") |
| | | .shortIdentifier('y') |
| | | .description(INFO_LDIFEXPORT_DESCRIPTION_ENCRYPT_LDIF.get()) |
| | | .hidden() // See issue #27 |
| | | .buildAndAddToParser(argParser); |
| | | signHash = |
| | | new BooleanArgument("signhash", 's', "signHash", |
| | | INFO_LDIFEXPORT_DESCRIPTION_SIGN_HASH.get()); |
| | | signHash.setHidden(true); // See issue #28 |
| | | argParser.addArgument(signHash); |
| | | |
| | | BooleanArgument.builder("signHash") |
| | | .shortIdentifier('s') |
| | | .description(INFO_LDIFEXPORT_DESCRIPTION_SIGN_HASH.get()) |
| | | .hidden() // See issue #28 |
| | | .buildAndAddToParser(argParser); |
| | | |
| | | displayUsage = CommonArguments.getShowUsage(); |
| | | argParser.addArgument(displayUsage); |
| | |
| | | |
| | | |
| | | // Init the default values so that they can appear also on the usage. |
| | | try |
| | | { |
| | | argParser.getArguments().initArgumentsWithConfiguration(); |
| | | } |
| | | catch (ConfigException ce) |
| | | { |
| | | // Ignore. |
| | | } |
| | | argParser.getArguments().initArgumentsWithConfiguration(argParser); |
| | | |
| | | // Parse the command-line arguments provided to this program. |
| | | try |
| | |
| | | */ |
| | | package org.opends.server.tools; |
| | | |
| | | import static com.forgerock.opendj.cli.CliMessages.INFO_SEED_PLACEHOLDER; |
| | | import static org.opends.messages.ToolMessages.*; |
| | | import static org.opends.server.config.ConfigConstants.*; |
| | | import static org.opends.server.util.StaticUtils.*; |
| | | import static com.forgerock.opendj.cli.CommonArguments.*; |
| | | |
| | | import static com.forgerock.opendj.cli.ArgumentConstants.*; |
| | | import static com.forgerock.opendj.cli.Utils.*; |
| | |
| | | |
| | | /** Define the command-line arguments that may be used with this program. */ |
| | | private BooleanArgument countRejects; |
| | | private BooleanArgument displayUsage; |
| | | private BooleanArgument isCompressed; |
| | | private BooleanArgument isEncrypted; |
| | | private BooleanArgument overwrite; |
| | |
| | | } |
| | | |
| | | // Init the default values so that they can appear also on the usage. |
| | | try |
| | | { |
| | | argParser.getArguments().initArgumentsWithConfiguration(); |
| | | } |
| | | catch (ConfigException ce) |
| | | { |
| | | // Ignore. |
| | | } |
| | | argParser.getArguments().initArgumentsWithConfiguration(argParser); |
| | | |
| | | // Parse the command-line arguments provided to this program. |
| | | try |
| | |
| | | private void createArguments(LDAPConnectionArgumentParser argParser) throws ArgumentException |
| | | { |
| | | configClass = |
| | | new StringArgument("configclass", OPTION_SHORT_CONFIG_CLASS, |
| | | OPTION_LONG_CONFIG_CLASS, true, false, |
| | | true, INFO_CONFIGCLASS_PLACEHOLDER.get(), |
| | | ConfigFileHandler.class.getName(), null, |
| | | INFO_DESCRIPTION_CONFIG_CLASS.get()); |
| | | configClass.setHidden(true); |
| | | argParser.addArgument(configClass); |
| | | |
| | | |
| | | StringArgument.builder(OPTION_LONG_CONFIG_CLASS) |
| | | .shortIdentifier(OPTION_SHORT_CONFIG_CLASS) |
| | | .description(INFO_DESCRIPTION_CONFIG_CLASS.get()) |
| | | .hidden() |
| | | .required() |
| | | .defaultValue(ConfigFileHandler.class.getName()) |
| | | .valuePlaceholder(INFO_CONFIGCLASS_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | configFile = |
| | | new StringArgument("configfile", 'f', "configFile", true, false, |
| | | true, INFO_CONFIGFILE_PLACEHOLDER.get(), null, |
| | | null, |
| | | INFO_DESCRIPTION_CONFIG_FILE.get()); |
| | | configFile.setHidden(true); |
| | | argParser.addArgument(configFile); |
| | | |
| | | |
| | | StringArgument.builder("configFile") |
| | | .shortIdentifier('f') |
| | | .description(INFO_DESCRIPTION_CONFIG_FILE.get()) |
| | | .hidden() |
| | | .required() |
| | | .valuePlaceholder(INFO_CONFIGFILE_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | ldifFiles = |
| | | new StringArgument("ldiffile", OPTION_SHORT_LDIF_FILE, |
| | | OPTION_LONG_LDIF_FILE, false, true, true, |
| | | INFO_LDIFFILE_PLACEHOLDER.get(), null, null, |
| | | INFO_LDIFIMPORT_DESCRIPTION_LDIF_FILE.get()); |
| | | argParser.addArgument(ldifFiles); |
| | | |
| | | |
| | | StringArgument.builder(OPTION_LONG_LDIF_FILE) |
| | | .shortIdentifier(OPTION_SHORT_LDIF_FILE) |
| | | .description(INFO_LDIFIMPORT_DESCRIPTION_LDIF_FILE.get()) |
| | | .multiValued() |
| | | .valuePlaceholder(INFO_LDIFFILE_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | templateFile = |
| | | new StringArgument("templatefile", 'A', "templateFile", false, false, |
| | | true, INFO_TEMPLATE_FILE_PLACEHOLDER.get(), null, |
| | | null, |
| | | INFO_LDIFIMPORT_DESCRIPTION_TEMPLATE_FILE.get()); |
| | | argParser.addArgument(templateFile); |
| | | |
| | | StringArgument.builder("templateFile") |
| | | .shortIdentifier('A') |
| | | .description(INFO_LDIFIMPORT_DESCRIPTION_TEMPLATE_FILE.get()) |
| | | .valuePlaceholder(INFO_TEMPLATE_FILE_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | backendID = |
| | | new StringArgument("backendid", 'n', "backendID", false, false, true, |
| | | INFO_BACKENDNAME_PLACEHOLDER.get(), null, null, |
| | | INFO_LDIFIMPORT_DESCRIPTION_BACKEND_ID.get()); |
| | | argParser.addArgument(backendID); |
| | | |
| | | StringArgument.builder("backendID") |
| | | .shortIdentifier('n') |
| | | .description(INFO_LDIFIMPORT_DESCRIPTION_BACKEND_ID.get()) |
| | | .valuePlaceholder(INFO_BACKENDNAME_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | clearBackend = |
| | | new BooleanArgument("clearbackend", 'F', "clearBackend", |
| | | INFO_LDIFIMPORT_DESCRIPTION_CLEAR_BACKEND.get()); |
| | | argParser.addArgument(clearBackend); |
| | | |
| | | |
| | | BooleanArgument.builder("clearBackend") |
| | | .shortIdentifier('F') |
| | | .description(INFO_LDIFIMPORT_DESCRIPTION_CLEAR_BACKEND.get()) |
| | | .buildAndAddToParser(argParser); |
| | | includeBranchStrings = |
| | | new StringArgument("includebranch", 'b', "includeBranch", false, |
| | | true, true, INFO_BRANCH_DN_PLACEHOLDER.get(), |
| | | null, null, |
| | | INFO_LDIFIMPORT_DESCRIPTION_INCLUDE_BRANCH.get()); |
| | | argParser.addArgument(includeBranchStrings); |
| | | |
| | | |
| | | StringArgument.builder("includeBranch") |
| | | .shortIdentifier('b') |
| | | .description(INFO_LDIFIMPORT_DESCRIPTION_INCLUDE_BRANCH.get()) |
| | | .multiValued() |
| | | .valuePlaceholder(INFO_BRANCH_DN_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | excludeBranchStrings = |
| | | new StringArgument("excludebranch", 'B', "excludeBranch", false, |
| | | true, true, INFO_BRANCH_DN_PLACEHOLDER.get(), |
| | | null, null, |
| | | INFO_LDIFIMPORT_DESCRIPTION_EXCLUDE_BRANCH.get()); |
| | | argParser.addArgument(excludeBranchStrings); |
| | | |
| | | |
| | | StringArgument.builder("excludeBranch") |
| | | .shortIdentifier('B') |
| | | .description(INFO_LDIFIMPORT_DESCRIPTION_EXCLUDE_BRANCH.get()) |
| | | .multiValued() |
| | | .valuePlaceholder(INFO_BRANCH_DN_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | includeAttributeStrings = |
| | | new StringArgument( |
| | | "includeattribute", 'i', "includeAttribute", |
| | | false, true, true, INFO_ATTRIBUTE_PLACEHOLDER.get(), null, |
| | | null, |
| | | INFO_LDIFIMPORT_DESCRIPTION_INCLUDE_ATTRIBUTE.get()); |
| | | argParser.addArgument(includeAttributeStrings); |
| | | |
| | | |
| | | StringArgument.builder("includeAttribute") |
| | | .shortIdentifier('i') |
| | | .description(INFO_LDIFIMPORT_DESCRIPTION_INCLUDE_ATTRIBUTE.get()) |
| | | .multiValued() |
| | | .valuePlaceholder(INFO_ATTRIBUTE_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | excludeAttributeStrings = |
| | | new StringArgument( |
| | | "excludeattribute", 'e', "excludeAttribute", |
| | | false, true, true, INFO_ATTRIBUTE_PLACEHOLDER.get(), null, |
| | | null, |
| | | INFO_LDIFIMPORT_DESCRIPTION_EXCLUDE_ATTRIBUTE.get()); |
| | | argParser.addArgument(excludeAttributeStrings); |
| | | |
| | | |
| | | StringArgument.builder("excludeAttribute") |
| | | .shortIdentifier('e') |
| | | .description(INFO_LDIFIMPORT_DESCRIPTION_EXCLUDE_ATTRIBUTE.get()) |
| | | .multiValued() |
| | | .valuePlaceholder(INFO_ATTRIBUTE_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | includeFilterStrings = |
| | | new StringArgument( |
| | | "includefilter", 'I', "includeFilter", |
| | | false, true, true, INFO_FILTER_PLACEHOLDER.get(), null, null, |
| | | INFO_LDIFIMPORT_DESCRIPTION_INCLUDE_FILTER.get()); |
| | | argParser.addArgument(includeFilterStrings); |
| | | |
| | | |
| | | StringArgument.builder("includeFilter") |
| | | .shortIdentifier('I') |
| | | .description(INFO_LDIFIMPORT_DESCRIPTION_INCLUDE_FILTER.get()) |
| | | .multiValued() |
| | | .valuePlaceholder(INFO_FILTER_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | excludeFilterStrings = |
| | | new StringArgument("excludefilter", 'E', "excludeFilter", |
| | | false, true, true, INFO_FILTER_PLACEHOLDER.get(), |
| | | null, null, |
| | | INFO_LDIFIMPORT_DESCRIPTION_EXCLUDE_FILTER.get()); |
| | | argParser.addArgument(excludeFilterStrings); |
| | | |
| | | |
| | | StringArgument.builder("excludeFilter") |
| | | .shortIdentifier('E') |
| | | .description(INFO_LDIFIMPORT_DESCRIPTION_EXCLUDE_FILTER.get()) |
| | | .multiValued() |
| | | .valuePlaceholder(INFO_FILTER_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | rejectFile = |
| | | new StringArgument("rejectfile", 'R', "rejectFile", false, false, |
| | | true, INFO_REJECT_FILE_PLACEHOLDER.get(), null, |
| | | null, |
| | | INFO_LDIFIMPORT_DESCRIPTION_REJECT_FILE.get()); |
| | | argParser.addArgument(rejectFile); |
| | | |
| | | |
| | | StringArgument.builder("rejectFile") |
| | | .shortIdentifier('R') |
| | | .description(INFO_LDIFIMPORT_DESCRIPTION_REJECT_FILE.get()) |
| | | .valuePlaceholder(INFO_REJECT_FILE_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | skipFile = |
| | | new StringArgument("skipfile", null, "skipFile", false, false, |
| | | true, INFO_SKIP_FILE_PLACEHOLDER.get(), null, |
| | | null, |
| | | INFO_LDIFIMPORT_DESCRIPTION_SKIP_FILE.get()); |
| | | argParser.addArgument(skipFile); |
| | | |
| | | |
| | | StringArgument.builder("skipFile") |
| | | .description(INFO_LDIFIMPORT_DESCRIPTION_SKIP_FILE.get()) |
| | | .valuePlaceholder(INFO_SKIP_FILE_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | overwrite = |
| | | new BooleanArgument("overwrite", 'O', "overwrite", |
| | | INFO_LDIFIMPORT_DESCRIPTION_OVERWRITE.get()); |
| | | argParser.addArgument(overwrite); |
| | | |
| | | |
| | | BooleanArgument.builder("overwrite") |
| | | .shortIdentifier('O') |
| | | .description(INFO_LDIFIMPORT_DESCRIPTION_OVERWRITE.get()) |
| | | .buildAndAddToParser(argParser); |
| | | randomSeed = |
| | | new IntegerArgument("randomseed", OPTION_SHORT_RANDOM_SEED, |
| | | OPTION_LONG_RANDOM_SEED, false, false, |
| | | true, INFO_SEED_PLACEHOLDER.get(), |
| | | 0, null, false, 0, false, 0, |
| | | INFO_LDIFIMPORT_DESCRIPTION_RANDOM_SEED.get()); |
| | | argParser.addArgument(randomSeed); |
| | | |
| | | |
| | | IntegerArgument.builder(OPTION_LONG_RANDOM_SEED) |
| | | .shortIdentifier(OPTION_SHORT_RANDOM_SEED) |
| | | .description(INFO_LDIFIMPORT_DESCRIPTION_RANDOM_SEED.get()) |
| | | .defaultValue(0) |
| | | .valuePlaceholder(INFO_SEED_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | skipSchemaValidation = |
| | | new BooleanArgument("skipschema", 'S', "skipSchemaValidation", |
| | | INFO_LDIFIMPORT_DESCRIPTION_SKIP_SCHEMA_VALIDATION.get()); |
| | | argParser.addArgument(skipSchemaValidation); |
| | | |
| | | |
| | | BooleanArgument.builder("skipSchemaValidation") |
| | | .shortIdentifier('S') |
| | | .description(INFO_LDIFIMPORT_DESCRIPTION_SKIP_SCHEMA_VALIDATION.get()) |
| | | .buildAndAddToParser(argParser); |
| | | skipDNValidation = |
| | | new BooleanArgument("skipDNValidation", null, "skipDNValidation", |
| | | INFO_LDIFIMPORT_DESCRIPTION_DN_VALIDATION.get()); |
| | | argParser.addArgument(skipDNValidation); |
| | | |
| | | |
| | | threadCount = new IntegerArgument("threadCount", null, "threadCount", |
| | | false, false, true, |
| | | INFO_LDIFIMPORT_THREAD_COUNT_PLACEHOLDER.get(), |
| | | 0, null, |
| | | true, 1, true, Integer.MAX_VALUE, |
| | | INFO_LDIFIMPORT_DESCRIPTION_THREAD_COUNT.get()); |
| | | argParser.addArgument(threadCount); |
| | | |
| | | BooleanArgument.builder("skipDNValidation") |
| | | .description(INFO_LDIFIMPORT_DESCRIPTION_DN_VALIDATION.get()) |
| | | .buildAndAddToParser(argParser); |
| | | threadCount = |
| | | IntegerArgument.builder("threadCount") |
| | | .description(INFO_LDIFIMPORT_DESCRIPTION_THREAD_COUNT.get()) |
| | | .lowerBound(1) |
| | | .defaultValue(0) |
| | | .valuePlaceholder(INFO_LDIFIMPORT_THREAD_COUNT_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | tmpDirectory = |
| | | new StringArgument("tmpdirectory", null, "tmpdirectory", false, |
| | | false, true, INFO_LDIFIMPORT_TEMP_DIR_PLACEHOLDER.get(), |
| | | "import-tmp", |
| | | null, INFO_LDIFIMPORT_DESCRIPTION_TEMP_DIRECTORY.get()); |
| | | argParser.addArgument(tmpDirectory); |
| | | |
| | | |
| | | StringArgument.builder("tmpdirectory") |
| | | .description(INFO_LDIFIMPORT_DESCRIPTION_TEMP_DIRECTORY.get()) |
| | | .defaultValue("import-tmp") |
| | | .valuePlaceholder(INFO_LDIFIMPORT_TEMP_DIR_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | countRejects = |
| | | new BooleanArgument("countrejects", null, "countRejects", |
| | | INFO_LDIFIMPORT_DESCRIPTION_COUNT_REJECTS.get()); |
| | | argParser.addArgument(countRejects); |
| | | |
| | | |
| | | BooleanArgument.builder("countRejects") |
| | | .description(INFO_LDIFIMPORT_DESCRIPTION_COUNT_REJECTS.get()) |
| | | .buildAndAddToParser(argParser); |
| | | isCompressed = |
| | | new BooleanArgument("iscompressed", 'c', "isCompressed", |
| | | INFO_LDIFIMPORT_DESCRIPTION_IS_COMPRESSED.get()); |
| | | argParser.addArgument(isCompressed); |
| | | |
| | | |
| | | BooleanArgument.builder("isCompressed") |
| | | .shortIdentifier('c') |
| | | .description(INFO_LDIFIMPORT_DESCRIPTION_IS_COMPRESSED.get()) |
| | | .buildAndAddToParser(argParser); |
| | | isEncrypted = |
| | | new BooleanArgument("isencrypted", 'y', "isEncrypted", |
| | | INFO_LDIFIMPORT_DESCRIPTION_IS_ENCRYPTED.get()); |
| | | isEncrypted.setHidden(true); //See issue #27 |
| | | argParser.addArgument(isEncrypted); |
| | | BooleanArgument.builder("isEncrypted") |
| | | .shortIdentifier('y') |
| | | .description(INFO_LDIFIMPORT_DESCRIPTION_IS_ENCRYPTED.get()) |
| | | .hidden() //See issue #27 |
| | | .buildAndAddToParser(argParser); |
| | | quietMode = |
| | | BooleanArgument.builder(OPTION_LONG_QUIET) |
| | | .shortIdentifier(OPTION_SHORT_QUIET) |
| | | .description(INFO_LDIFIMPORT_DESCRIPTION_QUIET.get()) |
| | | .buildAndAddToParser(argParser); |
| | | |
| | | |
| | | quietMode = new BooleanArgument("quietmode", OPTION_SHORT_QUIET, |
| | | OPTION_LONG_QUIET, |
| | | INFO_LDIFIMPORT_DESCRIPTION_QUIET.get()); |
| | | argParser.addArgument(quietMode); |
| | | |
| | | |
| | | displayUsage = CommonArguments.getShowUsage(); |
| | | final BooleanArgument displayUsage = showUsageArgument(); |
| | | argParser.addArgument(displayUsage); |
| | | argParser.setUsageArgument(displayUsage); |
| | | } |
| | |
| | | |
| | | private final BackendTypeHelper backendTypeHelper = new BackendTypeHelper(); |
| | | |
| | | /** The argument parser. */ |
| | | private InstallDSArgumentParser argParser; |
| | | |
| | | /** Different variables we use when the user decides to provide data again. */ |
| | | private NewSuffixOptions.Type lastResetPopulateOption; |
| | | private ManagedObjectDefinition<? extends BackendCfgClient, ? extends BackendCfg> lastResetBackendType; |
| | | |
| | | private String lastResetImportFile; |
| | | private String lastResetRejectedFile; |
| | | private String lastResetSkippedFile; |
| | | |
| | | private Integer lastResetNumEntries; |
| | | private Boolean lastResetEnableSSL; |
| | | private Boolean lastResetEnableStartTLS; |
| | | |
| | | private SecurityOptions.CertificateType lastResetCertType; |
| | | private String lastResetKeyStorePath; |
| | | |
| | | private Boolean lastResetEnableWindowsService; |
| | | private Boolean lastResetStartServer; |
| | | private String lastResetBaseDN = Installation.DEFAULT_INTERACTIVE_BASE_DN; |
| | | private String lastResetDirectoryManagerDN; |
| | | private Integer lastResetLdapPort; |
| | | private Integer lastResetLdapsPort; |
| | | private Integer lastResetAdminConnectorPort; |
| | | private Integer lastResetJmxPort; |
| | | |
| | | |
| | | private static final LocalizedLogger logger = LocalizedLogger.getLoggerForThisClass(); |
| | | |
| | | /** The argument parser. */ |
| | | private InstallDSArgumentParser argParser; |
| | | |
| | | /** |
| | | * Constructor for the InstallDS object. |
| | |
| | | return InstallReturnCode.ERROR_UNEXPECTED.getReturnCode(); |
| | | } |
| | | |
| | | lastResetDirectoryManagerDN = argParser.directoryManagerDNArg.getDefaultValue(); |
| | | lastResetLdapPort = Integer.parseInt(argParser.ldapPortArg.getDefaultValue()); |
| | | lastResetLdapsPort = Integer.parseInt(argParser.ldapsPortArg.getDefaultValue()); |
| | | lastResetAdminConnectorPort = Integer.parseInt(argParser.adminConnectorPortArg.getDefaultValue()); |
| | | lastResetJmxPort = Integer.parseInt(argParser.jmxPortArg.getDefaultValue()); |
| | | |
| | | // Validate user provided data |
| | | try |
| | | { |
| | |
| | | private void promptIfRequiredForDirectoryManager(UserData uData) throws UserDataException, ClientException |
| | | { |
| | | final LinkedList<String> dns = promptIfRequiredForDNs( |
| | | argParser.directoryManagerDNArg, INFO_INSTALLDS_PROMPT_ROOT_DN.get(), true); |
| | | argParser.directoryManagerDNArg, lastResetDirectoryManagerDN, INFO_INSTALLDS_PROMPT_ROOT_DN.get(), true); |
| | | uData.setDirectoryManagerDn(dns.getFirst()); |
| | | |
| | | int nTries = 0; |
| | |
| | | * |
| | | * @param arg |
| | | * the Argument that the user provided to specify the DNs. |
| | | * @param valueToSuggest |
| | | * the value to suggest by default on prompt. |
| | | * @param promptMsg |
| | | * the prompt message to be displayed. |
| | | * @param includeLineBreak |
| | |
| | | * @throws UserDataException |
| | | * if something went wrong checking the data. |
| | | */ |
| | | private LinkedList<String> promptIfRequiredForDNs(StringArgument arg, |
| | | LocalizableMessage promptMsg, boolean includeLineBreak) throws UserDataException |
| | | private LinkedList<String> promptIfRequiredForDNs(StringArgument arg, String valueToSuggest, |
| | | LocalizableMessage promptMsg, boolean includeLineBreak) throws UserDataException |
| | | { |
| | | final LinkedList<String> dns = new LinkedList<>(); |
| | | |
| | |
| | | } |
| | | try |
| | | { |
| | | final String dn = readInput(promptMsg, arg.getDefaultValue()); |
| | | final String dn = readInput(promptMsg, valueToSuggest); |
| | | firstPrompt = false; |
| | | dns.add(dn); |
| | | prompted = true; |
| | |
| | | |
| | | final List<Integer> usedPorts = new LinkedList<>(); |
| | | // Determine the LDAP port number. |
| | | final int ldapPort = promptIfRequiredForPortData(argParser.ldapPortArg, |
| | | INFO_INSTALLDS_PROMPT_LDAPPORT.get(), usedPorts, true); |
| | | final int ldapPort = promptIfRequiredForPortData( |
| | | argParser.ldapPortArg, lastResetLdapPort, INFO_INSTALLDS_PROMPT_LDAPPORT.get(), usedPorts, true); |
| | | uData.setServerPort(ldapPort); |
| | | usedPorts.add(ldapPort); |
| | | |
| | | // Determine the Admin Connector port number. |
| | | final int adminConnectorPort = promptIfRequiredForPortData(argParser.adminConnectorPortArg, |
| | | INFO_INSTALLDS_PROMPT_ADMINCONNECTORPORT.get(), usedPorts, true); |
| | | lastResetAdminConnectorPort, INFO_INSTALLDS_PROMPT_ADMINCONNECTORPORT.get(), usedPorts, true); |
| | | uData.setAdminConnectorPort(adminConnectorPort); |
| | | usedPorts.add(adminConnectorPort); |
| | | |
| | | if (argParser.jmxPortArg.isPresent()) |
| | | { |
| | | final int jmxPort = promptIfRequiredForPortData(argParser.jmxPortArg, |
| | | final int jmxPort = promptIfRequiredForPortData(argParser.jmxPortArg, lastResetJmxPort, |
| | | INFO_INSTALLDS_PROMPT_JMXPORT.get(), usedPorts, true); |
| | | uData.setServerJMXPort(jmxPort); |
| | | } |
| | |
| | | * |
| | | * @param portArg |
| | | * the Argument that the user provided to specify the port. |
| | | * @param valueToSuggest |
| | | * the value to suggest by default on prompt. |
| | | * @param promptMsg |
| | | * the prompt message to be displayed. |
| | | * @param usedPorts |
| | |
| | | * whether to include a line break before the first prompt or not. |
| | | * @return a valid port number. |
| | | */ |
| | | private int promptIfRequiredForPortData(IntegerArgument portArg, LocalizableMessage promptMsg, |
| | | private int promptIfRequiredForPortData(IntegerArgument portArg, Integer valueToSuggest, LocalizableMessage promptMsg, |
| | | Collection<Integer> usedPorts, boolean includeLineBreak) |
| | | { |
| | | int portNumber = -1; |
| | |
| | | boolean prompted = false; |
| | | if (usedProvided || !portArg.isPresent()) |
| | | { |
| | | int defaultValue = -1; |
| | | if (portArg.getDefaultValue() != null) |
| | | { |
| | | defaultValue = Integer.parseInt(portArg.getDefaultValue()); |
| | | } |
| | | if (firstPrompt && includeLineBreak) |
| | | { |
| | | println(); |
| | |
| | | { |
| | | try |
| | | { |
| | | portNumber = readPort(promptMsg, defaultValue); |
| | | portNumber = readPort(promptMsg, valueToSuggest); |
| | | } |
| | | catch (final ClientException ce) |
| | | { |
| | |
| | | } |
| | | |
| | | uData.setBackendType(getOrPromptForBackendType()); |
| | | |
| | | // Add default value for base DN on first prompt |
| | | if (argParser.baseDNArg.getDefaultValue() == null) |
| | | { |
| | | argParser.baseDNArg.setDefaultValue(Installation.DEFAULT_INTERACTIVE_BASE_DN); |
| | | } |
| | | // Check the validity of the base DNs |
| | | final List<String> baseDNs = promptIfRequiredForDNs(argParser.baseDNArg, INFO_INSTALLDS_PROMPT_BASEDN.get(), true); |
| | | final List<String> baseDNs = promptIfRequiredForDNs( |
| | | argParser.baseDNArg, lastResetBaseDN, INFO_INSTALLDS_PROMPT_BASEDN.get(), true); |
| | | return promptIfRequiredForDataOptions(baseDNs); |
| | | |
| | | } |
| | |
| | | enableSSL = confirmAction(INFO_INSTALLDS_PROMPT_ENABLE_SSL.get(), defaultValue); |
| | | if (enableSSL) |
| | | { |
| | | ldapsPort = promptIfRequiredForPortData(argParser.ldapsPortArg, |
| | | INFO_INSTALLDS_PROMPT_LDAPSPORT.get(), usedPorts, false); |
| | | ldapsPort = promptIfRequiredForPortData( |
| | | argParser.ldapsPortArg, lastResetLdapsPort, INFO_INSTALLDS_PROMPT_LDAPSPORT.get(), usedPorts, false); |
| | | } |
| | | } |
| | | catch (final ClientException ce) |
| | |
| | | } |
| | | else |
| | | { |
| | | ldapsPort = promptIfRequiredForPortData(argParser.ldapsPortArg, |
| | | INFO_INSTALLDS_PROMPT_LDAPSPORT.get(), usedPorts, true); |
| | | ldapsPort = promptIfRequiredForPortData( |
| | | argParser.ldapsPortArg, lastResetLdapsPort, INFO_INSTALLDS_PROMPT_LDAPSPORT.get(), usedPorts, true); |
| | | enableSSL = true; |
| | | } |
| | | |
| | |
| | | try |
| | | { |
| | | argParser.initializeArguments(); |
| | | argParser.directoryManagerDNArg.setDefaultValue(uData.getDirectoryManagerDn()); |
| | | argParser.ldapPortArg.setDefaultValue(String.valueOf(uData.getServerPort())); |
| | | argParser.adminConnectorPortArg.setDefaultValue(String.valueOf(uData.getAdminConnectorPort())); |
| | | lastResetDirectoryManagerDN = uData.getDirectoryManagerDn(); |
| | | lastResetLdapPort = uData.getServerPort(); |
| | | lastResetAdminConnectorPort = uData.getAdminConnectorPort(); |
| | | |
| | | final int jmxPort = uData.getServerJMXPort(); |
| | | if (jmxPort != -1) |
| | | { |
| | | argParser.jmxPortArg.setDefaultValue(String.valueOf(jmxPort)); |
| | | lastResetJmxPort = jmxPort; |
| | | } |
| | | |
| | | final LinkedList<String> baseDNs = uData.getNewSuffixOptions().getBaseDns(); |
| | | if (!baseDNs.isEmpty()) |
| | | { |
| | | argParser.baseDNArg.setDefaultValue(baseDNs.getFirst()); |
| | | lastResetBaseDN = baseDNs.getFirst(); |
| | | } |
| | | |
| | | final NewSuffixOptions suffixOptions = uData.getNewSuffixOptions(); |
| | |
| | | final SecurityOptions sec = uData.getSecurityOptions(); |
| | | if (sec.getEnableSSL()) |
| | | { |
| | | argParser.ldapsPortArg.setDefaultValue(String.valueOf(sec.getSslPort())); |
| | | lastResetLdapsPort = sec.getSslPort(); |
| | | } |
| | | lastResetEnableSSL = sec.getEnableSSL(); |
| | | lastResetEnableStartTLS = sec.getEnableStartTLS(); |
| | |
| | | */ |
| | | package org.opends.server.tools; |
| | | |
| | | import static com.forgerock.opendj.cli.CliMessages.INFO_JMXPORT_PLACEHOLDER; |
| | | import static com.forgerock.opendj.cli.CliMessages.INFO_KEYSTORE_PWD_FILE_PLACEHOLDER; |
| | | import static com.forgerock.opendj.cli.CliMessages.INFO_NUM_ENTRIES_PLACEHOLDER; |
| | | import static com.forgerock.opendj.cli.CliMessages.INFO_PORT_PLACEHOLDER; |
| | | import static com.forgerock.opendj.cli.CliMessages.INFO_ROOT_USER_PWD_FILE_PLACEHOLDER; |
| | | import static org.opends.messages.ToolMessages.*; |
| | | |
| | | import static com.forgerock.opendj.cli.ArgumentConstants.*; |
| | |
| | | */ |
| | | public void initializeArguments() throws ArgumentException |
| | | { |
| | | testOnlyArg = new BooleanArgument( |
| | | OPTION_LONG_TESTONLY_ARGUMENT.toLowerCase(), null, |
| | | OPTION_LONG_TESTONLY_ARGUMENT, |
| | | INFO_ARGUMENT_DESCRIPTION_TESTONLY.get()); |
| | | testOnlyArg.setHidden(true); |
| | | testOnlyArg.setPropertyName(OPTION_LONG_TESTONLY_ARGUMENT); |
| | | testOnlyArg = |
| | | BooleanArgument.builder(OPTION_LONG_TESTONLY_ARGUMENT) |
| | | .description(INFO_ARGUMENT_DESCRIPTION_TESTONLY.get()) |
| | | .hidden() |
| | | .buildArgument(); |
| | | addArgument(testOnlyArg); |
| | | |
| | | cliArg = CommonArguments.getCLI(); |
| | | addArgument(cliArg); |
| | | |
| | | String defaultProgName = Installation.getSetupFileName(); |
| | | progNameArg = new StringArgument( |
| | | "programName".toLowerCase(), 'P', "programName", false, |
| | | false, true, INFO_PROGRAM_NAME_PLACEHOLDER.get(), defaultProgName, |
| | | "programName", INFO_INSTALLDS_DESCRIPTION_PROGNAME.get()); |
| | | progNameArg.setHidden(true); |
| | | progNameArg = StringArgument.builder("programName") |
| | | .shortIdentifier('P') |
| | | .description(INFO_INSTALLDS_DESCRIPTION_PROGNAME.get()) |
| | | .hidden() |
| | | .defaultValue(Installation.getSetupFileName()) |
| | | .valuePlaceholder(INFO_PROGRAM_NAME_PLACEHOLDER.get()) |
| | | .buildArgument(); |
| | | addArgument(progNameArg); |
| | | |
| | | noPromptArg = CommonArguments.getNoPrompt(); |
| | |
| | | verboseArg = CommonArguments.getVerbose(); |
| | | addArgument(verboseArg); |
| | | |
| | | propertiesFileArgument = new StringArgument( |
| | | OPTION_LONG_PROP_FILE_PATH.toLowerCase(), null, |
| | | OPTION_LONG_PROP_FILE_PATH, false, |
| | | false, true, INFO_PROP_FILE_PATH_PLACEHOLDER.get(), null, null, |
| | | INFO_DESCRIPTION_PROP_FILE_PATH.get()); |
| | | propertiesFileArgument = |
| | | StringArgument.builder(OPTION_LONG_PROP_FILE_PATH) |
| | | .description(INFO_DESCRIPTION_PROP_FILE_PATH.get()) |
| | | .valuePlaceholder(INFO_PROP_FILE_PATH_PLACEHOLDER.get()) |
| | | .buildArgument(); |
| | | addArgument(propertiesFileArgument); |
| | | setFilePropertiesArgument(propertiesFileArgument); |
| | | |
| | | noPropertiesFileArgument = new BooleanArgument( |
| | | OPTION_LONG_NO_PROP_FILE.toLowerCase(), null, OPTION_LONG_NO_PROP_FILE, |
| | | INFO_DESCRIPTION_NO_PROP_FILE.get()); |
| | | noPropertiesFileArgument = |
| | | BooleanArgument.builder(OPTION_LONG_NO_PROP_FILE) |
| | | .description(INFO_DESCRIPTION_NO_PROP_FILE.get()) |
| | | .buildArgument(); |
| | | addArgument(noPropertiesFileArgument); |
| | | setNoPropertiesFileArgument(noPropertiesFileArgument); |
| | | |
| | | baseDNArg = new StringArgument( |
| | | OPTION_LONG_BASEDN.toLowerCase(), OPTION_SHORT_BASEDN, |
| | | OPTION_LONG_BASEDN, false, true, true, |
| | | INFO_BASEDN_PLACEHOLDER.get(), |
| | | null, OPTION_LONG_BASEDN, |
| | | INFO_INSTALLDS_DESCRIPTION_BASEDN.get()); |
| | | baseDNArg = |
| | | StringArgument.builder(OPTION_LONG_BASEDN) |
| | | .shortIdentifier(OPTION_SHORT_BASEDN) |
| | | .description(INFO_INSTALLDS_DESCRIPTION_BASEDN.get()) |
| | | .multiValued() |
| | | .valuePlaceholder(INFO_BASEDN_PLACEHOLDER.get()) |
| | | .buildArgument(); |
| | | addArgument(baseDNArg); |
| | | |
| | | addBaseEntryArg = new BooleanArgument( |
| | | "addBaseEntry".toLowerCase(), 'a', "addBaseEntry", |
| | | INFO_INSTALLDS_DESCRIPTION_ADDBASE.get()); |
| | | addBaseEntryArg.setPropertyName("addBaseEntry"); |
| | | addBaseEntryArg = |
| | | BooleanArgument.builder("addBaseEntry") |
| | | .shortIdentifier('a') |
| | | .description(INFO_INSTALLDS_DESCRIPTION_ADDBASE.get()) |
| | | .buildArgument(); |
| | | addArgument(addBaseEntryArg); |
| | | |
| | | importLDIFArg = new StringArgument( |
| | | OPTION_LONG_LDIF_FILE.toLowerCase(), OPTION_SHORT_LDIF_FILE, |
| | | OPTION_LONG_LDIF_FILE, false, |
| | | true, true, INFO_LDIFFILE_PLACEHOLDER.get(), |
| | | null, OPTION_LONG_LDIF_FILE, |
| | | INFO_INSTALLDS_DESCRIPTION_IMPORTLDIF.get()); |
| | | importLDIFArg = |
| | | StringArgument.builder(OPTION_LONG_LDIF_FILE) |
| | | .shortIdentifier(OPTION_SHORT_LDIF_FILE) |
| | | .description(INFO_INSTALLDS_DESCRIPTION_IMPORTLDIF.get()) |
| | | .multiValued() |
| | | .valuePlaceholder(INFO_LDIFFILE_PLACEHOLDER.get()) |
| | | .buildArgument(); |
| | | addArgument(importLDIFArg); |
| | | |
| | | rejectedImportFileArg = new StringArgument( |
| | | "rejectFile".toLowerCase(), 'R', "rejectFile", false, false, |
| | | true, INFO_REJECT_FILE_PLACEHOLDER.get(), null, "rejectFile", |
| | | INFO_INSTALLDS_DESCRIPTION_REJECTED_FILE.get()); |
| | | rejectedImportFileArg = |
| | | StringArgument.builder("rejectFile") |
| | | .shortIdentifier('R') |
| | | .description(INFO_INSTALLDS_DESCRIPTION_REJECTED_FILE.get()) |
| | | .valuePlaceholder(INFO_REJECT_FILE_PLACEHOLDER.get()) |
| | | .buildArgument(); |
| | | addArgument(rejectedImportFileArg); |
| | | |
| | | skippedImportFileArg = new StringArgument( |
| | | "skipFile".toLowerCase(), null, "skipFile", false, false, |
| | | true, INFO_SKIP_FILE_PLACEHOLDER.get(), null, "skipFile", |
| | | INFO_INSTALLDS_DESCRIPTION_SKIPPED_FILE.get()); |
| | | skippedImportFileArg = |
| | | StringArgument.builder("skipFile") |
| | | .description(INFO_INSTALLDS_DESCRIPTION_SKIPPED_FILE.get()) |
| | | .valuePlaceholder(INFO_SKIP_FILE_PLACEHOLDER.get()) |
| | | .buildArgument(); |
| | | addArgument(skippedImportFileArg); |
| | | |
| | | sampleDataArg = new IntegerArgument( |
| | | "sampleData".toLowerCase(), 'd', "sampleData", false, |
| | | false, true, INFO_NUM_ENTRIES_PLACEHOLDER.get(), 0, "sampleData", |
| | | true, 0, false, 0, |
| | | INFO_INSTALLDS_DESCRIPTION_SAMPLE_DATA.get()); |
| | | sampleDataArg = |
| | | IntegerArgument.builder("sampleData") |
| | | .shortIdentifier('d') |
| | | .description(INFO_INSTALLDS_DESCRIPTION_SAMPLE_DATA.get()) |
| | | .lowerBound(0) |
| | | .defaultValue(0) |
| | | .valuePlaceholder(INFO_NUM_ENTRIES_PLACEHOLDER.get()) |
| | | .buildArgument(); |
| | | addArgument(sampleDataArg); |
| | | |
| | | int defaultLdapPort = UserData.getDefaultPort(); |
| | |
| | | { |
| | | defaultLdapPort = 389; |
| | | } |
| | | ldapPortArg = new IntegerArgument( |
| | | "ldapPort".toLowerCase(), OPTION_SHORT_PORT, |
| | | "ldapPort", false, false, |
| | | true, INFO_PORT_PLACEHOLDER.get(), defaultLdapPort, |
| | | "ldapPort", true, 1, true, 65535, |
| | | INFO_INSTALLDS_DESCRIPTION_LDAPPORT.get()); |
| | | |
| | | ldapPortArg = |
| | | IntegerArgument.builder("ldapPort") |
| | | .shortIdentifier(OPTION_SHORT_PORT) |
| | | .description(INFO_INSTALLDS_DESCRIPTION_LDAPPORT.get()) |
| | | .range(1, 65535) |
| | | .defaultValue(defaultLdapPort) |
| | | .valuePlaceholder(INFO_PORT_PLACEHOLDER.get()) |
| | | .buildArgument(); |
| | | addArgument(ldapPortArg); |
| | | |
| | | int defaultAdminPort = UserData.getDefaultAdminConnectorPort(); |
| | |
| | | defaultAdminPort = |
| | | AdministrationConnector.DEFAULT_ADMINISTRATION_CONNECTOR_PORT; |
| | | } |
| | | adminConnectorPortArg = new IntegerArgument( |
| | | "adminConnectorPort".toLowerCase(), null, |
| | | "adminConnectorPort", false, false, |
| | | true, INFO_PORT_PLACEHOLDER.get(), defaultAdminPort, |
| | | "adminConnectorPort", true, 1, true, 65535, |
| | | INFO_INSTALLDS_DESCRIPTION_ADMINCONNECTORPORT.get()); |
| | | |
| | | adminConnectorPortArg = |
| | | IntegerArgument.builder("adminConnectorPort") |
| | | .description(INFO_INSTALLDS_DESCRIPTION_ADMINCONNECTORPORT.get()) |
| | | .range(1, 65535) |
| | | .defaultValue(defaultAdminPort) |
| | | .valuePlaceholder(INFO_PORT_PLACEHOLDER.get()) |
| | | .buildArgument(); |
| | | addArgument(adminConnectorPortArg); |
| | | |
| | | jmxPortArg = new IntegerArgument( |
| | | "jmxPort".toLowerCase(), 'x', "jmxPort", false, false, |
| | | true, INFO_JMXPORT_PLACEHOLDER.get(), |
| | | CliConstants.DEFAULT_JMX_PORT, "jmxPort", true, |
| | | 1, true, 65535, |
| | | INFO_INSTALLDS_DESCRIPTION_JMXPORT.get()); |
| | | jmxPortArg = |
| | | IntegerArgument.builder("jmxPort") |
| | | .shortIdentifier('x') |
| | | .description(INFO_INSTALLDS_DESCRIPTION_JMXPORT.get()) |
| | | .range(1, 65535) |
| | | .defaultValue(CliConstants.DEFAULT_JMX_PORT) |
| | | .valuePlaceholder(INFO_JMXPORT_PLACEHOLDER.get()) |
| | | .buildArgument(); |
| | | addArgument(jmxPortArg); |
| | | |
| | | skipPortCheckArg = new BooleanArgument( |
| | | "skipPortCheck".toLowerCase(), 'S', "skipPortCheck", |
| | | INFO_INSTALLDS_DESCRIPTION_SKIPPORT.get()); |
| | | skipPortCheckArg.setPropertyName("skipPortCheck"); |
| | | skipPortCheckArg = |
| | | BooleanArgument.builder("skipPortCheck") |
| | | .shortIdentifier('S') |
| | | .description(INFO_INSTALLDS_DESCRIPTION_SKIPPORT.get()) |
| | | .buildArgument(); |
| | | addArgument(skipPortCheckArg); |
| | | |
| | | directoryManagerDNArg = new StringArgument( |
| | | OPTION_LONG_ROOT_USER_DN.toLowerCase(), OPTION_SHORT_ROOT_USER_DN, |
| | | OPTION_LONG_ROOT_USER_DN, false, false, |
| | | true, INFO_ROOT_USER_DN_PLACEHOLDER.get(), |
| | | "cn=Directory Manager", |
| | | OPTION_LONG_ROOT_USER_DN, INFO_INSTALLDS_DESCRIPTION_ROOTDN.get()); |
| | | directoryManagerDNArg = |
| | | StringArgument.builder(OPTION_LONG_ROOT_USER_DN) |
| | | .shortIdentifier(OPTION_SHORT_ROOT_USER_DN) |
| | | .description(INFO_INSTALLDS_DESCRIPTION_ROOTDN.get()) |
| | | .defaultValue("cn=Directory Manager") |
| | | .valuePlaceholder(INFO_ROOT_USER_DN_PLACEHOLDER.get()) |
| | | .buildArgument(); |
| | | addArgument(directoryManagerDNArg); |
| | | |
| | | directoryManagerPwdStringArg = new StringArgument( |
| | | "rootUserPassword".toLowerCase(), OPTION_SHORT_BINDPWD, |
| | | "rootUserPassword", |
| | | false, false, true, |
| | | INFO_ROOT_USER_PWD_PLACEHOLDER.get(), null, |
| | | "rootUserPassword", |
| | | INFO_INSTALLDS_DESCRIPTION_ROOTPW.get()); |
| | | directoryManagerPwdStringArg = |
| | | StringArgument.builder("rootUserPassword") |
| | | .shortIdentifier(OPTION_SHORT_BINDPWD) |
| | | .description(INFO_INSTALLDS_DESCRIPTION_ROOTPW.get()) |
| | | .valuePlaceholder(INFO_ROOT_USER_PWD_PLACEHOLDER.get()) |
| | | .buildArgument(); |
| | | addArgument(directoryManagerPwdStringArg); |
| | | |
| | | directoryManagerPwdFileArg = new FileBasedArgument( |
| | | "rootUserPasswordFile".toLowerCase(), |
| | | OPTION_SHORT_BINDPWD_FILE, |
| | | "rootUserPasswordFile", false, false, |
| | | INFO_ROOT_USER_PWD_FILE_PLACEHOLDER.get(), |
| | | null, "rootUserPasswordFile", |
| | | INFO_INSTALLDS_DESCRIPTION_ROOTPWFILE.get()); |
| | | directoryManagerPwdFileArg = |
| | | FileBasedArgument.builder("rootUserPasswordFile") |
| | | .shortIdentifier(OPTION_SHORT_BINDPWD_FILE) |
| | | .description(INFO_INSTALLDS_DESCRIPTION_ROOTPWFILE.get()) |
| | | .valuePlaceholder(INFO_ROOT_USER_PWD_FILE_PLACEHOLDER.get()) |
| | | .buildArgument(); |
| | | addArgument(directoryManagerPwdFileArg); |
| | | |
| | | enableWindowsServiceArg = new BooleanArgument( |
| | | "enableWindowsService".toLowerCase(), 'e', |
| | | "enableWindowsService", |
| | | INFO_INSTALLDS_DESCRIPTION_ENABLE_WINDOWS_SERVICE.get()); |
| | | enableWindowsServiceArg.setPropertyName("enableWindowsService"); |
| | | enableWindowsServiceArg = |
| | | BooleanArgument.builder("enableWindowsService") |
| | | .shortIdentifier('e') |
| | | .description(INFO_INSTALLDS_DESCRIPTION_ENABLE_WINDOWS_SERVICE.get()) |
| | | .buildArgument(); |
| | | if (isWindows()) |
| | | { |
| | | addArgument(enableWindowsServiceArg); |
| | | } |
| | | |
| | | doNotStartArg = new BooleanArgument( |
| | | "doNotStart".toLowerCase(), 'O', "doNotStart", |
| | | INFO_INSTALLDS_DESCRIPTION_DO_NOT_START.get()); |
| | | doNotStartArg.setPropertyName("doNotStart"); |
| | | doNotStartArg = |
| | | BooleanArgument.builder("doNotStart") |
| | | .shortIdentifier('O') |
| | | .description(INFO_INSTALLDS_DESCRIPTION_DO_NOT_START.get()) |
| | | .buildArgument(); |
| | | addArgument(doNotStartArg); |
| | | |
| | | enableStartTLSArg = new BooleanArgument( |
| | | "enableStartTLS".toLowerCase(), OPTION_SHORT_START_TLS, |
| | | "enableStartTLS", |
| | | INFO_INSTALLDS_DESCRIPTION_ENABLE_STARTTLS.get()); |
| | | enableStartTLSArg.setPropertyName("enableStartTLS"); |
| | | enableStartTLSArg = |
| | | BooleanArgument.builder("enableStartTLS") |
| | | .shortIdentifier(OPTION_SHORT_START_TLS) |
| | | .description(INFO_INSTALLDS_DESCRIPTION_ENABLE_STARTTLS.get()) |
| | | .buildArgument(); |
| | | addArgument(enableStartTLSArg); |
| | | |
| | | int defaultSecurePort = UserData.getDefaultSslPort(defaultLdapPort); |
| | |
| | | { |
| | | defaultSecurePort = 636; |
| | | } |
| | | ldapsPortArg = new IntegerArgument( |
| | | "ldapsPort".toLowerCase(), OPTION_SHORT_USE_SSL, |
| | | "ldapsPort", false, false, |
| | | true, INFO_PORT_PLACEHOLDER.get(), defaultSecurePort, |
| | | "ldapsPort", true, 1, true, 65535, |
| | | INFO_INSTALLDS_DESCRIPTION_LDAPSPORT.get()); |
| | | |
| | | ldapsPortArg = |
| | | IntegerArgument.builder("ldapsPort") |
| | | .shortIdentifier(OPTION_SHORT_USE_SSL) |
| | | .description(INFO_INSTALLDS_DESCRIPTION_LDAPSPORT.get()) |
| | | .range(1, 65535) |
| | | .defaultValue(defaultSecurePort) |
| | | .valuePlaceholder(INFO_PORT_PLACEHOLDER.get()) |
| | | .buildArgument(); |
| | | addArgument(ldapsPortArg); |
| | | |
| | | generateSelfSignedCertificateArg = new BooleanArgument( |
| | | "generateSelfSignedCertificate".toLowerCase(), |
| | | null, "generateSelfSignedCertificate", |
| | | INFO_INSTALLDS_DESCRIPTION_USE_SELF_SIGNED.get()); |
| | | generateSelfSignedCertificateArg.setPropertyName( |
| | | "generateSelfSignedCertificate"); |
| | | generateSelfSignedCertificateArg = |
| | | BooleanArgument.builder("generateSelfSignedCertificate") |
| | | .description(INFO_INSTALLDS_DESCRIPTION_USE_SELF_SIGNED.get()) |
| | | .buildArgument(); |
| | | addArgument(generateSelfSignedCertificateArg); |
| | | |
| | | hostNameArg = new StringArgument(OPTION_LONG_HOST.toLowerCase(), |
| | | OPTION_SHORT_HOST, |
| | | OPTION_LONG_HOST, false, false, true, INFO_HOST_PLACEHOLDER.get(), |
| | | UserData.getDefaultHostName(), |
| | | null, INFO_INSTALLDS_DESCRIPTION_HOST_NAME.get()); |
| | | hostNameArg.setPropertyName(OPTION_LONG_HOST); |
| | | hostNameArg = |
| | | StringArgument.builder(OPTION_LONG_HOST) |
| | | .shortIdentifier(OPTION_SHORT_HOST) |
| | | .description(INFO_INSTALLDS_DESCRIPTION_HOST_NAME.get()) |
| | | .defaultValue(UserData.getDefaultHostName()) |
| | | .valuePlaceholder(INFO_HOST_PLACEHOLDER.get()) |
| | | .buildArgument(); |
| | | addDefaultArgument(hostNameArg); |
| | | |
| | | usePkcs11Arg = new BooleanArgument("usePkcs11Keystore".toLowerCase(), |
| | | null, "usePkcs11Keystore", |
| | | INFO_INSTALLDS_DESCRIPTION_USE_PKCS11.get()); |
| | | usePkcs11Arg.setPropertyName("usePkcs11Keystore"); |
| | | usePkcs11Arg = |
| | | BooleanArgument.builder("usePkcs11Keystore") |
| | | .description(INFO_INSTALLDS_DESCRIPTION_USE_PKCS11.get()) |
| | | .buildArgument(); |
| | | addArgument(usePkcs11Arg); |
| | | |
| | | useJavaKeyStoreArg = new StringArgument("useJavaKeystore".toLowerCase(), |
| | | null, "useJavaKeystore", false, false, |
| | | true, INFO_KEYSTOREPATH_PLACEHOLDER.get(), null, "useJavaKeystore", |
| | | INFO_INSTALLDS_DESCRIPTION_USE_JAVAKEYSTORE.get()); |
| | | useJavaKeyStoreArg = |
| | | StringArgument.builder("useJavaKeystore") |
| | | .description(INFO_INSTALLDS_DESCRIPTION_USE_JAVAKEYSTORE.get()) |
| | | .valuePlaceholder(INFO_KEYSTOREPATH_PLACEHOLDER.get()) |
| | | .buildArgument(); |
| | | addArgument(useJavaKeyStoreArg); |
| | | |
| | | useJCEKSArg = new StringArgument("useJCEKS".toLowerCase(), |
| | | null, "useJCEKS", false, false, |
| | | true, INFO_KEYSTOREPATH_PLACEHOLDER.get(), null, "useJCEKS", |
| | | INFO_INSTALLDS_DESCRIPTION_USE_JCEKS.get()); |
| | | useJCEKSArg = |
| | | StringArgument.builder("useJCEKS") |
| | | .description(INFO_INSTALLDS_DESCRIPTION_USE_JCEKS.get()) |
| | | .valuePlaceholder(INFO_KEYSTOREPATH_PLACEHOLDER.get()) |
| | | .buildArgument(); |
| | | addArgument(useJCEKSArg); |
| | | |
| | | usePkcs12Arg = new StringArgument("usePkcs12keyStore".toLowerCase(), |
| | | null, "usePkcs12keyStore", false, false, |
| | | true, INFO_KEYSTOREPATH_PLACEHOLDER.get(), null, "usePkcs12keyStore", |
| | | INFO_INSTALLDS_DESCRIPTION_USE_PKCS12.get()); |
| | | usePkcs12Arg = |
| | | StringArgument.builder("usePkcs12keyStore") |
| | | .description(INFO_INSTALLDS_DESCRIPTION_USE_PKCS12.get()) |
| | | .valuePlaceholder(INFO_KEYSTOREPATH_PLACEHOLDER.get()) |
| | | .buildArgument(); |
| | | addArgument(usePkcs12Arg); |
| | | |
| | | keyStorePasswordArg = new StringArgument( |
| | | OPTION_LONG_KEYSTORE_PWD.toLowerCase(), |
| | | OPTION_SHORT_KEYSTORE_PWD, |
| | | OPTION_LONG_KEYSTORE_PWD, false, false, true, |
| | | INFO_KEYSTORE_PWD_PLACEHOLDER.get(), null, OPTION_LONG_KEYSTORE_PWD, |
| | | INFO_INSTALLDS_DESCRIPTION_KEYSTOREPASSWORD.get()); |
| | | keyStorePasswordArg = |
| | | StringArgument.builder(OPTION_LONG_KEYSTORE_PWD) |
| | | .shortIdentifier(OPTION_SHORT_KEYSTORE_PWD) |
| | | .description(INFO_INSTALLDS_DESCRIPTION_KEYSTOREPASSWORD.get()) |
| | | .valuePlaceholder(INFO_KEYSTORE_PWD_PLACEHOLDER.get()) |
| | | .buildArgument(); |
| | | addDefaultArgument(keyStorePasswordArg); |
| | | |
| | | keyStorePasswordFileArg = new FileBasedArgument( |
| | | OPTION_LONG_KEYSTORE_PWD_FILE.toLowerCase(), |
| | | OPTION_SHORT_KEYSTORE_PWD_FILE, OPTION_LONG_KEYSTORE_PWD_FILE, false, |
| | | false, INFO_KEYSTORE_PWD_FILE_PLACEHOLDER.get(), null, |
| | | OPTION_LONG_KEYSTORE_PWD_FILE, |
| | | INFO_INSTALLDS_DESCRIPTION_KEYSTOREPASSWORD_FILE.get()); |
| | | keyStorePasswordFileArg = |
| | | FileBasedArgument.builder(OPTION_LONG_KEYSTORE_PWD_FILE) |
| | | .shortIdentifier(OPTION_SHORT_KEYSTORE_PWD_FILE) |
| | | .description(INFO_INSTALLDS_DESCRIPTION_KEYSTOREPASSWORD_FILE.get()) |
| | | .valuePlaceholder(INFO_KEYSTORE_PWD_FILE_PLACEHOLDER.get()) |
| | | .buildArgument(); |
| | | addDefaultArgument(keyStorePasswordFileArg); |
| | | |
| | | certNicknameArg = new StringArgument( |
| | | OPTION_LONG_CERT_NICKNAME.toLowerCase(), |
| | | OPTION_SHORT_CERT_NICKNAME, OPTION_LONG_CERT_NICKNAME, |
| | | false, true, true, INFO_NICKNAME_PLACEHOLDER.get(), null, |
| | | OPTION_LONG_CERT_NICKNAME, |
| | | INFO_INSTALLDS_DESCRIPTION_CERT_NICKNAME.get()); |
| | | certNicknameArg = |
| | | StringArgument.builder(OPTION_LONG_CERT_NICKNAME) |
| | | .shortIdentifier(OPTION_SHORT_CERT_NICKNAME) |
| | | .description(INFO_INSTALLDS_DESCRIPTION_CERT_NICKNAME.get()) |
| | | .multiValued() |
| | | .valuePlaceholder(INFO_NICKNAME_PLACEHOLDER.get()) |
| | | .buildArgument(); |
| | | addDefaultArgument(certNicknameArg); |
| | | |
| | | connectTimeoutArg = CommonArguments.getConnectTimeOut(); |
| | | connectTimeoutArg = CommonArguments.getConnectTimeOutHidden(); |
| | | addArgument(connectTimeoutArg); |
| | | |
| | | acceptLicense = CommonArguments.getAcceptLicense(); |
| | |
| | | addArgument(showUsageArg); |
| | | setUsageArgument(showUsageArg); |
| | | |
| | | backendTypeArg = new StringArgument( |
| | | OPTION_LONG_BACKEND_TYPE.toLowerCase(), |
| | | OPTION_SHORT_BACKEND_TYPE, OPTION_LONG_BACKEND_TYPE, |
| | | false, false, true, INFO_INSTALLDS_BACKEND_TYPE_PLACEHOLDER.get(), |
| | | BackendTypeHelper.filterSchemaBackendName( |
| | | new BackendTypeHelper().getBackendTypes().get(0).getName()), |
| | | OPTION_LONG_BACKEND_TYPE, |
| | | INFO_INSTALLDS_DESCRIPTION_BACKEND_TYPE.get() |
| | | ); |
| | | backendTypeArg = |
| | | StringArgument.builder(OPTION_LONG_BACKEND_TYPE) |
| | | .shortIdentifier(OPTION_SHORT_BACKEND_TYPE) |
| | | .description(INFO_INSTALLDS_DESCRIPTION_BACKEND_TYPE.get()) |
| | | .defaultValue(BackendTypeHelper.filterSchemaBackendName( |
| | | new BackendTypeHelper().getBackendTypes().get(0).getName())) |
| | | .valuePlaceholder(INFO_INSTALLDS_BACKEND_TYPE_PLACEHOLDER.get()) |
| | | .buildArgument(); |
| | | addArgument(backendTypeArg); |
| | | } |
| | | |
| | |
| | | * |
| | | * |
| | | * Copyright 2007-2010 Sun Microsystems, Inc. |
| | | * Portions Copyright 2014-2015 ForgeRock AS |
| | | * Portions Copyright 2014-2016 ForgeRock AS |
| | | */ |
| | | package org.opends.server.tools; |
| | | |
| | |
| | | quietArg = CommonArguments.getQuiet(); |
| | | addArgument(quietArg); |
| | | |
| | | propertiesFileArg = new StringArgument("propertiesFile", |
| | | 'p', "propertiesFile", false, |
| | | false, true, INFO_PATH_PLACEHOLDER.get(), getDefaultPropertiesValue(), |
| | | "propertiesFile", |
| | | INFO_JAVAPROPERTIES_DESCRIPTION_PROPERTIES_FILE.get( |
| | | getDefaultPropertiesValue())); |
| | | propertiesFileArg.setHidden(true); |
| | | propertiesFileArg = |
| | | StringArgument.builder("propertiesFile") |
| | | .shortIdentifier('p') |
| | | .description(INFO_JAVAPROPERTIES_DESCRIPTION_PROPERTIES_FILE.get(getDefaultPropertiesValue())) |
| | | .hidden() |
| | | .defaultValue(getDefaultPropertiesValue()) |
| | | .valuePlaceholder(INFO_PATH_PLACEHOLDER.get()) |
| | | .buildArgument(); |
| | | addArgument(propertiesFileArg); |
| | | |
| | | destinationFileArg = new StringArgument("destinationFile", |
| | | 'd', "destinationFile", false, |
| | | false, true, INFO_PATH_PLACEHOLDER.get(), getDefaultDestinationValue(), |
| | | "destinationFile", |
| | | INFO_JAVAPROPERTIES_DESCRIPTION_DESTINATION_FILE.get( |
| | | getDefaultDestinationValue())); |
| | | destinationFileArg.setHidden(true); |
| | | destinationFileArg = |
| | | StringArgument.builder("destinationFile") |
| | | .shortIdentifier('d') |
| | | .description(INFO_JAVAPROPERTIES_DESCRIPTION_DESTINATION_FILE.get(getDefaultDestinationValue())) |
| | | .hidden() |
| | | .defaultValue(getDefaultDestinationValue()) |
| | | .valuePlaceholder(INFO_PATH_PLACEHOLDER.get()) |
| | | .buildArgument(); |
| | | addArgument(destinationFileArg); |
| | | |
| | | showUsageArg = CommonArguments.getShowUsage(); |
| | |
| | | package org.opends.server.tools; |
| | | |
| | | import static com.forgerock.opendj.cli.ArgumentConstants.*; |
| | | import static com.forgerock.opendj.cli.CliMessages.INFO_DESCRIPTION_BINDPASSWORDFILE; |
| | | import static com.forgerock.opendj.cli.Utils.*; |
| | | |
| | | import static org.opends.messages.ToolMessages.*; |
| | |
| | | |
| | | try |
| | | { |
| | | scriptFriendlyArgument = new BooleanArgument( |
| | | "script-friendly", |
| | | 's', |
| | | "script-friendly", |
| | | INFO_DESCRIPTION_SCRIPT_FRIENDLY.get()); |
| | | scriptFriendlyArgument.setPropertyName( |
| | | scriptFriendlyArgument.getLongIdentifier()); |
| | | argParser.addArgument(scriptFriendlyArgument); |
| | | |
| | | propertiesFileArgument = new StringArgument("propertiesFilePath", |
| | | null, OPTION_LONG_PROP_FILE_PATH, |
| | | false, false, true, INFO_PROP_FILE_PATH_PLACEHOLDER.get(), null, null, |
| | | INFO_DESCRIPTION_PROP_FILE_PATH.get()); |
| | | argParser.addArgument(propertiesFileArgument); |
| | | scriptFriendlyArgument = |
| | | BooleanArgument.builder("script-friendly") |
| | | .shortIdentifier('s') |
| | | .description(INFO_DESCRIPTION_SCRIPT_FRIENDLY.get()) |
| | | .buildAndAddToParser(argParser); |
| | | propertiesFileArgument = |
| | | StringArgument.builder(OPTION_LONG_PROP_FILE_PATH) |
| | | .description(INFO_DESCRIPTION_PROP_FILE_PATH.get()) |
| | | .valuePlaceholder(INFO_PROP_FILE_PATH_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | argParser.setFilePropertiesArgument(propertiesFileArgument); |
| | | |
| | | noPropertiesFileArgument = new BooleanArgument( |
| | | "noPropertiesFileArgument", null, OPTION_LONG_NO_PROP_FILE, |
| | | INFO_DESCRIPTION_NO_PROP_FILE.get()); |
| | | argParser.addArgument(noPropertiesFileArgument); |
| | | noPropertiesFileArgument = |
| | | BooleanArgument.builder(OPTION_LONG_NO_PROP_FILE) |
| | | .description(INFO_DESCRIPTION_NO_PROP_FILE.get()) |
| | | .buildAndAddToParser(argParser); |
| | | argParser.setNoPropertiesFileArgument(noPropertiesFileArgument); |
| | | |
| | | hostName = new StringArgument("host", OPTION_SHORT_HOST, |
| | | OPTION_LONG_HOST, false, false, true, |
| | | INFO_HOST_PLACEHOLDER.get(), "localhost", |
| | | null, |
| | | INFO_DESCRIPTION_HOST.get()); |
| | | hostName.setPropertyName(OPTION_LONG_HOST); |
| | | argParser.addArgument(hostName); |
| | | |
| | | port = new IntegerArgument("port", OPTION_SHORT_PORT, |
| | | OPTION_LONG_PORT, false, false, true, |
| | | INFO_PORT_PLACEHOLDER.get(), 389, null, |
| | | true, 1, true, 65535, |
| | | INFO_DESCRIPTION_PORT.get()); |
| | | port.setPropertyName(OPTION_LONG_PORT); |
| | | argParser.addArgument(port); |
| | | |
| | | useSSL = new BooleanArgument("useSSL", OPTION_SHORT_USE_SSL, |
| | | OPTION_LONG_USE_SSL, |
| | | INFO_DESCRIPTION_USE_SSL.get()); |
| | | useSSL.setPropertyName(OPTION_LONG_USE_SSL); |
| | | argParser.addArgument(useSSL); |
| | | |
| | | startTLS = new BooleanArgument("startTLS", OPTION_SHORT_START_TLS, |
| | | OPTION_LONG_START_TLS, |
| | | INFO_DESCRIPTION_START_TLS.get()); |
| | | startTLS.setPropertyName(OPTION_LONG_START_TLS); |
| | | argParser.addArgument(startTLS); |
| | | |
| | | bindDN = new StringArgument("bindDN", OPTION_SHORT_BINDDN, |
| | | OPTION_LONG_BINDDN, false, false, true, |
| | | INFO_BINDDN_PLACEHOLDER.get(), null, null, |
| | | INFO_DESCRIPTION_BINDDN.get()); |
| | | bindDN.setPropertyName(OPTION_LONG_BINDDN); |
| | | argParser.addArgument(bindDN); |
| | | |
| | | bindPassword = new StringArgument("bindPassword", OPTION_SHORT_BINDPWD, |
| | | OPTION_LONG_BINDPWD, |
| | | false, false, true, |
| | | INFO_BINDPWD_PLACEHOLDER.get(), |
| | | null, null, |
| | | INFO_DESCRIPTION_BINDPASSWORD.get()); |
| | | bindPassword.setPropertyName(OPTION_LONG_BINDPWD); |
| | | argParser.addArgument(bindPassword); |
| | | |
| | | hostName = |
| | | StringArgument.builder(OPTION_LONG_HOST) |
| | | .shortIdentifier(OPTION_SHORT_HOST) |
| | | .description(INFO_DESCRIPTION_HOST.get()) |
| | | .defaultValue("localhost") |
| | | .valuePlaceholder(INFO_HOST_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | port = |
| | | IntegerArgument.builder(OPTION_LONG_PORT) |
| | | .shortIdentifier(OPTION_SHORT_PORT) |
| | | .description(INFO_DESCRIPTION_PORT.get()) |
| | | .range(1, 65535) |
| | | .defaultValue(389) |
| | | .valuePlaceholder(INFO_PORT_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | useSSL = |
| | | BooleanArgument.builder(OPTION_LONG_USE_SSL) |
| | | .shortIdentifier(OPTION_SHORT_USE_SSL) |
| | | .description(INFO_DESCRIPTION_USE_SSL.get()) |
| | | .buildAndAddToParser(argParser); |
| | | startTLS = |
| | | BooleanArgument.builder(OPTION_LONG_START_TLS) |
| | | .shortIdentifier(OPTION_SHORT_START_TLS) |
| | | .description(INFO_DESCRIPTION_START_TLS.get()) |
| | | .buildAndAddToParser(argParser); |
| | | bindDN = |
| | | StringArgument.builder(OPTION_LONG_BINDDN) |
| | | .shortIdentifier(OPTION_SHORT_BINDDN) |
| | | .description(INFO_DESCRIPTION_BINDDN.get()) |
| | | .valuePlaceholder(INFO_BINDDN_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | bindPassword = |
| | | StringArgument.builder(OPTION_LONG_BINDPWD) |
| | | .shortIdentifier(OPTION_SHORT_BINDPWD) |
| | | .description(INFO_DESCRIPTION_BINDPASSWORD.get()) |
| | | .valuePlaceholder(INFO_BINDPWD_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | bindPasswordFile = |
| | | new FileBasedArgument("bindPasswordFile", |
| | | OPTION_SHORT_BINDPWD_FILE, |
| | | OPTION_LONG_BINDPWD_FILE, |
| | | false, false, |
| | | INFO_BINDPWD_FILE_PLACEHOLDER.get(), null, |
| | | null, INFO_DESCRIPTION_BINDPASSWORDFILE.get()); |
| | | bindPasswordFile.setPropertyName(OPTION_LONG_BINDPWD_FILE); |
| | | argParser.addArgument(bindPasswordFile); |
| | | |
| | | filename = new StringArgument("filename", OPTION_SHORT_FILENAME, |
| | | OPTION_LONG_FILENAME, false, false, |
| | | true, INFO_FILE_PLACEHOLDER.get(), null, |
| | | null, |
| | | INFO_COMPARE_DESCRIPTION_FILENAME.get()); |
| | | filename.setPropertyName(OPTION_LONG_FILENAME); |
| | | argParser.addArgument(filename); |
| | | |
| | | FileBasedArgument.builder(OPTION_LONG_BINDPWD_FILE) |
| | | .shortIdentifier(OPTION_SHORT_BINDPWD_FILE) |
| | | .description(INFO_DESCRIPTION_BINDPASSWORDFILE.get()) |
| | | .valuePlaceholder(INFO_BINDPWD_FILE_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | filename = |
| | | StringArgument.builder(OPTION_LONG_FILENAME) |
| | | .shortIdentifier(OPTION_SHORT_FILENAME) |
| | | .description(INFO_COMPARE_DESCRIPTION_FILENAME.get()) |
| | | .valuePlaceholder(INFO_FILE_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | saslExternal = |
| | | new BooleanArgument("useSASLExternal", 'r', |
| | | "useSASLExternal", |
| | | INFO_DESCRIPTION_USE_SASL_EXTERNAL.get()); |
| | | saslExternal.setPropertyName("useSASLExternal"); |
| | | argParser.addArgument(saslExternal); |
| | | |
| | | saslOptions = new StringArgument("saslOption", OPTION_SHORT_SASLOPTION, |
| | | OPTION_LONG_SASLOPTION, false, |
| | | true, true, |
| | | INFO_SASL_OPTION_PLACEHOLDER.get(), null, |
| | | null, |
| | | INFO_DESCRIPTION_SASL_PROPERTIES.get()); |
| | | saslOptions.setPropertyName(OPTION_LONG_SASLOPTION); |
| | | argParser.addArgument(saslOptions); |
| | | BooleanArgument.builder("useSASLExternal") |
| | | .shortIdentifier('r') |
| | | .description(INFO_DESCRIPTION_USE_SASL_EXTERNAL.get()) |
| | | .buildAndAddToParser(argParser); |
| | | saslOptions = |
| | | StringArgument.builder(OPTION_LONG_SASLOPTION) |
| | | .shortIdentifier(OPTION_SHORT_SASLOPTION) |
| | | .description(INFO_DESCRIPTION_SASL_PROPERTIES.get()) |
| | | .multiValued() |
| | | .valuePlaceholder(INFO_SASL_OPTION_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | |
| | | trustAll = CommonArguments.getTrustAll(); |
| | | argParser.addArgument(trustAll); |
| | | |
| | | keyStorePath = new StringArgument("keyStorePath", |
| | | OPTION_SHORT_KEYSTOREPATH, |
| | | OPTION_LONG_KEYSTOREPATH, |
| | | false, false, true, |
| | | INFO_KEYSTOREPATH_PLACEHOLDER.get(), |
| | | null, null, |
| | | INFO_DESCRIPTION_KEYSTOREPATH.get()); |
| | | keyStorePath.setPropertyName(OPTION_LONG_KEYSTOREPATH); |
| | | argParser.addArgument(keyStorePath); |
| | | |
| | | keyStorePassword = new StringArgument("keyStorePassword", |
| | | OPTION_SHORT_KEYSTORE_PWD, |
| | | OPTION_LONG_KEYSTORE_PWD, false, false, |
| | | true, INFO_KEYSTORE_PWD_PLACEHOLDER.get(), |
| | | null, null, |
| | | INFO_DESCRIPTION_KEYSTOREPASSWORD.get()); |
| | | keyStorePassword.setPropertyName(OPTION_LONG_KEYSTORE_PWD); |
| | | argParser.addArgument(keyStorePassword); |
| | | |
| | | keyStorePath = |
| | | StringArgument.builder(OPTION_LONG_KEYSTOREPATH) |
| | | .shortIdentifier(OPTION_SHORT_KEYSTOREPATH) |
| | | .description(INFO_DESCRIPTION_KEYSTOREPATH.get()) |
| | | .valuePlaceholder(INFO_KEYSTOREPATH_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | keyStorePassword = |
| | | StringArgument.builder(OPTION_LONG_KEYSTORE_PWD) |
| | | .shortIdentifier(OPTION_SHORT_KEYSTORE_PWD) |
| | | .description(INFO_DESCRIPTION_KEYSTOREPASSWORD.get()) |
| | | .valuePlaceholder(INFO_KEYSTORE_PWD_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | keyStorePasswordFile = |
| | | new FileBasedArgument("keyStorePasswordFile", |
| | | OPTION_SHORT_KEYSTORE_PWD_FILE, |
| | | OPTION_LONG_KEYSTORE_PWD_FILE, |
| | | false, false, |
| | | INFO_KEYSTORE_PWD_FILE_PLACEHOLDER.get(), |
| | | null, null, |
| | | INFO_DESCRIPTION_KEYSTOREPASSWORD_FILE.get()); |
| | | keyStorePasswordFile.setPropertyName(OPTION_LONG_KEYSTORE_PWD_FILE); |
| | | argParser.addArgument(keyStorePasswordFile); |
| | | |
| | | FileBasedArgument.builder(OPTION_LONG_KEYSTORE_PWD_FILE) |
| | | .shortIdentifier(OPTION_SHORT_KEYSTORE_PWD_FILE) |
| | | .description(INFO_DESCRIPTION_KEYSTOREPASSWORD_FILE.get()) |
| | | .valuePlaceholder(INFO_KEYSTORE_PWD_FILE_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | certNickname = |
| | | new StringArgument("certnickname", 'N', "certNickname", |
| | | false, false, true, |
| | | INFO_NICKNAME_PLACEHOLDER.get(), null, |
| | | null, INFO_DESCRIPTION_CERT_NICKNAME.get()); |
| | | certNickname.setPropertyName("certNickname"); |
| | | argParser.addArgument(certNickname); |
| | | |
| | | StringArgument.builder("certNickname") |
| | | .shortIdentifier('N') |
| | | .description(INFO_DESCRIPTION_CERT_NICKNAME.get()) |
| | | .valuePlaceholder(INFO_NICKNAME_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | trustStorePath = |
| | | new StringArgument("trustStorePath", |
| | | OPTION_SHORT_TRUSTSTOREPATH, |
| | | OPTION_LONG_TRUSTSTOREPATH, |
| | | false, false, true, |
| | | INFO_TRUSTSTOREPATH_PLACEHOLDER.get(), |
| | | null, null, |
| | | INFO_DESCRIPTION_TRUSTSTOREPATH.get()); |
| | | trustStorePath.setPropertyName(OPTION_LONG_TRUSTSTOREPATH); |
| | | argParser.addArgument(trustStorePath); |
| | | |
| | | StringArgument.builder(OPTION_LONG_TRUSTSTOREPATH) |
| | | .shortIdentifier(OPTION_SHORT_TRUSTSTOREPATH) |
| | | .description(INFO_DESCRIPTION_TRUSTSTOREPATH.get()) |
| | | .valuePlaceholder(INFO_TRUSTSTOREPATH_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | trustStorePassword = |
| | | new StringArgument("trustStorePassword", null, |
| | | OPTION_LONG_TRUSTSTORE_PWD, |
| | | false, false, true, |
| | | INFO_TRUSTSTORE_PWD_PLACEHOLDER.get(), null, |
| | | null, INFO_DESCRIPTION_TRUSTSTOREPASSWORD.get()); |
| | | trustStorePassword.setPropertyName(OPTION_LONG_TRUSTSTORE_PWD); |
| | | argParser.addArgument(trustStorePassword); |
| | | |
| | | StringArgument.builder(OPTION_LONG_TRUSTSTORE_PWD) |
| | | .description(INFO_DESCRIPTION_TRUSTSTOREPASSWORD.get()) |
| | | .valuePlaceholder(INFO_TRUSTSTORE_PWD_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | trustStorePasswordFile = |
| | | new FileBasedArgument( |
| | | "trustStorePasswordFile", |
| | | OPTION_SHORT_TRUSTSTORE_PWD_FILE, |
| | | OPTION_LONG_TRUSTSTORE_PWD_FILE, false, false, |
| | | INFO_TRUSTSTORE_PWD_FILE_PLACEHOLDER.get(), null, |
| | | null, |
| | | INFO_DESCRIPTION_TRUSTSTOREPASSWORD_FILE.get()); |
| | | trustStorePasswordFile.setPropertyName(OPTION_LONG_TRUSTSTORE_PWD_FILE); |
| | | argParser.addArgument(trustStorePasswordFile); |
| | | |
| | | assertionFilter = new StringArgument("assertionfilter", null, |
| | | OPTION_LONG_ASSERTION_FILE, false, false, true, |
| | | INFO_ASSERTION_FILTER_PLACEHOLDER.get(), null, |
| | | null, |
| | | INFO_DESCRIPTION_ASSERTION_FILTER.get()); |
| | | assertionFilter.setPropertyName(OPTION_LONG_ASSERTION_FILE); |
| | | argParser.addArgument(assertionFilter); |
| | | |
| | | FileBasedArgument.builder(OPTION_LONG_TRUSTSTORE_PWD_FILE) |
| | | .shortIdentifier(OPTION_SHORT_TRUSTSTORE_PWD_FILE) |
| | | .description(INFO_DESCRIPTION_TRUSTSTOREPASSWORD_FILE.get()) |
| | | .valuePlaceholder(INFO_TRUSTSTORE_PWD_FILE_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | assertionFilter = |
| | | StringArgument.builder(OPTION_LONG_ASSERTION_FILE) |
| | | .description(INFO_DESCRIPTION_ASSERTION_FILTER.get()) |
| | | .valuePlaceholder(INFO_ASSERTION_FILTER_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | controlStr = |
| | | new StringArgument("control", 'J', "control", false, true, true, |
| | | INFO_LDAP_CONTROL_PLACEHOLDER.get(), |
| | | null, null, INFO_DESCRIPTION_CONTROLS.get()); |
| | | controlStr.setPropertyName("control"); |
| | | argParser.addArgument(controlStr); |
| | | |
| | | version = new IntegerArgument("version", OPTION_SHORT_PROTOCOL_VERSION, |
| | | OPTION_LONG_PROTOCOL_VERSION, |
| | | false, false, true, |
| | | INFO_PROTOCOL_VERSION_PLACEHOLDER.get(), |
| | | 3, null, INFO_DESCRIPTION_VERSION.get()); |
| | | version.setPropertyName(OPTION_LONG_PROTOCOL_VERSION); |
| | | argParser.addArgument(version); |
| | | |
| | | int defaultTimeout = CliConstants.DEFAULT_LDAP_CONNECT_TIMEOUT; |
| | | connectTimeout = new IntegerArgument(OPTION_LONG_CONNECT_TIMEOUT, |
| | | null, OPTION_LONG_CONNECT_TIMEOUT, |
| | | false, false, true, INFO_TIMEOUT_PLACEHOLDER.get(), |
| | | defaultTimeout, null, |
| | | true, 0, false, Integer.MAX_VALUE, |
| | | INFO_DESCRIPTION_CONNECTION_TIMEOUT.get()); |
| | | connectTimeout.setPropertyName(OPTION_LONG_CONNECT_TIMEOUT); |
| | | argParser.addArgument(connectTimeout); |
| | | |
| | | encodingStr = new StringArgument("encoding", 'i', "encoding", |
| | | false, false, |
| | | true, INFO_ENCODING_PLACEHOLDER.get(), |
| | | null, null, |
| | | INFO_DESCRIPTION_ENCODING.get()); |
| | | encodingStr.setPropertyName("encoding"); |
| | | argParser.addArgument(encodingStr); |
| | | |
| | | continueOnError = new BooleanArgument("continueOnError", 'c', |
| | | "continueOnError", |
| | | INFO_DESCRIPTION_CONTINUE_ON_ERROR.get()); |
| | | continueOnError.setPropertyName("continueOnError"); |
| | | argParser.addArgument(continueOnError); |
| | | |
| | | noop = new BooleanArgument("no-op", OPTION_SHORT_DRYRUN, |
| | | OPTION_LONG_DRYRUN, |
| | | INFO_DESCRIPTION_NOOP.get()); |
| | | argParser.addArgument(noop); |
| | | noop.setPropertyName(OPTION_LONG_DRYRUN); |
| | | StringArgument.builder("control") |
| | | .shortIdentifier('J') |
| | | .description(INFO_DESCRIPTION_CONTROLS.get()) |
| | | .multiValued() |
| | | .valuePlaceholder(INFO_LDAP_CONTROL_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | version = |
| | | IntegerArgument.builder(OPTION_LONG_PROTOCOL_VERSION) |
| | | .shortIdentifier(OPTION_SHORT_PROTOCOL_VERSION) |
| | | .description(INFO_DESCRIPTION_VERSION.get()) |
| | | .defaultValue(3) |
| | | .valuePlaceholder(INFO_PROTOCOL_VERSION_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | connectTimeout = |
| | | IntegerArgument.builder(OPTION_LONG_CONNECT_TIMEOUT) |
| | | .description(INFO_DESCRIPTION_CONNECTION_TIMEOUT.get()) |
| | | .lowerBound(0) |
| | | .defaultValue(CliConstants.DEFAULT_LDAP_CONNECT_TIMEOUT) |
| | | .valuePlaceholder(INFO_TIMEOUT_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | encodingStr = |
| | | StringArgument.builder("encoding") |
| | | .shortIdentifier('i') |
| | | .description(INFO_DESCRIPTION_ENCODING.get()) |
| | | .valuePlaceholder(INFO_ENCODING_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | continueOnError = |
| | | BooleanArgument.builder("continueOnError") |
| | | .shortIdentifier('c') |
| | | .description(INFO_DESCRIPTION_CONTINUE_ON_ERROR.get()) |
| | | .buildAndAddToParser(argParser); |
| | | noop = |
| | | BooleanArgument.builder(OPTION_LONG_DRYRUN) |
| | | .shortIdentifier(OPTION_SHORT_DRYRUN) |
| | | .description(INFO_DESCRIPTION_NOOP.get()) |
| | | .buildAndAddToParser(argParser); |
| | | |
| | | verbose = CommonArguments.getVerbose(); |
| | | argParser.addArgument(verbose); |
| | |
| | | argParser.addArgument(showUsage); |
| | | |
| | | useCompareResultCode = |
| | | new BooleanArgument("usecompareresultcode", 'm', |
| | | "useCompareResultCode", |
| | | INFO_LDAPCOMPARE_DESCRIPTION_USE_COMPARE_RESULT.get()); |
| | | argParser.addArgument(useCompareResultCode); |
| | | BooleanArgument.builder("useCompareResultCode") |
| | | .shortIdentifier('m') |
| | | .description(INFO_LDAPCOMPARE_DESCRIPTION_USE_COMPARE_RESULT.get()) |
| | | .buildAndAddToParser(argParser); |
| | | |
| | | argParser.setUsageArgument(showUsage, out); |
| | | } catch (ArgumentException ae) |
| | |
| | | package org.opends.server.tools; |
| | | |
| | | import static com.forgerock.opendj.cli.ArgumentConstants.*; |
| | | import static com.forgerock.opendj.cli.CliMessages.INFO_DESCRIPTION_BINDPASSWORDFILE; |
| | | import static com.forgerock.opendj.cli.Utils.*; |
| | | |
| | | import static org.opends.messages.ToolMessages.*; |
| | |
| | | argParser.setVersionHandler(new DirectoryServerVersionHandler()); |
| | | try |
| | | { |
| | | propertiesFileArgument = new StringArgument("propertiesFilePath", |
| | | null, OPTION_LONG_PROP_FILE_PATH, |
| | | false, false, true, INFO_PROP_FILE_PATH_PLACEHOLDER.get(), null, null, |
| | | INFO_DESCRIPTION_PROP_FILE_PATH.get()); |
| | | argParser.addArgument(propertiesFileArgument); |
| | | propertiesFileArgument = |
| | | StringArgument.builder(OPTION_LONG_PROP_FILE_PATH) |
| | | .description(INFO_DESCRIPTION_PROP_FILE_PATH.get()) |
| | | .valuePlaceholder(INFO_PROP_FILE_PATH_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | argParser.setFilePropertiesArgument(propertiesFileArgument); |
| | | |
| | | noPropertiesFileArgument = new BooleanArgument( |
| | | "noPropertiesFileArgument", null, OPTION_LONG_NO_PROP_FILE, |
| | | INFO_DESCRIPTION_NO_PROP_FILE.get()); |
| | | argParser.addArgument(noPropertiesFileArgument); |
| | | noPropertiesFileArgument = |
| | | BooleanArgument.builder(OPTION_LONG_NO_PROP_FILE) |
| | | .description(INFO_DESCRIPTION_NO_PROP_FILE.get()) |
| | | .buildAndAddToParser(argParser); |
| | | argParser.setNoPropertiesFileArgument(noPropertiesFileArgument); |
| | | |
| | | hostName = new StringArgument("host", OPTION_SHORT_HOST, |
| | | OPTION_LONG_HOST, false, false, true, |
| | | INFO_HOST_PLACEHOLDER.get(), "localhost", |
| | | null, |
| | | INFO_DESCRIPTION_HOST.get()); |
| | | hostName.setPropertyName(OPTION_LONG_HOST); |
| | | argParser.addArgument(hostName); |
| | | |
| | | port = new IntegerArgument("port", OPTION_SHORT_PORT, |
| | | OPTION_LONG_PORT, false, false, true, |
| | | INFO_PORT_PLACEHOLDER.get(), 389, null, |
| | | true, 1, true, 65535, |
| | | INFO_DESCRIPTION_PORT.get()); |
| | | port.setPropertyName(OPTION_LONG_PORT); |
| | | argParser.addArgument(port); |
| | | |
| | | useSSL = new BooleanArgument("useSSL", OPTION_SHORT_USE_SSL, |
| | | OPTION_LONG_USE_SSL, |
| | | INFO_DESCRIPTION_USE_SSL.get()); |
| | | useSSL.setPropertyName(OPTION_LONG_USE_SSL); |
| | | argParser.addArgument(useSSL); |
| | | |
| | | startTLS = new BooleanArgument("startTLS", OPTION_SHORT_START_TLS, |
| | | OPTION_LONG_START_TLS, |
| | | INFO_DESCRIPTION_START_TLS.get()); |
| | | startTLS.setPropertyName(OPTION_LONG_START_TLS); |
| | | argParser.addArgument(startTLS); |
| | | |
| | | bindDN = new StringArgument("bindDN", OPTION_SHORT_BINDDN, |
| | | OPTION_LONG_BINDDN, false, false, true, |
| | | INFO_BINDDN_PLACEHOLDER.get(), null, null, |
| | | INFO_DESCRIPTION_BINDDN.get()); |
| | | bindDN.setPropertyName(OPTION_LONG_BINDDN); |
| | | argParser.addArgument(bindDN); |
| | | |
| | | bindPassword = new StringArgument("bindPassword", OPTION_SHORT_BINDPWD, |
| | | OPTION_LONG_BINDPWD, |
| | | false, false, true, |
| | | INFO_BINDPWD_PLACEHOLDER.get(), |
| | | null, null, |
| | | INFO_DESCRIPTION_BINDPASSWORD.get()); |
| | | bindPassword.setPropertyName(OPTION_LONG_BINDPWD); |
| | | argParser.addArgument(bindPassword); |
| | | |
| | | hostName = |
| | | StringArgument.builder(OPTION_LONG_HOST) |
| | | .shortIdentifier(OPTION_SHORT_HOST) |
| | | .description(INFO_DESCRIPTION_HOST.get()) |
| | | .defaultValue("localhost") |
| | | .valuePlaceholder(INFO_HOST_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | port = |
| | | IntegerArgument.builder(OPTION_LONG_PORT) |
| | | .shortIdentifier(OPTION_SHORT_PORT) |
| | | .description(INFO_DESCRIPTION_PORT.get()) |
| | | .range(1, 65535) |
| | | .defaultValue(389) |
| | | .valuePlaceholder(INFO_PORT_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | useSSL = |
| | | BooleanArgument.builder(OPTION_LONG_USE_SSL) |
| | | .shortIdentifier(OPTION_SHORT_USE_SSL) |
| | | .description(INFO_DESCRIPTION_USE_SSL.get()) |
| | | .buildAndAddToParser(argParser); |
| | | startTLS = |
| | | BooleanArgument.builder(OPTION_LONG_START_TLS) |
| | | .shortIdentifier(OPTION_SHORT_START_TLS) |
| | | .description(INFO_DESCRIPTION_START_TLS.get()) |
| | | .buildAndAddToParser(argParser); |
| | | bindDN = |
| | | StringArgument.builder(OPTION_LONG_BINDDN) |
| | | .shortIdentifier(OPTION_SHORT_BINDDN) |
| | | .description(INFO_DESCRIPTION_BINDDN.get()) |
| | | .valuePlaceholder(INFO_BINDDN_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | bindPassword = |
| | | StringArgument.builder(OPTION_LONG_BINDPWD) |
| | | .shortIdentifier(OPTION_SHORT_BINDPWD) |
| | | .description(INFO_DESCRIPTION_BINDPASSWORD.get()) |
| | | .valuePlaceholder(INFO_BINDPWD_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | bindPasswordFile = |
| | | new FileBasedArgument("bindPasswordFile", OPTION_SHORT_BINDPWD_FILE, |
| | | OPTION_LONG_BINDPWD_FILE, |
| | | false, false, |
| | | INFO_BINDPWD_FILE_PLACEHOLDER.get(), null, |
| | | null, INFO_DESCRIPTION_BINDPASSWORDFILE.get()); |
| | | bindPasswordFile.setPropertyName(OPTION_LONG_BINDPWD_FILE); |
| | | argParser.addArgument(bindPasswordFile); |
| | | |
| | | filename = new StringArgument("filename", OPTION_SHORT_FILENAME, |
| | | OPTION_LONG_FILENAME, false, false, |
| | | true, INFO_FILE_PLACEHOLDER.get(), null, |
| | | null, |
| | | INFO_DELETE_DESCRIPTION_FILENAME.get()); |
| | | filename.setPropertyName(OPTION_LONG_FILENAME); |
| | | argParser.addArgument(filename); |
| | | |
| | | FileBasedArgument.builder(OPTION_LONG_BINDPWD_FILE) |
| | | .shortIdentifier(OPTION_SHORT_BINDPWD_FILE) |
| | | .description(INFO_DESCRIPTION_BINDPASSWORDFILE.get()) |
| | | .valuePlaceholder(INFO_BINDPWD_FILE_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | filename = |
| | | StringArgument.builder(OPTION_LONG_FILENAME) |
| | | .shortIdentifier(OPTION_SHORT_FILENAME) |
| | | .description(INFO_DELETE_DESCRIPTION_FILENAME.get()) |
| | | .valuePlaceholder(INFO_FILE_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | saslExternal = |
| | | new BooleanArgument("useSASLExternal", 'r', |
| | | "useSASLExternal", |
| | | INFO_DESCRIPTION_USE_SASL_EXTERNAL.get()); |
| | | saslExternal.setPropertyName("useSASLExternal"); |
| | | argParser.addArgument(saslExternal); |
| | | |
| | | saslOptions = new StringArgument( |
| | | "saslOption", OPTION_SHORT_SASLOPTION, |
| | | OPTION_LONG_SASLOPTION, |
| | | false, true, true, |
| | | INFO_SASL_OPTION_PLACEHOLDER.get(), null, |
| | | null, INFO_DESCRIPTION_SASL_PROPERTIES.get()); |
| | | saslOptions.setPropertyName(OPTION_LONG_SASLOPTION); |
| | | argParser.addArgument(saslOptions); |
| | | BooleanArgument.builder("useSASLExternal") |
| | | .shortIdentifier('r') |
| | | .description(INFO_DESCRIPTION_USE_SASL_EXTERNAL.get()) |
| | | .buildAndAddToParser(argParser); |
| | | saslOptions = |
| | | StringArgument.builder(OPTION_LONG_SASLOPTION) |
| | | .shortIdentifier(OPTION_SHORT_SASLOPTION) |
| | | .description(INFO_DESCRIPTION_SASL_PROPERTIES.get()) |
| | | .multiValued() |
| | | .valuePlaceholder(INFO_SASL_OPTION_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | |
| | | trustAll = CommonArguments.getTrustAll(); |
| | | argParser.addArgument(trustAll); |
| | | |
| | | keyStorePath = new StringArgument("keyStorePath", |
| | | OPTION_SHORT_KEYSTOREPATH, |
| | | OPTION_LONG_KEYSTOREPATH, |
| | | false, false, true, |
| | | INFO_KEYSTOREPATH_PLACEHOLDER.get(), |
| | | null, null, |
| | | INFO_DESCRIPTION_KEYSTOREPATH.get()); |
| | | keyStorePath.setPropertyName(OPTION_LONG_KEYSTOREPATH); |
| | | argParser.addArgument(keyStorePath); |
| | | |
| | | keyStorePath = |
| | | StringArgument.builder(OPTION_LONG_KEYSTOREPATH) |
| | | .shortIdentifier(OPTION_SHORT_KEYSTOREPATH) |
| | | .description(INFO_DESCRIPTION_KEYSTOREPATH.get()) |
| | | .valuePlaceholder(INFO_KEYSTOREPATH_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | keyStorePassword = |
| | | new StringArgument("keyStorePassword", |
| | | OPTION_SHORT_KEYSTORE_PWD, |
| | | OPTION_LONG_KEYSTORE_PWD, |
| | | false, false, |
| | | true, INFO_KEYSTORE_PWD_PLACEHOLDER.get(), |
| | | null, null, |
| | | INFO_DESCRIPTION_KEYSTOREPASSWORD.get()); |
| | | keyStorePassword.setPropertyName(OPTION_LONG_KEYSTORE_PWD); |
| | | argParser.addArgument(keyStorePassword); |
| | | |
| | | StringArgument.builder(OPTION_LONG_KEYSTORE_PWD) |
| | | .shortIdentifier(OPTION_SHORT_KEYSTORE_PWD) |
| | | .description(INFO_DESCRIPTION_KEYSTOREPASSWORD.get()) |
| | | .valuePlaceholder(INFO_KEYSTORE_PWD_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | keyStorePasswordFile = |
| | | new FileBasedArgument("keyStorePasswordFile", |
| | | OPTION_SHORT_KEYSTORE_PWD_FILE, |
| | | OPTION_LONG_KEYSTORE_PWD_FILE, |
| | | false, false, |
| | | INFO_KEYSTORE_PWD_FILE_PLACEHOLDER.get(), |
| | | null, null, |
| | | INFO_DESCRIPTION_KEYSTOREPASSWORD_FILE.get()); |
| | | keyStorePasswordFile.setPropertyName(OPTION_LONG_KEYSTORE_PWD_FILE); |
| | | argParser.addArgument(keyStorePasswordFile); |
| | | |
| | | certNickname = new StringArgument( |
| | | "certnickname", 'N', "certNickname", |
| | | false, false, true, INFO_NICKNAME_PLACEHOLDER.get(), null, |
| | | null, INFO_DESCRIPTION_CERT_NICKNAME.get()); |
| | | certNickname.setPropertyName("certNickname"); |
| | | argParser.addArgument(certNickname); |
| | | |
| | | trustStorePath = new StringArgument( |
| | | "trustStorePath", |
| | | OPTION_SHORT_TRUSTSTOREPATH, |
| | | OPTION_LONG_TRUSTSTOREPATH, |
| | | false, false, true, |
| | | INFO_TRUSTSTOREPATH_PLACEHOLDER.get(), |
| | | null, null, |
| | | INFO_DESCRIPTION_TRUSTSTOREPATH.get()); |
| | | trustStorePath.setPropertyName(OPTION_LONG_TRUSTSTOREPATH); |
| | | argParser.addArgument(trustStorePath); |
| | | |
| | | FileBasedArgument.builder(OPTION_LONG_KEYSTORE_PWD_FILE) |
| | | .shortIdentifier(OPTION_SHORT_KEYSTORE_PWD_FILE) |
| | | .description(INFO_DESCRIPTION_KEYSTOREPASSWORD_FILE.get()) |
| | | .valuePlaceholder(INFO_KEYSTORE_PWD_FILE_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | certNickname = |
| | | StringArgument.builder("certNickname") |
| | | .shortIdentifier('N') |
| | | .description(INFO_DESCRIPTION_CERT_NICKNAME.get()) |
| | | .valuePlaceholder(INFO_NICKNAME_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | trustStorePath = |
| | | StringArgument.builder(OPTION_LONG_TRUSTSTOREPATH) |
| | | .shortIdentifier(OPTION_SHORT_TRUSTSTOREPATH) |
| | | .description(INFO_DESCRIPTION_TRUSTSTOREPATH.get()) |
| | | .valuePlaceholder(INFO_TRUSTSTOREPATH_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | trustStorePassword = |
| | | new StringArgument("trustStorePassword", null, |
| | | OPTION_LONG_TRUSTSTORE_PWD, |
| | | false, false, true, |
| | | INFO_TRUSTSTORE_PWD_PLACEHOLDER.get(), null, |
| | | null, INFO_DESCRIPTION_TRUSTSTOREPASSWORD.get()); |
| | | trustStorePassword.setPropertyName(OPTION_LONG_TRUSTSTORE_PWD); |
| | | argParser.addArgument(trustStorePassword); |
| | | |
| | | StringArgument.builder(OPTION_LONG_TRUSTSTORE_PWD) |
| | | .description(INFO_DESCRIPTION_TRUSTSTOREPASSWORD.get()) |
| | | .valuePlaceholder(INFO_TRUSTSTORE_PWD_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | trustStorePasswordFile = |
| | | new FileBasedArgument( |
| | | "trustStorePasswordFile", |
| | | OPTION_SHORT_TRUSTSTORE_PWD_FILE, |
| | | OPTION_LONG_TRUSTSTORE_PWD_FILE, false, false, |
| | | INFO_TRUSTSTORE_PWD_FILE_PLACEHOLDER.get(), null, null, |
| | | INFO_DESCRIPTION_TRUSTSTOREPASSWORD_FILE.get()); |
| | | trustStorePasswordFile.setPropertyName(OPTION_LONG_TRUSTSTORE_PWD_FILE); |
| | | argParser.addArgument(trustStorePasswordFile); |
| | | |
| | | FileBasedArgument.builder(OPTION_LONG_TRUSTSTORE_PWD_FILE) |
| | | .shortIdentifier(OPTION_SHORT_TRUSTSTORE_PWD_FILE) |
| | | .description(INFO_DESCRIPTION_TRUSTSTOREPASSWORD_FILE.get()) |
| | | .valuePlaceholder(INFO_TRUSTSTORE_PWD_FILE_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | deleteSubtree = |
| | | new BooleanArgument("deleteSubtree", 'x', "deleteSubtree", |
| | | INFO_DELETE_DESCRIPTION_DELETE_SUBTREE.get()); |
| | | deleteSubtree.setPropertyName("deleteSubtree"); |
| | | argParser.addArgument(deleteSubtree); |
| | | |
| | | BooleanArgument.builder("deleteSubtree") |
| | | .shortIdentifier('x') |
| | | .description(INFO_DELETE_DESCRIPTION_DELETE_SUBTREE.get()) |
| | | .buildAndAddToParser(argParser); |
| | | controlStr = |
| | | new StringArgument("control", 'J', "control", false, true, true, |
| | | INFO_LDAP_CONTROL_PLACEHOLDER.get(), |
| | | null, null, INFO_DESCRIPTION_CONTROLS.get()); |
| | | controlStr.setPropertyName("control"); |
| | | argParser.addArgument(controlStr); |
| | | |
| | | version = new IntegerArgument("version", OPTION_SHORT_PROTOCOL_VERSION, |
| | | OPTION_LONG_PROTOCOL_VERSION, false, false, |
| | | true, |
| | | INFO_PROTOCOL_VERSION_PLACEHOLDER.get(), 3, |
| | | null, INFO_DESCRIPTION_VERSION.get()); |
| | | version.setPropertyName(OPTION_LONG_PROTOCOL_VERSION); |
| | | argParser.addArgument(version); |
| | | |
| | | int defaultTimeout = CliConstants.DEFAULT_LDAP_CONNECT_TIMEOUT; |
| | | connectTimeout = new IntegerArgument(OPTION_LONG_CONNECT_TIMEOUT, |
| | | null, OPTION_LONG_CONNECT_TIMEOUT, |
| | | false, false, true, INFO_TIMEOUT_PLACEHOLDER.get(), |
| | | defaultTimeout, null, |
| | | true, 0, false, Integer.MAX_VALUE, |
| | | INFO_DESCRIPTION_CONNECTION_TIMEOUT.get()); |
| | | connectTimeout.setPropertyName(OPTION_LONG_CONNECT_TIMEOUT); |
| | | argParser.addArgument(connectTimeout); |
| | | |
| | | encodingStr = new StringArgument("encoding", 'i', |
| | | OPTION_LONG_ENCODING, false, |
| | | false, true, |
| | | INFO_ENCODING_PLACEHOLDER.get(), null, |
| | | null, |
| | | INFO_DESCRIPTION_ENCODING.get()); |
| | | encodingStr.setPropertyName(OPTION_LONG_ENCODING); |
| | | argParser.addArgument(encodingStr); |
| | | |
| | | StringArgument.builder("control") |
| | | .shortIdentifier('J') |
| | | .description(INFO_DESCRIPTION_CONTROLS.get()) |
| | | .multiValued() |
| | | .valuePlaceholder(INFO_LDAP_CONTROL_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | version = |
| | | IntegerArgument.builder(OPTION_LONG_PROTOCOL_VERSION) |
| | | .shortIdentifier(OPTION_SHORT_PROTOCOL_VERSION) |
| | | .description(INFO_DESCRIPTION_VERSION.get()) |
| | | .defaultValue(3) |
| | | .valuePlaceholder(INFO_PROTOCOL_VERSION_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | connectTimeout = |
| | | IntegerArgument.builder(OPTION_LONG_CONNECT_TIMEOUT) |
| | | .description(INFO_DESCRIPTION_CONNECTION_TIMEOUT.get()) |
| | | .lowerBound(0) |
| | | .defaultValue(CliConstants.DEFAULT_LDAP_CONNECT_TIMEOUT) |
| | | .valuePlaceholder(INFO_TIMEOUT_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | encodingStr = |
| | | StringArgument.builder(OPTION_LONG_ENCODING) |
| | | .shortIdentifier('i') |
| | | .description(INFO_DESCRIPTION_ENCODING.get()) |
| | | .valuePlaceholder(INFO_ENCODING_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | continueOnError = |
| | | new BooleanArgument("continueOnError", 'c', "continueOnError", |
| | | INFO_DESCRIPTION_CONTINUE_ON_ERROR.get()); |
| | | continueOnError.setPropertyName("continueOnError"); |
| | | argParser.addArgument(continueOnError); |
| | | |
| | | noop = new BooleanArgument("no-op", OPTION_SHORT_DRYRUN, |
| | | OPTION_LONG_DRYRUN, INFO_DESCRIPTION_NOOP.get()); |
| | | noop.setPropertyName(OPTION_LONG_DRYRUN); |
| | | argParser.addArgument(noop); |
| | | BooleanArgument.builder("continueOnError") |
| | | .shortIdentifier('c') |
| | | .description(INFO_DESCRIPTION_CONTINUE_ON_ERROR.get()) |
| | | .buildAndAddToParser(argParser); |
| | | noop = |
| | | BooleanArgument.builder(OPTION_LONG_DRYRUN) |
| | | .shortIdentifier(OPTION_SHORT_DRYRUN) |
| | | .description(INFO_DESCRIPTION_NOOP.get()) |
| | | .buildAndAddToParser(argParser); |
| | | |
| | | verbose = CommonArguments.getVerbose(); |
| | | argParser.addArgument(verbose); |
| | |
| | | package org.opends.server.tools; |
| | | |
| | | import static com.forgerock.opendj.cli.ArgumentConstants.*; |
| | | import static com.forgerock.opendj.cli.CliMessages.INFO_DESCRIPTION_BINDPASSWORDFILE; |
| | | import static com.forgerock.opendj.cli.Utils.*; |
| | | |
| | | import static org.opends.messages.ToolMessages.*; |
| | |
| | | argParser.setVersionHandler(new DirectoryServerVersionHandler()); |
| | | try |
| | | { |
| | | propertiesFileArgument = new StringArgument("propertiesFilePath", |
| | | null, OPTION_LONG_PROP_FILE_PATH, |
| | | false, false, true, INFO_PROP_FILE_PATH_PLACEHOLDER.get(), null, null, |
| | | INFO_DESCRIPTION_PROP_FILE_PATH.get()); |
| | | argParser.addArgument(propertiesFileArgument); |
| | | propertiesFileArgument = |
| | | StringArgument.builder(OPTION_LONG_PROP_FILE_PATH) |
| | | .description(INFO_DESCRIPTION_PROP_FILE_PATH.get()) |
| | | .valuePlaceholder(INFO_PROP_FILE_PATH_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | argParser.setFilePropertiesArgument(propertiesFileArgument); |
| | | |
| | | noPropertiesFileArgument = new BooleanArgument( |
| | | "noPropertiesFileArgument", null, OPTION_LONG_NO_PROP_FILE, |
| | | INFO_DESCRIPTION_NO_PROP_FILE.get()); |
| | | argParser.addArgument(noPropertiesFileArgument); |
| | | noPropertiesFileArgument = |
| | | BooleanArgument.builder(OPTION_LONG_NO_PROP_FILE) |
| | | .description(INFO_DESCRIPTION_NO_PROP_FILE.get()) |
| | | .buildAndAddToParser(argParser); |
| | | argParser.setNoPropertiesFileArgument(noPropertiesFileArgument); |
| | | |
| | | hostName = new StringArgument("host", OPTION_SHORT_HOST, |
| | | OPTION_LONG_HOST, false, false, true, |
| | | INFO_HOST_PLACEHOLDER.get(), "localhost", |
| | | null, |
| | | INFO_DESCRIPTION_HOST.get()); |
| | | hostName.setPropertyName(OPTION_LONG_HOST); |
| | | argParser.addArgument(hostName); |
| | | |
| | | port = new IntegerArgument("port", OPTION_SHORT_PORT, |
| | | OPTION_LONG_PORT, false, false, true, |
| | | INFO_PORT_PLACEHOLDER.get(), 389, null, |
| | | true, 1, true, 65535, |
| | | INFO_DESCRIPTION_PORT.get()); |
| | | port.setPropertyName(OPTION_LONG_PORT); |
| | | argParser.addArgument(port); |
| | | |
| | | useSSL = new BooleanArgument("useSSL", OPTION_SHORT_USE_SSL, |
| | | OPTION_LONG_USE_SSL, |
| | | INFO_DESCRIPTION_USE_SSL.get()); |
| | | useSSL.setPropertyName(OPTION_LONG_USE_SSL); |
| | | argParser.addArgument(useSSL); |
| | | |
| | | startTLS = new BooleanArgument("startTLS", OPTION_SHORT_START_TLS, |
| | | OPTION_LONG_START_TLS, |
| | | INFO_DESCRIPTION_START_TLS.get()); |
| | | startTLS.setPropertyName(OPTION_LONG_START_TLS); |
| | | argParser.addArgument(startTLS); |
| | | |
| | | bindDN = new StringArgument("bindDN", OPTION_SHORT_BINDDN, |
| | | OPTION_LONG_BINDDN, false, false, true, |
| | | INFO_BINDDN_PLACEHOLDER.get(), null, null, |
| | | INFO_DESCRIPTION_BINDDN.get()); |
| | | bindDN.setPropertyName(OPTION_LONG_BINDDN); |
| | | argParser.addArgument(bindDN); |
| | | |
| | | bindPassword = new StringArgument("bindPassword", OPTION_SHORT_BINDPWD, |
| | | OPTION_LONG_BINDPWD, |
| | | false, false, true, |
| | | INFO_BINDPWD_PLACEHOLDER.get(), |
| | | null, null, |
| | | INFO_DESCRIPTION_BINDPASSWORD.get()); |
| | | bindPassword.setPropertyName(OPTION_LONG_BINDPWD); |
| | | argParser.addArgument(bindPassword); |
| | | |
| | | hostName = |
| | | StringArgument.builder(OPTION_LONG_HOST) |
| | | .shortIdentifier(OPTION_SHORT_HOST) |
| | | .description(INFO_DESCRIPTION_HOST.get()) |
| | | .defaultValue("localhost") |
| | | .valuePlaceholder(INFO_HOST_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | port = |
| | | IntegerArgument.builder(OPTION_LONG_PORT) |
| | | .shortIdentifier(OPTION_SHORT_PORT) |
| | | .description(INFO_DESCRIPTION_PORT.get()) |
| | | .range(1, 65535) |
| | | .defaultValue(389) |
| | | .valuePlaceholder(INFO_PORT_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | useSSL = |
| | | BooleanArgument.builder(OPTION_LONG_USE_SSL) |
| | | .shortIdentifier(OPTION_SHORT_USE_SSL) |
| | | .description(INFO_DESCRIPTION_USE_SSL.get()) |
| | | .buildAndAddToParser(argParser); |
| | | startTLS = |
| | | BooleanArgument.builder(OPTION_LONG_START_TLS) |
| | | .shortIdentifier(OPTION_SHORT_START_TLS) |
| | | .description(INFO_DESCRIPTION_START_TLS.get()) |
| | | .buildAndAddToParser(argParser); |
| | | bindDN = |
| | | StringArgument.builder(OPTION_LONG_BINDDN) |
| | | .shortIdentifier(OPTION_SHORT_BINDDN) |
| | | .description(INFO_DESCRIPTION_BINDDN.get()) |
| | | .valuePlaceholder(INFO_BINDDN_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | bindPassword = |
| | | StringArgument.builder(OPTION_LONG_BINDPWD) |
| | | .shortIdentifier(OPTION_SHORT_BINDPWD) |
| | | .description(INFO_DESCRIPTION_BINDPASSWORD.get()) |
| | | .valuePlaceholder(INFO_BINDPWD_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | bindPasswordFile = |
| | | new FileBasedArgument("bindPasswordFile", |
| | | OPTION_SHORT_BINDPWD_FILE, |
| | | OPTION_LONG_BINDPWD_FILE, |
| | | false, false, |
| | | INFO_BINDPWD_FILE_PLACEHOLDER.get(), null, |
| | | null, INFO_DESCRIPTION_BINDPASSWORDFILE.get()); |
| | | bindPasswordFile.setPropertyName(OPTION_LONG_BINDPWD_FILE); |
| | | argParser.addArgument(bindPasswordFile); |
| | | |
| | | defaultAdd = new BooleanArgument( |
| | | "defaultAdd", 'a', "defaultAdd", |
| | | INFO_MODIFY_DESCRIPTION_DEFAULT_ADD.get()); |
| | | argParser.addArgument(defaultAdd); |
| | | |
| | | filename = new StringArgument("filename", OPTION_SHORT_FILENAME, |
| | | OPTION_LONG_FILENAME, false, false, |
| | | true, INFO_FILE_PLACEHOLDER.get(), null, |
| | | null, |
| | | INFO_LDAPMODIFY_DESCRIPTION_FILENAME.get()); |
| | | filename.setPropertyName(OPTION_LONG_FILENAME); |
| | | argParser.addArgument(filename); |
| | | |
| | | saslExternal = new BooleanArgument( |
| | | "useSASLExternal", 'r', |
| | | "useSASLExternal", |
| | | INFO_DESCRIPTION_USE_SASL_EXTERNAL.get()); |
| | | saslExternal.setPropertyName("useSASLExternal"); |
| | | argParser.addArgument(saslExternal); |
| | | |
| | | saslOptions = new StringArgument("saslOption", OPTION_SHORT_SASLOPTION, |
| | | OPTION_LONG_SASLOPTION, false, |
| | | true, true, |
| | | INFO_SASL_OPTION_PLACEHOLDER.get(), null, |
| | | null, |
| | | INFO_DESCRIPTION_SASL_PROPERTIES.get()); |
| | | saslOptions.setPropertyName(OPTION_LONG_SASLOPTION); |
| | | argParser.addArgument(saslOptions); |
| | | FileBasedArgument.builder(OPTION_LONG_BINDPWD_FILE) |
| | | .shortIdentifier(OPTION_SHORT_BINDPWD_FILE) |
| | | .description(INFO_DESCRIPTION_BINDPASSWORDFILE.get()) |
| | | .valuePlaceholder(INFO_BINDPWD_FILE_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | defaultAdd = |
| | | BooleanArgument.builder("defaultAdd") |
| | | .shortIdentifier('a') |
| | | .description(INFO_MODIFY_DESCRIPTION_DEFAULT_ADD.get()) |
| | | .buildAndAddToParser(argParser); |
| | | filename = |
| | | StringArgument.builder(OPTION_LONG_FILENAME) |
| | | .shortIdentifier(OPTION_SHORT_FILENAME) |
| | | .description(INFO_LDAPMODIFY_DESCRIPTION_FILENAME.get()) |
| | | .valuePlaceholder(INFO_FILE_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | saslExternal = |
| | | BooleanArgument.builder("useSASLExternal") |
| | | .shortIdentifier('r') |
| | | .description(INFO_DESCRIPTION_USE_SASL_EXTERNAL.get()) |
| | | .buildAndAddToParser(argParser); |
| | | saslOptions = |
| | | StringArgument.builder(OPTION_LONG_SASLOPTION) |
| | | .shortIdentifier(OPTION_SHORT_SASLOPTION) |
| | | .description(INFO_DESCRIPTION_SASL_PROPERTIES.get()) |
| | | .multiValued() |
| | | .valuePlaceholder(INFO_SASL_OPTION_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | |
| | | trustAll = CommonArguments.getTrustAll(); |
| | | argParser.addArgument(trustAll); |
| | | |
| | | keyStorePath = new StringArgument("keyStorePath", |
| | | OPTION_SHORT_KEYSTOREPATH, |
| | | OPTION_LONG_KEYSTOREPATH, |
| | | false, false, true, |
| | | INFO_KEYSTOREPATH_PLACEHOLDER.get(), |
| | | null, null, |
| | | INFO_DESCRIPTION_KEYSTOREPATH.get()); |
| | | keyStorePath.setPropertyName(OPTION_LONG_KEYSTOREPATH); |
| | | argParser.addArgument(keyStorePath); |
| | | |
| | | keyStorePath = |
| | | StringArgument.builder(OPTION_LONG_KEYSTOREPATH) |
| | | .shortIdentifier(OPTION_SHORT_KEYSTOREPATH) |
| | | .description(INFO_DESCRIPTION_KEYSTOREPATH.get()) |
| | | .valuePlaceholder(INFO_KEYSTOREPATH_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | keyStorePassword = |
| | | new StringArgument("keyStorePassword", |
| | | OPTION_SHORT_KEYSTORE_PWD, |
| | | OPTION_LONG_KEYSTORE_PWD, |
| | | false, false, |
| | | true, |
| | | INFO_KEYSTORE_PWD_PLACEHOLDER.get(), |
| | | null, null, |
| | | INFO_DESCRIPTION_KEYSTOREPASSWORD.get()); |
| | | keyStorePassword.setPropertyName(OPTION_LONG_KEYSTORE_PWD); |
| | | argParser.addArgument(keyStorePassword); |
| | | |
| | | StringArgument.builder(OPTION_LONG_KEYSTORE_PWD) |
| | | .shortIdentifier(OPTION_SHORT_KEYSTORE_PWD) |
| | | .description(INFO_DESCRIPTION_KEYSTOREPASSWORD.get()) |
| | | .valuePlaceholder(INFO_KEYSTORE_PWD_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | keyStorePasswordFile = |
| | | new FileBasedArgument("keystorepasswordfile", |
| | | OPTION_SHORT_KEYSTORE_PWD_FILE, |
| | | OPTION_LONG_KEYSTORE_PWD_FILE, |
| | | false, false, |
| | | INFO_KEYSTORE_PWD_FILE_PLACEHOLDER.get(), |
| | | null, null, |
| | | INFO_DESCRIPTION_KEYSTOREPASSWORD_FILE.get()); |
| | | keyStorePasswordFile.setPropertyName(OPTION_LONG_KEYSTORE_PWD_FILE); |
| | | argParser.addArgument(keyStorePasswordFile); |
| | | |
| | | certNickname = new StringArgument( |
| | | "certnickname", 'N', "certNickname", |
| | | false, false, true, INFO_NICKNAME_PLACEHOLDER.get(), null, |
| | | null, INFO_DESCRIPTION_CERT_NICKNAME.get()); |
| | | certNickname.setPropertyName("certNickname"); |
| | | argParser.addArgument(certNickname); |
| | | |
| | | trustStorePath = new StringArgument( |
| | | "trustStorePath", |
| | | OPTION_SHORT_TRUSTSTOREPATH, |
| | | OPTION_LONG_TRUSTSTOREPATH, |
| | | false, false, true, |
| | | INFO_TRUSTSTOREPATH_PLACEHOLDER.get(), |
| | | null, null, |
| | | INFO_DESCRIPTION_TRUSTSTOREPATH.get()); |
| | | trustStorePath.setPropertyName(OPTION_LONG_TRUSTSTOREPATH); |
| | | argParser.addArgument(trustStorePath); |
| | | |
| | | FileBasedArgument.builder(OPTION_LONG_KEYSTORE_PWD_FILE) |
| | | .shortIdentifier(OPTION_SHORT_KEYSTORE_PWD_FILE) |
| | | .description(INFO_DESCRIPTION_KEYSTOREPASSWORD_FILE.get()) |
| | | .valuePlaceholder(INFO_KEYSTORE_PWD_FILE_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | certNickname = |
| | | StringArgument.builder("certNickname") |
| | | .shortIdentifier('N') |
| | | .description(INFO_DESCRIPTION_CERT_NICKNAME.get()) |
| | | .valuePlaceholder(INFO_NICKNAME_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | trustStorePath = |
| | | StringArgument.builder(OPTION_LONG_TRUSTSTOREPATH) |
| | | .shortIdentifier(OPTION_SHORT_TRUSTSTOREPATH) |
| | | .description(INFO_DESCRIPTION_TRUSTSTOREPATH.get()) |
| | | .valuePlaceholder(INFO_TRUSTSTOREPATH_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | trustStorePassword = |
| | | new StringArgument("trustStorePassword", null, |
| | | OPTION_LONG_TRUSTSTORE_PWD , |
| | | false, false, true, |
| | | INFO_TRUSTSTORE_PWD_PLACEHOLDER.get(), null, |
| | | null, INFO_DESCRIPTION_TRUSTSTOREPASSWORD.get()); |
| | | trustStorePassword.setPropertyName(OPTION_LONG_TRUSTSTORE_PWD); |
| | | argParser.addArgument(trustStorePassword); |
| | | |
| | | StringArgument.builder(OPTION_LONG_TRUSTSTORE_PWD) |
| | | .description(INFO_DESCRIPTION_TRUSTSTOREPASSWORD.get()) |
| | | .valuePlaceholder(INFO_TRUSTSTORE_PWD_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | trustStorePasswordFile = |
| | | new FileBasedArgument( |
| | | "truststorepasswordfile", |
| | | OPTION_SHORT_TRUSTSTORE_PWD_FILE, |
| | | OPTION_LONG_TRUSTSTORE_PWD_FILE, false, false, |
| | | INFO_TRUSTSTORE_PWD_FILE_PLACEHOLDER.get(), null, null, |
| | | INFO_DESCRIPTION_TRUSTSTOREPASSWORD_FILE.get()); |
| | | trustStorePasswordFile.setPropertyName(OPTION_LONG_TRUSTSTORE_PWD_FILE); |
| | | argParser.addArgument(trustStorePasswordFile); |
| | | |
| | | proxyAuthzID = new StringArgument("proxy_authzid", |
| | | OPTION_SHORT_PROXYAUTHID, |
| | | OPTION_LONG_PROXYAUTHID, false, |
| | | false, true, |
| | | INFO_PROXYAUTHID_PLACEHOLDER.get(), |
| | | null, null, |
| | | INFO_DESCRIPTION_PROXY_AUTHZID.get()); |
| | | proxyAuthzID.setPropertyName(OPTION_LONG_PROXYAUTHID); |
| | | argParser.addArgument(proxyAuthzID); |
| | | |
| | | reportAuthzID = new BooleanArgument( |
| | | "reportauthzid", 'E', |
| | | "reportAuthzID", |
| | | INFO_DESCRIPTION_REPORT_AUTHZID.get()); |
| | | reportAuthzID.setPropertyName("reportAuthzID"); |
| | | argParser.addArgument(reportAuthzID); |
| | | |
| | | assertionFilter = new StringArgument( |
| | | "assertionfilter", null, |
| | | OPTION_LONG_ASSERTION_FILE, |
| | | false, false, |
| | | true, |
| | | INFO_ASSERTION_FILTER_PLACEHOLDER.get(), |
| | | null, null, |
| | | INFO_DESCRIPTION_ASSERTION_FILTER.get()); |
| | | assertionFilter.setPropertyName(OPTION_LONG_ASSERTION_FILE); |
| | | argParser.addArgument(assertionFilter); |
| | | |
| | | preReadAttributes = new StringArgument( |
| | | "prereadattrs", null, |
| | | "preReadAttributes", false, false, |
| | | true, INFO_ATTRIBUTE_LIST_PLACEHOLDER.get(), null, null, |
| | | INFO_DESCRIPTION_PREREAD_ATTRS.get()); |
| | | preReadAttributes.setPropertyName("preReadAttributes"); |
| | | argParser.addArgument(preReadAttributes); |
| | | |
| | | postReadAttributes = new StringArgument( |
| | | "postreadattrs", null, |
| | | "postReadAttributes", false, |
| | | false, true, INFO_ATTRIBUTE_LIST_PLACEHOLDER.get(), null, |
| | | null, |
| | | INFO_DESCRIPTION_POSTREAD_ATTRS.get()); |
| | | postReadAttributes.setPropertyName("postReadAttributes"); |
| | | argParser.addArgument(postReadAttributes); |
| | | |
| | | FileBasedArgument.builder(OPTION_LONG_TRUSTSTORE_PWD_FILE) |
| | | .shortIdentifier(OPTION_SHORT_TRUSTSTORE_PWD_FILE) |
| | | .description(INFO_DESCRIPTION_TRUSTSTOREPASSWORD_FILE.get()) |
| | | .valuePlaceholder(INFO_TRUSTSTORE_PWD_FILE_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | proxyAuthzID = |
| | | StringArgument.builder(OPTION_LONG_PROXYAUTHID) |
| | | .shortIdentifier(OPTION_SHORT_PROXYAUTHID) |
| | | .description(INFO_DESCRIPTION_PROXY_AUTHZID.get()) |
| | | .valuePlaceholder(INFO_PROXYAUTHID_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | reportAuthzID = |
| | | BooleanArgument.builder("reportAuthzID") |
| | | .shortIdentifier('E') |
| | | .description(INFO_DESCRIPTION_REPORT_AUTHZID.get()) |
| | | .buildAndAddToParser(argParser); |
| | | assertionFilter = |
| | | StringArgument.builder(OPTION_LONG_ASSERTION_FILE) |
| | | .description(INFO_DESCRIPTION_ASSERTION_FILTER.get()) |
| | | .valuePlaceholder(INFO_ASSERTION_FILTER_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | preReadAttributes = |
| | | StringArgument.builder("preReadAttributes") |
| | | .description(INFO_DESCRIPTION_PREREAD_ATTRS.get()) |
| | | .valuePlaceholder(INFO_ATTRIBUTE_LIST_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | postReadAttributes = |
| | | StringArgument.builder("postReadAttributes") |
| | | .description(INFO_DESCRIPTION_POSTREAD_ATTRS.get()) |
| | | .valuePlaceholder(INFO_ATTRIBUTE_LIST_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | controlStr = |
| | | new StringArgument("control", 'J', "control", false, true, true, |
| | | INFO_LDAP_CONTROL_PLACEHOLDER.get(), |
| | | null, null, INFO_DESCRIPTION_CONTROLS.get()); |
| | | controlStr.setPropertyName("control"); |
| | | argParser.addArgument(controlStr); |
| | | |
| | | version = new IntegerArgument("version", OPTION_SHORT_PROTOCOL_VERSION, |
| | | OPTION_LONG_PROTOCOL_VERSION, |
| | | false, false, true, |
| | | INFO_PROTOCOL_VERSION_PLACEHOLDER.get(), 3, null, |
| | | INFO_DESCRIPTION_VERSION.get()); |
| | | version.setPropertyName(OPTION_LONG_PROTOCOL_VERSION); |
| | | argParser.addArgument(version); |
| | | |
| | | int defaultTimeout = CliConstants.DEFAULT_LDAP_CONNECT_TIMEOUT; |
| | | connectTimeout = new IntegerArgument(OPTION_LONG_CONNECT_TIMEOUT, |
| | | null, OPTION_LONG_CONNECT_TIMEOUT, |
| | | false, false, true, INFO_TIMEOUT_PLACEHOLDER.get(), |
| | | defaultTimeout, null, |
| | | true, 0, false, Integer.MAX_VALUE, |
| | | INFO_DESCRIPTION_CONNECTION_TIMEOUT.get()); |
| | | connectTimeout.setPropertyName(OPTION_LONG_CONNECT_TIMEOUT); |
| | | argParser.addArgument(connectTimeout); |
| | | |
| | | encodingStr = new StringArgument("encoding", 'i', "encoding", |
| | | false, false, |
| | | true, INFO_ENCODING_PLACEHOLDER.get(), |
| | | null, null, |
| | | INFO_DESCRIPTION_ENCODING.get()); |
| | | encodingStr.setPropertyName("encoding"); |
| | | argParser.addArgument(encodingStr); |
| | | |
| | | continueOnError = new BooleanArgument("continueOnError", 'c', |
| | | "continueOnError", |
| | | INFO_DESCRIPTION_CONTINUE_ON_ERROR.get()); |
| | | continueOnError.setPropertyName("continueOnError"); |
| | | argParser.addArgument(continueOnError); |
| | | |
| | | noop = new BooleanArgument("no-op", OPTION_SHORT_DRYRUN, |
| | | OPTION_LONG_DRYRUN, |
| | | INFO_DESCRIPTION_NOOP.get()); |
| | | noop.setPropertyName(OPTION_LONG_DRYRUN); |
| | | argParser.addArgument(noop); |
| | | StringArgument.builder("control") |
| | | .shortIdentifier('J') |
| | | .description(INFO_DESCRIPTION_CONTROLS.get()) |
| | | .multiValued() |
| | | .valuePlaceholder(INFO_LDAP_CONTROL_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | version = |
| | | IntegerArgument.builder(OPTION_LONG_PROTOCOL_VERSION) |
| | | .shortIdentifier(OPTION_SHORT_PROTOCOL_VERSION) |
| | | .description(INFO_DESCRIPTION_VERSION.get()) |
| | | .defaultValue(3) |
| | | .valuePlaceholder(INFO_PROTOCOL_VERSION_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | connectTimeout = |
| | | IntegerArgument.builder(OPTION_LONG_CONNECT_TIMEOUT) |
| | | .description(INFO_DESCRIPTION_CONNECTION_TIMEOUT.get()) |
| | | .lowerBound(0) |
| | | .defaultValue(CliConstants.DEFAULT_LDAP_CONNECT_TIMEOUT) |
| | | .valuePlaceholder(INFO_TIMEOUT_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | encodingStr = |
| | | StringArgument.builder("encoding") |
| | | .shortIdentifier('i') |
| | | .description(INFO_DESCRIPTION_ENCODING.get()) |
| | | .valuePlaceholder(INFO_ENCODING_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | continueOnError = |
| | | BooleanArgument.builder("continueOnError") |
| | | .shortIdentifier('c') |
| | | .description(INFO_DESCRIPTION_CONTINUE_ON_ERROR.get()) |
| | | .buildAndAddToParser(argParser); |
| | | noop = |
| | | BooleanArgument.builder(OPTION_LONG_DRYRUN) |
| | | .shortIdentifier(OPTION_SHORT_DRYRUN) |
| | | .description(INFO_DESCRIPTION_NOOP.get()) |
| | | .buildAndAddToParser(argParser); |
| | | |
| | | verbose = CommonArguments.getVerbose(); |
| | | argParser.addArgument(verbose); |
| | |
| | | * |
| | | * |
| | | * Copyright 2006-2010 Sun Microsystems, Inc. |
| | | * Portions Copyright 2013-2015 ForgeRock AS. |
| | | * Portions Copyright 2013-2016 ForgeRock AS. |
| | | */ |
| | | package org.opends.server.tools; |
| | | |
| | | import static com.forgerock.opendj.cli.CliMessages.INFO_BINDPWD_FILE_PLACEHOLDER; |
| | | import static com.forgerock.opendj.cli.CliMessages.INFO_DESCRIPTION_CONNECTION_TIMEOUT; |
| | | import static com.forgerock.opendj.cli.CliMessages.INFO_FILE_PLACEHOLDER; |
| | | import static com.forgerock.opendj.cli.CliMessages.INFO_KEYSTORE_PWD_FILE_PLACEHOLDER; |
| | | import static com.forgerock.opendj.cli.CliMessages.INFO_LDAPPWMOD_DESCRIPTION_CURRENTPWFILE; |
| | | import static com.forgerock.opendj.cli.CliMessages.INFO_LDAPPWMOD_DESCRIPTION_NEWPWFILE; |
| | | import static com.forgerock.opendj.cli.CliMessages.INFO_PORT_PLACEHOLDER; |
| | | import static com.forgerock.opendj.cli.CliMessages.INFO_TIMEOUT_PLACEHOLDER; |
| | | import static com.forgerock.opendj.cli.CliMessages.INFO_TRUSTSTORE_PWD_FILE_PLACEHOLDER; |
| | | import static org.opends.messages.ToolMessages.*; |
| | | import static org.opends.server.extensions.ExtensionsConstants.*; |
| | | import static org.opends.server.protocols.ldap.LDAPResultCode.*; |
| | |
| | | |
| | | try |
| | | { |
| | | propertiesFileArgument = new StringArgument("propertiesFilePath", |
| | | null, OPTION_LONG_PROP_FILE_PATH, |
| | | false, false, true, INFO_PROP_FILE_PATH_PLACEHOLDER.get(), null, null, |
| | | INFO_DESCRIPTION_PROP_FILE_PATH.get()); |
| | | argParser.addArgument(propertiesFileArgument); |
| | | propertiesFileArgument = |
| | | StringArgument.builder(OPTION_LONG_PROP_FILE_PATH) |
| | | .description(INFO_DESCRIPTION_PROP_FILE_PATH.get()) |
| | | .valuePlaceholder(INFO_PROP_FILE_PATH_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | argParser.setFilePropertiesArgument(propertiesFileArgument); |
| | | |
| | | noPropertiesFileArgument = new BooleanArgument( |
| | | "noPropertiesFileArgument", null, OPTION_LONG_NO_PROP_FILE, |
| | | INFO_DESCRIPTION_NO_PROP_FILE.get()); |
| | | argParser.addArgument(noPropertiesFileArgument); |
| | | noPropertiesFileArgument = |
| | | BooleanArgument.builder(OPTION_LONG_NO_PROP_FILE) |
| | | .description(INFO_DESCRIPTION_NO_PROP_FILE.get()) |
| | | .buildAndAddToParser(argParser); |
| | | argParser.setNoPropertiesFileArgument(noPropertiesFileArgument); |
| | | |
| | | ldapHost = new StringArgument("ldaphost", OPTION_SHORT_HOST, |
| | | OPTION_LONG_HOST, false, false, |
| | | true, INFO_HOST_PLACEHOLDER.get(), |
| | | "127.0.0.1", null, |
| | | INFO_LDAPPWMOD_DESCRIPTION_HOST.get()); |
| | | ldapHost.setPropertyName(OPTION_LONG_HOST); |
| | | argParser.addArgument(ldapHost); |
| | | |
| | | |
| | | ldapPort = new IntegerArgument( |
| | | "ldapport", OPTION_SHORT_PORT, |
| | | OPTION_LONG_PORT, false, false, |
| | | true, INFO_PORT_PLACEHOLDER.get(), 389, |
| | | null, true, 1, true, |
| | | 65535, INFO_LDAPPWMOD_DESCRIPTION_PORT.get()); |
| | | ldapPort.setPropertyName(OPTION_LONG_PORT); |
| | | argParser.addArgument(ldapPort); |
| | | |
| | | |
| | | useSSL = new BooleanArgument("usessl", OPTION_SHORT_USE_SSL, |
| | | OPTION_LONG_USE_SSL, |
| | | INFO_LDAPPWMOD_DESCRIPTION_USE_SSL.get()); |
| | | useSSL.setPropertyName(OPTION_LONG_USE_SSL); |
| | | argParser.addArgument(useSSL); |
| | | |
| | | |
| | | useStartTLS = new BooleanArgument("usestarttls", OPTION_SHORT_START_TLS, |
| | | OPTION_LONG_START_TLS, |
| | | INFO_LDAPPWMOD_DESCRIPTION_USE_STARTTLS.get()); |
| | | useStartTLS.setPropertyName(OPTION_LONG_START_TLS); |
| | | argParser.addArgument(useStartTLS); |
| | | |
| | | |
| | | bindDN = new StringArgument("binddn", OPTION_SHORT_BINDDN, |
| | | OPTION_LONG_BINDDN, false, false, true, |
| | | INFO_BINDDN_PLACEHOLDER.get(), null, null, |
| | | INFO_LDAPPWMOD_DESCRIPTION_BIND_DN.get()); |
| | | bindDN.setPropertyName(OPTION_LONG_BINDDN); |
| | | argParser.addArgument(bindDN); |
| | | |
| | | |
| | | bindPW = new StringArgument("bindpw", OPTION_SHORT_BINDPWD, |
| | | OPTION_LONG_BINDPWD, false, false, |
| | | true, INFO_BINDPWD_PLACEHOLDER.get(), null, |
| | | null, |
| | | INFO_LDAPPWMOD_DESCRIPTION_BIND_PW.get()); |
| | | bindPW.setPropertyName(OPTION_LONG_BINDPWD); |
| | | argParser.addArgument(bindPW); |
| | | |
| | | |
| | | ldapHost = |
| | | StringArgument.builder(OPTION_LONG_HOST) |
| | | .shortIdentifier(OPTION_SHORT_HOST) |
| | | .description(INFO_LDAPPWMOD_DESCRIPTION_HOST.get()) |
| | | .defaultValue("127.0.0.1") |
| | | .valuePlaceholder(INFO_HOST_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | ldapPort = |
| | | IntegerArgument.builder(OPTION_LONG_PORT) |
| | | .shortIdentifier(OPTION_SHORT_PORT) |
| | | .description(INFO_LDAPPWMOD_DESCRIPTION_PORT.get()) |
| | | .range(1, 65535) |
| | | .defaultValue(389) |
| | | .valuePlaceholder(INFO_PORT_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | useSSL = |
| | | BooleanArgument.builder(OPTION_LONG_USE_SSL) |
| | | .shortIdentifier(OPTION_SHORT_USE_SSL) |
| | | .description(INFO_LDAPPWMOD_DESCRIPTION_USE_SSL.get()) |
| | | .buildAndAddToParser(argParser); |
| | | useStartTLS = |
| | | BooleanArgument.builder(OPTION_LONG_START_TLS) |
| | | .shortIdentifier(OPTION_SHORT_START_TLS) |
| | | .description(INFO_LDAPPWMOD_DESCRIPTION_USE_STARTTLS.get()) |
| | | .buildAndAddToParser(argParser); |
| | | bindDN = |
| | | StringArgument.builder(OPTION_LONG_BINDDN) |
| | | .shortIdentifier(OPTION_SHORT_BINDDN) |
| | | .description(INFO_LDAPPWMOD_DESCRIPTION_BIND_DN.get()) |
| | | .valuePlaceholder(INFO_BINDDN_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | bindPW = |
| | | StringArgument.builder(OPTION_LONG_BINDPWD) |
| | | .shortIdentifier(OPTION_SHORT_BINDPWD) |
| | | .description(INFO_LDAPPWMOD_DESCRIPTION_BIND_PW.get()) |
| | | .valuePlaceholder(INFO_BINDPWD_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | bindPWFile = |
| | | new FileBasedArgument("bindpwfile", OPTION_SHORT_BINDPWD_FILE, |
| | | OPTION_LONG_BINDPWD_FILE, false, |
| | | false, INFO_BINDPWD_FILE_PLACEHOLDER.get(), |
| | | null, null, |
| | | INFO_LDAPPWMOD_DESCRIPTION_BIND_PW_FILE.get()); |
| | | bindPWFile.setPropertyName(OPTION_LONG_BINDPWD_FILE); |
| | | argParser.addArgument(bindPWFile); |
| | | |
| | | |
| | | authzID = new StringArgument("authzid", 'a', "authzID", false, false, |
| | | true, INFO_PROXYAUTHID_PLACEHOLDER.get(), |
| | | null, null, |
| | | INFO_LDAPPWMOD_DESCRIPTION_AUTHZID.get()); |
| | | authzID.setPropertyName("authzID"); |
| | | argParser.addArgument(authzID); |
| | | |
| | | |
| | | FileBasedArgument.builder(OPTION_LONG_BINDPWD_FILE) |
| | | .shortIdentifier(OPTION_SHORT_BINDPWD_FILE) |
| | | .description(INFO_LDAPPWMOD_DESCRIPTION_BIND_PW_FILE.get()) |
| | | .valuePlaceholder(INFO_BINDPWD_FILE_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | authzID = |
| | | StringArgument.builder("authzID") |
| | | .shortIdentifier('a') |
| | | .description(INFO_LDAPPWMOD_DESCRIPTION_AUTHZID.get()) |
| | | .valuePlaceholder(INFO_PROXYAUTHID_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | provideDNForAuthzID = |
| | | new BooleanArgument("providednforauthzid", 'A',"provideDNForAuthzID", |
| | | INFO_LDAPPWMOD_DESCRIPTION_PROVIDE_DN_FOR_AUTHZID.get()); |
| | | provideDNForAuthzID.setPropertyName("provideDNForAuthzID"); |
| | | argParser.addArgument(provideDNForAuthzID); |
| | | |
| | | |
| | | newPW = new StringArgument("newpw", 'n', "newPassword", false, false, |
| | | true, INFO_NEW_PASSWORD_PLACEHOLDER.get(), |
| | | null, null, |
| | | INFO_LDAPPWMOD_DESCRIPTION_NEWPW.get()); |
| | | newPW.setPropertyName("newPassword"); |
| | | argParser.addArgument(newPW); |
| | | |
| | | |
| | | newPWFile = new FileBasedArgument( |
| | | "newpwfile", 'N', "newPasswordFile", |
| | | false, false, INFO_FILE_PLACEHOLDER.get(), null, null, |
| | | INFO_LDAPPWMOD_DESCRIPTION_NEWPWFILE.get()); |
| | | newPWFile.setPropertyName("newPasswordFile"); |
| | | argParser.addArgument(newPWFile); |
| | | |
| | | |
| | | BooleanArgument.builder("provideDNForAuthzID") |
| | | .shortIdentifier('A') |
| | | .description(INFO_LDAPPWMOD_DESCRIPTION_PROVIDE_DN_FOR_AUTHZID.get()) |
| | | .buildAndAddToParser(argParser); |
| | | newPW = |
| | | StringArgument.builder("newPassword") |
| | | .shortIdentifier('n') |
| | | .description(INFO_LDAPPWMOD_DESCRIPTION_NEWPW.get()) |
| | | .valuePlaceholder(INFO_NEW_PASSWORD_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | newPWFile = |
| | | FileBasedArgument.builder("newPasswordFile") |
| | | .shortIdentifier('N') |
| | | .description(INFO_LDAPPWMOD_DESCRIPTION_NEWPWFILE.get()) |
| | | .valuePlaceholder(INFO_FILE_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | currentPW = |
| | | new StringArgument("currentpw", 'c', "currentPassword", false, false, |
| | | true, INFO_CURRENT_PASSWORD_PLACEHOLDER.get(), |
| | | null, null, |
| | | INFO_LDAPPWMOD_DESCRIPTION_CURRENTPW.get()); |
| | | currentPW.setPropertyName("currentPassword"); |
| | | argParser.addArgument(currentPW); |
| | | |
| | | |
| | | StringArgument.builder("currentPassword") |
| | | .shortIdentifier('c') |
| | | .description(INFO_LDAPPWMOD_DESCRIPTION_CURRENTPW.get()) |
| | | .valuePlaceholder(INFO_CURRENT_PASSWORD_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | currentPWFile = |
| | | new FileBasedArgument( |
| | | "currentpwfile", 'C', "currentPasswordFile", |
| | | false, false, INFO_FILE_PLACEHOLDER.get(), null, null, |
| | | INFO_LDAPPWMOD_DESCRIPTION_CURRENTPWFILE.get()); |
| | | currentPWFile.setPropertyName("currentPasswordFile"); |
| | | argParser.addArgument(currentPWFile); |
| | | |
| | | FileBasedArgument.builder("currentPasswordFile") |
| | | .shortIdentifier('C') |
| | | .description(INFO_LDAPPWMOD_DESCRIPTION_CURRENTPWFILE.get()) |
| | | .valuePlaceholder(INFO_FILE_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | |
| | | trustAll = CommonArguments.getTrustAll(); |
| | | argParser.addArgument(trustAll); |
| | | |
| | | |
| | | sslKeyStore = |
| | | new StringArgument("keystorepath", OPTION_SHORT_KEYSTOREPATH, |
| | | OPTION_LONG_KEYSTOREPATH, false, false, |
| | | true, INFO_KEYSTOREPATH_PLACEHOLDER.get(), null, |
| | | null, |
| | | INFO_LDAPPWMOD_DESCRIPTION_KEYSTORE.get()); |
| | | sslKeyStore.setPropertyName(OPTION_LONG_KEYSTOREPATH); |
| | | argParser.addArgument(sslKeyStore); |
| | | |
| | | |
| | | StringArgument.builder(OPTION_LONG_KEYSTOREPATH) |
| | | .shortIdentifier(OPTION_SHORT_KEYSTOREPATH) |
| | | .description(INFO_LDAPPWMOD_DESCRIPTION_KEYSTORE.get()) |
| | | .valuePlaceholder(INFO_KEYSTOREPATH_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | sslKeyStorePIN = |
| | | new StringArgument("keystorepassword", |
| | | OPTION_SHORT_KEYSTORE_PWD, |
| | | OPTION_LONG_KEYSTORE_PWD , |
| | | false, false, true, |
| | | INFO_KEYSTORE_PWD_PLACEHOLDER.get(), |
| | | null, null, |
| | | INFO_LDAPPWMOD_DESCRIPTION_KEYSTORE_PIN.get()); |
| | | sslKeyStorePIN.setPropertyName(OPTION_LONG_KEYSTORE_PWD); |
| | | argParser.addArgument(sslKeyStorePIN); |
| | | |
| | | |
| | | StringArgument.builder(OPTION_LONG_KEYSTORE_PWD) |
| | | .shortIdentifier(OPTION_SHORT_KEYSTORE_PWD) |
| | | .description(INFO_LDAPPWMOD_DESCRIPTION_KEYSTORE_PIN.get()) |
| | | .valuePlaceholder(INFO_KEYSTORE_PWD_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | sslKeyStorePINFile = |
| | | new FileBasedArgument( |
| | | "keystorepasswordfile", |
| | | OPTION_SHORT_KEYSTORE_PWD_FILE, |
| | | OPTION_LONG_KEYSTORE_PWD_FILE, |
| | | false, false, INFO_KEYSTORE_PWD_FILE_PLACEHOLDER.get(), |
| | | null, null, |
| | | INFO_LDAPPWMOD_DESCRIPTION_KEYSTORE_PINFILE.get()); |
| | | sslKeyStorePINFile.setPropertyName(OPTION_LONG_KEYSTORE_PWD_FILE); |
| | | argParser.addArgument(sslKeyStorePINFile); |
| | | |
| | | certNickname = new StringArgument("certnickname", null, "certNickname", |
| | | false, false, true, INFO_NICKNAME_PLACEHOLDER.get(), null, null, |
| | | INFO_DESCRIPTION_CERT_NICKNAME.get()); |
| | | certNickname.setPropertyName("certNickname"); |
| | | argParser.addArgument(certNickname); |
| | | |
| | | |
| | | |
| | | FileBasedArgument.builder(OPTION_LONG_KEYSTORE_PWD_FILE) |
| | | .shortIdentifier(OPTION_SHORT_KEYSTORE_PWD_FILE) |
| | | .description(INFO_LDAPPWMOD_DESCRIPTION_KEYSTORE_PINFILE.get()) |
| | | .valuePlaceholder(INFO_KEYSTORE_PWD_FILE_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | certNickname = |
| | | StringArgument.builder("certNickname") |
| | | .description(INFO_DESCRIPTION_CERT_NICKNAME.get()) |
| | | .valuePlaceholder(INFO_NICKNAME_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | sslTrustStore = |
| | | new StringArgument("truststorepath", |
| | | OPTION_SHORT_TRUSTSTOREPATH, |
| | | OPTION_LONG_TRUSTSTOREPATH, false, |
| | | false, true, |
| | | INFO_TRUSTSTOREPATH_PLACEHOLDER.get(), null, null, |
| | | INFO_LDAPPWMOD_DESCRIPTION_TRUSTSTORE.get()); |
| | | sslTrustStore.setPropertyName(OPTION_LONG_TRUSTSTOREPATH); |
| | | argParser.addArgument(sslTrustStore); |
| | | |
| | | |
| | | StringArgument.builder(OPTION_LONG_TRUSTSTOREPATH) |
| | | .shortIdentifier(OPTION_SHORT_TRUSTSTOREPATH) |
| | | .description(INFO_LDAPPWMOD_DESCRIPTION_TRUSTSTORE.get()) |
| | | .valuePlaceholder(INFO_TRUSTSTOREPATH_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | sslTrustStorePIN = |
| | | new StringArgument("truststorepassword", null, |
| | | OPTION_LONG_TRUSTSTORE_PWD, |
| | | false, false, true, |
| | | INFO_TRUSTSTORE_PWD_PLACEHOLDER.get(), null, null, |
| | | INFO_LDAPPWMOD_DESCRIPTION_TRUSTSTORE_PIN.get()); |
| | | sslTrustStorePIN.setPropertyName(OPTION_LONG_TRUSTSTORE_PWD); |
| | | argParser.addArgument(sslTrustStorePIN); |
| | | |
| | | |
| | | StringArgument.builder(OPTION_LONG_TRUSTSTORE_PWD) |
| | | .description(INFO_LDAPPWMOD_DESCRIPTION_TRUSTSTORE_PIN.get()) |
| | | .valuePlaceholder(INFO_TRUSTSTORE_PWD_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | sslTrustStorePINFile = |
| | | new FileBasedArgument("truststorepasswordfile", |
| | | OPTION_SHORT_TRUSTSTORE_PWD_FILE, |
| | | OPTION_LONG_TRUSTSTORE_PWD_FILE, false, false, |
| | | INFO_TRUSTSTORE_PWD_FILE_PLACEHOLDER.get(), null, |
| | | null, INFO_LDAPPWMOD_DESCRIPTION_TRUSTSTORE_PINFILE.get()); |
| | | sslTrustStorePINFile.setPropertyName(OPTION_LONG_TRUSTSTORE_PWD_FILE); |
| | | argParser.addArgument(sslTrustStorePINFile); |
| | | |
| | | |
| | | FileBasedArgument.builder(OPTION_LONG_TRUSTSTORE_PWD_FILE) |
| | | .shortIdentifier(OPTION_SHORT_TRUSTSTORE_PWD_FILE) |
| | | .description(INFO_LDAPPWMOD_DESCRIPTION_TRUSTSTORE_PINFILE.get()) |
| | | .valuePlaceholder(INFO_TRUSTSTORE_PWD_FILE_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | controlStr = |
| | | new StringArgument("control", 'J', "control", false, true, true, |
| | | INFO_LDAP_CONTROL_PLACEHOLDER.get(), |
| | | null, null, INFO_DESCRIPTION_CONTROLS.get()); |
| | | controlStr.setPropertyName("control"); |
| | | argParser.addArgument(controlStr); |
| | | |
| | | int defaultTimeout = CliConstants.DEFAULT_LDAP_CONNECT_TIMEOUT; |
| | | connectTimeout = new IntegerArgument(OPTION_LONG_CONNECT_TIMEOUT, |
| | | null, OPTION_LONG_CONNECT_TIMEOUT, |
| | | false, false, true, INFO_TIMEOUT_PLACEHOLDER.get(), |
| | | defaultTimeout, null, |
| | | true, 0, false, Integer.MAX_VALUE, |
| | | INFO_DESCRIPTION_CONNECTION_TIMEOUT.get()); |
| | | connectTimeout.setPropertyName(OPTION_LONG_CONNECT_TIMEOUT); |
| | | argParser.addArgument(connectTimeout); |
| | | |
| | | StringArgument.builder("control") |
| | | .shortIdentifier('J') |
| | | .description(INFO_DESCRIPTION_CONTROLS.get()) |
| | | .multiValued() |
| | | .valuePlaceholder(INFO_LDAP_CONTROL_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | connectTimeout = |
| | | IntegerArgument.builder(OPTION_LONG_CONNECT_TIMEOUT) |
| | | .description(INFO_DESCRIPTION_CONNECTION_TIMEOUT.get()) |
| | | .lowerBound(0) |
| | | .defaultValue(CliConstants.DEFAULT_LDAP_CONNECT_TIMEOUT) |
| | | .valuePlaceholder(INFO_TIMEOUT_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | |
| | | showUsage = CommonArguments.getShowUsage(); |
| | | argParser.addArgument(showUsage); |
| | |
| | | package org.opends.server.tools; |
| | | |
| | | import static com.forgerock.opendj.cli.ArgumentConstants.*; |
| | | import static com.forgerock.opendj.cli.CliMessages.INFO_BINDPWD_FILE_PLACEHOLDER; |
| | | import static com.forgerock.opendj.cli.CliMessages.INFO_DESCRIPTION_BINDPASSWORDFILE; |
| | | import static com.forgerock.opendj.cli.CliMessages.INFO_DESCRIPTION_KEYSTOREPASSWORD_FILE; |
| | | import static com.forgerock.opendj.cli.CliMessages.INFO_DESCRIPTION_TRUSTSTOREPASSWORD_FILE; |
| | | import static com.forgerock.opendj.cli.CliMessages.INFO_DESCRIPTION_VERSION; |
| | | import static com.forgerock.opendj.cli.CliMessages.INFO_KEYSTORE_PWD_FILE_PLACEHOLDER; |
| | | import static com.forgerock.opendj.cli.CliMessages.INFO_TRUSTSTORE_PWD_FILE_PLACEHOLDER; |
| | | import static com.forgerock.opendj.cli.Utils.*; |
| | | |
| | | import static org.opends.messages.ToolMessages.*; |
| | |
| | | |
| | | try |
| | | { |
| | | propertiesFileArgument = new StringArgument("propertiesFilePath", |
| | | null, OPTION_LONG_PROP_FILE_PATH, |
| | | false, false, true, INFO_PROP_FILE_PATH_PLACEHOLDER.get(), null, null, |
| | | INFO_DESCRIPTION_PROP_FILE_PATH.get()); |
| | | argParser.addArgument(propertiesFileArgument); |
| | | propertiesFileArgument = |
| | | StringArgument.builder(OPTION_LONG_PROP_FILE_PATH) |
| | | .description(INFO_DESCRIPTION_PROP_FILE_PATH.get()) |
| | | .valuePlaceholder(INFO_PROP_FILE_PATH_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | argParser.setFilePropertiesArgument(propertiesFileArgument); |
| | | |
| | | noPropertiesFileArgument = new BooleanArgument( |
| | | "noPropertiesFileArgument", null, OPTION_LONG_NO_PROP_FILE, |
| | | INFO_DESCRIPTION_NO_PROP_FILE.get()); |
| | | argParser.addArgument(noPropertiesFileArgument); |
| | | noPropertiesFileArgument = |
| | | BooleanArgument.builder(OPTION_LONG_NO_PROP_FILE) |
| | | .description(INFO_DESCRIPTION_NO_PROP_FILE.get()) |
| | | .buildAndAddToParser(argParser); |
| | | argParser.setNoPropertiesFileArgument(noPropertiesFileArgument); |
| | | |
| | | hostName = new StringArgument("host", OPTION_SHORT_HOST, |
| | | OPTION_LONG_HOST, false, false, true, |
| | | INFO_HOST_PLACEHOLDER.get(), "localhost", |
| | | null, |
| | | INFO_DESCRIPTION_HOST.get()); |
| | | hostName.setPropertyName(OPTION_LONG_HOST); |
| | | argParser.addArgument(hostName); |
| | | |
| | | port = new IntegerArgument("port", OPTION_SHORT_PORT, |
| | | OPTION_LONG_PORT, false, false, true, |
| | | INFO_PORT_PLACEHOLDER.get(), 389, null, |
| | | true, 1, true, 65535, |
| | | INFO_DESCRIPTION_PORT.get()); |
| | | port.setPropertyName(OPTION_LONG_PORT); |
| | | argParser.addArgument(port); |
| | | |
| | | useSSL = new BooleanArgument("useSSL", OPTION_SHORT_USE_SSL, |
| | | OPTION_LONG_USE_SSL, |
| | | INFO_DESCRIPTION_USE_SSL.get()); |
| | | useSSL.setPropertyName(OPTION_LONG_USE_SSL); |
| | | argParser.addArgument(useSSL); |
| | | |
| | | startTLS = new BooleanArgument("startTLS", OPTION_SHORT_START_TLS, |
| | | OPTION_LONG_START_TLS, |
| | | INFO_DESCRIPTION_START_TLS.get()); |
| | | startTLS.setPropertyName(OPTION_LONG_START_TLS); |
| | | argParser.addArgument(startTLS); |
| | | |
| | | bindDN = new StringArgument("bindDN", OPTION_SHORT_BINDDN, |
| | | OPTION_LONG_BINDDN, false, false, true, |
| | | INFO_BINDDN_PLACEHOLDER.get(), null, null, |
| | | INFO_DESCRIPTION_BINDDN.get()); |
| | | bindDN.setPropertyName(OPTION_LONG_BINDDN); |
| | | argParser.addArgument(bindDN); |
| | | |
| | | bindPassword = new StringArgument("bindPassword", OPTION_SHORT_BINDPWD, |
| | | OPTION_LONG_BINDPWD, |
| | | false, false, true, |
| | | INFO_BINDPWD_PLACEHOLDER.get(), |
| | | null, null, |
| | | INFO_DESCRIPTION_BINDPASSWORD.get()); |
| | | bindPassword.setPropertyName(OPTION_LONG_BINDPWD); |
| | | argParser.addArgument(bindPassword); |
| | | |
| | | hostName = |
| | | StringArgument.builder(OPTION_LONG_HOST) |
| | | .shortIdentifier(OPTION_SHORT_HOST) |
| | | .description(INFO_DESCRIPTION_HOST.get()) |
| | | .defaultValue("localhost") |
| | | .valuePlaceholder(INFO_HOST_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | port = |
| | | IntegerArgument.builder(OPTION_LONG_PORT) |
| | | .shortIdentifier(OPTION_SHORT_PORT) |
| | | .description(INFO_DESCRIPTION_PORT.get()) |
| | | .range(1, 65535) |
| | | .defaultValue(389) |
| | | .valuePlaceholder(INFO_PORT_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | useSSL = |
| | | BooleanArgument.builder(OPTION_LONG_USE_SSL) |
| | | .shortIdentifier(OPTION_SHORT_USE_SSL) |
| | | .description(INFO_DESCRIPTION_USE_SSL.get()) |
| | | .buildAndAddToParser(argParser); |
| | | startTLS = |
| | | BooleanArgument.builder(OPTION_LONG_START_TLS) |
| | | .shortIdentifier(OPTION_SHORT_START_TLS) |
| | | .description(INFO_DESCRIPTION_START_TLS.get()) |
| | | .buildAndAddToParser(argParser); |
| | | bindDN = |
| | | StringArgument.builder(OPTION_LONG_BINDDN) |
| | | .shortIdentifier(OPTION_SHORT_BINDDN) |
| | | .description(INFO_DESCRIPTION_BINDDN.get()) |
| | | .valuePlaceholder(INFO_BINDDN_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | bindPassword = |
| | | StringArgument.builder(OPTION_LONG_BINDPWD) |
| | | .shortIdentifier(OPTION_SHORT_BINDPWD) |
| | | .description(INFO_DESCRIPTION_BINDPASSWORD.get()) |
| | | .valuePlaceholder(INFO_BINDPWD_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | bindPasswordFile = |
| | | new FileBasedArgument("bindPasswordFile", OPTION_SHORT_BINDPWD_FILE, |
| | | OPTION_LONG_BINDPWD_FILE, |
| | | false, false, |
| | | INFO_BINDPWD_FILE_PLACEHOLDER.get(), null, |
| | | null, INFO_DESCRIPTION_BINDPASSWORDFILE.get()); |
| | | bindPasswordFile.setPropertyName(OPTION_LONG_BINDPWD_FILE); |
| | | argParser.addArgument(bindPasswordFile); |
| | | |
| | | baseDN = new StringArgument("baseDN", OPTION_SHORT_BASEDN, |
| | | OPTION_LONG_BASEDN, true, false, true, |
| | | INFO_BASEDN_PLACEHOLDER.get(), null, null, |
| | | INFO_SEARCH_DESCRIPTION_BASEDN.get()); |
| | | baseDN.setPropertyName(OPTION_LONG_BASEDN); |
| | | argParser.addArgument(baseDN); |
| | | |
| | | HashSet<String> allowedScopes = new HashSet<>(); |
| | | allowedScopes.add("base"); |
| | | allowedScopes.add("one"); |
| | | allowedScopes.add("sub"); |
| | | allowedScopes.add("subordinate"); |
| | | searchScope = new MultiChoiceArgument( |
| | | "searchScope", 's', "searchScope", false, |
| | | true, INFO_SEARCH_SCOPE_PLACEHOLDER.get(), allowedScopes, |
| | | false, |
| | | INFO_SEARCH_DESCRIPTION_SEARCH_SCOPE.get()); |
| | | searchScope.setPropertyName("searchScope"); |
| | | searchScope.setDefaultValue("sub"); |
| | | argParser.addArgument(searchScope); |
| | | |
| | | filename = new StringArgument("filename", OPTION_SHORT_FILENAME, |
| | | OPTION_LONG_FILENAME, false, false, |
| | | true, INFO_FILE_PLACEHOLDER.get(), null, |
| | | null, |
| | | INFO_SEARCH_DESCRIPTION_FILENAME.get()); |
| | | searchScope.setPropertyName(OPTION_LONG_FILENAME); |
| | | argParser.addArgument(filename); |
| | | |
| | | saslExternal = new BooleanArgument( |
| | | "useSASLExternal", 'r', |
| | | "useSASLExternal", |
| | | INFO_DESCRIPTION_USE_SASL_EXTERNAL.get()); |
| | | saslExternal.setPropertyName("useSASLExternal"); |
| | | argParser.addArgument(saslExternal); |
| | | |
| | | saslOptions = new StringArgument("saslOption", OPTION_SHORT_SASLOPTION, |
| | | OPTION_LONG_SASLOPTION, false, |
| | | true, true, |
| | | INFO_SASL_OPTION_PLACEHOLDER.get(), null, |
| | | null, |
| | | INFO_DESCRIPTION_SASL_PROPERTIES.get()); |
| | | saslOptions.setPropertyName(OPTION_LONG_SASLOPTION); |
| | | argParser.addArgument(saslOptions); |
| | | FileBasedArgument.builder(OPTION_LONG_BINDPWD_FILE) |
| | | .shortIdentifier(OPTION_SHORT_BINDPWD_FILE) |
| | | .description(INFO_DESCRIPTION_BINDPASSWORDFILE.get()) |
| | | .valuePlaceholder(INFO_BINDPWD_FILE_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | baseDN = |
| | | StringArgument.builder(OPTION_LONG_BASEDN) |
| | | .shortIdentifier(OPTION_SHORT_BASEDN) |
| | | .description(INFO_SEARCH_DESCRIPTION_BASEDN.get()) |
| | | .required() |
| | | .valuePlaceholder(INFO_BASEDN_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | searchScope = |
| | | MultiChoiceArgument.<String>builder("searchScope") |
| | | .shortIdentifier('s') |
| | | .description(INFO_SEARCH_DESCRIPTION_SEARCH_SCOPE.get()) |
| | | .allowedValues("base", "one", "sub", "subordinate") |
| | | .defaultValue("sub") |
| | | .valuePlaceholder(INFO_SEARCH_SCOPE_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | filename = |
| | | StringArgument.builder(OPTION_LONG_FILENAME) |
| | | .shortIdentifier(OPTION_SHORT_FILENAME) |
| | | .description(INFO_SEARCH_DESCRIPTION_FILENAME.get()) |
| | | .valuePlaceholder(INFO_FILE_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | saslExternal = |
| | | BooleanArgument.builder("useSASLExternal") |
| | | .shortIdentifier('r') |
| | | .description(INFO_DESCRIPTION_USE_SASL_EXTERNAL.get()) |
| | | .buildAndAddToParser(argParser); |
| | | saslOptions = |
| | | StringArgument.builder(OPTION_LONG_SASLOPTION) |
| | | .shortIdentifier(OPTION_SHORT_SASLOPTION) |
| | | .description(INFO_DESCRIPTION_SASL_PROPERTIES.get()) |
| | | .multiValued() |
| | | .valuePlaceholder(INFO_SASL_OPTION_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | |
| | | trustAll = CommonArguments.getTrustAll(); |
| | | argParser.addArgument(trustAll); |
| | | |
| | | keyStorePath = new StringArgument("keyStorePath", |
| | | OPTION_SHORT_KEYSTOREPATH, |
| | | OPTION_LONG_KEYSTOREPATH, false, false, true, |
| | | INFO_KEYSTOREPATH_PLACEHOLDER.get(), null, |
| | | null, |
| | | INFO_DESCRIPTION_KEYSTOREPATH.get()); |
| | | keyStorePath.setPropertyName(OPTION_LONG_KEYSTOREPATH); |
| | | argParser.addArgument(keyStorePath); |
| | | |
| | | keyStorePassword = new StringArgument("keyStorePassword", |
| | | OPTION_SHORT_KEYSTORE_PWD, |
| | | OPTION_LONG_KEYSTORE_PWD, false, false, |
| | | true, INFO_KEYSTORE_PWD_PLACEHOLDER.get(), |
| | | null, null, |
| | | INFO_DESCRIPTION_KEYSTOREPASSWORD.get()); |
| | | keyStorePassword.setPropertyName(OPTION_LONG_KEYSTORE_PWD); |
| | | argParser.addArgument(keyStorePassword); |
| | | |
| | | keyStorePath = |
| | | StringArgument.builder(OPTION_LONG_KEYSTOREPATH) |
| | | .shortIdentifier(OPTION_SHORT_KEYSTOREPATH) |
| | | .description(INFO_DESCRIPTION_KEYSTOREPATH.get()) |
| | | .valuePlaceholder(INFO_KEYSTOREPATH_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | keyStorePassword = |
| | | StringArgument.builder(OPTION_LONG_KEYSTORE_PWD) |
| | | .shortIdentifier(OPTION_SHORT_KEYSTORE_PWD) |
| | | .description(INFO_DESCRIPTION_KEYSTOREPASSWORD.get()) |
| | | .valuePlaceholder(INFO_KEYSTORE_PWD_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | keyStorePasswordFile = |
| | | new FileBasedArgument("keystorepasswordfile", |
| | | OPTION_SHORT_KEYSTORE_PWD_FILE, |
| | | OPTION_LONG_KEYSTORE_PWD_FILE, |
| | | false, false, |
| | | INFO_KEYSTORE_PWD_FILE_PLACEHOLDER.get(), |
| | | null, null, |
| | | INFO_DESCRIPTION_KEYSTOREPASSWORD_FILE.get()); |
| | | keyStorePasswordFile.setPropertyName(OPTION_LONG_KEYSTORE_PWD_FILE); |
| | | argParser.addArgument(keyStorePasswordFile); |
| | | |
| | | certNickname = new StringArgument( |
| | | "certnickname", OPTION_SHORT_CERT_NICKNAME, |
| | | OPTION_LONG_CERT_NICKNAME, |
| | | false, false, true, INFO_NICKNAME_PLACEHOLDER.get(), null, |
| | | null, INFO_DESCRIPTION_CERT_NICKNAME.get()); |
| | | certNickname.setPropertyName(OPTION_LONG_CERT_NICKNAME); |
| | | argParser.addArgument(certNickname); |
| | | |
| | | trustStorePath = new StringArgument("trustStorePath", |
| | | OPTION_SHORT_TRUSTSTOREPATH, |
| | | OPTION_LONG_TRUSTSTOREPATH, |
| | | false, false, true, |
| | | INFO_TRUSTSTOREPATH_PLACEHOLDER.get(), null, |
| | | null, |
| | | INFO_DESCRIPTION_TRUSTSTOREPATH.get()); |
| | | trustStorePath.setPropertyName(OPTION_LONG_TRUSTSTOREPATH); |
| | | argParser.addArgument(trustStorePath); |
| | | |
| | | FileBasedArgument.builder(OPTION_LONG_KEYSTORE_PWD_FILE) |
| | | .shortIdentifier(OPTION_SHORT_KEYSTORE_PWD_FILE) |
| | | .description(INFO_DESCRIPTION_KEYSTOREPASSWORD_FILE.get()) |
| | | .valuePlaceholder(INFO_KEYSTORE_PWD_FILE_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | certNickname = |
| | | StringArgument.builder(OPTION_LONG_CERT_NICKNAME) |
| | | .shortIdentifier(OPTION_SHORT_CERT_NICKNAME) |
| | | .description(INFO_DESCRIPTION_CERT_NICKNAME.get()) |
| | | .valuePlaceholder(INFO_NICKNAME_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | trustStorePath = |
| | | StringArgument.builder(OPTION_LONG_TRUSTSTOREPATH) |
| | | .shortIdentifier(OPTION_SHORT_TRUSTSTOREPATH) |
| | | .description(INFO_DESCRIPTION_TRUSTSTOREPATH.get()) |
| | | .valuePlaceholder(INFO_TRUSTSTOREPATH_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | trustStorePassword = |
| | | new StringArgument("trustStorePassword", null, |
| | | OPTION_LONG_TRUSTSTORE_PWD, |
| | | false, false, true, |
| | | INFO_TRUSTSTORE_PWD_PLACEHOLDER.get(), |
| | | null, |
| | | null, INFO_DESCRIPTION_TRUSTSTOREPASSWORD.get()); |
| | | trustStorePassword.setPropertyName(OPTION_LONG_TRUSTSTORE_PWD); |
| | | argParser.addArgument(trustStorePassword); |
| | | |
| | | StringArgument.builder(OPTION_LONG_TRUSTSTORE_PWD) |
| | | .description(INFO_DESCRIPTION_TRUSTSTOREPASSWORD.get()) |
| | | .valuePlaceholder(INFO_TRUSTSTORE_PWD_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | trustStorePasswordFile = |
| | | new FileBasedArgument( |
| | | "truststorepasswordfile", |
| | | OPTION_SHORT_TRUSTSTORE_PWD_FILE, |
| | | OPTION_LONG_TRUSTSTORE_PWD_FILE, false, false, |
| | | INFO_TRUSTSTORE_PWD_FILE_PLACEHOLDER.get(), null, null, |
| | | INFO_DESCRIPTION_TRUSTSTOREPASSWORD_FILE.get()); |
| | | trustStorePasswordFile.setPropertyName(OPTION_LONG_TRUSTSTORE_PWD_FILE); |
| | | argParser.addArgument(trustStorePasswordFile); |
| | | |
| | | proxyAuthzID = new StringArgument("proxy_authzid", |
| | | OPTION_SHORT_PROXYAUTHID, |
| | | OPTION_LONG_PROXYAUTHID, false, |
| | | false, true, |
| | | INFO_PROXYAUTHID_PLACEHOLDER.get(), |
| | | null, null, |
| | | INFO_DESCRIPTION_PROXY_AUTHZID.get()); |
| | | proxyAuthzID.setPropertyName(OPTION_LONG_PROXYAUTHID); |
| | | argParser.addArgument(proxyAuthzID); |
| | | |
| | | reportAuthzID = new BooleanArgument( |
| | | "reportauthzid", 'E', OPTION_LONG_REPORT_AUTHZ_ID, |
| | | INFO_DESCRIPTION_REPORT_AUTHZID.get()); |
| | | reportAuthzID.setPropertyName(OPTION_LONG_REPORT_AUTHZ_ID); |
| | | argParser.addArgument(reportAuthzID); |
| | | |
| | | usePasswordPolicyControl = new BooleanArgument( |
| | | "usepwpolicycontrol", null, |
| | | OPTION_LONG_USE_PW_POLICY_CTL, |
| | | INFO_DESCRIPTION_USE_PWP_CONTROL.get()); |
| | | usePasswordPolicyControl.setPropertyName(OPTION_LONG_USE_PW_POLICY_CTL); |
| | | argParser.addArgument(usePasswordPolicyControl); |
| | | |
| | | pSearchInfo = new StringArgument("psearchinfo", 'C', "persistentSearch", |
| | | false, false, true, |
| | | INFO_PSEARCH_PLACEHOLDER.get(), |
| | | null, null, INFO_DESCRIPTION_PSEARCH_INFO.get()); |
| | | pSearchInfo.setPropertyName("persistentSearch"); |
| | | pSearchInfo.setDocDescriptionSupplement(SUPPLEMENT_DESCRIPTION_PSEARCH_INFO.get()); |
| | | argParser.addArgument(pSearchInfo); |
| | | |
| | | simplePageSize = new IntegerArgument( |
| | | "simplepagesize", null, |
| | | "simplePageSize", false, false, true, |
| | | INFO_NUM_ENTRIES_PLACEHOLDER.get(), 1000, null, true, 1, |
| | | false, 0, |
| | | INFO_DESCRIPTION_SIMPLE_PAGE_SIZE.get()); |
| | | simplePageSize.setPropertyName("simplePageSize"); |
| | | argParser.addArgument(simplePageSize); |
| | | |
| | | assertionFilter = new StringArgument( |
| | | "assertionfilter", null, |
| | | OPTION_LONG_ASSERTION_FILE, |
| | | false, false, |
| | | true, INFO_ASSERTION_FILTER_PLACEHOLDER.get(), |
| | | null, null, |
| | | INFO_DESCRIPTION_ASSERTION_FILTER.get()); |
| | | assertionFilter.setPropertyName(OPTION_LONG_ASSERTION_FILE); |
| | | argParser.addArgument(assertionFilter); |
| | | |
| | | matchedValuesFilter = new StringArgument( |
| | | "matchedvalues", null, |
| | | "matchedValuesFilter", false, true, true, |
| | | INFO_FILTER_PLACEHOLDER.get(), null, null, |
| | | INFO_DESCRIPTION_MATCHED_VALUES_FILTER.get()); |
| | | matchedValuesFilter.setPropertyName("matchedValuesFilter"); |
| | | argParser.addArgument(matchedValuesFilter); |
| | | |
| | | sortOrder = new StringArgument( |
| | | "sortorder", 'S', "sortOrder", false, |
| | | false, true, INFO_SORT_ORDER_PLACEHOLDER.get(), null, null, |
| | | INFO_DESCRIPTION_SORT_ORDER.get()); |
| | | sortOrder.setPropertyName("sortOrder"); |
| | | argParser.addArgument(sortOrder); |
| | | |
| | | FileBasedArgument.builder(OPTION_LONG_TRUSTSTORE_PWD_FILE) |
| | | .shortIdentifier(OPTION_SHORT_TRUSTSTORE_PWD_FILE) |
| | | .description(INFO_DESCRIPTION_TRUSTSTOREPASSWORD_FILE.get()) |
| | | .valuePlaceholder(INFO_TRUSTSTORE_PWD_FILE_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | proxyAuthzID = |
| | | StringArgument.builder(OPTION_LONG_PROXYAUTHID) |
| | | .shortIdentifier(OPTION_SHORT_PROXYAUTHID) |
| | | .description(INFO_DESCRIPTION_PROXY_AUTHZID.get()) |
| | | .valuePlaceholder(INFO_PROXYAUTHID_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | reportAuthzID = |
| | | BooleanArgument.builder(OPTION_LONG_REPORT_AUTHZ_ID) |
| | | .shortIdentifier('E') |
| | | .description(INFO_DESCRIPTION_REPORT_AUTHZID.get()) |
| | | .buildAndAddToParser(argParser); |
| | | usePasswordPolicyControl = |
| | | BooleanArgument.builder(OPTION_LONG_USE_PW_POLICY_CTL) |
| | | .description(INFO_DESCRIPTION_USE_PWP_CONTROL.get()) |
| | | .buildAndAddToParser(argParser); |
| | | pSearchInfo = |
| | | StringArgument.builder("persistentSearch") |
| | | .shortIdentifier('C') |
| | | .description(INFO_DESCRIPTION_PSEARCH_INFO.get()) |
| | | .docDescriptionSupplement(SUPPLEMENT_DESCRIPTION_PSEARCH_INFO.get()) |
| | | .valuePlaceholder(INFO_PSEARCH_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | simplePageSize = |
| | | IntegerArgument.builder("simplePageSize") |
| | | .description(INFO_DESCRIPTION_SIMPLE_PAGE_SIZE.get()) |
| | | .lowerBound(1) |
| | | .defaultValue(1000) |
| | | .valuePlaceholder(INFO_NUM_ENTRIES_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | assertionFilter = |
| | | StringArgument.builder(OPTION_LONG_ASSERTION_FILE) |
| | | .description(INFO_DESCRIPTION_ASSERTION_FILTER.get()) |
| | | .valuePlaceholder(INFO_ASSERTION_FILTER_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | matchedValuesFilter = |
| | | StringArgument.builder("matchedValuesFilter") |
| | | .description(INFO_DESCRIPTION_MATCHED_VALUES_FILTER.get()) |
| | | .multiValued() |
| | | .valuePlaceholder(INFO_FILTER_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | sortOrder = |
| | | StringArgument.builder("sortOrder") |
| | | .shortIdentifier('S') |
| | | .description(INFO_DESCRIPTION_SORT_ORDER.get()) |
| | | .valuePlaceholder(INFO_SORT_ORDER_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | vlvDescriptor = |
| | | new StringArgument( |
| | | "vlvdescriptor", 'G', "virtualListView", false, |
| | | false, true, |
| | | INFO_VLV_PLACEHOLDER.get(), |
| | | null, null, INFO_DESCRIPTION_VLV.get()); |
| | | vlvDescriptor.setPropertyName("virtualListView"); |
| | | argParser.addArgument(vlvDescriptor); |
| | | |
| | | StringArgument.builder("virtualListView") |
| | | .shortIdentifier('G') |
| | | .description(INFO_DESCRIPTION_VLV.get()) |
| | | .valuePlaceholder(INFO_VLV_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | controlStr = |
| | | new StringArgument("control", 'J', "control", false, true, true, |
| | | INFO_LDAP_CONTROL_PLACEHOLDER.get(), |
| | | null, null, INFO_DESCRIPTION_CONTROLS.get()); |
| | | controlStr.setPropertyName("control"); |
| | | controlStr.setDocDescriptionSupplement(SUPPLEMENT_DESCRIPTION_CONTROLS.get()); |
| | | argParser.addArgument(controlStr); |
| | | |
| | | subEntriesArgument = new BooleanArgument("subEntries", |
| | | OPTION_SHORT_SUBENTRIES, OPTION_LONG_SUBENTRIES, |
| | | INFO_DESCRIPTION_SUBENTRIES.get()); |
| | | subEntriesArgument.setPropertyName(OPTION_LONG_SUBENTRIES); |
| | | argParser.addArgument(subEntriesArgument); |
| | | |
| | | StringArgument.builder("control") |
| | | .shortIdentifier('J') |
| | | .description(INFO_DESCRIPTION_CONTROLS.get()) |
| | | .docDescriptionSupplement(SUPPLEMENT_DESCRIPTION_CONTROLS.get()) |
| | | .multiValued() |
| | | .valuePlaceholder(INFO_LDAP_CONTROL_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | subEntriesArgument = |
| | | BooleanArgument.builder(OPTION_LONG_SUBENTRIES) |
| | | .shortIdentifier(OPTION_SHORT_SUBENTRIES) |
| | | .description(INFO_DESCRIPTION_SUBENTRIES.get()) |
| | | .buildAndAddToParser(argParser); |
| | | effectiveRightsUser = |
| | | new StringArgument("effectiveRightsUser", |
| | | OPTION_SHORT_EFFECTIVERIGHTSUSER, |
| | | OPTION_LONG_EFFECTIVERIGHTSUSER, false, false, true, |
| | | INFO_PROXYAUTHID_PLACEHOLDER.get(), null, null, |
| | | INFO_DESCRIPTION_EFFECTIVERIGHTS_USER.get( )); |
| | | effectiveRightsUser.setPropertyName(OPTION_LONG_EFFECTIVERIGHTSUSER); |
| | | argParser.addArgument(effectiveRightsUser); |
| | | |
| | | StringArgument.builder(OPTION_LONG_EFFECTIVERIGHTSUSER) |
| | | .shortIdentifier(OPTION_SHORT_EFFECTIVERIGHTSUSER) |
| | | .description(INFO_DESCRIPTION_EFFECTIVERIGHTS_USER.get()) |
| | | .valuePlaceholder(INFO_PROXYAUTHID_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | effectiveRightsAttrs = |
| | | new StringArgument("effectiveRightsAttrs", |
| | | OPTION_SHORT_EFFECTIVERIGHTSATTR, |
| | | OPTION_LONG_EFFECTIVERIGHTSATTR, false, true, true, |
| | | INFO_ATTRIBUTE_PLACEHOLDER.get(), null, null, |
| | | INFO_DESCRIPTION_EFFECTIVERIGHTS_ATTR.get( )); |
| | | effectiveRightsAttrs.setPropertyName(OPTION_LONG_EFFECTIVERIGHTSATTR); |
| | | argParser.addArgument(effectiveRightsAttrs); |
| | | |
| | | version = new IntegerArgument("version", OPTION_SHORT_PROTOCOL_VERSION, |
| | | OPTION_LONG_PROTOCOL_VERSION, false, false, |
| | | true, |
| | | INFO_PROTOCOL_VERSION_PLACEHOLDER.get(), 3, |
| | | null, INFO_DESCRIPTION_VERSION.get()); |
| | | version.setPropertyName(OPTION_LONG_PROTOCOL_VERSION); |
| | | argParser.addArgument(version); |
| | | |
| | | int defaultTimeout = CliConstants.DEFAULT_LDAP_CONNECT_TIMEOUT; |
| | | connectTimeout = new IntegerArgument(OPTION_LONG_CONNECT_TIMEOUT, |
| | | null, OPTION_LONG_CONNECT_TIMEOUT, |
| | | false, false, true, INFO_TIMEOUT_PLACEHOLDER.get(), |
| | | defaultTimeout, null, |
| | | true, 0, false, Integer.MAX_VALUE, |
| | | INFO_DESCRIPTION_CONNECTION_TIMEOUT.get()); |
| | | connectTimeout.setPropertyName(OPTION_LONG_CONNECT_TIMEOUT); |
| | | argParser.addArgument(connectTimeout); |
| | | |
| | | encodingStr = new StringArgument("encoding", 'i', "encoding", false, |
| | | false, true, |
| | | INFO_ENCODING_PLACEHOLDER.get(), null, |
| | | null, |
| | | INFO_DESCRIPTION_ENCODING.get()); |
| | | encodingStr.setPropertyName("encoding"); |
| | | argParser.addArgument(encodingStr); |
| | | |
| | | StringArgument.builder(OPTION_LONG_EFFECTIVERIGHTSATTR) |
| | | .shortIdentifier(OPTION_SHORT_EFFECTIVERIGHTSATTR) |
| | | .description(INFO_DESCRIPTION_EFFECTIVERIGHTS_ATTR.get()) |
| | | .multiValued() |
| | | .valuePlaceholder(INFO_ATTRIBUTE_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | version = |
| | | IntegerArgument.builder(OPTION_LONG_PROTOCOL_VERSION) |
| | | .shortIdentifier(OPTION_SHORT_PROTOCOL_VERSION) |
| | | .description(INFO_DESCRIPTION_VERSION.get()) |
| | | .defaultValue(3) |
| | | .valuePlaceholder(INFO_PROTOCOL_VERSION_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | connectTimeout = |
| | | IntegerArgument.builder(OPTION_LONG_CONNECT_TIMEOUT) |
| | | .description(INFO_DESCRIPTION_CONNECTION_TIMEOUT.get()) |
| | | .lowerBound(0) |
| | | .defaultValue(CliConstants.DEFAULT_LDAP_CONNECT_TIMEOUT) |
| | | .valuePlaceholder(INFO_TIMEOUT_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | encodingStr = |
| | | StringArgument.builder("encoding") |
| | | .shortIdentifier('i') |
| | | .description(INFO_DESCRIPTION_ENCODING.get()) |
| | | .valuePlaceholder(INFO_ENCODING_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | dereferencePolicy = |
| | | new StringArgument("derefpolicy", 'a', "dereferencePolicy", false, |
| | | false, true, |
| | | INFO_DEREFERENCE_POLICE_PLACEHOLDER.get(), "never", |
| | | null, |
| | | INFO_SEARCH_DESCRIPTION_DEREFERENCE_POLICY.get()); |
| | | dereferencePolicy.setPropertyName("dereferencePolicy"); |
| | | argParser.addArgument(dereferencePolicy); |
| | | |
| | | typesOnly = new BooleanArgument("typesOnly", 'A', "typesOnly", |
| | | INFO_DESCRIPTION_TYPES_ONLY.get()); |
| | | typesOnly.setPropertyName("typesOnly"); |
| | | argParser.addArgument(typesOnly); |
| | | |
| | | sizeLimit = new IntegerArgument("sizeLimit", 'z', "sizeLimit", false, |
| | | false, true, |
| | | INFO_SIZE_LIMIT_PLACEHOLDER.get(), 0, |
| | | null, |
| | | INFO_SEARCH_DESCRIPTION_SIZE_LIMIT.get()); |
| | | sizeLimit.setPropertyName("sizeLimit"); |
| | | argParser.addArgument(sizeLimit); |
| | | |
| | | timeLimit = new IntegerArgument("timeLimit", 'l', "timeLimit", false, |
| | | false, true, |
| | | INFO_TIME_LIMIT_PLACEHOLDER.get(), 0, |
| | | null, |
| | | INFO_SEARCH_DESCRIPTION_TIME_LIMIT.get()); |
| | | timeLimit.setPropertyName("timeLimit"); |
| | | argParser.addArgument(timeLimit); |
| | | |
| | | dontWrap = new BooleanArgument("dontwrap", 'T', |
| | | "dontWrap", |
| | | INFO_DESCRIPTION_DONT_WRAP.get()); |
| | | dontWrap.setPropertyName("dontWrap"); |
| | | argParser.addArgument(dontWrap); |
| | | |
| | | countEntries = new BooleanArgument("countentries", null, "countEntries", |
| | | INFO_DESCRIPTION_COUNT_ENTRIES.get()); |
| | | countEntries.setPropertyName("countEntries"); |
| | | argParser.addArgument(countEntries); |
| | | |
| | | StringArgument.builder("dereferencePolicy") |
| | | .shortIdentifier('a') |
| | | .description(INFO_SEARCH_DESCRIPTION_DEREFERENCE_POLICY.get()) |
| | | .defaultValue("never") |
| | | .valuePlaceholder(INFO_DEREFERENCE_POLICE_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | typesOnly = |
| | | BooleanArgument.builder("typesOnly") |
| | | .shortIdentifier('A') |
| | | .description(INFO_DESCRIPTION_TYPES_ONLY.get()) |
| | | .buildAndAddToParser(argParser); |
| | | sizeLimit = |
| | | IntegerArgument.builder("sizeLimit") |
| | | .shortIdentifier('z') |
| | | .description(INFO_SEARCH_DESCRIPTION_SIZE_LIMIT.get()) |
| | | .defaultValue(0) |
| | | .valuePlaceholder(INFO_SIZE_LIMIT_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | timeLimit = |
| | | IntegerArgument.builder("timeLimit") |
| | | .shortIdentifier('l') |
| | | .description(INFO_SEARCH_DESCRIPTION_TIME_LIMIT.get()) |
| | | .defaultValue(0) |
| | | .valuePlaceholder(INFO_TIME_LIMIT_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | dontWrap = |
| | | BooleanArgument.builder("dontWrap") |
| | | .shortIdentifier('T') |
| | | .description(INFO_DESCRIPTION_DONT_WRAP.get()) |
| | | .buildAndAddToParser(argParser); |
| | | countEntries = |
| | | BooleanArgument.builder("countEntries") |
| | | .description(INFO_DESCRIPTION_COUNT_ENTRIES.get()) |
| | | .buildAndAddToParser(argParser); |
| | | continueOnError = |
| | | new BooleanArgument("continueOnError", 'c', "continueOnError", |
| | | INFO_DESCRIPTION_CONTINUE_ON_ERROR.get()); |
| | | continueOnError.setPropertyName("continueOnError"); |
| | | argParser.addArgument(continueOnError); |
| | | |
| | | noop = new BooleanArgument("noop", OPTION_SHORT_DRYRUN, |
| | | OPTION_LONG_DRYRUN, INFO_DESCRIPTION_NOOP.get()); |
| | | noop.setPropertyName(OPTION_LONG_DRYRUN); |
| | | argParser.addArgument(noop); |
| | | BooleanArgument.builder("continueOnError") |
| | | .shortIdentifier('c') |
| | | .description(INFO_DESCRIPTION_CONTINUE_ON_ERROR.get()) |
| | | .buildAndAddToParser(argParser); |
| | | noop = |
| | | BooleanArgument.builder(OPTION_LONG_DRYRUN) |
| | | .shortIdentifier(OPTION_SHORT_DRYRUN) |
| | | .description(INFO_DESCRIPTION_NOOP.get()) |
| | | .buildAndAddToParser(argParser); |
| | | |
| | | verbose = CommonArguments.getVerbose(); |
| | | argParser.addArgument(verbose); |
| | |
| | | argParser.setVersionHandler(new DirectoryServerVersionHandler()); |
| | | try |
| | | { |
| | | sourceLDIF = new StringArgument( |
| | | "sourceldif", 's', "sourceLDIF", true, |
| | | false, true, INFO_FILE_PLACEHOLDER.get(), null, null, |
| | | INFO_LDIFDIFF_DESCRIPTION_SOURCE_LDIF.get()); |
| | | argParser.addArgument(sourceLDIF); |
| | | |
| | | targetLDIF = new StringArgument( |
| | | "targetldif", 't', "targetLDIF", true, |
| | | false, true, INFO_FILE_PLACEHOLDER.get(), null, null, |
| | | INFO_LDIFDIFF_DESCRIPTION_TARGET_LDIF.get()); |
| | | argParser.addArgument(targetLDIF); |
| | | |
| | | outputLDIF = new StringArgument( |
| | | "outputldif", 'o', "outputLDIF", false, |
| | | false, true, INFO_FILE_PLACEHOLDER.get(), null, null, |
| | | INFO_LDIFDIFF_DESCRIPTION_OUTPUT_LDIF.get()); |
| | | argParser.addArgument(outputLDIF); |
| | | |
| | | ignoreAttrsFile = new StringArgument( |
| | | "ignoreattrs", 'a', "ignoreAttrs", false, |
| | | false, true, INFO_FILE_PLACEHOLDER.get(), null, null, |
| | | INFO_LDIFDIFF_DESCRIPTION_IGNORE_ATTRS.get()); |
| | | argParser.addArgument(ignoreAttrsFile); |
| | | |
| | | ignoreEntriesFile = new StringArgument( |
| | | "ignoreentries", 'e', "ignoreEntries", false, |
| | | false, true, INFO_FILE_PLACEHOLDER.get(), null, null, |
| | | INFO_LDIFDIFF_DESCRIPTION_IGNORE_ENTRIES.get()); |
| | | argParser.addArgument(ignoreEntriesFile); |
| | | |
| | | sourceLDIF = |
| | | StringArgument.builder("sourceLDIF") |
| | | .shortIdentifier('s') |
| | | .description(INFO_LDIFDIFF_DESCRIPTION_SOURCE_LDIF.get()) |
| | | .required() |
| | | .valuePlaceholder(INFO_FILE_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | targetLDIF = |
| | | StringArgument.builder("targetLDIF") |
| | | .shortIdentifier('t') |
| | | .description(INFO_LDIFDIFF_DESCRIPTION_TARGET_LDIF.get()) |
| | | .required() |
| | | .valuePlaceholder(INFO_FILE_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | outputLDIF = |
| | | StringArgument.builder("outputLDIF") |
| | | .shortIdentifier('o') |
| | | .description(INFO_LDIFDIFF_DESCRIPTION_OUTPUT_LDIF.get()) |
| | | .valuePlaceholder(INFO_FILE_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | ignoreAttrsFile = |
| | | StringArgument.builder("ignoreAttrs") |
| | | .shortIdentifier('a') |
| | | .description(INFO_LDIFDIFF_DESCRIPTION_IGNORE_ATTRS.get()) |
| | | .valuePlaceholder(INFO_FILE_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | ignoreEntriesFile = |
| | | StringArgument.builder("ignoreEntries") |
| | | .shortIdentifier('e') |
| | | .description(INFO_LDIFDIFF_DESCRIPTION_IGNORE_ENTRIES.get()) |
| | | .valuePlaceholder(INFO_FILE_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | overwriteExisting = |
| | | new BooleanArgument( |
| | | "overwriteexisting", 'O', |
| | | "overwriteExisting", |
| | | INFO_LDIFDIFF_DESCRIPTION_OVERWRITE_EXISTING.get()); |
| | | argParser.addArgument(overwriteExisting); |
| | | |
| | | BooleanArgument.builder("overwriteExisting") |
| | | .shortIdentifier('O') |
| | | .description(INFO_LDIFDIFF_DESCRIPTION_OVERWRITE_EXISTING.get()) |
| | | .buildAndAddToParser(argParser); |
| | | singleValueChanges = |
| | | new BooleanArgument( |
| | | "singlevaluechanges", 'S', "singleValueChanges", |
| | | INFO_LDIFDIFF_DESCRIPTION_SINGLE_VALUE_CHANGES.get()); |
| | | argParser.addArgument(singleValueChanges); |
| | | |
| | | BooleanArgument.builder("singleValueChanges") |
| | | .shortIdentifier('S') |
| | | .description(INFO_LDIFDIFF_DESCRIPTION_SINGLE_VALUE_CHANGES.get()) |
| | | .buildAndAddToParser(argParser); |
| | | doCheckSchema = |
| | | new BooleanArgument( |
| | | "checkschema", null, "checkSchema", |
| | | INFO_LDIFDIFF_DESCRIPTION_CHECK_SCHEMA.get()); |
| | | argParser.addArgument(doCheckSchema); |
| | | |
| | | configFile = new StringArgument("configfile", 'c', "configFile", false, |
| | | false, true, |
| | | INFO_CONFIGFILE_PLACEHOLDER.get(), null, |
| | | null, |
| | | INFO_DESCRIPTION_CONFIG_FILE.get()); |
| | | configFile.setHidden(true); |
| | | argParser.addArgument(configFile); |
| | | |
| | | configClass = new StringArgument("configclass", OPTION_SHORT_CONFIG_CLASS, |
| | | OPTION_LONG_CONFIG_CLASS, false, |
| | | false, true, INFO_CONFIGCLASS_PLACEHOLDER.get(), |
| | | ConfigFileHandler.class.getName(), null, |
| | | INFO_DESCRIPTION_CONFIG_CLASS.get()); |
| | | configClass.setHidden(true); |
| | | argParser.addArgument(configClass); |
| | | BooleanArgument.builder("checkSchema") |
| | | .description(INFO_LDIFDIFF_DESCRIPTION_CHECK_SCHEMA.get()) |
| | | .buildAndAddToParser(argParser); |
| | | configFile = |
| | | StringArgument.builder("configFile") |
| | | .shortIdentifier('c') |
| | | .description(INFO_DESCRIPTION_CONFIG_FILE.get()) |
| | | .hidden() |
| | | .valuePlaceholder(INFO_CONFIGFILE_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | configClass = |
| | | StringArgument.builder(OPTION_LONG_CONFIG_CLASS) |
| | | .shortIdentifier(OPTION_SHORT_CONFIG_CLASS) |
| | | .description(INFO_DESCRIPTION_CONFIG_CLASS.get()) |
| | | .hidden() |
| | | .defaultValue(ConfigFileHandler.class.getName()) |
| | | .valuePlaceholder(INFO_CONFIGCLASS_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | |
| | | showUsage = CommonArguments.getShowUsage(); |
| | | argParser.addArgument(showUsage); |
| | | |
| | | useCompareResultCode = |
| | | new BooleanArgument("usecompareresultcode", 'r', |
| | | "useCompareResultCode", |
| | | INFO_LDIFDIFF_DESCRIPTION_USE_COMPARE_RESULT.get()); |
| | | argParser.addArgument(useCompareResultCode); |
| | | BooleanArgument.builder("useCompareResultCode") |
| | | .shortIdentifier('r') |
| | | .description(INFO_LDIFDIFF_DESCRIPTION_USE_COMPARE_RESULT.get()) |
| | | .buildAndAddToParser(argParser); |
| | | |
| | | argParser.setUsageArgument(showUsage); |
| | | } |
| | |
| | | |
| | | try |
| | | { |
| | | configFile = new StringArgument("configfile", 'c', "configFile", true, |
| | | false, true, |
| | | INFO_CONFIGFILE_PLACEHOLDER.get(), null, |
| | | null, |
| | | INFO_DESCRIPTION_CONFIG_FILE.get()); |
| | | configFile.setHidden(true); |
| | | argParser.addArgument(configFile); |
| | | |
| | | |
| | | configClass = new StringArgument("configclass", OPTION_SHORT_CONFIG_CLASS, |
| | | OPTION_LONG_CONFIG_CLASS, false, |
| | | false, true, INFO_CONFIGCLASS_PLACEHOLDER.get(), |
| | | ConfigFileHandler.class.getName(), null, |
| | | INFO_DESCRIPTION_CONFIG_CLASS.get()); |
| | | configClass.setHidden(true); |
| | | argParser.addArgument(configClass); |
| | | |
| | | |
| | | sourceFile = new StringArgument("sourceldif", 's', "sourceLDIF", true, |
| | | false, true, |
| | | INFO_LDIFFILE_PLACEHOLDER.get(), null, |
| | | null, |
| | | INFO_LDIFMODIFY_DESCRIPTION_SOURCE.get()); |
| | | argParser.addArgument(sourceFile); |
| | | |
| | | |
| | | configFile = |
| | | StringArgument.builder("configFile") |
| | | .shortIdentifier('c') |
| | | .description(INFO_DESCRIPTION_CONFIG_FILE.get()) |
| | | .hidden() |
| | | .required() |
| | | .valuePlaceholder(INFO_CONFIGFILE_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | configClass = |
| | | StringArgument.builder(OPTION_LONG_CONFIG_CLASS) |
| | | .shortIdentifier(OPTION_SHORT_CONFIG_CLASS) |
| | | .description(INFO_DESCRIPTION_CONFIG_CLASS.get()) |
| | | .hidden() |
| | | .defaultValue(ConfigFileHandler.class.getName()) |
| | | .valuePlaceholder(INFO_CONFIGCLASS_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | sourceFile = |
| | | StringArgument.builder("sourceLDIF") |
| | | .shortIdentifier('s') |
| | | .description(INFO_LDIFMODIFY_DESCRIPTION_SOURCE.get()) |
| | | .required() |
| | | .valuePlaceholder(INFO_LDIFFILE_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | changesFile = |
| | | new StringArgument("changesldif", 'm', "changesLDIF", true, |
| | | false, true, INFO_LDIFFILE_PLACEHOLDER.get(), |
| | | null, null, |
| | | INFO_LDIFMODIFY_DESCRIPTION_CHANGES.get()); |
| | | argParser.addArgument(changesFile); |
| | | |
| | | |
| | | targetFile = new StringArgument("targetldif", 't', "targetLDIF", true, |
| | | false, true, |
| | | INFO_LDIFFILE_PLACEHOLDER.get(), null, |
| | | null, |
| | | INFO_LDIFMODIFY_DESCRIPTION_TARGET.get()); |
| | | argParser.addArgument(targetFile); |
| | | |
| | | StringArgument.builder("changesLDIF") |
| | | .shortIdentifier('m') |
| | | .description(INFO_LDIFMODIFY_DESCRIPTION_CHANGES.get()) |
| | | .required() |
| | | .valuePlaceholder(INFO_LDIFFILE_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | targetFile = |
| | | StringArgument.builder("targetLDIF") |
| | | .shortIdentifier('t') |
| | | .description(INFO_LDIFMODIFY_DESCRIPTION_TARGET.get()) |
| | | .required() |
| | | .valuePlaceholder(INFO_LDIFFILE_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | |
| | | showUsage = CommonArguments.getShowUsage(); |
| | | argParser.addArgument(showUsage); |
| | |
| | | package org.opends.server.tools; |
| | | |
| | | import static com.forgerock.opendj.cli.ArgumentConstants.*; |
| | | import static com.forgerock.opendj.cli.CliMessages.INFO_SIZE_LIMIT_PLACEHOLDER; |
| | | import static com.forgerock.opendj.cli.CliMessages.INFO_TIME_LIMIT_PLACEHOLDER; |
| | | import static com.forgerock.opendj.cli.Utils.*; |
| | | |
| | | import static org.opends.messages.ToolMessages.*; |
| | |
| | | |
| | | try |
| | | { |
| | | ldifFile = new StringArgument( |
| | | "ldiffile", 'l', "ldifFile", false, true, |
| | | true, INFO_LDIFFILE_PLACEHOLDER.get(), null, null, |
| | | INFO_LDIFSEARCH_DESCRIPTION_LDIF_FILE.get()); |
| | | argParser.addArgument(ldifFile); |
| | | |
| | | baseDNString = new StringArgument( |
| | | "basedn", OPTION_SHORT_BASEDN, |
| | | OPTION_LONG_BASEDN, false, true, |
| | | true, INFO_BASEDN_PLACEHOLDER.get(), "", null, |
| | | INFO_LDIFSEARCH_DESCRIPTION_BASEDN.get()); |
| | | argParser.addArgument(baseDNString); |
| | | |
| | | scopeString = new MultiChoiceArgument<>( |
| | | "scope", 's', "searchScope", false, false, |
| | | true, INFO_SCOPE_PLACEHOLDER.get(), SCOPE_STRING_SUB, |
| | | null, scopeStrings, false, |
| | | INFO_LDIFSEARCH_DESCRIPTION_SCOPE.get()); |
| | | argParser.addArgument(scopeString); |
| | | |
| | | configFile = new StringArgument( |
| | | "configfile", 'c', "configFile", false, |
| | | false, true, INFO_CONFIGFILE_PLACEHOLDER.get(), null, null, |
| | | INFO_DESCRIPTION_CONFIG_FILE.get()); |
| | | configFile.setHidden(true); |
| | | argParser.addArgument(configFile); |
| | | |
| | | configClass = new StringArgument("configclass", OPTION_SHORT_CONFIG_CLASS, |
| | | OPTION_LONG_CONFIG_CLASS, false, |
| | | false, true, INFO_CONFIGCLASS_PLACEHOLDER.get(), |
| | | ConfigFileHandler.class.getName(), null, |
| | | INFO_DESCRIPTION_CONFIG_CLASS.get()); |
| | | configClass.setHidden(true); |
| | | argParser.addArgument(configClass); |
| | | |
| | | filterFile = new StringArgument("filterfile", 'f', "filterFile", false, |
| | | false, true, INFO_FILTER_FILE_PLACEHOLDER.get(), null, null, |
| | | INFO_LDIFSEARCH_DESCRIPTION_FILTER_FILE.get()); |
| | | argParser.addArgument(filterFile); |
| | | |
| | | outputFile = new StringArgument( |
| | | "outputfile", 'o', "outputFile", false, |
| | | false, true, INFO_OUTPUT_FILE_PLACEHOLDER.get(), null, null, |
| | | INFO_LDIFSEARCH_DESCRIPTION_OUTPUT_FILE.get()); |
| | | argParser.addArgument(outputFile); |
| | | |
| | | ldifFile = |
| | | StringArgument.builder("ldifFile") |
| | | .shortIdentifier('l') |
| | | .description(INFO_LDIFSEARCH_DESCRIPTION_LDIF_FILE.get()) |
| | | .multiValued() |
| | | .valuePlaceholder(INFO_LDIFFILE_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | baseDNString = |
| | | StringArgument.builder(OPTION_LONG_BASEDN) |
| | | .shortIdentifier(OPTION_SHORT_BASEDN) |
| | | .description(INFO_LDIFSEARCH_DESCRIPTION_BASEDN.get()) |
| | | .multiValued() |
| | | .defaultValue("") |
| | | .valuePlaceholder(INFO_BASEDN_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | scopeString = |
| | | MultiChoiceArgument.<String>builder("searchScope") |
| | | .shortIdentifier('s') |
| | | .description(INFO_LDIFSEARCH_DESCRIPTION_SCOPE.get()) |
| | | .allowedValues(scopeStrings) |
| | | .defaultValue(SCOPE_STRING_SUB) |
| | | .valuePlaceholder(INFO_SCOPE_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | configFile = |
| | | StringArgument.builder("configFile") |
| | | .shortIdentifier('c') |
| | | .description(INFO_DESCRIPTION_CONFIG_FILE.get()) |
| | | .hidden() |
| | | .valuePlaceholder(INFO_CONFIGFILE_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | configClass = |
| | | StringArgument.builder(OPTION_LONG_CONFIG_CLASS) |
| | | .shortIdentifier(OPTION_SHORT_CONFIG_CLASS) |
| | | .description(INFO_DESCRIPTION_CONFIG_CLASS.get()) |
| | | .hidden() |
| | | .defaultValue(ConfigFileHandler.class.getName()) |
| | | .valuePlaceholder(INFO_CONFIGCLASS_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | filterFile = |
| | | StringArgument.builder("filterFile") |
| | | .shortIdentifier('f') |
| | | .description(INFO_LDIFSEARCH_DESCRIPTION_FILTER_FILE.get()) |
| | | .valuePlaceholder(INFO_FILTER_FILE_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | outputFile = |
| | | StringArgument.builder("outputFile") |
| | | .shortIdentifier('o') |
| | | .description(INFO_LDIFSEARCH_DESCRIPTION_OUTPUT_FILE.get()) |
| | | .valuePlaceholder(INFO_OUTPUT_FILE_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | overwriteExisting = |
| | | new BooleanArgument( |
| | | "overwriteexisting", 'O',"overwriteExisting", |
| | | INFO_LDIFSEARCH_DESCRIPTION_OVERWRITE_EXISTING.get()); |
| | | argParser.addArgument(overwriteExisting); |
| | | |
| | | dontWrap = new BooleanArgument( |
| | | "dontwrap", 'T', "dontWrap", |
| | | INFO_LDIFSEARCH_DESCRIPTION_DONT_WRAP.get()); |
| | | argParser.addArgument(dontWrap); |
| | | |
| | | sizeLimit = new IntegerArgument( |
| | | "sizelimit", 'z', "sizeLimit", false, |
| | | false, true, INFO_SIZE_LIMIT_PLACEHOLDER.get(), 0, null, |
| | | true, 0, false, 0, |
| | | INFO_LDIFSEARCH_DESCRIPTION_SIZE_LIMIT.get()); |
| | | argParser.addArgument(sizeLimit); |
| | | |
| | | timeLimit = new IntegerArgument( |
| | | "timelimit", 't', "timeLimit", false, |
| | | false, true, INFO_TIME_LIMIT_PLACEHOLDER.get(), 0, null, |
| | | true, 0, false, 0, |
| | | INFO_LDIFSEARCH_DESCRIPTION_TIME_LIMIT.get()); |
| | | argParser.addArgument(timeLimit); |
| | | |
| | | BooleanArgument.builder("overwriteExisting") |
| | | .shortIdentifier('O') |
| | | .description(INFO_LDIFSEARCH_DESCRIPTION_OVERWRITE_EXISTING.get()) |
| | | .buildAndAddToParser(argParser); |
| | | dontWrap = |
| | | BooleanArgument.builder("dontWrap") |
| | | .shortIdentifier('T') |
| | | .description(INFO_LDIFSEARCH_DESCRIPTION_DONT_WRAP.get()) |
| | | .buildAndAddToParser(argParser); |
| | | sizeLimit = |
| | | IntegerArgument.builder("sizeLimit") |
| | | .shortIdentifier('z') |
| | | .description(INFO_LDIFSEARCH_DESCRIPTION_SIZE_LIMIT.get()) |
| | | .lowerBound(0) |
| | | .defaultValue(0) |
| | | .valuePlaceholder(INFO_SIZE_LIMIT_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | timeLimit = |
| | | IntegerArgument.builder("timeLimit") |
| | | .shortIdentifier('t') |
| | | .description(INFO_LDIFSEARCH_DESCRIPTION_TIME_LIMIT.get()) |
| | | .lowerBound(0) |
| | | .defaultValue(0) |
| | | .valuePlaceholder(INFO_TIME_LIMIT_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | |
| | | showUsage = CommonArguments.getShowUsage(); |
| | | argParser.addArgument(showUsage); |
| | |
| | | try |
| | | { |
| | | configClass = |
| | | new StringArgument("configclass", OPTION_SHORT_CONFIG_CLASS, |
| | | OPTION_LONG_CONFIG_CLASS, true, false, |
| | | true, INFO_CONFIGCLASS_PLACEHOLDER.get(), |
| | | ConfigFileHandler.class.getName(), null, |
| | | INFO_DESCRIPTION_CONFIG_CLASS.get()); |
| | | configClass.setHidden(true); |
| | | argParser.addArgument(configClass); |
| | | |
| | | |
| | | StringArgument.builder(OPTION_LONG_CONFIG_CLASS) |
| | | .shortIdentifier(OPTION_SHORT_CONFIG_CLASS) |
| | | .description(INFO_DESCRIPTION_CONFIG_CLASS.get()) |
| | | .hidden() |
| | | .required() |
| | | .defaultValue(ConfigFileHandler.class.getName()) |
| | | .valuePlaceholder(INFO_CONFIGCLASS_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | configFile = |
| | | new StringArgument("configfile", 'f', "configFile", true, false, |
| | | true, INFO_CONFIGFILE_PLACEHOLDER.get(), null, |
| | | null, |
| | | INFO_DESCRIPTION_CONFIG_FILE.get()); |
| | | configFile.setHidden(true); |
| | | argParser.addArgument(configFile); |
| | | |
| | | |
| | | backendID = new StringArgument( |
| | | "backendid", 'n', "backendID", false, |
| | | true, true, INFO_BACKENDNAME_PLACEHOLDER.get(), null, null, |
| | | INFO_LISTBACKENDS_DESCRIPTION_BACKEND_ID.get()); |
| | | argParser.addArgument(backendID); |
| | | |
| | | |
| | | baseDN = new StringArgument( |
| | | "basedn", OPTION_SHORT_BASEDN, |
| | | OPTION_LONG_BASEDN, false, true, true, |
| | | INFO_BASEDN_PLACEHOLDER.get(), null, null, |
| | | INFO_LISTBACKENDS_DESCRIPTION_BASE_DN.get()); |
| | | argParser.addArgument(baseDN); |
| | | |
| | | StringArgument.builder("configFile") |
| | | .shortIdentifier('f') |
| | | .description(INFO_DESCRIPTION_CONFIG_FILE.get()) |
| | | .hidden() |
| | | .required() |
| | | .valuePlaceholder(INFO_CONFIGFILE_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | backendID = |
| | | StringArgument.builder("backendID") |
| | | .shortIdentifier('n') |
| | | .description(INFO_LISTBACKENDS_DESCRIPTION_BACKEND_ID.get()) |
| | | .multiValued() |
| | | .valuePlaceholder(INFO_BACKENDNAME_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | baseDN = |
| | | StringArgument.builder(OPTION_LONG_BASEDN) |
| | | .shortIdentifier(OPTION_SHORT_BASEDN) |
| | | .description(INFO_LISTBACKENDS_DESCRIPTION_BASE_DN.get()) |
| | | .multiValued() |
| | | .valuePlaceholder(INFO_BASEDN_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | |
| | | displayUsage = CommonArguments.getShowUsage(); |
| | | argParser.addArgument(displayUsage); |
| | |
| | | * |
| | | * |
| | | * Copyright 2006-2009 Sun Microsystems, Inc. |
| | | * Portions Copyright 2011-2015 ForgeRock AS. |
| | | * Portions Copyright 2011-2016 ForgeRock AS. |
| | | */ |
| | | package org.opends.server.tools; |
| | | |
| | | import static com.forgerock.opendj.cli.ArgumentConstants.*; |
| | | import static com.forgerock.opendj.cli.CliMessages.INFO_BINDPWD_FILE_PLACEHOLDER; |
| | | import static com.forgerock.opendj.cli.CliMessages.INFO_KEYSTORE_PWD_FILE_PLACEHOLDER; |
| | | import static com.forgerock.opendj.cli.CliMessages.INFO_PORT_PLACEHOLDER; |
| | | import static com.forgerock.opendj.cli.CliMessages.INFO_TRUSTSTORE_PWD_FILE_PLACEHOLDER; |
| | | import static com.forgerock.opendj.cli.Utils.*; |
| | | |
| | | import static org.opends.messages.ToolMessages.*; |
| | |
| | | * The name of the argument that will be used for holding the value(s) to use |
| | | * for the target operation. |
| | | */ |
| | | private static final String ARG_OP_VALUE = "opvalue"; |
| | | private static final String ARG_OP_VALUE = "operationValue"; |
| | | |
| | | |
| | | |
| | |
| | | |
| | | try |
| | | { |
| | | host = new StringArgument("host", OPTION_SHORT_HOST, |
| | | OPTION_LONG_HOST, false, false, true, |
| | | INFO_HOST_PLACEHOLDER.get(), "127.0.0.1", null, |
| | | INFO_PWPSTATE_DESCRIPTION_HOST.get()); |
| | | host = |
| | | StringArgument.builder(OPTION_LONG_HOST) |
| | | .shortIdentifier(OPTION_SHORT_HOST) |
| | | .description(INFO_PWPSTATE_DESCRIPTION_HOST.get()) |
| | | .defaultValue("127.0.0.1") |
| | | .valuePlaceholder(INFO_HOST_PLACEHOLDER.get()) |
| | | .buildArgument(); |
| | | argParser.addGlobalArgument(host); |
| | | |
| | | port = new IntegerArgument( |
| | | "port", OPTION_SHORT_PORT, |
| | | OPTION_LONG_PORT, false, false, true, |
| | | INFO_PORT_PLACEHOLDER.get(), |
| | | AdministrationConnector.DEFAULT_ADMINISTRATION_CONNECTOR_PORT, |
| | | null, true, 1, |
| | | true, 65535, INFO_PWPSTATE_DESCRIPTION_PORT.get()); |
| | | port = |
| | | IntegerArgument.builder(OPTION_LONG_PORT) |
| | | .shortIdentifier(OPTION_SHORT_PORT) |
| | | .description(INFO_PWPSTATE_DESCRIPTION_PORT.get()) |
| | | .range(1, 65535) |
| | | .defaultValue(AdministrationConnector.DEFAULT_ADMINISTRATION_CONNECTOR_PORT) |
| | | .valuePlaceholder(INFO_PORT_PLACEHOLDER.get()) |
| | | .buildArgument(); |
| | | argParser.addGlobalArgument(port); |
| | | |
| | | bindDN = new StringArgument("binddn", OPTION_SHORT_BINDDN, |
| | | OPTION_LONG_BINDDN, false, false, true, |
| | | INFO_BINDDN_PLACEHOLDER.get(), null, null, |
| | | INFO_PWPSTATE_DESCRIPTION_BINDDN.get()); |
| | | bindDN = |
| | | StringArgument.builder(OPTION_LONG_BINDDN) |
| | | .shortIdentifier(OPTION_SHORT_BINDDN) |
| | | .description(INFO_PWPSTATE_DESCRIPTION_BINDDN.get()) |
| | | .valuePlaceholder(INFO_BINDDN_PLACEHOLDER.get()) |
| | | .buildArgument(); |
| | | argParser.addGlobalArgument(bindDN); |
| | | |
| | | bindPW = new StringArgument("bindpw", OPTION_SHORT_BINDPWD, |
| | | OPTION_LONG_BINDPWD, false, false, |
| | | true, |
| | | INFO_BINDPWD_PLACEHOLDER.get(), null, null, |
| | | INFO_PWPSTATE_DESCRIPTION_BINDPW.get()); |
| | | bindPW = |
| | | StringArgument.builder(OPTION_LONG_BINDPWD) |
| | | .shortIdentifier(OPTION_SHORT_BINDPWD) |
| | | .description(INFO_PWPSTATE_DESCRIPTION_BINDPW.get()) |
| | | .valuePlaceholder(INFO_BINDPWD_PLACEHOLDER.get()) |
| | | .buildArgument(); |
| | | argParser.addGlobalArgument(bindPW); |
| | | |
| | | bindPWFile = new FileBasedArgument( |
| | | "bindpwfile", |
| | | OPTION_SHORT_BINDPWD_FILE, |
| | | OPTION_LONG_BINDPWD_FILE, |
| | | false, false, |
| | | INFO_BINDPWD_FILE_PLACEHOLDER.get(), |
| | | null, null, |
| | | INFO_PWPSTATE_DESCRIPTION_BINDPWFILE.get()); |
| | | bindPWFile = |
| | | FileBasedArgument.builder(OPTION_LONG_BINDPWD_FILE) |
| | | .shortIdentifier(OPTION_SHORT_BINDPWD_FILE) |
| | | .description(INFO_PWPSTATE_DESCRIPTION_BINDPWFILE.get()) |
| | | .valuePlaceholder(INFO_BINDPWD_FILE_PLACEHOLDER.get()) |
| | | .buildArgument(); |
| | | argParser.addGlobalArgument(bindPWFile); |
| | | |
| | | targetDN = new StringArgument("targetdn", 'b', "targetDN", true, false, |
| | | true, INFO_TARGETDN_PLACEHOLDER.get(), null, |
| | | null, |
| | | INFO_PWPSTATE_DESCRIPTION_TARGETDN.get()); |
| | | targetDN = |
| | | StringArgument.builder("targetDN") |
| | | .shortIdentifier('b') |
| | | .description(INFO_PWPSTATE_DESCRIPTION_TARGETDN.get()) |
| | | .required() |
| | | .valuePlaceholder(INFO_TARGETDN_PLACEHOLDER.get()) |
| | | .buildArgument(); |
| | | argParser.addGlobalArgument(targetDN); |
| | | |
| | | saslOption = new StringArgument( |
| | | "sasloption", OPTION_SHORT_SASLOPTION, |
| | | OPTION_LONG_SASLOPTION, false, |
| | | true, true, |
| | | INFO_SASL_OPTION_PLACEHOLDER.get(), null, null, |
| | | INFO_PWPSTATE_DESCRIPTION_SASLOPTIONS.get()); |
| | | saslOption = |
| | | StringArgument.builder(OPTION_LONG_SASLOPTION) |
| | | .shortIdentifier(OPTION_SHORT_SASLOPTION) |
| | | .description(INFO_PWPSTATE_DESCRIPTION_SASLOPTIONS.get()) |
| | | .multiValued() |
| | | .valuePlaceholder(INFO_SASL_OPTION_PLACEHOLDER.get()) |
| | | .buildArgument(); |
| | | argParser.addGlobalArgument(saslOption); |
| | | |
| | | trustAll = CommonArguments.getTrustAll(); |
| | | argParser.addGlobalArgument(trustAll); |
| | | |
| | | keyStoreFile = new StringArgument("keystorefile", |
| | | OPTION_SHORT_KEYSTOREPATH, |
| | | OPTION_LONG_KEYSTOREPATH, |
| | | false, false, true, |
| | | INFO_KEYSTOREPATH_PLACEHOLDER.get(), |
| | | null, null, |
| | | INFO_PWPSTATE_DESCRIPTION_KSFILE.get()); |
| | | keyStoreFile = |
| | | StringArgument.builder(OPTION_LONG_KEYSTOREPATH) |
| | | .shortIdentifier(OPTION_SHORT_KEYSTOREPATH) |
| | | .description(INFO_PWPSTATE_DESCRIPTION_KSFILE.get()) |
| | | .valuePlaceholder(INFO_KEYSTOREPATH_PLACEHOLDER.get()) |
| | | .buildArgument(); |
| | | argParser.addGlobalArgument(keyStoreFile); |
| | | |
| | | keyStorePW = new StringArgument("keystorepw", OPTION_SHORT_KEYSTORE_PWD, |
| | | OPTION_LONG_KEYSTORE_PWD, |
| | | false, false, true, |
| | | INFO_KEYSTORE_PWD_PLACEHOLDER.get(), |
| | | null, null, |
| | | INFO_PWPSTATE_DESCRIPTION_KSPW.get()); |
| | | keyStorePW = |
| | | StringArgument.builder(OPTION_LONG_KEYSTORE_PWD) |
| | | .shortIdentifier(OPTION_SHORT_KEYSTORE_PWD) |
| | | .description(INFO_PWPSTATE_DESCRIPTION_KSPW.get()) |
| | | .valuePlaceholder(INFO_KEYSTORE_PWD_PLACEHOLDER.get()) |
| | | .buildArgument(); |
| | | argParser.addGlobalArgument(keyStorePW); |
| | | |
| | | keyStorePWFile = new FileBasedArgument("keystorepwfile", |
| | | OPTION_SHORT_KEYSTORE_PWD_FILE, |
| | | OPTION_LONG_KEYSTORE_PWD_FILE, false, false, |
| | | INFO_KEYSTORE_PWD_FILE_PLACEHOLDER.get(), null, |
| | | null, |
| | | INFO_PWPSTATE_DESCRIPTION_KSPWFILE.get()); |
| | | keyStorePWFile = |
| | | FileBasedArgument.builder(OPTION_LONG_KEYSTORE_PWD_FILE) |
| | | .shortIdentifier(OPTION_SHORT_KEYSTORE_PWD_FILE) |
| | | .description(INFO_PWPSTATE_DESCRIPTION_KSPWFILE.get()) |
| | | .valuePlaceholder(INFO_KEYSTORE_PWD_FILE_PLACEHOLDER.get()) |
| | | .buildArgument(); |
| | | argParser.addGlobalArgument(keyStorePWFile); |
| | | |
| | | certNickname = new StringArgument( |
| | | "certnickname", 'N', "certNickname", |
| | | false, false, true, INFO_NICKNAME_PLACEHOLDER.get(), null, |
| | | null, INFO_DESCRIPTION_CERT_NICKNAME.get()); |
| | | certNickname = |
| | | StringArgument.builder("certNickname") |
| | | .shortIdentifier('N') |
| | | .description(INFO_DESCRIPTION_CERT_NICKNAME.get()) |
| | | .valuePlaceholder(INFO_NICKNAME_PLACEHOLDER.get()) |
| | | .buildArgument(); |
| | | argParser.addGlobalArgument(certNickname); |
| | | |
| | | trustStoreFile = new StringArgument( |
| | | "truststorefile", |
| | | OPTION_SHORT_TRUSTSTOREPATH, |
| | | OPTION_LONG_TRUSTSTOREPATH, |
| | | false, false, true, |
| | | INFO_TRUSTSTOREPATH_PLACEHOLDER.get(), |
| | | null, null, |
| | | INFO_PWPSTATE_DESCRIPTION_TSFILE.get()); |
| | | trustStoreFile = |
| | | StringArgument.builder(OPTION_LONG_TRUSTSTOREPATH) |
| | | .shortIdentifier(OPTION_SHORT_TRUSTSTOREPATH) |
| | | .description(INFO_PWPSTATE_DESCRIPTION_TSFILE.get()) |
| | | .valuePlaceholder(INFO_TRUSTSTOREPATH_PLACEHOLDER.get()) |
| | | .buildArgument(); |
| | | argParser.addGlobalArgument(trustStoreFile); |
| | | |
| | | trustStorePW = new StringArgument( |
| | | "truststorepw", 'T', |
| | | OPTION_LONG_TRUSTSTORE_PWD, |
| | | false, false, |
| | | true, INFO_TRUSTSTORE_PWD_PLACEHOLDER.get(), null, |
| | | null, INFO_PWPSTATE_DESCRIPTION_TSPW.get()); |
| | | trustStorePW = |
| | | StringArgument.builder(OPTION_LONG_TRUSTSTORE_PWD) |
| | | .shortIdentifier('T') |
| | | .description(INFO_PWPSTATE_DESCRIPTION_TSPW.get()) |
| | | .valuePlaceholder(INFO_TRUSTSTORE_PWD_PLACEHOLDER.get()) |
| | | .buildArgument(); |
| | | argParser.addGlobalArgument(trustStorePW); |
| | | |
| | | trustStorePWFile = new FileBasedArgument("truststorepwfile", |
| | | OPTION_SHORT_TRUSTSTORE_PWD_FILE, |
| | | OPTION_LONG_TRUSTSTORE_PWD_FILE, |
| | | false, false, |
| | | INFO_TRUSTSTORE_PWD_FILE_PLACEHOLDER.get(), |
| | | null, null, |
| | | INFO_PWPSTATE_DESCRIPTION_TSPWFILE.get()); |
| | | trustStorePWFile = |
| | | FileBasedArgument.builder(OPTION_LONG_TRUSTSTORE_PWD_FILE) |
| | | .shortIdentifier(OPTION_SHORT_TRUSTSTORE_PWD_FILE) |
| | | .description(INFO_PWPSTATE_DESCRIPTION_TSPWFILE.get()) |
| | | .valuePlaceholder(INFO_TRUSTSTORE_PWD_FILE_PLACEHOLDER.get()) |
| | | .buildArgument(); |
| | | argParser.addGlobalArgument(trustStorePWFile); |
| | | |
| | | verbose = CommonArguments.getVerbose(); |
| | |
| | | msg = INFO_DESCRIPTION_PWPSTATE_SET_ACCOUNT_DISABLED_STATE.get(); |
| | | SubCommand sc = new SubCommand(argParser, SC_SET_ACCOUNT_DISABLED_STATE, |
| | | msg); |
| | | sc.addArgument(new MultiChoiceArgument(ARG_OP_VALUE, 'O', |
| | | "operationValue", true, false, true, |
| | | INFO_TRUE_FALSE_PLACEHOLDER.get(), null, null, |
| | | booleanValues, false, |
| | | INFO_DESCRIPTION_OPERATION_BOOLEAN_VALUE.get())); |
| | | sc.addArgument(MultiChoiceArgument.<String>builder(ARG_OP_VALUE) |
| | | .shortIdentifier('O') |
| | | .description(INFO_DESCRIPTION_OPERATION_BOOLEAN_VALUE.get()) |
| | | .required() |
| | | .allowedValues(booleanValues) |
| | | .valuePlaceholder(INFO_TRUE_FALSE_PLACEHOLDER.get()) |
| | | .buildArgument()); |
| | | |
| | | msg = INFO_DESCRIPTION_PWPSTATE_CLEAR_ACCOUNT_DISABLED_STATE.get(); |
| | | new SubCommand(argParser, SC_CLEAR_ACCOUNT_DISABLED_STATE, msg); |
| | |
| | | |
| | | msg = INFO_DESCRIPTION_PWPSTATE_SET_ACCOUNT_EXPIRATION_TIME.get(); |
| | | sc = new SubCommand(argParser, SC_SET_ACCOUNT_EXPIRATION_TIME, msg); |
| | | sc.addArgument(new StringArgument(ARG_OP_VALUE, 'O', "operationValue", |
| | | false, false, true, INFO_TIME_PLACEHOLDER.get(), |
| | | null, null, |
| | | INFO_DESCRIPTION_OPERATION_TIME_VALUE.get())); |
| | | sc.addArgument(StringArgument.builder(ARG_OP_VALUE) |
| | | .shortIdentifier('O') |
| | | .description(INFO_DESCRIPTION_OPERATION_TIME_VALUE.get()) |
| | | .valuePlaceholder(INFO_TIME_PLACEHOLDER.get()) |
| | | .buildArgument()); |
| | | sc.setHidden(true); |
| | | |
| | | msg = INFO_DESCRIPTION_PWPSTATE_CLEAR_ACCOUNT_EXPIRATION_TIME.get(); |
| | |
| | | |
| | | msg = INFO_DESCRIPTION_PWPSTATE_SET_PASSWORD_CHANGED_TIME.get(); |
| | | sc = new SubCommand(argParser, SC_SET_PASSWORD_CHANGED_TIME, msg); |
| | | sc.addArgument(new StringArgument(ARG_OP_VALUE, 'O', "operationValue", |
| | | false, false, true, INFO_TIME_PLACEHOLDER.get(), |
| | | null, null, |
| | | INFO_DESCRIPTION_OPERATION_TIME_VALUE.get())); |
| | | sc.addArgument(StringArgument.builder(ARG_OP_VALUE) |
| | | .shortIdentifier('O') |
| | | .description(INFO_DESCRIPTION_OPERATION_TIME_VALUE.get()) |
| | | .valuePlaceholder(INFO_TIME_PLACEHOLDER.get()) |
| | | .buildArgument()); |
| | | sc.setHidden(true); |
| | | |
| | | msg = INFO_DESCRIPTION_PWPSTATE_CLEAR_PASSWORD_CHANGED_TIME.get(); |
| | |
| | | msg = INFO_DESCRIPTION_PWPSTATE_SET_PASSWORD_EXPIRATION_WARNED_TIME |
| | | .get(); |
| | | sc = new SubCommand(argParser, SC_SET_PASSWORD_EXP_WARNED_TIME, msg); |
| | | sc.addArgument(new StringArgument(ARG_OP_VALUE, 'O', "operationValue", |
| | | false, false, true, INFO_TIME_PLACEHOLDER.get(), |
| | | null, null, |
| | | INFO_DESCRIPTION_OPERATION_TIME_VALUE.get())); |
| | | sc.addArgument(StringArgument.builder(ARG_OP_VALUE) |
| | | .shortIdentifier('O') |
| | | .description(INFO_DESCRIPTION_OPERATION_TIME_VALUE.get()) |
| | | .valuePlaceholder(INFO_TIME_PLACEHOLDER.get()) |
| | | .buildArgument()); |
| | | sc.setHidden(true); |
| | | |
| | | msg = INFO_DESCRIPTION_PWPSTATE_CLEAR_PASSWORD_EXPIRATION_WARNED_TIME |
| | |
| | | msg = INFO_DESCRIPTION_PWPSTATE_ADD_AUTH_FAILURE_TIME.get(); |
| | | sc = new SubCommand(argParser, SC_ADD_AUTHENTICATION_FAILURE_TIME, |
| | | msg); |
| | | sc.addArgument(new StringArgument(ARG_OP_VALUE, 'O', "operationValue", |
| | | false, true, true, INFO_TIME_PLACEHOLDER.get(), |
| | | null, null, |
| | | INFO_DESCRIPTION_OPERATION_TIME_VALUE.get())); |
| | | sc.addArgument(StringArgument.builder(ARG_OP_VALUE) |
| | | .shortIdentifier('O') |
| | | .description(INFO_DESCRIPTION_OPERATION_TIME_VALUE.get()) |
| | | .multiValued() |
| | | .valuePlaceholder(INFO_TIME_PLACEHOLDER.get()) |
| | | .buildArgument()); |
| | | sc.setHidden(true); |
| | | |
| | | msg = INFO_DESCRIPTION_PWPSTATE_SET_AUTH_FAILURE_TIMES.get(); |
| | | sc = new SubCommand(argParser, SC_SET_AUTHENTICATION_FAILURE_TIMES, |
| | | msg); |
| | | sc.addArgument(new StringArgument(ARG_OP_VALUE, 'O', "operationValue", |
| | | false, true, true, INFO_TIME_PLACEHOLDER.get(), |
| | | null, null, |
| | | INFO_DESCRIPTION_OPERATION_TIME_VALUES.get())); |
| | | sc.addArgument(StringArgument.builder(ARG_OP_VALUE) |
| | | .shortIdentifier('O') |
| | | .description(INFO_DESCRIPTION_OPERATION_TIME_VALUES.get()) |
| | | .multiValued() |
| | | .valuePlaceholder(INFO_TIME_PLACEHOLDER.get()) |
| | | .buildArgument()); |
| | | sc.setHidden(true); |
| | | |
| | | msg = INFO_DESCRIPTION_PWPSTATE_CLEAR_AUTH_FAILURE_TIMES.get(); |
| | |
| | | |
| | | msg = INFO_DESCRIPTION_PWPSTATE_SET_LAST_LOGIN_TIME.get(); |
| | | sc = new SubCommand(argParser, SC_SET_LAST_LOGIN_TIME, msg); |
| | | sc.addArgument(new StringArgument(ARG_OP_VALUE, 'O', "operationValue", |
| | | false, false, true, INFO_TIME_PLACEHOLDER.get(), |
| | | null, null, |
| | | INFO_DESCRIPTION_OPERATION_TIME_VALUE.get())); |
| | | sc.addArgument(StringArgument.builder(ARG_OP_VALUE) |
| | | .shortIdentifier('O') |
| | | .description(INFO_DESCRIPTION_OPERATION_TIME_VALUE.get()) |
| | | .valuePlaceholder(INFO_TIME_PLACEHOLDER.get()) |
| | | .buildArgument()); |
| | | sc.setHidden(true); |
| | | |
| | | msg = INFO_DESCRIPTION_PWPSTATE_CLEAR_LAST_LOGIN_TIME.get(); |
| | |
| | | |
| | | msg = INFO_DESCRIPTION_PWPSTATE_SET_PASSWORD_RESET_STATE.get(); |
| | | sc = new SubCommand(argParser, SC_SET_PASSWORD_RESET_STATE, msg); |
| | | sc.addArgument(new MultiChoiceArgument(ARG_OP_VALUE, 'O', |
| | | "operationValue", true, false, true, |
| | | INFO_TRUE_FALSE_PLACEHOLDER.get(), null, null, |
| | | booleanValues, false, |
| | | INFO_DESCRIPTION_OPERATION_BOOLEAN_VALUE.get())); |
| | | sc.addArgument(MultiChoiceArgument.<String>builder(ARG_OP_VALUE) |
| | | .shortIdentifier('O') |
| | | .description(INFO_DESCRIPTION_OPERATION_BOOLEAN_VALUE.get()) |
| | | .required() |
| | | .allowedValues(booleanValues) |
| | | .valuePlaceholder(INFO_TRUE_FALSE_PLACEHOLDER.get()) |
| | | .buildArgument()); |
| | | sc.setHidden(true); |
| | | |
| | | msg = INFO_DESCRIPTION_PWPSTATE_CLEAR_PASSWORD_RESET_STATE.get(); |
| | |
| | | |
| | | msg = INFO_DESCRIPTION_PWPSTATE_ADD_GRACE_LOGIN_USE_TIME.get(); |
| | | sc = new SubCommand(argParser, SC_ADD_GRACE_LOGIN_USE_TIME, msg); |
| | | sc.addArgument(new StringArgument(ARG_OP_VALUE, 'O', "operationValue", |
| | | false, true, true, INFO_TIME_PLACEHOLDER.get(), |
| | | null, null, |
| | | INFO_DESCRIPTION_OPERATION_TIME_VALUE.get())); |
| | | sc.addArgument(StringArgument.builder(ARG_OP_VALUE) |
| | | .shortIdentifier('O') |
| | | .description(INFO_DESCRIPTION_OPERATION_TIME_VALUE.get()) |
| | | .multiValued() |
| | | .valuePlaceholder(INFO_TIME_PLACEHOLDER.get()) |
| | | .buildArgument()); |
| | | sc.setHidden(true); |
| | | |
| | | msg = INFO_DESCRIPTION_PWPSTATE_SET_GRACE_LOGIN_USE_TIMES.get(); |
| | | sc = new SubCommand(argParser, SC_SET_GRACE_LOGIN_USE_TIMES, msg); |
| | | sc.addArgument(new StringArgument(ARG_OP_VALUE, 'O', "operationValue", |
| | | false, true, true, INFO_TIME_PLACEHOLDER.get(), |
| | | null, null, |
| | | INFO_DESCRIPTION_OPERATION_TIME_VALUES.get())); |
| | | sc.addArgument(StringArgument.builder(ARG_OP_VALUE) |
| | | .shortIdentifier('O') |
| | | .description(INFO_DESCRIPTION_OPERATION_TIME_VALUES.get()) |
| | | .multiValued() |
| | | .valuePlaceholder(INFO_TIME_PLACEHOLDER.get()) |
| | | .buildArgument()); |
| | | sc.setHidden(true); |
| | | |
| | | msg = INFO_DESCRIPTION_PWPSTATE_CLEAR_GRACE_LOGIN_USE_TIMES.get(); |
| | |
| | | msg = INFO_DESCRIPTION_PWPSTATE_SET_PW_CHANGED_BY_REQUIRED_TIME.get(); |
| | | sc = new SubCommand(argParser, SC_SET_PASSWORD_CHANGED_BY_REQUIRED_TIME, |
| | | msg); |
| | | sc.addArgument(new StringArgument(ARG_OP_VALUE, 'O', "operationValue", |
| | | false, false, true, INFO_TIME_PLACEHOLDER.get(), |
| | | null, null, |
| | | INFO_DESCRIPTION_OPERATION_TIME_VALUE.get())); |
| | | sc.addArgument(StringArgument.builder(ARG_OP_VALUE) |
| | | .shortIdentifier('O') |
| | | .description(INFO_DESCRIPTION_OPERATION_TIME_VALUE.get()) |
| | | .valuePlaceholder(INFO_TIME_PLACEHOLDER.get()) |
| | | .buildArgument()); |
| | | sc.setHidden(true); |
| | | |
| | | msg = |
| | |
| | | } |
| | | else if (subCommandName.equals(SC_SET_ACCOUNT_DISABLED_STATE)) |
| | | { |
| | | Argument a = subCommand.getArgumentForName(ARG_OP_VALUE); |
| | | Argument a = subCommand.getArgumentForLongIdentifier(ARG_OP_VALUE); |
| | | if (a != null && a.isPresent()) |
| | | { |
| | | String valueStr = a.getValue(); |
| | |
| | | } |
| | | else if (subCommandName.equals(SC_SET_ACCOUNT_EXPIRATION_TIME)) |
| | | { |
| | | Argument a = subCommand.getArgumentForName(ARG_OP_VALUE); |
| | | Argument a = subCommand.getArgumentForLongIdentifier(ARG_OP_VALUE); |
| | | if (a != null && a.isPresent()) |
| | | { |
| | | encode(writer, OP_SET_ACCOUNT_EXPIRATION_TIME, a.getValue()); |
| | |
| | | } |
| | | else if (subCommandName.equals(SC_SET_PASSWORD_CHANGED_TIME)) |
| | | { |
| | | Argument a = subCommand.getArgumentForName(ARG_OP_VALUE); |
| | | Argument a = subCommand.getArgumentForLongIdentifier(ARG_OP_VALUE); |
| | | if (a != null && a.isPresent()) |
| | | { |
| | | encode(writer, OP_SET_PASSWORD_CHANGED_TIME, a.getValue()); |
| | |
| | | } |
| | | else if(subCommandName.equals(SC_SET_PASSWORD_EXP_WARNED_TIME)) |
| | | { |
| | | Argument a = subCommand.getArgumentForName(ARG_OP_VALUE); |
| | | Argument a = subCommand.getArgumentForLongIdentifier(ARG_OP_VALUE); |
| | | if (a != null && a.isPresent()) |
| | | { |
| | | encode(writer, OP_SET_PASSWORD_EXPIRATION_WARNED_TIME, |
| | |
| | | } |
| | | else if(subCommandName.equals(SC_ADD_AUTHENTICATION_FAILURE_TIME)) |
| | | { |
| | | Argument a = subCommand.getArgumentForName(ARG_OP_VALUE); |
| | | Argument a = subCommand.getArgumentForLongIdentifier(ARG_OP_VALUE); |
| | | if (a != null && a.isPresent()) |
| | | { |
| | | encode(writer, OP_ADD_AUTHENTICATION_FAILURE_TIME, |
| | |
| | | } |
| | | else if(subCommandName.equals(SC_SET_AUTHENTICATION_FAILURE_TIMES)) |
| | | { |
| | | Argument a = subCommand.getArgumentForName(ARG_OP_VALUE); |
| | | Argument a = subCommand.getArgumentForLongIdentifier(ARG_OP_VALUE); |
| | | if (a != null && a.isPresent()) |
| | | { |
| | | ArrayList<String> valueList = new ArrayList<>(a.getValues()); |
| | |
| | | } |
| | | else if(subCommandName.equals(SC_SET_LAST_LOGIN_TIME)) |
| | | { |
| | | Argument a = subCommand.getArgumentForName(ARG_OP_VALUE); |
| | | Argument a = subCommand.getArgumentForLongIdentifier(ARG_OP_VALUE); |
| | | if (a != null && a.isPresent()) |
| | | { |
| | | encode(writer, OP_SET_LAST_LOGIN_TIME, a.getValue()); |
| | |
| | | } |
| | | else if(subCommandName.equals(SC_SET_PASSWORD_RESET_STATE)) |
| | | { |
| | | Argument a = subCommand.getArgumentForName(ARG_OP_VALUE); |
| | | Argument a = subCommand.getArgumentForLongIdentifier(ARG_OP_VALUE); |
| | | if (a != null && a.isPresent()) |
| | | { |
| | | String valueStr = a.getValue(); |
| | |
| | | } |
| | | else if(subCommandName.equals(SC_ADD_GRACE_LOGIN_USE_TIME)) |
| | | { |
| | | Argument a = subCommand.getArgumentForName(ARG_OP_VALUE); |
| | | Argument a = subCommand.getArgumentForLongIdentifier(ARG_OP_VALUE); |
| | | if (a != null && a.isPresent()) |
| | | { |
| | | encode(writer, OP_ADD_GRACE_LOGIN_USE_TIME, a.getValue()); |
| | |
| | | } |
| | | else if(subCommandName.equals(SC_SET_GRACE_LOGIN_USE_TIMES)) |
| | | { |
| | | Argument a = subCommand.getArgumentForName(ARG_OP_VALUE); |
| | | Argument a = subCommand.getArgumentForLongIdentifier(ARG_OP_VALUE); |
| | | if (a != null && a.isPresent()) |
| | | { |
| | | ArrayList<String> valueList = new ArrayList<>(a.getValues()); |
| | |
| | | } |
| | | else if(subCommandName.equals(SC_SET_PASSWORD_CHANGED_BY_REQUIRED_TIME)) |
| | | { |
| | | Argument a = subCommand.getArgumentForName(ARG_OP_VALUE); |
| | | Argument a = subCommand.getArgumentForLongIdentifier(ARG_OP_VALUE); |
| | | if (a != null && a.isPresent()) |
| | | { |
| | | encode(writer, OP_SET_PASSWORD_CHANGED_BY_REQUIRED_TIME, |
| | |
| | | * |
| | | * |
| | | * Copyright 2008-2009 Sun Microsystems, Inc. |
| | | * Portions Copyright 2012-2015 ForgeRock AS. |
| | | * Portions Copyright 2012-2016 ForgeRock AS. |
| | | */ |
| | | package org.opends.server.tools; |
| | | |
| | | import org.forgerock.i18n.LocalizableMessage; |
| | | import org.forgerock.opendj.config.server.ConfigException; |
| | | import org.forgerock.opendj.ldap.DecodeException; |
| | | import org.opends.server.backends.task.TaskState; |
| | | import org.opends.server.core.DirectoryServer; |
| | |
| | | |
| | | // Initialize all the command-line argument types and register them with the parser |
| | | try { |
| | | StringArgument propertiesFileArgument = new StringArgument( |
| | | "propertiesFilePath", null, OPTION_LONG_PROP_FILE_PATH, false, false, |
| | | true, INFO_PROP_FILE_PATH_PLACEHOLDER.get(), null, null, |
| | | INFO_DESCRIPTION_PROP_FILE_PATH.get()); |
| | | argParser.addArgument(propertiesFileArgument); |
| | | StringArgument propertiesFileArgument = |
| | | StringArgument.builder(OPTION_LONG_PROP_FILE_PATH) |
| | | .description(INFO_DESCRIPTION_PROP_FILE_PATH.get()) |
| | | .valuePlaceholder(INFO_PROP_FILE_PATH_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | argParser.setFilePropertiesArgument(propertiesFileArgument); |
| | | |
| | | BooleanArgument noPropertiesFileArgument = new BooleanArgument( |
| | | "noPropertiesFileArgument", null, OPTION_LONG_NO_PROP_FILE, |
| | | INFO_DESCRIPTION_NO_PROP_FILE.get()); |
| | | argParser.addArgument(noPropertiesFileArgument); |
| | | BooleanArgument noPropertiesFileArgument = |
| | | BooleanArgument.builder(OPTION_LONG_NO_PROP_FILE) |
| | | .description(INFO_DESCRIPTION_NO_PROP_FILE.get()) |
| | | .buildAndAddToParser(argParser); |
| | | argParser.setNoPropertiesFileArgument(noPropertiesFileArgument); |
| | | |
| | | task = new StringArgument( |
| | | "info", 'i', "info", |
| | | false, true, INFO_TASK_ID_PLACEHOLDER.get(), |
| | | INFO_TASKINFO_TASK_ARG_DESCRIPTION.get()); |
| | | argParser.addArgument(task); |
| | | |
| | | cancel = new StringArgument( |
| | | "cancel", 'c', "cancel", |
| | | false, true, INFO_TASK_ID_PLACEHOLDER.get(), |
| | | INFO_TASKINFO_TASK_ARG_CANCEL.get()); |
| | | argParser.addArgument(cancel); |
| | | |
| | | summary = new BooleanArgument( |
| | | "summary", 's', "summary", |
| | | INFO_TASKINFO_SUMMARY_ARG_DESCRIPTION.get()); |
| | | argParser.addArgument(summary); |
| | | task = |
| | | StringArgument.builder("info") |
| | | .shortIdentifier('i') |
| | | .description(INFO_TASKINFO_TASK_ARG_DESCRIPTION.get()) |
| | | .valuePlaceholder(INFO_TASK_ID_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | cancel = |
| | | StringArgument.builder("cancel") |
| | | .shortIdentifier('c') |
| | | .description(INFO_TASKINFO_TASK_ARG_CANCEL.get()) |
| | | .valuePlaceholder(INFO_TASK_ID_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | summary = |
| | | BooleanArgument.builder("summary") |
| | | .shortIdentifier('s') |
| | | .description(INFO_TASKINFO_SUMMARY_ARG_DESCRIPTION.get()) |
| | | .buildAndAddToParser(argParser); |
| | | |
| | | noPrompt = CommonArguments.getNoPrompt(); |
| | | argParser.addArgument(noPrompt); |
| | |
| | | return 1; |
| | | } |
| | | |
| | | try |
| | | { |
| | | argParser.getArguments().initArgumentsWithConfiguration(); |
| | | } |
| | | catch (ConfigException ignored) {} |
| | | |
| | | argParser.getArguments().initArgumentsWithConfiguration(argParser); |
| | | // Parse the command-line arguments provided to this program. |
| | | try { |
| | | argParser.parseArguments(args); |
| | |
| | | * |
| | | * |
| | | * Copyright 2006-2009 Sun Microsystems, Inc. |
| | | * Portions Copyright 2011-2015 ForgeRock AS. |
| | | * Portions Copyright 2011-2016 ForgeRock AS. |
| | | */ |
| | | package org.opends.server.tools; |
| | | |
| | |
| | | argParser.setShortToolDescription(REF_SHORT_DESC_REBUILD_INDEX.get()); |
| | | |
| | | configClass = |
| | | new StringArgument("configclass", 'C', "configClass", true, false, |
| | | true, INFO_CONFIGCLASS_PLACEHOLDER.get(), ConfigFileHandler.class |
| | | .getName(), null, INFO_DESCRIPTION_CONFIG_CLASS.get()); |
| | | configClass.setHidden(true); |
| | | argParser.addArgument(configClass); |
| | | |
| | | StringArgument.builder("configClass") |
| | | .shortIdentifier('C') |
| | | .description(INFO_DESCRIPTION_CONFIG_CLASS.get()) |
| | | .hidden() |
| | | .required() |
| | | .defaultValue(ConfigFileHandler.class.getName()) |
| | | .valuePlaceholder(INFO_CONFIGCLASS_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | configFile = |
| | | new StringArgument("configfile", 'f', "configFile", true, false, true, |
| | | INFO_CONFIGFILE_PLACEHOLDER.get(), null, null, |
| | | INFO_DESCRIPTION_CONFIG_FILE.get()); |
| | | configFile.setHidden(true); |
| | | argParser.addArgument(configFile); |
| | | StringArgument.builder("configFile") |
| | | .shortIdentifier('f') |
| | | .description(INFO_DESCRIPTION_CONFIG_FILE.get()) |
| | | .hidden() |
| | | .required() |
| | | .valuePlaceholder(INFO_CONFIGFILE_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | |
| | | |
| | | baseDNString = |
| | | new StringArgument("basedn", 'b', "baseDN", true, isMultipleBackends, |
| | | true, INFO_BASEDN_PLACEHOLDER.get(), null, null, |
| | | INFO_REBUILDINDEX_DESCRIPTION_BASE_DN.get()); |
| | | argParser.addArgument(baseDNString); |
| | | |
| | | final StringArgument.Builder builder = |
| | | StringArgument.builder("baseDN") |
| | | .shortIdentifier('b') |
| | | .description(INFO_REBUILDINDEX_DESCRIPTION_BASE_DN.get()) |
| | | .required() |
| | | .valuePlaceholder(INFO_BASEDN_PLACEHOLDER.get()); |
| | | if (isMultipleBackends) { |
| | | builder.multiValued(); |
| | | } |
| | | baseDNString = builder.buildAndAddToParser(argParser); |
| | | |
| | | indexList = |
| | | new StringArgument("index", 'i', "index", false, true, true, |
| | | INFO_INDEX_PLACEHOLDER.get(), null, null, |
| | | INFO_REBUILDINDEX_DESCRIPTION_INDEX_NAME.get()); |
| | | argParser.addArgument(indexList); |
| | | |
| | | StringArgument.builder("index") |
| | | .shortIdentifier('i') |
| | | .description(INFO_REBUILDINDEX_DESCRIPTION_INDEX_NAME.get()) |
| | | .multiValued() |
| | | .valuePlaceholder(INFO_INDEX_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | rebuildAll = |
| | | new BooleanArgument("rebuildAll", null, "rebuildAll", |
| | | INFO_REBUILDINDEX_DESCRIPTION_REBUILD_ALL.get()); |
| | | argParser.addArgument(rebuildAll); |
| | | |
| | | BooleanArgument.builder("rebuildAll") |
| | | .description(INFO_REBUILDINDEX_DESCRIPTION_REBUILD_ALL.get()) |
| | | .buildAndAddToParser(argParser); |
| | | rebuildDegraded = |
| | | new BooleanArgument("rebuildDegraded", null, "rebuildDegraded", |
| | | INFO_REBUILDINDEX_DESCRIPTION_REBUILD_DEGRADED.get()); |
| | | argParser.addArgument(rebuildDegraded); |
| | | |
| | | BooleanArgument.builder("rebuildDegraded") |
| | | .description(INFO_REBUILDINDEX_DESCRIPTION_REBUILD_DEGRADED.get()) |
| | | .buildAndAddToParser(argParser); |
| | | clearDegradedState = |
| | | new BooleanArgument("clearDegradedState", null, "clearDegradedState", |
| | | INFO_REBUILDINDEX_DESCRIPTION_CLEAR_DEGRADED_STATE.get()); |
| | | argParser.addArgument(clearDegradedState); |
| | | |
| | | BooleanArgument.builder("clearDegradedState") |
| | | .description(INFO_REBUILDINDEX_DESCRIPTION_CLEAR_DEGRADED_STATE.get()) |
| | | .buildAndAddToParser(argParser); |
| | | tmpDirectory = |
| | | new StringArgument("tmpdirectory", null, "tmpdirectory", false, false, |
| | | true, INFO_REBUILDINDEX_TEMP_DIR_PLACEHOLDER.get(), "import-tmp", |
| | | null, INFO_REBUILDINDEX_DESCRIPTION_TEMP_DIRECTORY.get()); |
| | | argParser.addArgument(tmpDirectory); |
| | | StringArgument.builder("tmpdirectory") |
| | | .description(INFO_REBUILDINDEX_DESCRIPTION_TEMP_DIRECTORY.get()) |
| | | .defaultValue("import-tmp") |
| | | .valuePlaceholder(INFO_REBUILDINDEX_TEMP_DIR_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | |
| | | final BooleanArgument displayUsage = CommonArguments.getShowUsage(); |
| | | argParser.addArgument(displayUsage); |
| | |
| | | * |
| | | * |
| | | * Copyright 2006-2009 Sun Microsystems, Inc. |
| | | * Portions Copyright 2012-2015 ForgeRock AS. |
| | | * Portions Copyright 2012-2016 ForgeRock AS. |
| | | */ |
| | | package org.opends.server.tools; |
| | | |
| | |
| | | argParser.setShortToolDescription(REF_SHORT_DESC_RESTORE.get()); |
| | | |
| | | configClass = |
| | | new StringArgument("configclass", OPTION_SHORT_CONFIG_CLASS, |
| | | OPTION_LONG_CONFIG_CLASS, true, false, |
| | | true, INFO_CONFIGCLASS_PLACEHOLDER.get(), |
| | | ConfigFileHandler.class.getName(), null, |
| | | INFO_DESCRIPTION_CONFIG_CLASS.get()); |
| | | configClass.setHidden(true); |
| | | argParser.addArgument(configClass); |
| | | |
| | | |
| | | StringArgument.builder(OPTION_LONG_CONFIG_CLASS) |
| | | .shortIdentifier(OPTION_SHORT_CONFIG_CLASS) |
| | | .description(INFO_DESCRIPTION_CONFIG_CLASS.get()) |
| | | .hidden() |
| | | .required() |
| | | .defaultValue(ConfigFileHandler.class.getName()) |
| | | .valuePlaceholder(INFO_CONFIGCLASS_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | configFile = |
| | | new StringArgument("configfile", 'f', "configFile", true, false, |
| | | true, INFO_CONFIGFILE_PLACEHOLDER.get(), null, |
| | | null, |
| | | INFO_DESCRIPTION_CONFIG_FILE.get()); |
| | | configFile.setHidden(true); |
| | | argParser.addArgument(configFile); |
| | | |
| | | StringArgument.builder("configFile") |
| | | .shortIdentifier('f') |
| | | .description(INFO_DESCRIPTION_CONFIG_FILE.get()) |
| | | .hidden() |
| | | .required() |
| | | .valuePlaceholder(INFO_CONFIGFILE_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | backupIDString = |
| | | new StringArgument("backupid", 'I', "backupID", false, false, true, |
| | | INFO_BACKUPID_PLACEHOLDER.get(), null, null, |
| | | INFO_RESTOREDB_DESCRIPTION_BACKUP_ID.get()); |
| | | argParser.addArgument(backupIDString); |
| | | |
| | | |
| | | StringArgument.builder("backupID") |
| | | .shortIdentifier('I') |
| | | .description(INFO_RESTOREDB_DESCRIPTION_BACKUP_ID.get()) |
| | | .valuePlaceholder(INFO_BACKUPID_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | backupDirectory = |
| | | new StringArgument("backupdirectory", 'd', "backupDirectory", true, |
| | | false, true, INFO_BACKUPDIR_PLACEHOLDER.get(), |
| | | null, null, |
| | | INFO_RESTOREDB_DESCRIPTION_BACKUP_DIR.get()); |
| | | argParser.addArgument(backupDirectory); |
| | | |
| | | |
| | | listBackups = new BooleanArgument( |
| | | "listbackups", 'l', "listBackups", |
| | | INFO_RESTOREDB_DESCRIPTION_LIST_BACKUPS.get()); |
| | | argParser.addArgument(listBackups); |
| | | |
| | | |
| | | verifyOnly = new BooleanArgument( |
| | | "verifyonly", OPTION_SHORT_DRYRUN, |
| | | OPTION_LONG_DRYRUN, |
| | | INFO_RESTOREDB_DESCRIPTION_VERIFY_ONLY.get()); |
| | | argParser.addArgument(verifyOnly); |
| | | |
| | | StringArgument.builder("backupDirectory") |
| | | .shortIdentifier('d') |
| | | .description(INFO_RESTOREDB_DESCRIPTION_BACKUP_DIR.get()) |
| | | .required() |
| | | .valuePlaceholder(INFO_BACKUPDIR_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | listBackups = |
| | | BooleanArgument.builder("listBackups") |
| | | .shortIdentifier('l') |
| | | .description(INFO_RESTOREDB_DESCRIPTION_LIST_BACKUPS.get()) |
| | | .buildAndAddToParser(argParser); |
| | | verifyOnly = |
| | | BooleanArgument.builder(OPTION_LONG_DRYRUN) |
| | | .shortIdentifier(OPTION_SHORT_DRYRUN) |
| | | .description(INFO_RESTOREDB_DESCRIPTION_VERIFY_ONLY.get()) |
| | | .buildAndAddToParser(argParser); |
| | | |
| | | displayUsage = CommonArguments.getShowUsage(); |
| | | argParser.addArgument(displayUsage); |
| | |
| | | } |
| | | |
| | | // Init the default values so that they can appear also on the usage. |
| | | try |
| | | { |
| | | argParser.getArguments().initArgumentsWithConfiguration(); |
| | | } |
| | | catch (ConfigException ce) |
| | | { |
| | | // Ignore. |
| | | } |
| | | argParser.getArguments().initArgumentsWithConfiguration(argParser); |
| | | |
| | | // Parse the command-line arguments provided to this program. |
| | | try |
| | |
| | | * |
| | | * |
| | | * Copyright 2006-2010 Sun Microsystems, Inc. |
| | | * Portions Copyright 2011-2015 ForgeRock AS. |
| | | * Portions Copyright 2011-2016 ForgeRock AS. |
| | | */ |
| | | package org.opends.server.tools; |
| | | |
| | | import static com.forgerock.opendj.cli.ArgumentConstants.*; |
| | | import static com.forgerock.opendj.cli.CliMessages.INFO_BINDPWD_FILE_PLACEHOLDER; |
| | | import static com.forgerock.opendj.cli.CliMessages.INFO_KEYSTORE_PWD_FILE_PLACEHOLDER; |
| | | import static com.forgerock.opendj.cli.CliMessages.INFO_PORT_PLACEHOLDER; |
| | | import static com.forgerock.opendj.cli.CliMessages.INFO_TRUSTSTORE_PWD_FILE_PLACEHOLDER; |
| | | import static com.forgerock.opendj.cli.Utils.*; |
| | | |
| | | import static org.opends.messages.ToolMessages.*; |
| | |
| | | argParser.setVersionHandler(new DirectoryServerVersionHandler()); |
| | | BooleanArgument checkStoppability; |
| | | BooleanArgument quietMode; |
| | | BooleanArgument windowsNetStop; |
| | | BooleanArgument restart; |
| | | BooleanArgument showUsage; |
| | | BooleanArgument trustAll; |
| | |
| | | |
| | | try |
| | | { |
| | | propertiesFileArgument = new StringArgument("propertiesFilePath", |
| | | null, OPTION_LONG_PROP_FILE_PATH, |
| | | false, false, true, INFO_PROP_FILE_PATH_PLACEHOLDER.get(), null, null, |
| | | INFO_DESCRIPTION_PROP_FILE_PATH.get()); |
| | | argParser.addArgument(propertiesFileArgument); |
| | | propertiesFileArgument = |
| | | StringArgument.builder(OPTION_LONG_PROP_FILE_PATH) |
| | | .description(INFO_DESCRIPTION_PROP_FILE_PATH.get()) |
| | | .valuePlaceholder(INFO_PROP_FILE_PATH_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | argParser.setFilePropertiesArgument(propertiesFileArgument); |
| | | |
| | | noPropertiesFileArgument = new BooleanArgument( |
| | | "noPropertiesFileArgument", null, OPTION_LONG_NO_PROP_FILE, |
| | | INFO_DESCRIPTION_NO_PROP_FILE.get()); |
| | | argParser.addArgument(noPropertiesFileArgument); |
| | | noPropertiesFileArgument = |
| | | BooleanArgument.builder(OPTION_LONG_NO_PROP_FILE) |
| | | .description(INFO_DESCRIPTION_NO_PROP_FILE.get()) |
| | | .buildAndAddToParser(argParser); |
| | | argParser.setNoPropertiesFileArgument(noPropertiesFileArgument); |
| | | |
| | | host = new StringArgument("host", OPTION_SHORT_HOST, |
| | | OPTION_LONG_HOST, false, false, true, |
| | | INFO_HOST_PLACEHOLDER.get(), "127.0.0.1", null, |
| | | INFO_STOPDS_DESCRIPTION_HOST.get()); |
| | | host.setPropertyName(OPTION_LONG_HOST); |
| | | argParser.addArgument(host); |
| | | |
| | | port = new IntegerArgument( |
| | | "port", OPTION_SHORT_PORT, |
| | | OPTION_LONG_PORT, false, false, true, |
| | | INFO_PORT_PLACEHOLDER.get(), |
| | | AdministrationConnector.DEFAULT_ADMINISTRATION_CONNECTOR_PORT, |
| | | null, true, 1, |
| | | true, 65535, INFO_STOPDS_DESCRIPTION_PORT.get()); |
| | | port.setPropertyName(OPTION_LONG_PORT); |
| | | argParser.addArgument(port); |
| | | |
| | | bindDN = new StringArgument("binddn", OPTION_SHORT_BINDDN, |
| | | OPTION_LONG_BINDDN, false, false, true, |
| | | INFO_BINDDN_PLACEHOLDER.get(), null, null, |
| | | INFO_STOPDS_DESCRIPTION_BINDDN.get()); |
| | | bindDN.setPropertyName(OPTION_LONG_BINDDN); |
| | | argParser.addArgument(bindDN); |
| | | |
| | | bindPW = new StringArgument("bindpw", OPTION_SHORT_BINDPWD, |
| | | OPTION_LONG_BINDPWD, false, false, |
| | | true, |
| | | INFO_BINDPWD_PLACEHOLDER.get(), null, null, |
| | | INFO_STOPDS_DESCRIPTION_BINDPW.get()); |
| | | bindPW.setPropertyName(OPTION_LONG_BINDPWD); |
| | | argParser.addArgument(bindPW); |
| | | |
| | | bindPWFile = new FileBasedArgument( |
| | | "bindpwfile", |
| | | OPTION_SHORT_BINDPWD_FILE, |
| | | OPTION_LONG_BINDPWD_FILE, |
| | | false, false, |
| | | INFO_BINDPWD_FILE_PLACEHOLDER.get(), |
| | | null, null, |
| | | INFO_STOPDS_DESCRIPTION_BINDPWFILE.get()); |
| | | bindPWFile.setPropertyName(OPTION_LONG_BINDPWD_FILE); |
| | | argParser.addArgument(bindPWFile); |
| | | |
| | | saslOption = new StringArgument( |
| | | "sasloption", OPTION_SHORT_SASLOPTION, |
| | | OPTION_LONG_SASLOPTION, false, |
| | | true, true, |
| | | INFO_SASL_OPTION_PLACEHOLDER.get(), null, null, |
| | | INFO_STOPDS_DESCRIPTION_SASLOPTIONS.get()); |
| | | saslOption.setPropertyName(OPTION_LONG_SASLOPTION); |
| | | argParser.addArgument(saslOption); |
| | | |
| | | proxyAuthzID = new StringArgument( |
| | | "proxyauthzid", |
| | | OPTION_SHORT_PROXYAUTHID, |
| | | OPTION_LONG_PROXYAUTHID, false, |
| | | false, true, |
| | | INFO_PROXYAUTHID_PLACEHOLDER.get(), null, |
| | | null, |
| | | INFO_STOPDS_DESCRIPTION_PROXYAUTHZID.get()); |
| | | proxyAuthzID.setPropertyName(OPTION_LONG_PROXYAUTHID); |
| | | argParser.addArgument(proxyAuthzID); |
| | | |
| | | stopReason = new StringArgument( |
| | | "stopreason", 'r', "stopReason", false, |
| | | false, true, INFO_STOP_REASON_PLACEHOLDER.get(), null, null, |
| | | INFO_STOPDS_DESCRIPTION_STOP_REASON.get()); |
| | | stopReason.setPropertyName("stopReason"); |
| | | argParser.addArgument(stopReason); |
| | | |
| | | checkStoppability = new BooleanArgument("checkstoppability", null, |
| | | "checkStoppability", |
| | | INFO_STOPDS_CHECK_STOPPABILITY.get()); |
| | | checkStoppability.setHidden(true); |
| | | argParser.addArgument(checkStoppability); |
| | | |
| | | windowsNetStop = new BooleanArgument("windowsnetstop", null, |
| | | "windowsNetStop", INFO_STOPDS_DESCRIPTION_WINDOWS_NET_STOP.get()); |
| | | windowsNetStop.setHidden(true); |
| | | argParser.addArgument(windowsNetStop); |
| | | host = |
| | | StringArgument.builder(OPTION_LONG_HOST) |
| | | .shortIdentifier(OPTION_SHORT_HOST) |
| | | .description(INFO_STOPDS_DESCRIPTION_HOST.get()) |
| | | .defaultValue("127.0.0.1") |
| | | .valuePlaceholder(INFO_HOST_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | port = |
| | | IntegerArgument.builder(OPTION_LONG_PORT) |
| | | .shortIdentifier(OPTION_SHORT_PORT) |
| | | .description(INFO_STOPDS_DESCRIPTION_PORT.get()) |
| | | .range(1, 65535) |
| | | .defaultValue(AdministrationConnector.DEFAULT_ADMINISTRATION_CONNECTOR_PORT) |
| | | .valuePlaceholder(INFO_PORT_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | bindDN = |
| | | StringArgument.builder(OPTION_LONG_BINDDN) |
| | | .shortIdentifier(OPTION_SHORT_BINDDN) |
| | | .description(INFO_STOPDS_DESCRIPTION_BINDDN.get()) |
| | | .valuePlaceholder(INFO_BINDDN_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | bindPW = |
| | | StringArgument.builder(OPTION_LONG_BINDPWD) |
| | | .shortIdentifier(OPTION_SHORT_BINDPWD) |
| | | .description(INFO_STOPDS_DESCRIPTION_BINDPW.get()) |
| | | .valuePlaceholder(INFO_BINDPWD_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | bindPWFile = |
| | | FileBasedArgument.builder(OPTION_LONG_BINDPWD_FILE) |
| | | .shortIdentifier(OPTION_SHORT_BINDPWD_FILE) |
| | | .description(INFO_STOPDS_DESCRIPTION_BINDPWFILE.get()) |
| | | .valuePlaceholder(INFO_BINDPWD_FILE_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | saslOption = |
| | | StringArgument.builder(OPTION_LONG_SASLOPTION) |
| | | .shortIdentifier(OPTION_SHORT_SASLOPTION) |
| | | .description(INFO_STOPDS_DESCRIPTION_SASLOPTIONS.get()) |
| | | .multiValued() |
| | | .valuePlaceholder(INFO_SASL_OPTION_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | proxyAuthzID = |
| | | StringArgument.builder(OPTION_LONG_PROXYAUTHID) |
| | | .shortIdentifier(OPTION_SHORT_PROXYAUTHID) |
| | | .description(INFO_STOPDS_DESCRIPTION_PROXYAUTHZID.get()) |
| | | .valuePlaceholder(INFO_PROXYAUTHID_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | stopReason = |
| | | StringArgument.builder("stopReason") |
| | | .shortIdentifier('r') |
| | | .description(INFO_STOPDS_DESCRIPTION_STOP_REASON.get()) |
| | | .valuePlaceholder(INFO_STOP_REASON_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | checkStoppability = |
| | | BooleanArgument.builder(OPTION_LONG_CHECK_STOPPABILITY) |
| | | .description(INFO_STOPDS_CHECK_STOPPABILITY.get()) |
| | | .hidden() |
| | | .buildAndAddToParser(argParser); |
| | | BooleanArgument.builder(OPTION_LONG_WINDOWS_NET_STOP) |
| | | .description(INFO_STOPDS_DESCRIPTION_WINDOWS_NET_STOP.get()) |
| | | .hidden() |
| | | .buildAndAddToParser(argParser); |
| | | |
| | | restart = CommonArguments.getRestart(); |
| | | argParser.addArgument(restart); |
| | | |
| | | stopTimeStr = new StringArgument("stoptime", 't', "stopTime", false, |
| | | false, true, |
| | | INFO_STOP_TIME_PLACEHOLDER.get(), null, |
| | | null, |
| | | INFO_STOPDS_DESCRIPTION_STOP_TIME.get()); |
| | | stopTimeStr.setPropertyName("stopTime"); |
| | | argParser.addArgument(stopTimeStr); |
| | | stopTimeStr = |
| | | StringArgument.builder("stopTime") |
| | | .shortIdentifier('t') |
| | | .description(INFO_STOPDS_DESCRIPTION_STOP_TIME.get()) |
| | | .valuePlaceholder(INFO_STOP_TIME_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | |
| | | trustAll = CommonArguments.getTrustAll(); |
| | | argParser.addArgument(trustAll); |
| | | |
| | | keyStoreFile = new StringArgument("keystorefile", |
| | | OPTION_SHORT_KEYSTOREPATH, |
| | | OPTION_LONG_KEYSTOREPATH, |
| | | false, false, true, |
| | | INFO_KEYSTOREPATH_PLACEHOLDER.get(), |
| | | null, null, |
| | | INFO_STOPDS_DESCRIPTION_KSFILE.get()); |
| | | keyStoreFile.setPropertyName(OPTION_LONG_KEYSTOREPATH); |
| | | argParser.addArgument(keyStoreFile); |
| | | |
| | | keyStorePW = new StringArgument("keystorepw", OPTION_SHORT_KEYSTORE_PWD, |
| | | OPTION_LONG_KEYSTORE_PWD, |
| | | false, false, true, |
| | | INFO_KEYSTORE_PWD_PLACEHOLDER.get(), |
| | | null, null, |
| | | INFO_STOPDS_DESCRIPTION_KSPW.get()); |
| | | keyStorePW.setPropertyName(OPTION_LONG_KEYSTORE_PWD); |
| | | argParser.addArgument(keyStorePW); |
| | | |
| | | keyStorePWFile = new FileBasedArgument( |
| | | "keystorepwfile", |
| | | OPTION_SHORT_KEYSTORE_PWD_FILE, |
| | | OPTION_LONG_KEYSTORE_PWD_FILE, |
| | | false, false, |
| | | INFO_KEYSTORE_PWD_FILE_PLACEHOLDER.get(), |
| | | null, null, |
| | | INFO_STOPDS_DESCRIPTION_KSPWFILE.get()); |
| | | keyStorePWFile.setPropertyName(OPTION_LONG_KEYSTORE_PWD_FILE); |
| | | argParser.addArgument(keyStorePWFile); |
| | | |
| | | certNickname = new StringArgument( |
| | | "certnickname", 'N', "certNickname", |
| | | false, false, true, INFO_NICKNAME_PLACEHOLDER.get(), null, |
| | | null, INFO_DESCRIPTION_CERT_NICKNAME.get()); |
| | | certNickname.setPropertyName("certNickname"); |
| | | argParser.addArgument(certNickname); |
| | | |
| | | trustStoreFile = new StringArgument("truststorefile", |
| | | OPTION_SHORT_TRUSTSTOREPATH, |
| | | OPTION_LONG_TRUSTSTOREPATH, |
| | | false, false, true, |
| | | INFO_TRUSTSTOREPATH_PLACEHOLDER.get(), |
| | | null, null, |
| | | INFO_STOPDS_DESCRIPTION_TSFILE.get()); |
| | | trustStoreFile.setPropertyName(OPTION_LONG_TRUSTSTOREPATH); |
| | | argParser.addArgument(trustStoreFile); |
| | | |
| | | trustStorePW = new StringArgument( |
| | | "truststorepw", 'T', |
| | | OPTION_LONG_TRUSTSTORE_PWD, |
| | | false, false, |
| | | true, INFO_TRUSTSTORE_PWD_PLACEHOLDER.get(), null, |
| | | null, INFO_STOPDS_DESCRIPTION_TSPW.get()); |
| | | trustStorePW.setPropertyName(OPTION_LONG_TRUSTSTORE_PWD); |
| | | argParser.addArgument(trustStorePW); |
| | | |
| | | trustStorePWFile = new FileBasedArgument("truststorepwfile", |
| | | OPTION_SHORT_TRUSTSTORE_PWD_FILE, |
| | | OPTION_LONG_TRUSTSTORE_PWD_FILE, |
| | | false, false, |
| | | INFO_TRUSTSTORE_PWD_FILE_PLACEHOLDER.get(), |
| | | null, null, |
| | | INFO_STOPDS_DESCRIPTION_TSPWFILE.get()); |
| | | trustStorePWFile.setPropertyName(OPTION_LONG_TRUSTSTORE_PWD_FILE); |
| | | argParser.addArgument(trustStorePWFile); |
| | | keyStoreFile = |
| | | StringArgument.builder(OPTION_LONG_KEYSTOREPATH) |
| | | .shortIdentifier(OPTION_SHORT_KEYSTOREPATH) |
| | | .description(INFO_STOPDS_DESCRIPTION_KSFILE.get()) |
| | | .valuePlaceholder(INFO_KEYSTOREPATH_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | keyStorePW = |
| | | StringArgument.builder(OPTION_LONG_KEYSTORE_PWD) |
| | | .shortIdentifier(OPTION_SHORT_KEYSTORE_PWD) |
| | | .description(INFO_STOPDS_DESCRIPTION_KSPW.get()) |
| | | .valuePlaceholder(INFO_KEYSTORE_PWD_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | keyStorePWFile = |
| | | FileBasedArgument.builder(OPTION_LONG_KEYSTORE_PWD_FILE) |
| | | .shortIdentifier(OPTION_SHORT_KEYSTORE_PWD_FILE) |
| | | .description(INFO_STOPDS_DESCRIPTION_KSPWFILE.get()) |
| | | .valuePlaceholder(INFO_KEYSTORE_PWD_FILE_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | certNickname = |
| | | StringArgument.builder("certNickname") |
| | | .shortIdentifier('N') |
| | | .description(INFO_DESCRIPTION_CERT_NICKNAME.get()) |
| | | .valuePlaceholder(INFO_NICKNAME_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | trustStoreFile = |
| | | StringArgument.builder(OPTION_LONG_TRUSTSTOREPATH) |
| | | .shortIdentifier(OPTION_SHORT_TRUSTSTOREPATH) |
| | | .description(INFO_STOPDS_DESCRIPTION_TSFILE.get()) |
| | | .valuePlaceholder(INFO_TRUSTSTOREPATH_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | trustStorePW = |
| | | StringArgument.builder(OPTION_LONG_TRUSTSTORE_PWD) |
| | | .shortIdentifier('T') |
| | | .description(INFO_STOPDS_DESCRIPTION_TSPW.get()) |
| | | .valuePlaceholder(INFO_TRUSTSTORE_PWD_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | trustStorePWFile = |
| | | FileBasedArgument.builder(OPTION_LONG_TRUSTSTORE_PWD_FILE) |
| | | .shortIdentifier(OPTION_SHORT_TRUSTSTORE_PWD_FILE) |
| | | .description(INFO_STOPDS_DESCRIPTION_TSPWFILE.get()) |
| | | .valuePlaceholder(INFO_TRUSTSTORE_PWD_FILE_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | |
| | | quietMode = CommonArguments.getQuiet(); |
| | | argParser.addArgument(quietMode); |
| | |
| | | quietMode = true; |
| | | } |
| | | |
| | | BooleanArgument restart = |
| | | (BooleanArgument)argParser.getArgumentForLongID(OPTION_LONG_RESTART); |
| | | boolean restartPresent = restart.isPresent(); |
| | | BooleanArgument windowsNetStop = |
| | | (BooleanArgument)argParser.getArgumentForLongID("windowsnetstop"); |
| | | boolean windowsNetStopPresent = windowsNetStop.isPresent(); |
| | | final boolean restartPresent = argParser.getArgumentForLongID(OPTION_LONG_RESTART).isPresent(); |
| | | final boolean windowsNetStopPresent = argParser.getArgumentForLongID(OPTION_LONG_WINDOWS_NET_STOP).isPresent(); |
| | | |
| | | // Check if this is a stop through protocol. |
| | | LinkedList<Argument> list = argParser.getArgumentList(); |
| | | boolean stopThroughProtocol = false; |
| | | for (Argument arg: list) |
| | | for (final Argument arg: argParser.getArgumentList()) |
| | | { |
| | | if (!OPTION_LONG_RESTART.toLowerCase().equals(arg.getName()) && |
| | | !OPTION_LONG_QUIET.equals(arg.getName()) && |
| | | !OPTION_LONG_HELP.toLowerCase().equals(arg.getName()) && |
| | | !"checkstoppability".equals(arg.getName()) && |
| | | !"windowsnetstop".equals(arg.getName()) && |
| | | ! OPTION_LONG_NO_PROP_FILE.equals(arg.getLongIdentifier())) |
| | | if (!OPTION_LONG_RESTART.equals(arg.getLongIdentifier()) && |
| | | !OPTION_LONG_QUIET.equals(arg.getLongIdentifier()) && |
| | | !OPTION_LONG_HELP.equals(arg.getLongIdentifier()) && |
| | | !OPTION_LONG_CHECK_STOPPABILITY.equals(arg.getLongIdentifier()) && |
| | | !OPTION_LONG_WINDOWS_NET_STOP.equals(arg.getLongIdentifier()) && |
| | | !OPTION_LONG_NO_PROP_FILE.equals(arg.getLongIdentifier())) |
| | | { |
| | | stopThroughProtocol |= arg.isPresent(); |
| | | } |
| | |
| | | * |
| | | * |
| | | * Copyright 2006-2008 Sun Microsystems, Inc. |
| | | * Portions Copyright 2012-2015 ForgeRock AS. |
| | | * Portions Copyright 2012-2016 ForgeRock AS. |
| | | */ |
| | | package org.opends.server.tools; |
| | | |
| | |
| | | try |
| | | { |
| | | configClass = |
| | | new StringArgument("configclass", OPTION_SHORT_CONFIG_CLASS, |
| | | OPTION_LONG_CONFIG_CLASS, true, false, |
| | | true, INFO_CONFIGCLASS_PLACEHOLDER.get(), |
| | | ConfigFileHandler.class.getName(), null, |
| | | INFO_DESCRIPTION_CONFIG_CLASS.get()); |
| | | configClass.setHidden(true); |
| | | argParser.addArgument(configClass); |
| | | |
| | | |
| | | StringArgument.builder(OPTION_LONG_CONFIG_CLASS) |
| | | .shortIdentifier(OPTION_SHORT_CONFIG_CLASS) |
| | | .description(INFO_DESCRIPTION_CONFIG_CLASS.get()) |
| | | .hidden() |
| | | .required() |
| | | .defaultValue(ConfigFileHandler.class.getName()) |
| | | .valuePlaceholder(INFO_CONFIGCLASS_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | configFile = |
| | | new StringArgument("configfile", 'f', "configFile", true, false, |
| | | true, INFO_CONFIGFILE_PLACEHOLDER.get(), null, |
| | | null, |
| | | INFO_DESCRIPTION_CONFIG_FILE.get()); |
| | | configFile.setHidden(true); |
| | | argParser.addArgument(configFile); |
| | | |
| | | |
| | | StringArgument.builder("configFile") |
| | | .shortIdentifier('f') |
| | | .description(INFO_DESCRIPTION_CONFIG_FILE.get()) |
| | | .hidden() |
| | | .required() |
| | | .valuePlaceholder(INFO_CONFIGFILE_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | baseDNString = |
| | | new StringArgument("basedn", OPTION_SHORT_BASEDN, |
| | | OPTION_LONG_BASEDN, true, false, true, |
| | | INFO_BASEDN_PLACEHOLDER.get(), null, null, |
| | | INFO_VERIFYINDEX_DESCRIPTION_BASE_DN.get()); |
| | | argParser.addArgument(baseDNString); |
| | | |
| | | |
| | | StringArgument.builder(OPTION_LONG_BASEDN) |
| | | .shortIdentifier(OPTION_SHORT_BASEDN) |
| | | .description(INFO_VERIFYINDEX_DESCRIPTION_BASE_DN.get()) |
| | | .required() |
| | | .valuePlaceholder(INFO_BASEDN_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | indexList = |
| | | new StringArgument("index", 'i', "index", |
| | | false, true, true, |
| | | INFO_INDEX_PLACEHOLDER.get(), null, null, |
| | | INFO_VERIFYINDEX_DESCRIPTION_INDEX_NAME.get()); |
| | | argParser.addArgument(indexList); |
| | | |
| | | StringArgument.builder("index") |
| | | .shortIdentifier('i') |
| | | .description(INFO_VERIFYINDEX_DESCRIPTION_INDEX_NAME.get()) |
| | | .multiValued() |
| | | .valuePlaceholder(INFO_INDEX_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | cleanMode = |
| | | new BooleanArgument("clean", 'c', "clean", |
| | | INFO_VERIFYINDEX_DESCRIPTION_VERIFY_CLEAN.get()); |
| | | argParser.addArgument(cleanMode); |
| | | |
| | | BooleanArgument.builder("clean") |
| | | .shortIdentifier('c') |
| | | .description(INFO_VERIFYINDEX_DESCRIPTION_VERIFY_CLEAN.get()) |
| | | .buildAndAddToParser(argParser); |
| | | countErrors = |
| | | new BooleanArgument("counterrors", null, "countErrors", |
| | | INFO_VERIFYINDEX_DESCRIPTION_COUNT_ERRORS.get()); |
| | | argParser.addArgument(countErrors); |
| | | BooleanArgument.builder("countErrors") |
| | | .description(INFO_VERIFYINDEX_DESCRIPTION_COUNT_ERRORS.get()) |
| | | .buildAndAddToParser(argParser); |
| | | |
| | | displayUsage = CommonArguments.getShowUsage(); |
| | | argParser.addArgument(displayUsage); |
| | |
| | | try |
| | | { |
| | | targetFilePath = |
| | | new StringArgument("targetfile", 'f', "targetFile", true, false, |
| | | true, INFO_PATH_PLACEHOLDER.get(), null, null, |
| | | INFO_WAIT4DEL_DESCRIPTION_TARGET_FILE.get()); |
| | | argParser.addArgument(targetFilePath); |
| | | StringArgument.builder("targetFile") |
| | | .shortIdentifier('f') |
| | | .description(INFO_WAIT4DEL_DESCRIPTION_TARGET_FILE.get()) |
| | | .required() |
| | | .valuePlaceholder(INFO_PATH_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | logFilePath = |
| | | StringArgument.builder("logFile") |
| | | .shortIdentifier('l') |
| | | .description(INFO_WAIT4DEL_DESCRIPTION_LOG_FILE.get()) |
| | | .valuePlaceholder(INFO_PATH_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | outputFilePath = |
| | | StringArgument.builder("outputFile") |
| | | .shortIdentifier('o') |
| | | .description(INFO_WAIT4DEL_DESCRIPTION_OUTPUT_FILE.get()) |
| | | .valuePlaceholder(INFO_PATH_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | timeout = |
| | | IntegerArgument.builder("timeout") |
| | | .shortIdentifier('t') |
| | | .description(INFO_WAIT4DEL_DESCRIPTION_TIMEOUT.get()) |
| | | .required() |
| | | .lowerBound(0) |
| | | .defaultValue(DirectoryServer.DEFAULT_TIMEOUT) |
| | | .valuePlaceholder(INFO_SECONDS_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | |
| | | |
| | | logFilePath = new StringArgument( |
| | | "logfile", 'l', "logFile", false, false, |
| | | true, INFO_PATH_PLACEHOLDER.get(), null, null, |
| | | INFO_WAIT4DEL_DESCRIPTION_LOG_FILE.get()); |
| | | argParser.addArgument(logFilePath); |
| | | |
| | | |
| | | outputFilePath = new StringArgument( |
| | | "outputfile", 'o', "outputFile", |
| | | false, false, |
| | | true, INFO_PATH_PLACEHOLDER.get(), null, null, |
| | | INFO_WAIT4DEL_DESCRIPTION_OUTPUT_FILE.get()); |
| | | argParser.addArgument(outputFilePath); |
| | | |
| | | |
| | | timeout = new IntegerArgument("timeout", 't', "timeout", true, false, |
| | | true, INFO_SECONDS_PLACEHOLDER.get(), |
| | | DirectoryServer.DEFAULT_TIMEOUT, |
| | | null, true, 0, false, |
| | | 0, INFO_WAIT4DEL_DESCRIPTION_TIMEOUT.get()); |
| | | argParser.addArgument(timeout); |
| | | |
| | | |
| | | // Not used in this class, but required by the start-ds script |
| | | // (see issue #3814) |
| | | useLastKnownGoodConfig = |
| | | new BooleanArgument("lastknowngoodconfig", 'L', |
| | | "useLastKnownGoodConfig", |
| | | INFO_DSCORE_DESCRIPTION_LASTKNOWNGOODCFG.get()); |
| | | argParser.addArgument(useLastKnownGoodConfig); |
| | | // Not used in this class, but required by the start-ds script (see issue #3814) |
| | | BooleanArgument.builder("useLastKnownGoodConfig") |
| | | .shortIdentifier('L') |
| | | .description(INFO_DSCORE_DESCRIPTION_LASTKNOWNGOODCFG.get()) |
| | | .buildAndAddToParser(argParser); |
| | | |
| | | // Not used in this class, but required by the start-ds script (see issue #3814) |
| | | quietMode = CommonArguments.getQuiet(); |
| | |
| | | package org.opends.server.tools.dsreplication; |
| | | |
| | | import static com.forgerock.opendj.cli.ArgumentConstants.*; |
| | | import static com.forgerock.opendj.cli.CliMessages.INFO_BINDPWD_FILE_PLACEHOLDER; |
| | | import static com.forgerock.opendj.cli.CliMessages.INFO_PORT_PLACEHOLDER; |
| | | import static com.forgerock.opendj.cli.Utils.*; |
| | | |
| | | import static org.opends.messages.AdminToolMessages.*; |
| | |
| | | /** the 'change-number' argument for task reset-changenumber. */ |
| | | IntegerArgument resetChangeNumber; |
| | | |
| | | /** The "adminUid" non hidden argument */ |
| | | StringArgument adminUidArg; |
| | | |
| | | /** The text of the enable replication subcommand. */ |
| | | static final String ENABLE_REPLICATION_SUBCMD_NAME = "enable"; |
| | | /** The text of the disable replication subcommand. */ |
| | |
| | | |
| | | int index = 0; |
| | | |
| | | baseDNsArg = new StringArgument("baseDNs", OPTION_SHORT_BASEDN, |
| | | OPTION_LONG_BASEDN, false, true, true, INFO_BASEDN_PLACEHOLDER.get(), |
| | | null, |
| | | null, INFO_DESCRIPTION_REPLICATION_BASEDNS.get()); |
| | | baseDNsArg.setPropertyName(OPTION_LONG_BASEDN); |
| | | baseDNsArg = |
| | | StringArgument.builder(OPTION_LONG_BASEDN) |
| | | .shortIdentifier(OPTION_SHORT_BASEDN) |
| | | .description(INFO_DESCRIPTION_REPLICATION_BASEDNS.get()) |
| | | .multiValued() |
| | | .valuePlaceholder(INFO_BASEDN_PLACEHOLDER.get()) |
| | | .buildArgument(); |
| | | defaultArgs.add(index++, baseDNsArg); |
| | | |
| | | secureArgsList.adminUidArg = new StringArgument("adminUID", 'I', |
| | | OPTION_LONG_ADMIN_UID, false, false, true, |
| | | INFO_ADMINUID_PLACEHOLDER.get(), |
| | | Constants.GLOBAL_ADMIN_UID, null, |
| | | INFO_DESCRIPTION_REPLICATION_ADMIN_UID.get( |
| | | ENABLE_REPLICATION_SUBCMD_NAME)); |
| | | getAdminUidArg().setPropertyName(OPTION_LONG_ADMIN_UID); |
| | | getAdminUidArg().setHidden(false); |
| | | defaultArgs.add(index++, getAdminUidArg()); |
| | | adminUidArg = CommonArguments.getAdminUid( |
| | | INFO_DESCRIPTION_REPLICATION_ADMIN_UID.get(ENABLE_REPLICATION_SUBCMD_NAME)); |
| | | defaultArgs.add(index++, adminUidArg); |
| | | |
| | | secureArgsList.bindPasswordArg = new StringArgument( |
| | | OPTION_LONG_ADMIN_PWD.toLowerCase(), |
| | | OPTION_SHORT_BINDPWD, OPTION_LONG_ADMIN_PWD, false, false, true, |
| | | INFO_BINDPWD_PLACEHOLDER.get(), null, null, |
| | | INFO_DESCRIPTION_REPLICATION_ADMIN_BINDPASSWORD.get()); |
| | | secureArgsList.bindPasswordArg = |
| | | StringArgument.builder(OPTION_LONG_ADMIN_PWD) |
| | | .shortIdentifier(OPTION_SHORT_BINDPWD) |
| | | .description(INFO_DESCRIPTION_REPLICATION_ADMIN_BINDPASSWORD.get()) |
| | | .valuePlaceholder(INFO_BINDPWD_PLACEHOLDER.get()) |
| | | .buildArgument(); |
| | | defaultArgs.add(index++, secureArgsList.bindPasswordArg); |
| | | |
| | | secureArgsList.bindPasswordFileArg = new FileBasedArgument( |
| | | OPTION_LONG_ADMIN_PWD_FILE.toLowerCase(), |
| | | OPTION_SHORT_BINDPWD_FILE, OPTION_LONG_ADMIN_PWD_FILE, false, false, |
| | | INFO_BINDPWD_FILE_PLACEHOLDER.get(), null, null, |
| | | INFO_DESCRIPTION_REPLICATION_ADMIN_BINDPASSWORDFILE.get()); |
| | | secureArgsList.bindPasswordFileArg = |
| | | FileBasedArgument.builder(OPTION_LONG_ADMIN_PWD_FILE) |
| | | .shortIdentifier(OPTION_SHORT_BINDPWD_FILE) |
| | | .description(INFO_DESCRIPTION_REPLICATION_ADMIN_BINDPASSWORDFILE.get()) |
| | | .valuePlaceholder(INFO_BINDPWD_FILE_PLACEHOLDER.get()) |
| | | .buildArgument(); |
| | | defaultArgs.add(index++, secureArgsList.bindPasswordFileArg); |
| | | |
| | | defaultArgs.remove(verboseArg); |
| | |
| | | configFileArg = CommonArguments.getConfigFile(); |
| | | defaultArgs.add(index++, configFileArg); |
| | | |
| | | for (int i=0; i<index; i++) |
| | | { |
| | | Argument arg = defaultArgs.get(i); |
| | | arg.setPropertyName(arg.getLongIdentifier()); |
| | | } |
| | | |
| | | this.propertiesFileArgument = CommonArguments.getPropertiesFile(); |
| | | defaultArgs.add(this.propertiesFileArgument); |
| | | setFilePropertiesArgument(this.propertiesFileArgument); |
| | |
| | | createServerArgs1(); |
| | | createServerArgs2(); |
| | | |
| | | skipPortCheckArg = new BooleanArgument( |
| | | "skipportcheck", 'S', "skipPortCheck", |
| | | INFO_DESCRIPTION_ENABLE_REPLICATION_SKIPPORT.get()); |
| | | |
| | | noSchemaReplicationArg = new BooleanArgument( |
| | | "noschemareplication", null, "noSchemaReplication", |
| | | INFO_DESCRIPTION_ENABLE_REPLICATION_NO_SCHEMA_REPLICATION.get()); |
| | | |
| | | useSecondServerAsSchemaSourceArg = new BooleanArgument( |
| | | "usesecondserverasschemasource", null, "useSecondServerAsSchemaSource", |
| | | INFO_DESCRIPTION_ENABLE_REPLICATION_USE_SECOND_AS_SCHEMA_SOURCE.get( |
| | | "--"+noSchemaReplicationArg.getLongIdentifier())); |
| | | skipPortCheckArg = |
| | | BooleanArgument.builder("skipPortCheck") |
| | | .shortIdentifier('S') |
| | | .description(INFO_DESCRIPTION_ENABLE_REPLICATION_SKIPPORT.get()) |
| | | .buildArgument(); |
| | | noSchemaReplicationArg = |
| | | BooleanArgument.builder("noSchemaReplication") |
| | | .description(INFO_DESCRIPTION_ENABLE_REPLICATION_NO_SCHEMA_REPLICATION.get()) |
| | | .buildArgument(); |
| | | useSecondServerAsSchemaSourceArg = |
| | | BooleanArgument.builder("useSecondServerAsSchemaSource") |
| | | .description(INFO_DESCRIPTION_ENABLE_REPLICATION_USE_SECOND_AS_SCHEMA_SOURCE.get( |
| | | "--" + noSchemaReplicationArg.getLongIdentifier())) |
| | | .buildArgument(); |
| | | |
| | | enableReplicationSubCmd = new SubCommand(this, |
| | | ENABLE_REPLICATION_SUBCMD_NAME, |
| | | INFO_DESCRIPTION_SUBCMD_ENABLE_REPLICATION.get()); |
| | | |
| | | Argument[] argsToAdd = { |
| | | server1.hostNameArg, server1.portArg, server1.bindDnArg, server1.bindPasswordArg, |
| | | server1.bindPasswordFileArg, server1.replicationPortArg, server1.secureReplicationArg, |
| | | server1.noReplicationServerArg, server1.onlyReplicationServerArg, |
| | | server2.hostNameArg, server2.portArg, server2.bindDnArg, server2.bindPasswordArg, |
| | | server2.bindPasswordFileArg, server2.replicationPortArg, server2.secureReplicationArg, |
| | | server2.noReplicationServerArg, server2.onlyReplicationServerArg, |
| | | skipPortCheckArg, noSchemaReplicationArg, useSecondServerAsSchemaSourceArg |
| | | }; |
| | | for (Argument arg : argsToAdd) |
| | | { |
| | | arg.setPropertyName(arg.getLongIdentifier()); |
| | | enableReplicationSubCmd.addArgument(arg); |
| | | } |
| | | addArgumentsToSubCommand(enableReplicationSubCmd, |
| | | server1.hostNameArg, server1.portArg, server1.bindDnArg, server1.bindPasswordArg, |
| | | server1.bindPasswordFileArg, server1.replicationPortArg, server1.secureReplicationArg, |
| | | server1.noReplicationServerArg, server1.onlyReplicationServerArg, |
| | | server2.hostNameArg, server2.portArg, server2.bindDnArg, server2.bindPasswordArg, |
| | | server2.bindPasswordFileArg, server2.replicationPortArg, server2.secureReplicationArg, |
| | | server2.noReplicationServerArg, server2.onlyReplicationServerArg, |
| | | skipPortCheckArg, noSchemaReplicationArg, useSecondServerAsSchemaSourceArg); |
| | | } |
| | | |
| | | private void createServerArgs1() throws ArgumentException |
| | | { |
| | | ServerArgs server = server1; |
| | | server.hostNameArg = new StringArgument("host1", OPTION_SHORT_HOST, |
| | | "host1", false, false, true, INFO_HOST_PLACEHOLDER.get(), |
| | | getDefaultHostValue(), |
| | | null, INFO_DESCRIPTION_ENABLE_REPLICATION_HOST1.get()); |
| | | |
| | | server.portArg = new IntegerArgument("port1", OPTION_SHORT_PORT, "port1", |
| | | false, false, true, INFO_PORT_PLACEHOLDER.get(), |
| | | defaultAdminPort, null, |
| | | true, 1, |
| | | true, 65336, |
| | | INFO_DESCRIPTION_ENABLE_REPLICATION_SERVER_PORT1.get()); |
| | | |
| | | server.bindDnArg = new StringArgument("bindDN1", OPTION_SHORT_BINDDN, |
| | | "bindDN1", false, false, true, INFO_BINDDN_PLACEHOLDER.get(), |
| | | "cn=Directory Manager", null, |
| | | INFO_DESCRIPTION_ENABLE_REPLICATION_BINDDN1.get()); |
| | | |
| | | server.bindPasswordArg = new StringArgument("bindPassword1", |
| | | null, "bindPassword1", false, false, true, |
| | | INFO_BINDPWD_PLACEHOLDER.get(), null, null, |
| | | INFO_DESCRIPTION_ENABLE_REPLICATION_BINDPASSWORD1.get()); |
| | | |
| | | server.bindPasswordFileArg = new FileBasedArgument("bindPasswordFile1", |
| | | null, "bindPasswordFile1", false, false, |
| | | INFO_BINDPWD_FILE_PLACEHOLDER.get(), null, null, |
| | | INFO_DESCRIPTION_ENABLE_REPLICATION_BINDPASSWORDFILE1.get()); |
| | | |
| | | server.replicationPortArg = new IntegerArgument("replicationPort1", 'r', |
| | | "replicationPort1", false, false, true, INFO_PORT_PLACEHOLDER.get(), |
| | | 8989, null, |
| | | true, 1, |
| | | true, 65336, |
| | | INFO_DESCRIPTION_ENABLE_REPLICATION_PORT1.get()); |
| | | |
| | | server.secureReplicationArg = new BooleanArgument("secureReplication1", null, |
| | | "secureReplication1", |
| | | INFO_DESCRIPTION_ENABLE_SECURE_REPLICATION1.get()); |
| | | |
| | | server.noReplicationServerArg = new BooleanArgument( |
| | | "noreplicationserver1", null, "noReplicationServer1", |
| | | INFO_DESCRIPTION_ENABLE_REPLICATION_NO_REPLICATION_SERVER1.get()); |
| | | |
| | | server.onlyReplicationServerArg = new BooleanArgument( |
| | | "onlyreplicationserver1", null, "onlyReplicationServer1", |
| | | INFO_DESCRIPTION_ENABLE_REPLICATION_ONLY_REPLICATION_SERVER1.get()); |
| | | server.hostNameArg = |
| | | StringArgument.builder("host1") |
| | | .shortIdentifier(OPTION_SHORT_HOST) |
| | | .description(INFO_DESCRIPTION_ENABLE_REPLICATION_HOST1.get()) |
| | | .defaultValue(secureArgsList.getDefaultHostName()) |
| | | .valuePlaceholder(INFO_HOST_PLACEHOLDER.get()) |
| | | .buildArgument(); |
| | | server.portArg = |
| | | IntegerArgument.builder("port1") |
| | | .shortIdentifier(OPTION_SHORT_PORT) |
| | | .description(INFO_DESCRIPTION_ENABLE_REPLICATION_SERVER_PORT1.get()) |
| | | .range(1, 65336) |
| | | .defaultValue(defaultAdminPort) |
| | | .valuePlaceholder(INFO_PORT_PLACEHOLDER.get()) |
| | | .buildArgument(); |
| | | server.bindDnArg = |
| | | StringArgument.builder("bindDN1") |
| | | .shortIdentifier(OPTION_SHORT_BINDDN) |
| | | .description(INFO_DESCRIPTION_ENABLE_REPLICATION_BINDDN1.get()) |
| | | .defaultValue("cn=Directory Manager") |
| | | .valuePlaceholder(INFO_BINDDN_PLACEHOLDER.get()) |
| | | .buildArgument(); |
| | | server.bindPasswordArg = |
| | | StringArgument.builder("bindPassword1") |
| | | .description(INFO_DESCRIPTION_ENABLE_REPLICATION_BINDPASSWORD1.get()) |
| | | .valuePlaceholder(INFO_BINDPWD_PLACEHOLDER.get()) |
| | | .buildArgument(); |
| | | server.bindPasswordFileArg = |
| | | FileBasedArgument.builder("bindPasswordFile1") |
| | | .description(INFO_DESCRIPTION_ENABLE_REPLICATION_BINDPASSWORDFILE1.get()) |
| | | .valuePlaceholder(INFO_BINDPWD_FILE_PLACEHOLDER.get()) |
| | | .buildArgument(); |
| | | server.replicationPortArg = |
| | | IntegerArgument.builder("replicationPort1") |
| | | .shortIdentifier('r') |
| | | .description(INFO_DESCRIPTION_ENABLE_REPLICATION_PORT1.get()) |
| | | .range(1, 65336) |
| | | .defaultValue(8989) |
| | | .valuePlaceholder(INFO_PORT_PLACEHOLDER.get()) |
| | | .buildArgument(); |
| | | server.secureReplicationArg = |
| | | BooleanArgument.builder("secureReplication1") |
| | | .description(INFO_DESCRIPTION_ENABLE_SECURE_REPLICATION1.get()) |
| | | .buildArgument(); |
| | | server.noReplicationServerArg = |
| | | BooleanArgument.builder("noReplicationServer1") |
| | | .description(INFO_DESCRIPTION_ENABLE_REPLICATION_NO_REPLICATION_SERVER1.get()) |
| | | .buildArgument(); |
| | | server.onlyReplicationServerArg = |
| | | BooleanArgument.builder("onlyReplicationServer1") |
| | | .description(INFO_DESCRIPTION_ENABLE_REPLICATION_ONLY_REPLICATION_SERVER1.get()) |
| | | .buildArgument(); |
| | | } |
| | | |
| | | private void createServerArgs2() throws ArgumentException |
| | | { |
| | | ServerArgs server = server2; |
| | | server.hostNameArg = new StringArgument("host2", 'O', |
| | | "host2", false, false, true, INFO_HOST_PLACEHOLDER.get(), |
| | | getDefaultHostValue(), |
| | | null, INFO_DESCRIPTION_ENABLE_REPLICATION_HOST2.get()); |
| | | |
| | | server.portArg = new IntegerArgument("port2", null, "port2", |
| | | false, false, true, INFO_PORT_PLACEHOLDER.get(), defaultAdminPort, null, |
| | | true, 1, |
| | | true, 65336, |
| | | INFO_DESCRIPTION_ENABLE_REPLICATION_SERVER_PORT2.get()); |
| | | |
| | | server.bindDnArg = new StringArgument("bindDN2", null, |
| | | "bindDN2", false, false, true, INFO_BINDDN_PLACEHOLDER.get(), |
| | | "cn=Directory Manager", null, |
| | | INFO_DESCRIPTION_ENABLE_REPLICATION_BINDDN2.get()); |
| | | |
| | | server.bindPasswordArg = new StringArgument("bindPassword2", |
| | | null, "bindPassword2", false, false, true, |
| | | INFO_BINDPWD_PLACEHOLDER.get(), null, null, |
| | | INFO_DESCRIPTION_ENABLE_REPLICATION_BINDPASSWORD2.get()); |
| | | |
| | | server.bindPasswordFileArg = new FileBasedArgument("bindPasswordFile2", |
| | | 'F', "bindPasswordFile2", false, false, |
| | | INFO_BINDPWD_FILE_PLACEHOLDER.get(), null, null, |
| | | INFO_DESCRIPTION_ENABLE_REPLICATION_BINDPASSWORDFILE2.get()); |
| | | |
| | | server.replicationPortArg = new IntegerArgument("replicationPort2", 'R', |
| | | "replicationPort2", false, false, true, INFO_PORT_PLACEHOLDER.get(), |
| | | 8989, null, |
| | | true, 1, |
| | | true, 65336, |
| | | INFO_DESCRIPTION_ENABLE_REPLICATION_PORT2.get()); |
| | | |
| | | server.secureReplicationArg = new BooleanArgument("secureReplication2", null, |
| | | "secureReplication2", |
| | | INFO_DESCRIPTION_ENABLE_SECURE_REPLICATION2.get()); |
| | | |
| | | server.noReplicationServerArg = new BooleanArgument( |
| | | "noreplicationserver2", null, "noReplicationServer2", |
| | | INFO_DESCRIPTION_ENABLE_REPLICATION_NO_REPLICATION_SERVER2.get()); |
| | | |
| | | server.onlyReplicationServerArg = new BooleanArgument( |
| | | "onlyreplicationserver2", null, "onlyReplicationServer2", |
| | | INFO_DESCRIPTION_ENABLE_REPLICATION_ONLY_REPLICATION_SERVER2.get()); |
| | | server.hostNameArg = |
| | | StringArgument.builder("host2") |
| | | .shortIdentifier('O') |
| | | .description(INFO_DESCRIPTION_ENABLE_REPLICATION_HOST2.get()) |
| | | .defaultValue(secureArgsList.getDefaultHostName()) |
| | | .valuePlaceholder(INFO_HOST_PLACEHOLDER.get()) |
| | | .buildArgument(); |
| | | server.portArg = |
| | | IntegerArgument.builder("port2") |
| | | .description(INFO_DESCRIPTION_ENABLE_REPLICATION_SERVER_PORT2.get()) |
| | | .range(1, 65336) |
| | | .defaultValue(defaultAdminPort) |
| | | .valuePlaceholder(INFO_PORT_PLACEHOLDER.get()) |
| | | .buildArgument(); |
| | | server.bindDnArg = |
| | | StringArgument.builder("bindDN2") |
| | | .description(INFO_DESCRIPTION_ENABLE_REPLICATION_BINDDN2.get()) |
| | | .defaultValue("cn=Directory Manager") |
| | | .valuePlaceholder(INFO_BINDDN_PLACEHOLDER.get()) |
| | | .buildArgument(); |
| | | server.bindPasswordArg = |
| | | StringArgument.builder("bindPassword2") |
| | | .description(INFO_DESCRIPTION_ENABLE_REPLICATION_BINDPASSWORD2.get()) |
| | | .valuePlaceholder(INFO_BINDPWD_PLACEHOLDER.get()) |
| | | .buildArgument(); |
| | | server.bindPasswordFileArg = |
| | | FileBasedArgument.builder("bindPasswordFile2") |
| | | .shortIdentifier('F') |
| | | .description(INFO_DESCRIPTION_ENABLE_REPLICATION_BINDPASSWORDFILE2.get()) |
| | | .valuePlaceholder(INFO_BINDPWD_FILE_PLACEHOLDER.get()) |
| | | .buildArgument(); |
| | | server.replicationPortArg = |
| | | IntegerArgument.builder("replicationPort2") |
| | | .shortIdentifier('R') |
| | | .description(INFO_DESCRIPTION_ENABLE_REPLICATION_PORT2.get()) |
| | | .range(1, 65336) |
| | | .defaultValue(8989) |
| | | .valuePlaceholder(INFO_PORT_PLACEHOLDER.get()) |
| | | .buildArgument(); |
| | | server.secureReplicationArg = |
| | | BooleanArgument.builder("secureReplication2") |
| | | .description(INFO_DESCRIPTION_ENABLE_SECURE_REPLICATION2.get()) |
| | | .buildArgument(); |
| | | server.noReplicationServerArg = |
| | | BooleanArgument.builder("noReplicationServer2") |
| | | .description(INFO_DESCRIPTION_ENABLE_REPLICATION_NO_REPLICATION_SERVER2.get()) |
| | | .buildArgument(); |
| | | server.onlyReplicationServerArg = |
| | | BooleanArgument.builder("onlyReplicationServer2") |
| | | .description(INFO_DESCRIPTION_ENABLE_REPLICATION_ONLY_REPLICATION_SERVER2.get()) |
| | | .buildArgument(); |
| | | } |
| | | |
| | | /** |
| | |
| | | disableReplicationSubCmd = new SubCommand(this, |
| | | DISABLE_REPLICATION_SUBCMD_NAME, |
| | | INFO_DESCRIPTION_SUBCMD_DISABLE_REPLICATION.get()); |
| | | secureArgsList.hostNameArg.setDefaultValue(getDefaultHostValue()); |
| | | secureArgsList.bindDnArg = new StringArgument("bindDN", OPTION_SHORT_BINDDN, |
| | | OPTION_LONG_BINDDN, false, false, true, INFO_BINDDN_PLACEHOLDER.get(), |
| | | "cn=Directory Manager", OPTION_LONG_BINDDN, |
| | | INFO_DESCRIPTION_DISABLE_REPLICATION_BINDDN.get()); |
| | | disableReplicationServerArg = new BooleanArgument( |
| | | "disablereplicationserver", null, "disableReplicationServer", |
| | | INFO_DESCRIPTION_DISABLE_REPLICATION_SERVER.get()); |
| | | disableAllArg = new BooleanArgument( |
| | | "disableall", 'a', "disableAll", |
| | | INFO_DESCRIPTION_DISABLE_ALL.get()); |
| | | |
| | | secureArgsList.bindDnArg = |
| | | StringArgument.builder(OPTION_LONG_BINDDN) |
| | | .shortIdentifier(OPTION_SHORT_BINDDN) |
| | | .description(INFO_DESCRIPTION_DISABLE_REPLICATION_BINDDN.get()) |
| | | .defaultValue("cn=Directory Manager") |
| | | .valuePlaceholder(INFO_BINDDN_PLACEHOLDER.get()) |
| | | .buildArgument(); |
| | | disableReplicationServerArg = |
| | | BooleanArgument.builder("disableReplicationServer") |
| | | .shortIdentifier('a') |
| | | .description(INFO_DESCRIPTION_DISABLE_REPLICATION_SERVER.get()) |
| | | .buildArgument(); |
| | | disableAllArg = |
| | | BooleanArgument.builder("disableAll") |
| | | .description(INFO_DESCRIPTION_DISABLE_ALL.get()) |
| | | .buildArgument(); |
| | | |
| | | Argument[] argsToAdd = { secureArgsList.hostNameArg, |
| | | secureArgsList.portArg, secureArgsList.bindDnArg, |
| | |
| | | { |
| | | initializeReplicationSubCmd = new SubCommand(this, INITIALIZE_REPLICATION_SUBCMD_NAME, |
| | | INFO_DESCRIPTION_SUBCMD_INITIALIZE_REPLICATION.get(INITIALIZE_ALL_REPLICATION_SUBCMD_NAME)); |
| | | |
| | | Argument[] argsToAdd = { |
| | | hostNameSourceArg, portSourceArg, hostNameDestinationArg, portDestinationArg |
| | | }; |
| | | setSubCommandArguments(initializeReplicationSubCmd, argsToAdd); |
| | | addArgumentsToSubCommand(initializeReplicationSubCmd, |
| | | hostNameSourceArg, portSourceArg, hostNameDestinationArg, portDestinationArg); |
| | | } |
| | | |
| | | private void createRelatedServersOptions() throws ArgumentException |
| | | { |
| | | hostNameSourceArg = new StringArgument("hostSource", OPTION_SHORT_HOST, |
| | | "hostSource", false, false, true, INFO_HOST_PLACEHOLDER.get(), |
| | | getDefaultHostValue(), null, |
| | | INFO_DESCRIPTION_INITIALIZE_REPLICATION_HOST_SOURCE.get()); |
| | | |
| | | portSourceArg = new IntegerArgument("portSource", OPTION_SHORT_PORT, |
| | | "portSource", false, false, true, INFO_PORT_PLACEHOLDER.get(), |
| | | defaultAdminPort, null, |
| | | true, 1, |
| | | true, 65336, |
| | | INFO_DESCRIPTION_INITIALIZE_REPLICATION_SERVER_PORT_SOURCE.get()); |
| | | |
| | | hostNameDestinationArg = new StringArgument("hostDestination", 'O', |
| | | "hostDestination", false, false, true, INFO_HOST_PLACEHOLDER.get(), |
| | | getDefaultHostValue(), null, |
| | | INFO_DESCRIPTION_INITIALIZE_REPLICATION_HOST_DESTINATION.get()); |
| | | |
| | | portDestinationArg = new IntegerArgument("portDestination", null, |
| | | "portDestination", false, false, true, INFO_PORT_PLACEHOLDER.get(), |
| | | defaultAdminPort, |
| | | null, |
| | | true, 1, |
| | | true, 65336, |
| | | INFO_DESCRIPTION_INITIALIZE_REPLICATION_SERVER_PORT_DESTINATION.get()); |
| | | final String defaultHostName = secureArgsList.getDefaultHostName(); |
| | | hostNameSourceArg = |
| | | StringArgument.builder("hostSource") |
| | | .shortIdentifier(OPTION_SHORT_HOST) |
| | | .description(INFO_DESCRIPTION_INITIALIZE_REPLICATION_HOST_SOURCE.get()) |
| | | .defaultValue(defaultHostName) |
| | | .valuePlaceholder(INFO_HOST_PLACEHOLDER.get()) |
| | | .buildArgument(); |
| | | portSourceArg = |
| | | IntegerArgument.builder("portSource") |
| | | .shortIdentifier(OPTION_SHORT_PORT) |
| | | .description(INFO_DESCRIPTION_INITIALIZE_REPLICATION_SERVER_PORT_SOURCE.get()) |
| | | .range(1, 65336) |
| | | .defaultValue(defaultAdminPort) |
| | | .valuePlaceholder(INFO_PORT_PLACEHOLDER.get()) |
| | | .buildArgument(); |
| | | hostNameDestinationArg = |
| | | StringArgument.builder("hostDestination") |
| | | .shortIdentifier('O') |
| | | .description(INFO_DESCRIPTION_INITIALIZE_REPLICATION_HOST_DESTINATION.get()) |
| | | .defaultValue(defaultHostName) |
| | | .valuePlaceholder(INFO_HOST_PLACEHOLDER.get()) |
| | | .buildArgument(); |
| | | portDestinationArg = |
| | | IntegerArgument.builder("portDestination") |
| | | .description(INFO_DESCRIPTION_INITIALIZE_REPLICATION_SERVER_PORT_DESTINATION.get()) |
| | | .range(1, 65336) |
| | | .defaultValue(defaultAdminPort) |
| | | .valuePlaceholder(INFO_PORT_PLACEHOLDER.get()) |
| | | .buildArgument(); |
| | | } |
| | | |
| | | /** |
| | |
| | | INITIALIZE_ALL_REPLICATION_SUBCMD_NAME, |
| | | INFO_DESCRIPTION_SUBCMD_INITIALIZE_ALL_REPLICATION.get( |
| | | INITIALIZE_REPLICATION_SUBCMD_NAME)); |
| | | secureArgsList.hostNameArg.setDefaultValue(getDefaultHostValue()); |
| | | Argument[] argsToAdd = { secureArgsList.hostNameArg, |
| | | secureArgsList.portArg }; |
| | | for (Argument arg : argsToAdd) |
| | |
| | | PRE_EXTERNAL_INITIALIZATION_SUBCMD_NAME, |
| | | INFO_DESCRIPTION_SUBCMD_PRE_EXTERNAL_INITIALIZATION.get( |
| | | POST_EXTERNAL_INITIALIZATION_SUBCMD_NAME)); |
| | | secureArgsList.hostNameArg.setDefaultValue(getDefaultHostValue()); |
| | | BooleanArgument externalInitializationLocalOnlyArg = new BooleanArgument( |
| | | "local-only", |
| | | 'l', |
| | | "local-only", |
| | | LocalizableMessage.EMPTY); |
| | | externalInitializationLocalOnlyArg.setHidden(true); |
| | | BooleanArgument externalInitializationLocalOnlyArg = |
| | | BooleanArgument.builder("local-only") |
| | | .shortIdentifier('l') |
| | | .description(LocalizableMessage.EMPTY) |
| | | .hidden() |
| | | .buildArgument(); |
| | | |
| | | Argument[] argsToAdd = { secureArgsList.hostNameArg, |
| | | secureArgsList.portArg, |
| | |
| | | POST_EXTERNAL_INITIALIZATION_SUBCMD_NAME, |
| | | INFO_DESCRIPTION_SUBCMD_POST_EXTERNAL_INITIALIZATION.get( |
| | | PRE_EXTERNAL_INITIALIZATION_SUBCMD_NAME)); |
| | | secureArgsList.hostNameArg.setDefaultValue(getDefaultHostValue()); |
| | | Argument[] argsToAdd = { secureArgsList.hostNameArg, |
| | | secureArgsList.portArg }; |
| | | for (Argument arg : argsToAdd) |
| | |
| | | { |
| | | resetChangelogNumber = new SubCommand(this, RESET_CHANGE_NUMBER_SUBCMD_NAME, |
| | | INFO_DESCRIPTION_RESET_CHANGE_NUMBER.get()); |
| | | |
| | | resetChangeNumber = newChangeNumberArgument(); |
| | | Argument[] argsToAdd = { |
| | | hostNameSourceArg, portSourceArg, hostNameDestinationArg, portDestinationArg, resetChangeNumber |
| | | }; |
| | | setSubCommandArguments(resetChangelogNumber, argsToAdd); |
| | | } |
| | | |
| | | private void setSubCommandArguments(SubCommand subCommand, Argument[] argsToAdd) throws ArgumentException |
| | | { |
| | | for (Argument arg : argsToAdd) |
| | | { |
| | | arg.setPropertyName(arg.getLongIdentifier()); |
| | | subCommand.addArgument(arg); |
| | | } |
| | | addArgumentsToSubCommand(resetChangelogNumber, |
| | | hostNameSourceArg, portSourceArg, hostNameDestinationArg, portDestinationArg, resetChangeNumber); |
| | | } |
| | | |
| | | IntegerArgument newChangeNumberArgument() throws ArgumentException |
| | | { |
| | | return new IntegerArgument("change-number", null, "change-number", |
| | | false, true, INFO_CHANGE_NUMBER_PLACEHOLDER.get(), INFO_DESCRIPTION_START_CHANGE_NUMBER.get()); |
| | | return IntegerArgument.builder("change-number") |
| | | .description(INFO_DESCRIPTION_START_CHANGE_NUMBER.get()) |
| | | .valuePlaceholder(INFO_CHANGE_NUMBER_PLACEHOLDER.get()) |
| | | .buildArgument(); |
| | | } |
| | | |
| | | /** |
| | |
| | | statusReplicationSubCmd = new SubCommand(this, |
| | | STATUS_REPLICATION_SUBCMD_NAME, |
| | | INFO_DESCRIPTION_SUBCMD_STATUS_REPLICATION.get()); |
| | | scriptFriendlyArg = new BooleanArgument( |
| | | "script-friendly", |
| | | 's', |
| | | "script-friendly", |
| | | INFO_DESCRIPTION_SCRIPT_FRIENDLY.get()); |
| | | scriptFriendlyArg.setPropertyName(scriptFriendlyArg.getLongIdentifier()); |
| | | secureArgsList.hostNameArg.setDefaultValue(getDefaultHostValue()); |
| | | Argument[] argsToAdd = { secureArgsList.hostNameArg, |
| | | secureArgsList.portArg, scriptFriendlyArg }; |
| | | for (Argument arg : argsToAdd) |
| | | { |
| | | statusReplicationSubCmd.addArgument(arg); |
| | | } |
| | | scriptFriendlyArg = |
| | | BooleanArgument.builder("script-friendly") |
| | | .shortIdentifier('s') |
| | | .description(INFO_DESCRIPTION_SCRIPT_FRIENDLY.get()) |
| | | .buildArgument(); |
| | | addArgumentsToSubCommand( |
| | | statusReplicationSubCmd, secureArgsList.hostNameArg, secureArgsList.portArg, scriptFriendlyArg); |
| | | } |
| | | |
| | | /** |
| | |
| | | * initializeGlobalArguments has already been called and that hostNameArg and |
| | | * portArg have been created. |
| | | */ |
| | | private void createPurgeHistoricalSubCommand() |
| | | throws ArgumentException |
| | | private void createPurgeHistoricalSubCommand() throws ArgumentException |
| | | { |
| | | maximumDurationArg = new IntegerArgument( |
| | | "maximumDuration", |
| | | null, // shortId |
| | | "maximumDuration", |
| | | true, // isRequired |
| | | false, // isMultivalued |
| | | true, // needsValue |
| | | INFO_MAXIMUM_DURATION_PLACEHOLDER.get(), |
| | | PurgeConflictsHistoricalTask.DEFAULT_MAX_DURATION, |
| | | null, |
| | | true, 0, |
| | | false, Integer.MAX_VALUE, |
| | | INFO_DESCRIPTION_PURGE_HISTORICAL_MAXIMUM_DURATION.get()); |
| | | maximumDurationArg = |
| | | IntegerArgument.builder("maximumDuration") |
| | | .description(INFO_DESCRIPTION_PURGE_HISTORICAL_MAXIMUM_DURATION.get()) |
| | | .required() |
| | | .lowerBound(0) |
| | | .defaultValue(PurgeConflictsHistoricalTask.DEFAULT_MAX_DURATION) |
| | | .valuePlaceholder(INFO_MAXIMUM_DURATION_PLACEHOLDER.get()) |
| | | .buildArgument(); |
| | | |
| | | purgeHistoricalSubCmd = new SubCommand( |
| | | this, |
| | | PURGE_HISTORICAL_SUBCMD_NAME, |
| | | INFO_DESCRIPTION_SUBCMD_PURGE_HISTORICAL.get()); |
| | | |
| | | Argument[] argsToAdd = { |
| | | secureArgsList.hostNameArg, |
| | | secureArgsList.portArg, |
| | | maximumDurationArg}; |
| | | addArgumentsToSubCommand(purgeHistoricalSubCmd, |
| | | secureArgsList.hostNameArg, secureArgsList.portArg, maximumDurationArg); |
| | | addArgumentsToSubCommand(purgeHistoricalSubCmd, taskArgs.getArguments()); |
| | | } |
| | | |
| | | for (Argument arg : argsToAdd) |
| | | private void addArgumentsToSubCommand(final SubCommand subCommand, final Argument... args) throws ArgumentException |
| | | { |
| | | for (final Argument arg : args) |
| | | { |
| | | arg.setPropertyName(arg.getLongIdentifier()); |
| | | purgeHistoricalSubCmd.addArgument(arg); |
| | | } |
| | | for (Argument arg : taskArgs.getArguments()) |
| | | { |
| | | purgeHistoricalSubCmd.addArgument(arg); |
| | | subCommand.addArgument(arg); |
| | | } |
| | | } |
| | | |
| | |
| | | */ |
| | | StringArgument getAdminUidArg() |
| | | { |
| | | return secureArgsList.adminUidArg; |
| | | return adminUidArg; |
| | | } |
| | | |
| | | /** |
| | |
| | | } |
| | | |
| | | /** |
| | | * Returns the default value to be used for the host. |
| | | * @return the default value to be used for the host. |
| | | */ |
| | | private String getDefaultHostValue() |
| | | { |
| | | if (defaultLocalHostValue == null) |
| | | { |
| | | try |
| | | { |
| | | defaultLocalHostValue = |
| | | java.net.InetAddress.getLocalHost().getHostName(); |
| | | } |
| | | catch (Throwable t) |
| | | { |
| | | } |
| | | if (defaultLocalHostValue == null) |
| | | { |
| | | defaultLocalHostValue = "localhost"; |
| | | } |
| | | } |
| | | return defaultLocalHostValue; |
| | | } |
| | | |
| | | /** |
| | | * Returns the SecureConnectionCliArgs object containing the arguments |
| | | * of this parser. |
| | | * @return the SecureConnectionCliArgs object containing the arguments |
| | |
| | | import javax.net.ssl.SSLHandshakeException; |
| | | import javax.net.ssl.TrustManager; |
| | | |
| | | import com.forgerock.opendj.cli.CommonArguments; |
| | | import org.forgerock.i18n.LocalizableMessage; |
| | | import org.forgerock.i18n.LocalizableMessageBuilder; |
| | | import org.forgerock.i18n.LocalizableMessageDescriptor.Arg0; |
| | | import org.forgerock.i18n.LocalizableMessageDescriptor.Arg1; |
| | | import org.forgerock.i18n.LocalizableMessageDescriptor.Arg2; |
| | | import org.forgerock.i18n.slf4j.LocalizedLogger; |
| | | import org.forgerock.opendj.config.server.ConfigException; |
| | | import org.opends.admin.ads.*; |
| | | import org.opends.admin.ads.ADSContext.ADSPropertySyntax; |
| | | import org.opends.admin.ads.ADSContext.AdministratorProperty; |
| | |
| | | return CANNOT_INITIALIZE_ARGS; |
| | | } |
| | | |
| | | try |
| | | { |
| | | argParser.getSecureArgsList().initArgumentsWithConfiguration(); |
| | | } |
| | | catch (ConfigException ce) |
| | | { |
| | | // Ignore. |
| | | } |
| | | argParser.getSecureArgsList().initArgumentsWithConfiguration(argParser); |
| | | |
| | | // Parse the command-line arguments provided to this program. |
| | | try |
| | |
| | | { |
| | | try |
| | | { |
| | | userProvidedAdminPwdFile = new FileBasedArgument( |
| | | "adminPasswordFile", OPTION_SHORT_BINDPWD_FILE, "adminPasswordFile", false, false, |
| | | INFO_BINDPWD_FILE_PLACEHOLDER.get(), null, null, |
| | | INFO_DESCRIPTION_REPLICATION_ADMIN_BINDPASSWORDFILE.get()); |
| | | userProvidedAdminPwdFile = FileBasedArgument.builder("adminPasswordFile") |
| | | .shortIdentifier(OPTION_SHORT_BINDPWD_FILE) |
| | | .description(INFO_DESCRIPTION_REPLICATION_ADMIN_BINDPASSWORDFILE.get()) |
| | | .valuePlaceholder(INFO_BINDPWD_FILE_PLACEHOLDER.get()) |
| | | .buildArgument(); |
| | | userProvidedAdminPwdFile.getNameToValueMap().putAll( |
| | | argParser.getSecureArgsList().bindPasswordFileArg.getNameToValueMap()); |
| | | } |
| | |
| | | } |
| | | } |
| | | |
| | | IntegerArgument maximumDurationArg = new IntegerArgument( |
| | | argParser.maximumDurationArg.getName(), |
| | | argParser.maximumDurationArg.getShortIdentifier(), |
| | | argParser.maximumDurationArg.getLongIdentifier(), |
| | | argParser.maximumDurationArg.isRequired(), |
| | | argParser.maximumDurationArg.isMultiValued(), |
| | | argParser.maximumDurationArg.needsValue(), |
| | | argParser.maximumDurationArg.getValuePlaceholder(), |
| | | PurgeConflictsHistoricalTask.DEFAULT_MAX_DURATION, |
| | | argParser.maximumDurationArg.getPropertyName(), |
| | | argParser.maximumDurationArg.getDescription()); |
| | | IntegerArgument maximumDurationArg = IntegerArgument.builder(argParser.maximumDurationArg.getLongIdentifier()) |
| | | .shortIdentifier(argParser.maximumDurationArg.getShortIdentifier()) |
| | | .description(argParser.maximumDurationArg.getDescription()) |
| | | .required() |
| | | .defaultValue(PurgeConflictsHistoricalTask.DEFAULT_MAX_DURATION) |
| | | .valuePlaceholder(argParser.maximumDurationArg.getValuePlaceholder()) |
| | | .buildArgument(); |
| | | maximumDurationArg.addValue(String.valueOf(uData.getMaximumDuration())); |
| | | commandBuilder.addArgument(maximumDurationArg); |
| | | } |
| | |
| | | throws ArgumentException |
| | | { |
| | | List<String> baseDNs = uData.getBaseDNs(); |
| | | StringArgument baseDNsArg = new StringArgument("baseDNs", |
| | | OPTION_SHORT_BASEDN, |
| | | OPTION_LONG_BASEDN, false, true, true, INFO_BASEDN_PLACEHOLDER.get(), |
| | | null, |
| | | null, INFO_DESCRIPTION_REPLICATION_BASEDNS.get()); |
| | | StringArgument baseDNsArg = |
| | | StringArgument.builder(OPTION_LONG_BASEDN) |
| | | .shortIdentifier(OPTION_SHORT_BASEDN) |
| | | .description(INFO_DESCRIPTION_REPLICATION_BASEDNS.get()) |
| | | .multiValued() |
| | | .valuePlaceholder(INFO_BASEDN_PLACEHOLDER.get()) |
| | | .buildArgument(); |
| | | for (String baseDN : baseDNs) |
| | | { |
| | | baseDNsArg.addValue(baseDN); |
| | |
| | | |
| | | if (argParser.isVerbose()) |
| | | { |
| | | commandBuilder.addArgument(new BooleanArgument("verbose", |
| | | OPTION_SHORT_VERBOSE, |
| | | OPTION_LONG_VERBOSE, INFO_DESCRIPTION_VERBOSE.get())); |
| | | commandBuilder.addArgument( |
| | | BooleanArgument.builder(OPTION_LONG_VERBOSE) |
| | | .shortIdentifier(OPTION_SHORT_VERBOSE) |
| | | .description(INFO_DESCRIPTION_VERBOSE.get()) |
| | | .buildArgument()); |
| | | } |
| | | |
| | | if (argParser.isScriptFriendly()) |
| | |
| | | { |
| | | if (uData.getAdminUid() != null) |
| | | { |
| | | StringArgument adminUID = new StringArgument(OPTION_LONG_ADMIN_UID, 'I', |
| | | OPTION_LONG_ADMIN_UID, false, false, true, |
| | | INFO_ADMINUID_PLACEHOLDER.get(), |
| | | Constants.GLOBAL_ADMIN_UID, null, |
| | | INFO_DESCRIPTION_REPLICATION_ADMIN_UID.get(ENABLE_REPLICATION_SUBCMD_NAME)); |
| | | final StringArgument adminUID = CommonArguments.getAdminUid( |
| | | INFO_DESCRIPTION_REPLICATION_ADMIN_UID.get(ENABLE_REPLICATION_SUBCMD_NAME)); |
| | | adminUID.addValue(uData.getAdminUid()); |
| | | commandBuilder.addArgument(adminUID); |
| | | } |
| | |
| | | |
| | | if (!uData.replicateSchema()) |
| | | { |
| | | commandBuilder.addArgument(new BooleanArgument( |
| | | "noschemareplication", null, "noSchemaReplication", |
| | | INFO_DESCRIPTION_ENABLE_REPLICATION_NO_SCHEMA_REPLICATION.get())); |
| | | commandBuilder.addArgument( |
| | | BooleanArgument.builder("noSchemaReplication") |
| | | .description(INFO_DESCRIPTION_ENABLE_REPLICATION_NO_SCHEMA_REPLICATION.get()) |
| | | .buildArgument()); |
| | | } |
| | | if (argParser.skipReplicationPortCheck()) |
| | | { |
| | | commandBuilder.addArgument(new BooleanArgument( |
| | | "skipportcheck", 'S', "skipPortCheck", |
| | | INFO_DESCRIPTION_ENABLE_REPLICATION_SKIPPORT.get())); |
| | | commandBuilder.addArgument( |
| | | BooleanArgument.builder("skipPortCheck") |
| | | .shortIdentifier('S') |
| | | .description(INFO_DESCRIPTION_ENABLE_REPLICATION_SKIPPORT.get()) |
| | | .buildArgument()); |
| | | } |
| | | if (argParser.useSecondServerAsSchemaSource()) |
| | | { |
| | | commandBuilder.addArgument(new BooleanArgument( |
| | | "usesecondserverasschemasource", null, |
| | | "useSecondServerAsSchemaSource", |
| | | INFO_DESCRIPTION_ENABLE_REPLICATION_USE_SECOND_AS_SCHEMA_SOURCE.get( |
| | | "--" + argParser.noSchemaReplicationArg.getLongIdentifier()))); |
| | | commandBuilder.addArgument( |
| | | BooleanArgument.builder("useSecondServerAsSchemaSource") |
| | | .description(INFO_DESCRIPTION_ENABLE_REPLICATION_USE_SECOND_AS_SCHEMA_SOURCE.get( |
| | | "--" + argParser.noSchemaReplicationArg.getLongIdentifier())) |
| | | .buildArgument()); |
| | | } |
| | | } |
| | | |
| | | private IntegerArgument getReplicationPortArg( |
| | | String name, EnableReplicationServerData server, int defaultValue, Arg0 description) throws ArgumentException |
| | | { |
| | | IntegerArgument replicationPort = new IntegerArgument( |
| | | name, 'r', name, false, false, true, |
| | | INFO_PORT_PLACEHOLDER.get(), defaultValue, null, description.get()); |
| | | int value = server.getReplicationPort(); |
| | | replicationPort.addValue(String.valueOf(value)); |
| | | IntegerArgument replicationPort = |
| | | IntegerArgument.builder(name) |
| | | .shortIdentifier('r') |
| | | .description(description.get()) |
| | | .defaultValue(defaultValue) |
| | | .valuePlaceholder(INFO_PORT_PLACEHOLDER.get()) |
| | | .buildArgument(); |
| | | replicationPort.addValue(String.valueOf(server.getReplicationPort())); |
| | | return replicationPort; |
| | | } |
| | | |
| | | private BooleanArgument newBooleanArgument(String name, Arg0 msg) throws ArgumentException |
| | | { |
| | | return new BooleanArgument(name, null, name, msg.get()); |
| | | return BooleanArgument.builder(name) |
| | | .description(msg.get()) |
| | | .buildArgument(); |
| | | } |
| | | |
| | | private BooleanArgument newBooleanArgument(BooleanArgument arg, Arg0 msg) throws ArgumentException |
| | | { |
| | | return new BooleanArgument(arg.getName(), arg.getShortIdentifier(), arg.getLongIdentifier(), msg.get()); |
| | | return BooleanArgument.builder(arg.getLongIdentifier()) |
| | | .shortIdentifier(arg.getShortIdentifier()) |
| | | .description(msg.get()) |
| | | .buildArgument(); |
| | | } |
| | | |
| | | private StringArgument getBindPassword1Arg(Argument arg) throws ArgumentException |
| | |
| | | |
| | | private StringArgument getBindPasswordArg(String name, Argument arg, Arg0 bindPwdMsg) throws ArgumentException |
| | | { |
| | | StringArgument bindPasswordArg = new StringArgument( |
| | | name, null, name, false, false, true, |
| | | INFO_BINDPWD_PLACEHOLDER.get(), null, null, bindPwdMsg.get()); |
| | | StringArgument bindPasswordArg = |
| | | StringArgument.builder(name) |
| | | .description(bindPwdMsg.get()) |
| | | .valuePlaceholder(INFO_BINDPWD_PLACEHOLDER.get()) |
| | | .buildArgument(); |
| | | bindPasswordArg.addValue(arg.getValue()); |
| | | return bindPasswordArg; |
| | | } |
| | | |
| | | private FileBasedArgument getBindPasswordFile1Arg() throws ArgumentException |
| | | { |
| | | return new FileBasedArgument( |
| | | "bindPasswordFile1", null, "bindPasswordFile1", false, false, |
| | | INFO_BINDPWD_FILE_PLACEHOLDER.get(), null, null, |
| | | INFO_DESCRIPTION_ENABLE_REPLICATION_BINDPASSWORDFILE1.get()); |
| | | return FileBasedArgument.builder("bindPasswordFile1") |
| | | .description(INFO_DESCRIPTION_ENABLE_REPLICATION_BINDPASSWORDFILE1.get()) |
| | | .valuePlaceholder(INFO_BINDPWD_FILE_PLACEHOLDER.get()) |
| | | .buildArgument(); |
| | | } |
| | | |
| | | private FileBasedArgument getBindPasswordFile2Arg() throws ArgumentException |
| | | { |
| | | return new FileBasedArgument( |
| | | "bindPasswordFile2", null, "bindPasswordFile2", false, false, |
| | | INFO_BINDPWD_FILE_PLACEHOLDER.get(), null, null, |
| | | INFO_DESCRIPTION_ENABLE_REPLICATION_BINDPASSWORDFILE2.get()); |
| | | return FileBasedArgument.builder("bindPasswordFile2") |
| | | .description(INFO_DESCRIPTION_ENABLE_REPLICATION_BINDPASSWORDFILE2.get()) |
| | | .valuePlaceholder(INFO_BINDPWD_FILE_PLACEHOLDER.get()) |
| | | .buildArgument(); |
| | | } |
| | | |
| | | private StringArgument getBindDN1Arg(EnableReplicationUserData uData) throws ArgumentException |
| | | { |
| | | StringArgument bindDN = new StringArgument("bindDN1", OPTION_SHORT_BINDDN, "bindDN1", false, false, true, |
| | | INFO_BINDDN_PLACEHOLDER.get(), "cn=Directory Manager", null, |
| | | INFO_DESCRIPTION_ENABLE_REPLICATION_BINDDN1.get()); |
| | | StringArgument bindDN = |
| | | StringArgument.builder("bindDN1") |
| | | .shortIdentifier(OPTION_SHORT_BINDDN) |
| | | .description(INFO_DESCRIPTION_ENABLE_REPLICATION_BINDDN1.get()) |
| | | .defaultValue("cn=Directory Manager") |
| | | .valuePlaceholder(INFO_BINDDN_PLACEHOLDER.get()) |
| | | .buildArgument(); |
| | | bindDN.addValue(uData.getServer1().getBindDn()); |
| | | return bindDN; |
| | | } |
| | |
| | | private StringArgument getBindDN2Arg(EnableReplicationUserData uData, Character shortIdentifier) |
| | | throws ArgumentException |
| | | { |
| | | StringArgument bindDN = new StringArgument("bindDN2", shortIdentifier, "bindDN2", false, false, true, |
| | | INFO_BINDDN_PLACEHOLDER.get(), "cn=Directory Manager", null, |
| | | INFO_DESCRIPTION_ENABLE_REPLICATION_BINDDN2.get()); |
| | | StringArgument bindDN = |
| | | StringArgument.builder("bindDN2") |
| | | .shortIdentifier(shortIdentifier) |
| | | .description(INFO_DESCRIPTION_ENABLE_REPLICATION_BINDDN2.get()) |
| | | .defaultValue("cn=Directory Manager") |
| | | .valuePlaceholder(INFO_BINDDN_PLACEHOLDER.get()) |
| | | .buildArgument(); |
| | | bindDN.addValue(uData.getServer2().getBindDn()); |
| | | return bindDN; |
| | | } |
| | |
| | | |
| | | private StringArgument getAdminPasswordArg() throws ArgumentException |
| | | { |
| | | return new StringArgument("adminPassword", |
| | | OPTION_SHORT_BINDPWD, "adminPassword", false, false, true, |
| | | INFO_BINDPWD_PLACEHOLDER.get(), null, null, |
| | | INFO_DESCRIPTION_REPLICATION_ADMIN_BINDPASSWORD.get()); |
| | | return StringArgument.builder("adminPassword") |
| | | .shortIdentifier(OPTION_SHORT_BINDPWD) |
| | | .description(INFO_DESCRIPTION_REPLICATION_ADMIN_BINDPASSWORD.get()) |
| | | .valuePlaceholder(INFO_BINDPWD_PLACEHOLDER.get()) |
| | | .buildArgument(); |
| | | } |
| | | |
| | | private FileBasedArgument getAdminPasswordFileArg(Argument arg) throws ArgumentException |
| | | { |
| | | FileBasedArgument fbArg = new FileBasedArgument( |
| | | "adminPasswordFile", OPTION_SHORT_BINDPWD_FILE, "adminPasswordFile", false, false, |
| | | INFO_BINDPWD_FILE_PLACEHOLDER.get(), null, null, |
| | | INFO_DESCRIPTION_REPLICATION_ADMIN_BINDPASSWORDFILE.get()); |
| | | FileBasedArgument fbArg = |
| | | FileBasedArgument.builder("adminPasswordFile") |
| | | .shortIdentifier(OPTION_SHORT_BINDPWD_FILE) |
| | | .description(INFO_DESCRIPTION_REPLICATION_ADMIN_BINDPASSWORDFILE.get()) |
| | | .valuePlaceholder(INFO_BINDPWD_FILE_PLACEHOLDER.get()) |
| | | .buildArgument(); |
| | | fbArg.getNameToValueMap().putAll(((FileBasedArgument) arg).getNameToValueMap()); |
| | | return fbArg; |
| | | } |
| | |
| | | private IntegerArgument getPortArg(String longIdentifier, Character shortIdentifier, int value, Arg0 arg) |
| | | throws ArgumentException |
| | | { |
| | | IntegerArgument iArg = new IntegerArgument(longIdentifier, shortIdentifier, longIdentifier, false, false, true, |
| | | INFO_PORT_PLACEHOLDER.get(), 4444, null, arg.get()); |
| | | IntegerArgument iArg = |
| | | IntegerArgument.builder(longIdentifier) |
| | | .shortIdentifier(shortIdentifier) |
| | | .description(arg.get()) |
| | | .defaultValue(4444) |
| | | .valuePlaceholder(INFO_PORT_PLACEHOLDER.get()) |
| | | .buildArgument(); |
| | | iArg.addValue(String.valueOf(value)); |
| | | return iArg; |
| | | } |
| | |
| | | private StringArgument getHostArg(String longIdentifier, char shortIdentifier, String value, |
| | | Arg0 description) throws ArgumentException |
| | | { |
| | | StringArgument sArg = new StringArgument(longIdentifier, shortIdentifier, longIdentifier, false, false, true, |
| | | INFO_HOST_PLACEHOLDER.get(), null, null, description.get()); |
| | | StringArgument sArg = |
| | | StringArgument.builder(longIdentifier) |
| | | .shortIdentifier(shortIdentifier) |
| | | .description(description.get()) |
| | | .valuePlaceholder(INFO_HOST_PLACEHOLDER.get()) |
| | | .buildArgument(); |
| | | sArg.addValue(value); |
| | | return sArg; |
| | | } |
| | |
| | | package org.opends.server.tools.makeldif; |
| | | |
| | | import static com.forgerock.opendj.cli.ArgumentConstants.*; |
| | | import static com.forgerock.opendj.cli.CliMessages.INFO_MAKELDIF_DESCRIPTION_SEED; |
| | | import static com.forgerock.opendj.cli.CliMessages.INFO_SEED_PLACEHOLDER; |
| | | import static com.forgerock.opendj.cli.Utils.*; |
| | | |
| | | import static org.opends.messages.ToolMessages.*; |
| | |
| | | |
| | | try |
| | | { |
| | | configFile = new StringArgument("configfile", 'c', "configFile", true, |
| | | false, true, |
| | | INFO_CONFIGFILE_PLACEHOLDER.get(), null, |
| | | null, |
| | | INFO_DESCRIPTION_CONFIG_FILE.get()); |
| | | configFile.setHidden(true); |
| | | argParser.addArgument(configFile); |
| | | |
| | | |
| | | configClass = new StringArgument("configclass", OPTION_SHORT_CONFIG_CLASS, |
| | | OPTION_LONG_CONFIG_CLASS, false, |
| | | false, true, |
| | | INFO_CONFIGCLASS_PLACEHOLDER.get(), null, |
| | | null, |
| | | INFO_DESCRIPTION_CONFIG_CLASS.get()); |
| | | configClass.setHidden(true); |
| | | argParser.addArgument(configClass); |
| | | |
| | | |
| | | configFile = |
| | | StringArgument.builder("configFile") |
| | | .shortIdentifier('c') |
| | | .description(INFO_DESCRIPTION_CONFIG_FILE.get()) |
| | | .hidden() |
| | | .required() |
| | | .valuePlaceholder(INFO_CONFIGFILE_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | configClass = |
| | | StringArgument.builder(OPTION_LONG_CONFIG_CLASS) |
| | | .shortIdentifier(OPTION_SHORT_CONFIG_CLASS) |
| | | .description(INFO_DESCRIPTION_CONFIG_CLASS.get()) |
| | | .hidden() |
| | | .valuePlaceholder(INFO_CONFIGCLASS_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | resourcePath = |
| | | new StringArgument("resourcepath", 'r', "resourcePath", true, false, |
| | | true, INFO_PATH_PLACEHOLDER.get(), null, null, |
| | | INFO_MAKELDIF_DESCRIPTION_RESOURCE_PATH.get()); |
| | | resourcePath.setHidden(true); |
| | | argParser.addArgument(resourcePath); |
| | | |
| | | |
| | | StringArgument.builder("resourcePath") |
| | | .shortIdentifier('r') |
| | | .description(INFO_MAKELDIF_DESCRIPTION_RESOURCE_PATH.get()) |
| | | .hidden() |
| | | .required() |
| | | .valuePlaceholder(INFO_PATH_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | templatePath = |
| | | new StringArgument("templatefile", 't', "templateFile", |
| | | true, false, true, INFO_FILE_PLACEHOLDER.get(), |
| | | null, null, |
| | | INFO_MAKELDIF_DESCRIPTION_TEMPLATE.get()); |
| | | argParser.addArgument(templatePath); |
| | | |
| | | |
| | | ldifFile = new StringArgument("ldiffile", 'o', "ldifFile", true, false, |
| | | true, INFO_FILE_PLACEHOLDER.get(), null, |
| | | null, INFO_MAKELDIF_DESCRIPTION_LDIF.get()); |
| | | argParser.addArgument(ldifFile); |
| | | |
| | | |
| | | randomSeed = new IntegerArgument("randomseed", OPTION_SHORT_RANDOM_SEED, |
| | | OPTION_LONG_RANDOM_SEED, false, |
| | | false, true, INFO_SEED_PLACEHOLDER.get(), |
| | | 0, null, |
| | | INFO_MAKELDIF_DESCRIPTION_SEED.get()); |
| | | argParser.addArgument(randomSeed); |
| | | |
| | | StringArgument.builder("templateFile") |
| | | .shortIdentifier('t') |
| | | .description(INFO_MAKELDIF_DESCRIPTION_TEMPLATE.get()) |
| | | .required() |
| | | .valuePlaceholder(INFO_FILE_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | ldifFile = |
| | | StringArgument.builder("ldifFile") |
| | | .shortIdentifier('o') |
| | | .description(INFO_MAKELDIF_DESCRIPTION_LDIF.get()) |
| | | .required() |
| | | .valuePlaceholder(INFO_FILE_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | randomSeed = |
| | | IntegerArgument.builder(OPTION_LONG_RANDOM_SEED) |
| | | .shortIdentifier(OPTION_SHORT_RANDOM_SEED) |
| | | .description(INFO_MAKELDIF_DESCRIPTION_SEED.get()) |
| | | .defaultValue(0) |
| | | .valuePlaceholder(INFO_SEED_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | |
| | | showUsage = CommonArguments.getShowUsage(); |
| | | argParser.addArgument(showUsage); |
| | |
| | | * |
| | | * |
| | | * Copyright 2007-2010 Sun Microsystems, Inc. |
| | | * Portions Copyright 2011-2015 ForgeRock AS |
| | | * Portions Copyright 2011-2016 ForgeRock AS |
| | | */ |
| | | package org.opends.server.tools.status; |
| | | |
| | |
| | | import org.forgerock.opendj.config.LDAPProfile; |
| | | import org.forgerock.opendj.config.client.ManagementContext; |
| | | import org.forgerock.opendj.config.client.ldap.LDAPManagementContext; |
| | | import org.forgerock.opendj.config.server.ConfigException; |
| | | import org.forgerock.opendj.ldap.AuthorizationException; |
| | | import org.forgerock.opendj.ldap.Connection; |
| | | import org.forgerock.opendj.ldap.LDAPConnectionFactory; |
| | |
| | | return ReturnCode.CLIENT_SIDE_PARAM_ERROR.get(); |
| | | } |
| | | |
| | | try |
| | | { |
| | | argParser.getSecureArgsList().initArgumentsWithConfiguration(); |
| | | } |
| | | catch (ConfigException ce) |
| | | { |
| | | // Ignore. |
| | | } |
| | | argParser.getSecureArgsList().initArgumentsWithConfiguration(argParser); |
| | | |
| | | // Validate user provided data |
| | | try { |
| | |
| | | * |
| | | * |
| | | * Copyright 2008-2009 Sun Microsystems, Inc. |
| | | * Portions Copyright 2012-2015 ForgeRock AS. |
| | | * Portions Copyright 2012-2016 ForgeRock AS. |
| | | */ |
| | | package org.opends.server.tools.status; |
| | | |
| | |
| | | |
| | | initializeGlobalArguments(defaultArgs); |
| | | |
| | | refreshArg = new IntegerArgument("refresh", 'r', |
| | | "refresh", false, true, INFO_PERIOD_PLACEHOLDER.get(), |
| | | true, 1, false, Integer.MAX_VALUE, |
| | | INFO_DESCRIPTION_REFRESH_PERIOD.get()); |
| | | refreshArg = |
| | | IntegerArgument.builder("refresh") |
| | | .shortIdentifier('r') |
| | | .description(INFO_DESCRIPTION_REFRESH_PERIOD.get()) |
| | | .lowerBound(1) |
| | | .valuePlaceholder(INFO_PERIOD_PLACEHOLDER.get()) |
| | | .buildArgument(); |
| | | addGlobalArgument(refreshArg, ioArgGroup); |
| | | } |
| | | |
| | |
| | | StringArgument arg; |
| | | try |
| | | { |
| | | arg = new StringArgument(argToClone.getName(), |
| | | argToClone.getShortIdentifier(), argToClone.getLongIdentifier(), |
| | | argToClone.isRequired(), argToClone.isMultiValued(), |
| | | argToClone.needsValue(), |
| | | argToClone.getValuePlaceholder(), |
| | | argToClone.getDefaultValue(), |
| | | argToClone.getPropertyName(), |
| | | argToClone.getDescription()); |
| | | StringArgument.Builder argBuilder = |
| | | StringArgument.builder(argToClone.getLongIdentifier()) |
| | | .shortIdentifier(argToClone.getShortIdentifier()) |
| | | .description(argToClone.getDescription()) |
| | | .defaultValue(argToClone.getDefaultValue()) |
| | | .valuePlaceholder(argToClone.getValuePlaceholder()); |
| | | if (argToClone.isRequired()) { |
| | | argBuilder.required(); |
| | | } |
| | | if (argToClone.isMultiValued()) { |
| | | argBuilder.multiValued(); |
| | | } |
| | | arg = argBuilder.buildArgument(); |
| | | } |
| | | catch (ArgumentException e) |
| | | { |
| | |
| | | * |
| | | * |
| | | * Copyright 2007-2010 Sun Microsystems, Inc. |
| | | * Portions Copyright 2012-2015 ForgeRock AS |
| | | * Portions Copyright 2012-2016 ForgeRock AS |
| | | */ |
| | | package org.opends.server.tools.tasks; |
| | | |
| | |
| | | argParser.addArgument(arg, taskGroup); |
| | | } |
| | | |
| | | testIfOfflineArg = new BooleanArgument("testIfOffline", null, |
| | | "testIfOffline", INFO_DESCRIPTION_TEST_IF_OFFLINE.get()); |
| | | testIfOfflineArg.setHidden(true); |
| | | argParser.addArgument(testIfOfflineArg); |
| | | testIfOfflineArg = |
| | | BooleanArgument.builder("testIfOffline") |
| | | .description(INFO_DESCRIPTION_TEST_IF_OFFLINE.get()) |
| | | .hidden() |
| | | .buildAndAddToParser(argParser); |
| | | } catch (ArgumentException e) { |
| | | // should never happen |
| | | } |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2013-2015 ForgeRock AS. |
| | | * Portions Copyright 2013-2016 ForgeRock AS. |
| | | */ |
| | | package org.opends.server.tools.upgrade; |
| | | |
| | |
| | | noPrompt = CommonArguments.getNoPrompt(); |
| | | verbose = CommonArguments.getVerbose(); |
| | | quietMode = CommonArguments.getQuiet(); |
| | | |
| | | ignoreErrors = |
| | | new BooleanArgument(OPTION_LONG_IGNORE_ERRORS, null, |
| | | OPTION_LONG_IGNORE_ERRORS, INFO_UPGRADE_OPTION_IGNORE_ERRORS |
| | | .get()); |
| | | |
| | | force = new BooleanArgument(OPTION_LONG_FORCE_UPGRADE, null, |
| | | OPTION_LONG_FORCE_UPGRADE, |
| | | INFO_UPGRADE_OPTION_FORCE.get(OPTION_LONG_NO_PROMPT)); |
| | | |
| | | BooleanArgument.builder(OPTION_LONG_IGNORE_ERRORS) |
| | | .description(INFO_UPGRADE_OPTION_IGNORE_ERRORS.get()) |
| | | .buildArgument(); |
| | | force = |
| | | BooleanArgument.builder(OPTION_LONG_FORCE_UPGRADE) |
| | | .description(INFO_UPGRADE_OPTION_FORCE.get(OPTION_LONG_NO_PROMPT)) |
| | | .buildArgument(); |
| | | acceptLicense = CommonArguments.getAcceptLicense(); |
| | | showUsageArgument = CommonArguments.getShowUsage(); |
| | | |
| | |
| | | * |
| | | * |
| | | * Copyright 2006-2009 Sun Microsystems, Inc. |
| | | * Portions Copyright 2014-2015 ForgeRock AS. |
| | | * Portions Copyright 2014-2016 ForgeRock AS. |
| | | */ |
| | | package org.opends.server.util; |
| | | |
| | |
| | | encodeSubCommand = new SubCommand(argParser, "encode", |
| | | INFO_BASE64_ENCODE_DESCRIPTION.get()); |
| | | |
| | | |
| | | encodedData = new StringArgument("encodeddata", 'd', "encodedData", false, |
| | | false, true, INFO_DATA_PLACEHOLDER.get(), null, |
| | | null, |
| | | INFO_BASE64_ENCODED_DATA_DESCRIPTION.get()); |
| | | decodeSubCommand.addArgument(encodedData); |
| | | |
| | | |
| | | encodedFile = new StringArgument("encodedfile", 'f', "encodedDataFile", |
| | | false, false, true, INFO_PATH_PLACEHOLDER.get(), |
| | | null, null, |
| | | INFO_BASE64_ENCODED_FILE_DESCRIPTION.get()); |
| | | decodeSubCommand.addArgument(encodedFile); |
| | | |
| | | |
| | | toRawFile = new StringArgument("torawfile", 'o', "toRawFile", false, |
| | | false, true, INFO_PATH_PLACEHOLDER.get(), |
| | | null, null, |
| | | INFO_BASE64_TO_RAW_FILE_DESCRIPTION.get()); |
| | | decodeSubCommand.addArgument(toRawFile); |
| | | |
| | | |
| | | rawData = new StringArgument("rawdata", 'd', "rawData", false, false, |
| | | true, INFO_DATA_PLACEHOLDER.get(), null, |
| | | null, |
| | | INFO_BASE64_RAW_DATA_DESCRIPTION.get()); |
| | | encodeSubCommand.addArgument(rawData); |
| | | |
| | | |
| | | rawFile = new StringArgument("rawfile", 'f', "rawDataFile", false, false, |
| | | true, INFO_PATH_PLACEHOLDER.get(), null, |
| | | null, |
| | | INFO_BASE64_RAW_FILE_DESCRIPTION.get()); |
| | | encodeSubCommand.addArgument(rawFile); |
| | | |
| | | |
| | | toEncodedFile = new StringArgument("toencodedfile", 'o', "toEncodedFile", |
| | | false, false, true, INFO_PATH_PLACEHOLDER.get(), |
| | | null, null, |
| | | INFO_BASE64_TO_ENCODED_FILE_DESCRIPTION.get()); |
| | | encodeSubCommand.addArgument(toEncodedFile); |
| | | |
| | | encodedData = |
| | | StringArgument.builder("encodedData") |
| | | .shortIdentifier('d') |
| | | .description(INFO_BASE64_ENCODED_DATA_DESCRIPTION.get()) |
| | | .valuePlaceholder(INFO_DATA_PLACEHOLDER.get()) |
| | | .buildAndAddToSubCommand(decodeSubCommand); |
| | | encodedFile = |
| | | StringArgument.builder("encodedDataFile") |
| | | .shortIdentifier('f') |
| | | .description(INFO_BASE64_ENCODED_FILE_DESCRIPTION.get()) |
| | | .valuePlaceholder(INFO_PATH_PLACEHOLDER.get()) |
| | | .buildAndAddToSubCommand(decodeSubCommand); |
| | | toRawFile = |
| | | StringArgument.builder("toRawFile") |
| | | .shortIdentifier('o') |
| | | .description(INFO_BASE64_TO_RAW_FILE_DESCRIPTION.get()) |
| | | .valuePlaceholder(INFO_PATH_PLACEHOLDER.get()) |
| | | .buildAndAddToSubCommand(decodeSubCommand); |
| | | rawData = |
| | | StringArgument.builder("rawData") |
| | | .shortIdentifier('d') |
| | | .description(INFO_BASE64_RAW_DATA_DESCRIPTION.get()) |
| | | .valuePlaceholder(INFO_DATA_PLACEHOLDER.get()) |
| | | .buildAndAddToSubCommand(encodeSubCommand); |
| | | rawFile = |
| | | StringArgument.builder("rawDataFile") |
| | | .shortIdentifier('f') |
| | | .description(INFO_BASE64_RAW_FILE_DESCRIPTION.get()) |
| | | .valuePlaceholder(INFO_PATH_PLACEHOLDER.get()) |
| | | .buildAndAddToSubCommand(encodeSubCommand); |
| | | toEncodedFile = |
| | | StringArgument.builder("toEncodedFile") |
| | | .shortIdentifier('o') |
| | | .description(INFO_BASE64_TO_ENCODED_FILE_DESCRIPTION.get()) |
| | | .valuePlaceholder(INFO_PATH_PLACEHOLDER.get()) |
| | | .buildAndAddToSubCommand(encodeSubCommand); |
| | | |
| | | ArrayList<SubCommand> subCommandList = new ArrayList<>(2); |
| | | subCommandList.add(decodeSubCommand); |
| | | subCommandList.add(encodeSubCommand); |
| | | |
| | | |
| | | showUsage = CommonArguments.getShowUsage(); |
| | | argParser.addGlobalArgument(showUsage); |
| | | argParser.setUsageGroupArgument(showUsage, subCommandList); |
| | |
| | | * |
| | | * |
| | | * Copyright 2006-2008 Sun Microsystems, Inc. |
| | | * Portions Copyright 2014-2015 ForgeRock AS |
| | | * Portions Copyright 2014-2016 ForgeRock AS |
| | | * Portions copyright 2015 Edan Idzerda |
| | | */ |
| | | package org.opends.server.util; |
| | |
| | | |
| | | try |
| | | { |
| | | host = new StringArgument("host", 'h', "host", true, true, true, |
| | | INFO_HOST_PLACEHOLDER.get(), "127.0.0.1", null, |
| | | INFO_EMAIL_HOST_DESCRIPTION.get()); |
| | | argParser.addArgument(host); |
| | | |
| | | |
| | | from = new StringArgument("from", 'f', "from", true, false, true, |
| | | INFO_ADDRESS_PLACEHOLDER.get(), null, null, |
| | | INFO_EMAIL_FROM_DESCRIPTION.get()); |
| | | argParser.addArgument(from); |
| | | |
| | | |
| | | to = new StringArgument("to", 't', "to", true, true, true, |
| | | INFO_ADDRESS_PLACEHOLDER.get(), |
| | | null, null, INFO_EMAIL_TO_DESCRIPTION.get()); |
| | | argParser.addArgument(to); |
| | | |
| | | |
| | | subject = new StringArgument("subject", 's', "subject", true, false, true, |
| | | INFO_SUBJECT_PLACEHOLDER.get(), null, null, |
| | | INFO_EMAIL_SUBJECT_DESCRIPTION.get()); |
| | | argParser.addArgument(subject); |
| | | |
| | | |
| | | bodyFile = new StringArgument("bodyfile", 'b', "body", true, true, true, |
| | | INFO_PATH_PLACEHOLDER.get(), null, null, |
| | | INFO_EMAIL_BODY_DESCRIPTION.get()); |
| | | argParser.addArgument(bodyFile); |
| | | |
| | | |
| | | attachFile = new StringArgument("attachfile", 'a', "attach", false, true, |
| | | true, INFO_PATH_PLACEHOLDER.get(), null, |
| | | null, |
| | | INFO_EMAIL_ATTACH_DESCRIPTION.get()); |
| | | argParser.addArgument(attachFile); |
| | | |
| | | host = |
| | | StringArgument.builder("host") |
| | | .shortIdentifier('h') |
| | | .description(INFO_EMAIL_HOST_DESCRIPTION.get()) |
| | | .multiValued() |
| | | .required() |
| | | .defaultValue("127.0.0.1") |
| | | .valuePlaceholder(INFO_HOST_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | from = |
| | | StringArgument.builder("from") |
| | | .shortIdentifier('f') |
| | | .description(INFO_EMAIL_FROM_DESCRIPTION.get()) |
| | | .required() |
| | | .valuePlaceholder(INFO_ADDRESS_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | to = |
| | | StringArgument.builder("to") |
| | | .shortIdentifier('t') |
| | | .description(INFO_EMAIL_TO_DESCRIPTION.get()) |
| | | .multiValued() |
| | | .required() |
| | | .valuePlaceholder(INFO_ADDRESS_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | subject = |
| | | StringArgument.builder("subject") |
| | | .shortIdentifier('s') |
| | | .description(INFO_EMAIL_SUBJECT_DESCRIPTION.get()) |
| | | .required() |
| | | .valuePlaceholder(INFO_SUBJECT_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | bodyFile = |
| | | StringArgument.builder("body") |
| | | .shortIdentifier('b') |
| | | .description(INFO_EMAIL_BODY_DESCRIPTION.get()) |
| | | .multiValued() |
| | | .required() |
| | | .valuePlaceholder(INFO_PATH_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | attachFile = |
| | | StringArgument.builder("attach") |
| | | .shortIdentifier('a') |
| | | .description(INFO_EMAIL_ATTACH_DESCRIPTION.get()) |
| | | .multiValued() |
| | | .valuePlaceholder(INFO_PATH_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | |
| | | showUsage = CommonArguments.getShowUsage(); |
| | | argParser.addArgument(showUsage); |
| | |
| | | for (Argument otherArg : args) { |
| | | if (arg != otherArg && arg.isPresent() && otherArg.isPresent()) { |
| | | throw new ArgumentException( |
| | | ToolMessages.ERR_INCOMPATIBLE_ARGUMENTS.get( |
| | | arg.getName(), otherArg.getName())); |
| | | ToolMessages.ERR_INCOMPATIBLE_ARGUMENTS.get(arg.getLongIdentifier(), otherArg.getLongIdentifier())); |
| | | } |
| | | } |
| | | } |
| | |
| | | * |
| | | * |
| | | * Copyright 2008-2010 Sun Microsystems, Inc. |
| | | * Portions Copyright 2011-2015 ForgeRock AS |
| | | * Portions Copyright 2011-2016 ForgeRock AS |
| | | */ |
| | | package org.opends.server.util.cli; |
| | | |
| | |
| | | |
| | | // Get the LDAP bind credentials. |
| | | state.bindDN = secureArgsList.bindDnArg.getValue(); |
| | | state.adminUID= secureArgsList.adminUidArg.getValue(); |
| | | state.adminUID= secureArgsList.adminUidHiddenArg.getValue(); |
| | | final boolean useAdmin = secureArgsList.useAdminUID(); |
| | | if (useAdmin && secureArgsList.adminUidArg.isPresent()) |
| | | if (useAdmin && secureArgsList.adminUidHiddenArg.isPresent()) |
| | | { |
| | | state.providedAdminUID = state.adminUID; |
| | | } |
| | |
| | | } |
| | | if (addAdmin) |
| | | { |
| | | copySecureArgsList.adminUidArg.clearValues(); |
| | | copySecureArgsList.adminUidArg.addValue(getAdministratorUID()); |
| | | commandBuilder.addArgument(copySecureArgsList.adminUidArg); |
| | | copySecureArgsList.adminUidHiddenArg.clearValues(); |
| | | copySecureArgsList.adminUidHiddenArg.addValue(getAdministratorUID()); |
| | | commandBuilder.addArgument(copySecureArgsList.adminUidHiddenArg); |
| | | } |
| | | else if (addBindDN) |
| | | { |
| | |
| | | } |
| | | else if (useAdmin) |
| | | { |
| | | copySecureArgsList.adminUidArg.clearValues(); |
| | | copySecureArgsList.adminUidArg.addValue(getAdministratorUID()); |
| | | commandBuilder.addArgument(copySecureArgsList.adminUidArg); |
| | | copySecureArgsList.adminUidHiddenArg.clearValues(); |
| | | copySecureArgsList.adminUidHiddenArg.addValue(getAdministratorUID()); |
| | | commandBuilder.addArgument(copySecureArgsList.adminUidHiddenArg); |
| | | } |
| | | else |
| | | { |
| | |
| | | secureArgsList.useStartTLSArg.setPresent(state.useStartTLS); |
| | | if (adminUid != null) |
| | | { |
| | | secureArgsList.adminUidArg.addValue(adminUid); |
| | | secureArgsList.adminUidArg.setPresent(true); |
| | | secureArgsList.adminUidHiddenArg.addValue(adminUid); |
| | | secureArgsList.adminUidHiddenArg.setPresent(true); |
| | | } |
| | | if (bindDn != null) |
| | | { |
| | |
| | | secureArgsList.bindPasswordFileArg.getNameToValueMap().clear(); |
| | | secureArgsList.bindPasswordFileArg.setPresent(false); |
| | | state.bindPassword = null; |
| | | secureArgsList.adminUidArg.clearValues(); |
| | | secureArgsList.adminUidArg.setPresent(false); |
| | | secureArgsList.adminUidHiddenArg.clearValues(); |
| | | secureArgsList.adminUidHiddenArg.setPresent(false); |
| | | } |
| | | |
| | | private void initializeTrustManager() throws ArgumentException |
| | |
| | | * |
| | | * CDDL HEADER END |
| | | * |
| | | * Copyright 2014-2015 ForgeRock AS. |
| | | * Copyright 2014-2016 ForgeRock AS. |
| | | */ |
| | | package org.forgerock.opendj.server.setup.cli; |
| | | |
| | |
| | | keyStorePassword = addGlobal(CommonArguments.getKeyStorePassword()); |
| | | keyStorePasswordFile = addGlobal(CommonArguments.getKeyStorePasswordFile()); |
| | | certNickname = addGlobal(CommonArguments.getCertNickName()); |
| | | connectTimeout = CommonArguments.getConnectTimeOut(); |
| | | connectTimeout = CommonArguments.getConnectTimeOutHidden(); |
| | | |
| | | // Utility Input Output Options. |
| | | noPrompt = addGlobal(CommonArguments.getNoPrompt()); |