From df993e4e7a2b5af0c8e0907a80e1a4cef10ee56d Mon Sep 17 00:00:00 2001
From: Gaetan Boismal <gaetan.boismal@forgerock.com>
Date: Thu, 11 Feb 2016 14:17:18 +0000
Subject: [PATCH] OPENDJSDK-42 cli arguments fluent builder
---
opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/BackendStat.java | 178 +++++++++++++++++++++++++++++++++++++++-------------------
1 files changed, 119 insertions(+), 59 deletions(-)
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/BackendStat.java b/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/BackendStat.java
index 77afc72..77cacd3 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/BackendStat.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/BackendStat.java
@@ -21,7 +21,7 @@
* CDDL HEADER END
*
*
- * Portions Copyright 2015 ForgeRock AS.
+ * Portions Copyright 2015-2016 ForgeRock AS.
*/
package org.opends.server.backends.pluggable;
@@ -362,15 +362,22 @@
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();
@@ -398,47 +405,60 @@
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;
}
@@ -447,44 +467,84 @@
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();
}
/**
--
Gitblit v1.10.0