| | |
| | | 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); |