From 0af5344500b0f427af6b215820d9de078277c868 Mon Sep 17 00:00:00 2001
From: jvergara <jvergara@localhost>
Date: Tue, 21 Aug 2007 21:03:35 +0000
Subject: [PATCH] Update the messages in admin_tool.properties to use the proper severity and not only the INFO severity.
---
opends/src/server/org/opends/server/admin/client/cli/SecureConnectionCliParser.java | 161 +++++++++++++++++++++++++++++++++++++++--------------
1 files changed, 119 insertions(+), 42 deletions(-)
diff --git a/opends/src/server/org/opends/server/admin/client/cli/SecureConnectionCliParser.java b/opends/src/server/org/opends/server/admin/client/cli/SecureConnectionCliParser.java
index 09f6979..82f6b37 100644
--- a/opends/src/server/org/opends/server/admin/client/cli/SecureConnectionCliParser.java
+++ b/opends/src/server/org/opends/server/admin/client/cli/SecureConnectionCliParser.java
@@ -46,6 +46,8 @@
import java.security.NoSuchAlgorithmException;
import java.security.cert.CertificateException;
import java.util.ArrayList;
+import java.util.Collection;
+import java.util.LinkedHashSet;
import java.util.logging.Level;
import java.util.logging.Logger;
@@ -57,6 +59,7 @@
import org.opends.server.types.DebugLogLevel;
import org.opends.server.util.PasswordReader;
import org.opends.server.util.SelectableCertificateKeyManager;
+import org.opends.server.util.args.Argument;
import org.opends.server.util.args.ArgumentException;
import org.opends.server.util.args.BooleanArgument;
import org.opends.server.util.args.FileBasedArgument;
@@ -158,6 +161,18 @@
*/
protected BooleanArgument startTLSArg = null;
+ /** Short form of the option for specifying a noninteractive session. */
+ static public final Character INTERACTIVE_OPTION_SHORT = 'i';
+
+ /** Long form of the option for specifying a noninteractive session. */
+ static public final String SILENT_OPTION_LONG = "silent";
+
+ /** Long form of the option for specifying a noninteractive session. */
+ static public final String INTERACTIVE_OPTION_LONG = "interactive";
+
+ /** Short form of the option for specifying a noninteractive session. */
+ static public final Character SILENT_OPTION_SHORT = 's';
+
/**
* The tracer object for the debug logger.
*/
@@ -212,7 +227,6 @@
}
}
-
/**
* Get the password which has to be used for the command.
*
@@ -224,14 +238,20 @@
* @param err
* The error stream to used if we have to prompt to the
* user.
+ * @param clearArg
+ * The password StringArgument argument.
+ * @param fileArg
+ * The password FileBased argument.
* @return The password stored into the specified file on by the
* command line argument, or prompts it if not specified.
*/
- public String getBindPassword(String dn, OutputStream out, OutputStream err)
+ protected String getBindPassword(String dn,
+ OutputStream out, OutputStream err, StringArgument clearArg,
+ FileBasedArgument fileArg)
{
- if (bindPasswordArg.isPresent())
+ if (clearArg.isPresent())
{
- String bindPasswordValue = bindPasswordArg.getValue();
+ String bindPasswordValue = clearArg.getValue();
if(bindPasswordValue != null && bindPasswordValue.equals("-"))
{
// read the password from the stdin.
@@ -260,9 +280,9 @@
return bindPasswordValue;
}
else
- if (bindPasswordFileArg.isPresent())
+ if (fileArg.isPresent())
{
- return bindPasswordFileArg.getValue();
+ return fileArg.getValue();
}
else
{
@@ -291,6 +311,57 @@
return null;
}
}
+
+ }
+
+ /**
+ * Get the password which has to be used for the command.
+ *
+ * @param dn
+ * The user DN for which to password could be asked.
+ * @param out
+ * The input stream to used if we have to prompt to the
+ * user.
+ * @param err
+ * The error stream to used if we have to prompt to the
+ * user.
+ * @return The password stored into the specified file on by the
+ * command line argument, or prompts it if not specified.
+ */
+ public String getBindPassword(String dn, OutputStream out, OutputStream err)
+ {
+ return getBindPassword(dn, out, err, bindPasswordArg, bindPasswordFileArg);
+ }
+
+ /**
+ * Get the password which has to be used for the command without prompting
+ * the user. If no password was specified, return null.
+ *
+ * @param clearArg
+ * The password StringArgument argument.
+ * @param fileArg
+ * The password FileBased argument.
+ * @return The password stored into the specified file on by the
+ * command line argument, or null it if not specified.
+ */
+ public String getBindPassword(StringArgument clearArg,
+ FileBasedArgument fileArg)
+ {
+ String pwd;
+ if (clearArg.isPresent())
+ {
+ pwd = clearArg.getValue();
+ }
+ else
+ if (fileArg.isPresent())
+ {
+ pwd = fileArg.getValue();
+ }
+ else
+ {
+ pwd = null;
+ }
+ return pwd;
}
/**
@@ -302,21 +373,7 @@
*/
public String getBindPassword()
{
- String pwd;
- if (bindPasswordArg.isPresent())
- {
- pwd = bindPasswordArg.getValue();
- }
- else
- if (bindPasswordFileArg.isPresent())
- {
- pwd = bindPasswordFileArg.getValue();
- }
- else
- {
- pwd = null;
- }
- return pwd;
+ return getBindPassword(bindPasswordArg, bindPasswordFileArg);
}
/**
@@ -327,98 +384,118 @@
* @throws ArgumentException
* If there is a problem with any of the parameters used
* to create this argument.
+ * @return a ArrayList with the options created.
*/
- protected void initializeGlobalOption(OutputStream outStream)
+ protected LinkedHashSet<Argument> createGlobalArguments(
+ OutputStream outStream)
throws ArgumentException
{
+ LinkedHashSet<Argument> set = new LinkedHashSet<Argument>();
showUsageArg = new BooleanArgument("showUsage", OPTION_SHORT_HELP,
OPTION_LONG_HELP, INFO_DESCRIPTION_SHOWUSAGE.get());
- addGlobalArgument(showUsageArg);
setUsageArgument(showUsageArg, outStream);
+ set.add(showUsageArg);
useSSLArg = new BooleanArgument("useSSL", OPTION_SHORT_USE_SSL,
OPTION_LONG_USE_SSL, INFO_DESCRIPTION_USE_SSL.get());
- addGlobalArgument(useSSLArg);
+ set.add(useSSLArg);
startTLSArg = new BooleanArgument("startTLS", OPTION_SHORT_START_TLS,
OPTION_LONG_START_TLS,
INFO_DESCRIPTION_START_TLS.get());
- addGlobalArgument(startTLSArg);
+ set.add(startTLSArg);
hostNameArg = new StringArgument("host", OPTION_SHORT_HOST,
OPTION_LONG_HOST, false, false, true, OPTION_VALUE_HOST, "localhost",
null, INFO_DESCRIPTION_HOST.get());
- addGlobalArgument(hostNameArg);
+ set.add(hostNameArg);
portArg = new IntegerArgument("port", OPTION_SHORT_PORT, OPTION_LONG_PORT,
false, false, true, OPTION_VALUE_PORT, 389, null,
INFO_DESCRIPTION_PORT.get());
- addGlobalArgument(portArg);
+ set.add(portArg);
bindDnArg = new StringArgument("bindDN", OPTION_SHORT_BINDDN,
OPTION_LONG_BINDDN, false, false, true, OPTION_VALUE_BINDDN,
"cn=Directory Manager", null, INFO_DESCRIPTION_BINDDN.get());
- addGlobalArgument(bindDnArg);
+ set.add(bindDnArg);
bindPasswordArg = new StringArgument("bindPassword",
OPTION_SHORT_BINDPWD, OPTION_LONG_BINDPWD, false, false, true,
OPTION_VALUE_BINDPWD, null, null, INFO_DESCRIPTION_BINDPASSWORD.get());
- addGlobalArgument(bindPasswordArg);
+ set.add(bindPasswordArg);
bindPasswordFileArg = new FileBasedArgument("bindPasswordFile",
OPTION_SHORT_BINDPWD_FILE, OPTION_LONG_BINDPWD_FILE, false, false,
OPTION_VALUE_BINDPWD_FILE, null, null,
INFO_DESCRIPTION_BINDPASSWORDFILE.get());
- addGlobalArgument(bindPasswordFileArg);
+ set.add(bindPasswordFileArg);
trustAllArg = new BooleanArgument("trustAll", 'X', "trustAll",
INFO_DESCRIPTION_TRUSTALL.get());
- addGlobalArgument(trustAllArg);
+ set.add(trustAllArg);
trustStorePathArg = new StringArgument("trustStorePath",
OPTION_SHORT_TRUSTSTOREPATH, OPTION_LONG_TRUSTSTOREPATH, false,
false, true, OPTION_VALUE_TRUSTSTOREPATH, null, null,
INFO_DESCRIPTION_TRUSTSTOREPATH.get());
- addGlobalArgument(trustStorePathArg);
+ set.add(trustStorePathArg);
trustStorePasswordArg = new StringArgument("trustStorePassword", null,
OPTION_LONG_TRUSTSTORE_PWD, false, false, true,
OPTION_VALUE_TRUSTSTORE_PWD, null, null,
INFO_DESCRIPTION_TRUSTSTOREPASSWORD.get());
- addGlobalArgument(trustStorePasswordArg);
+ set.add(trustStorePasswordArg);
trustStorePasswordFileArg = new FileBasedArgument("truststorepasswordfile",
OPTION_SHORT_TRUSTSTORE_PWD_FILE, OPTION_LONG_TRUSTSTORE_PWD_FILE,
false, false, OPTION_VALUE_TRUSTSTORE_PWD_FILE, null, null,
INFO_DESCRIPTION_TRUSTSTOREPASSWORD_FILE.get());
- addGlobalArgument(trustStorePasswordFileArg);
+ set.add(trustStorePasswordFileArg);
keyStorePathArg = new StringArgument("keyStorePath",
OPTION_SHORT_KEYSTOREPATH, OPTION_LONG_KEYSTOREPATH, false, false,
true, OPTION_VALUE_KEYSTOREPATH, null, null,
INFO_DESCRIPTION_KEYSTOREPATH.get());
- addGlobalArgument(keyStorePathArg);
+ set.add(keyStorePathArg);
keyStorePasswordArg = new StringArgument("keyStorePassword", null,
OPTION_LONG_KEYSTORE_PWD, false, false, true,
OPTION_VALUE_KEYSTORE_PWD, null, null,
INFO_DESCRIPTION_KEYSTOREPASSWORD.get());
- addGlobalArgument(keyStorePasswordArg);
+ set.add(keyStorePasswordArg);
keyStorePasswordFileArg = new FileBasedArgument("keystorepasswordfile",
OPTION_SHORT_KEYSTORE_PWD_FILE, OPTION_LONG_KEYSTORE_PWD_FILE, false,
false, OPTION_VALUE_KEYSTORE_PWD_FILE, null, null,
INFO_DESCRIPTION_KEYSTOREPASSWORD_FILE.get());
- addGlobalArgument(keyStorePasswordFileArg);
+ set.add(keyStorePasswordFileArg);
certNicknameArg = new StringArgument("certnickname", 'N', "certNickname",
false, false, true, "{nickname}", null, null,
INFO_DESCRIPTION_CERT_NICKNAME.get());
- addGlobalArgument(certNicknameArg);
+ set.add(certNicknameArg);
verboseArg = new BooleanArgument("verbose", 'v', "verbose",
INFO_DESCRIPTION_VERBOSE.get());
- addGlobalArgument(verboseArg);
+ set.add(verboseArg);
+
+ return set;
+ }
+
+ /**
+ * Initialize the global options with the provided set of arguments.
+ * @param args the arguments to use to initialize the global options.
+ * @throws ArgumentException if there is a conflict with the provided
+ * arguments.
+ */
+ protected void initializeGlobalArguments(Collection<Argument> args)
+ throws ArgumentException
+ {
+ for (Argument arg : args)
+ {
+ addGlobalArgument(arg);
+ }
}
/**
@@ -463,7 +540,7 @@
* @param buf the MessageBuilder to write the error messages.
* @return return code.
*/
- public int validateGlobalOption(MessageBuilder buf)
+ public int validateGlobalOptions(MessageBuilder buf)
{
ArrayList<Message> errors = new ArrayList<Message>();
// Couldn't have at the same time bindPassword and bindPasswordFile
@@ -536,10 +613,10 @@
* @param err the stream to be used to print error message.
* @return return code.
*/
- public int validateGlobalOption(PrintStream err)
+ public int validateGlobalOptions(PrintStream err)
{
MessageBuilder buf = new MessageBuilder();
- int returnValue = validateGlobalOption(buf);
+ int returnValue = validateGlobalOptions(buf);
if (buf.length() > 0)
{
err.println(wrapText(buf.toString(), MAX_LINE_WIDTH));
--
Gitblit v1.10.0