From 64a1c1e6aeaace87ba336573c3a7aaa12a88ab4b Mon Sep 17 00:00:00 2001
From: Jean-Noel Rouvignac <jean-noel.rouvignac@forgerock.com>
Date: Wed, 11 Dec 2013 15:03:48 +0000
Subject: [PATCH] Code cleanups
---
opendj-sdk/opends/src/server/org/opends/server/util/args/Argument.java | 21 -
opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/tools/dsconfig/DsconfigOptionsTestCase.java | 65 ++----
opendj-sdk/opends/src/server/org/opends/server/tools/dsconfig/SetPropSubCommandHandler.java | 198 +++++++++------------
opendj-sdk/opends/src/server/org/opends/server/util/args/SubCommandArgumentParser.java | 74 -------
opendj-sdk/opends/src/server/org/opends/server/util/args/ArgumentParser.java | 180 +++++--------------
5 files changed, 178 insertions(+), 360 deletions(-)
diff --git a/opendj-sdk/opends/src/server/org/opends/server/tools/dsconfig/SetPropSubCommandHandler.java b/opendj-sdk/opends/src/server/org/opends/server/tools/dsconfig/SetPropSubCommandHandler.java
index be817f2..e786696 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/tools/dsconfig/SetPropSubCommandHandler.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/tools/dsconfig/SetPropSubCommandHandler.java
@@ -23,13 +23,11 @@
*
*
* Copyright 2007-2010 Sun Microsystems, Inc.
- * Portions Copyright 2011 ForgeRock AS
+ * Portions Copyright 2011-2013 ForgeRock AS
* Portions Copyright 2012 profiq, s.r.o.
*/
package org.opends.server.tools.dsconfig;
-
-
import static org.opends.messages.DSConfigMessages.*;
import static org.opends.messages.ToolMessages.*;
import static org.opends.server.tools.dsconfig.ArgumentExceptionFactory.*;
@@ -80,7 +78,7 @@
import org.opends.server.util.cli.ConsoleApplication;
import org.opends.server.util.cli.MenuResult;
-
+import com.forgerock.opendj.util.Pair;
/**
* A sub-command handler which is used to modify the properties of a
@@ -382,8 +380,9 @@
- // Check that any referenced components are enabled if
- // required.
+ /**
+ * Check that any referenced components are enabled if required.
+ */
private static MenuResult<Void> checkReferences(ConsoleApplication app,
ManagementContext context, ManagedObject<?> mo,
SubCommandHandler handler) throws ClientException,
@@ -586,34 +585,42 @@
- // The sub-commands naming arguments.
+ /** The sub-commands naming arguments. */
private final List<StringArgument> namingArgs;
- // The path of the managed object.
+ /** The path of the managed object. */
private final ManagedObjectPath<?, ?> path;
- // The argument which should be used to specify zero or more
- // property value adds.
+ /**
+ * The argument which should be used to specify zero or more property value
+ * adds.
+ */
private final StringArgument propertyAddArgument;
- // The argument which should be used to specify zero or more
- // property value removes.
+ /**
+ * The argument which should be used to specify zero or more property value
+ * removes.
+ */
private final StringArgument propertyRemoveArgument;
- // The argument which should be used to specify zero or more
- // property value resets.
+ /**
+ * The argument which should be used to specify zero or more property value
+ * resets.
+ */
private final StringArgument propertyResetArgument;
- // The argument which should be used to specify zero or more
- // property value assignments.
+ /**
+ * The argument which should be used to specify zero or more property value
+ * assignments.
+ */
private final StringArgument propertySetArgument;
- // The sub-command associated with this handler.
+ /** The sub-command associated with this handler. */
private final SubCommand subCommand;
- // Private constructor.
+ /** Private constructor. */
private SetPropSubCommandHandler(
SubCommandArgumentParser parser, ManagedObjectPath<?, ?> path,
RelationDefinition<?, ?> r) throws ArgumentException {
@@ -670,24 +677,21 @@
* @return Returns the relation definition associated with the type
* of component that this sub-command handles.
*/
+ @Override
public RelationDefinition<?, ?> getRelationDefinition() {
return path.getRelationDefinition();
}
- /**
- * {@inheritDoc}
- */
+ /** {@inheritDoc} */
@Override
public SubCommand getSubCommand() {
return subCommand;
}
- /**
- * {@inheritDoc}
- */
+ /** {@inheritDoc} */
@SuppressWarnings("unchecked")
@Override
public MenuResult<Integer> run(ConsoleApplication app,
@@ -775,22 +779,15 @@
OPTION_DSCFG_LONG_RESET);
}
- // Check the property definition.
- PropertyDefinition<?> pd;
- try {
- pd = d.getPropertyDefinition(m);
- } catch (IllegalArgumentException e) {
- throw ArgumentExceptionFactory.unknownProperty(d, m);
- }
+ PropertyDefinition<?> pd = getPropertyDefinition(d, m);
- // Mandatory properties which have no defined defaults cannot be
- // reset.
- if (pd.hasOption(PropertyOption.MANDATORY)) {
- if (pd.getDefaultBehaviorProvider()
- instanceof UndefinedDefaultBehaviorProvider) {
- throw ArgumentExceptionFactory.unableToResetMandatoryProperty(d, m,
- OPTION_DSCFG_LONG_SET);
- }
+ // Mandatory properties which have no defined defaults cannot be reset.
+ if (pd.hasOption(PropertyOption.MANDATORY)
+ && pd.getDefaultBehaviorProvider()
+ instanceof UndefinedDefaultBehaviorProvider)
+ {
+ throw ArgumentExceptionFactory.unableToResetMandatoryProperty(d, m,
+ OPTION_DSCFG_LONG_SET);
}
// Save the modification type.
@@ -802,30 +799,11 @@
// Set properties.
for (String m : propertySetArgument.getValues()) {
- // Parse the property "property:value".
- int sep = m.indexOf(':');
+ Pair<String, String> pair = parseValue(m);
+ String propertyName = pair.getFirst();
+ String value = pair.getSecond();
- if (sep < 0) {
- throw ArgumentExceptionFactory.missingSeparatorInPropertyArgument(m);
- }
-
- if (sep == 0) {
- throw ArgumentExceptionFactory.missingNameInPropertyArgument(m);
- }
-
- String propertyName = m.substring(0, sep);
- String value = m.substring(sep + 1, m.length());
- if (value.length() == 0) {
- throw ArgumentExceptionFactory.missingValueInPropertyArgument(m);
- }
-
- // Check the property definition.
- PropertyDefinition<?> pd;
- try {
- pd = d.getPropertyDefinition(propertyName);
- } catch (IllegalArgumentException e) {
- throw ArgumentExceptionFactory.unknownProperty(d, propertyName);
- }
+ PropertyDefinition<?> pd = getPropertyDefinition(d, propertyName);
// Apply the modification.
if (lastModTypes.containsKey(propertyName)) {
@@ -838,34 +816,15 @@
// Remove properties.
for (String m : propertyRemoveArgument.getValues()) {
- // Parse the property "property:value".
- int sep = m.indexOf(':');
+ Pair<String, String> pair = parseValue(m);
+ String propertyName = pair.getFirst();
+ String value = pair.getSecond();
- if (sep < 0) {
- throw ArgumentExceptionFactory.missingSeparatorInPropertyArgument(m);
- }
-
- if (sep == 0) {
- throw ArgumentExceptionFactory.missingNameInPropertyArgument(m);
- }
-
- String propertyName = m.substring(0, sep);
- String value = m.substring(sep + 1, m.length());
- if (value.length() == 0) {
- throw ArgumentExceptionFactory.missingValueInPropertyArgument(m);
- }
-
- // Check the property definition.
- PropertyDefinition<?> pd;
- try {
- pd = d.getPropertyDefinition(propertyName);
- } catch (IllegalArgumentException e) {
- throw ArgumentExceptionFactory.unknownProperty(d, propertyName);
- }
+ PropertyDefinition<?> pd = getPropertyDefinition(d, propertyName);
// Apply the modification.
- if (lastModTypes.containsKey(propertyName) &&
- (lastModTypes.get(propertyName) == ModificationType.SET)) {
+ if (lastModTypes.containsKey(propertyName)
+ && lastModTypes.get(propertyName) == ModificationType.SET) {
throw ArgumentExceptionFactory.incompatiblePropertyModification(m);
}
@@ -875,34 +834,15 @@
// Add properties.
for (String m : propertyAddArgument.getValues()) {
- // Parse the property "property:value".
- int sep = m.indexOf(':');
+ Pair<String, String> pair = parseValue(m);
+ String propertyName = pair.getFirst();
+ String value = pair.getSecond();
- if (sep < 0) {
- throw ArgumentExceptionFactory.missingSeparatorInPropertyArgument(m);
- }
-
- if (sep == 0) {
- throw ArgumentExceptionFactory.missingNameInPropertyArgument(m);
- }
-
- String propertyName = m.substring(0, sep);
- String value = m.substring(sep + 1, m.length());
- if (value.length() == 0) {
- throw ArgumentExceptionFactory.missingValueInPropertyArgument(m);
- }
-
- // Check the property definition.
- PropertyDefinition<?> pd;
- try {
- pd = d.getPropertyDefinition(propertyName);
- } catch (IllegalArgumentException e) {
- throw ArgumentExceptionFactory.unknownProperty(d, propertyName);
- }
+ PropertyDefinition<?> pd = getPropertyDefinition(d, propertyName);
// Apply the modification.
- if (lastModTypes.containsKey(propertyName) &&
- (lastModTypes.get(propertyName) == ModificationType.SET)) {
+ if (lastModTypes.containsKey(propertyName)
+ && lastModTypes.get(propertyName) == ModificationType.SET) {
throw ArgumentExceptionFactory.incompatiblePropertyModification(m);
}
@@ -948,8 +888,38 @@
}
}
+ /** Parse and check the property "property:value". */
+ private Pair<String, String> parseValue(String m) throws ArgumentException
+ {
+ int sep = m.indexOf(':');
+ if (sep < 0) {
+ throw ArgumentExceptionFactory.missingSeparatorInPropertyArgument(m);
+ }
+ if (sep == 0) {
+ throw ArgumentExceptionFactory.missingNameInPropertyArgument(m);
+ }
- // Apply a single modification to the current change-set.
+ String propertyName = m.substring(0, sep);
+ String value = m.substring(sep + 1, m.length());
+ if (value.length() == 0) {
+ throw ArgumentExceptionFactory.missingValueInPropertyArgument(m);
+ }
+ return Pair.of(propertyName, value);
+ }
+
+ /** Get and check the property definition. */
+ private PropertyDefinition<?> getPropertyDefinition(
+ ManagedObjectDefinition<?, ?> def, String propertyName)
+ throws ArgumentException
+ {
+ try {
+ return def.getPropertyDefinition(propertyName);
+ } catch (IllegalArgumentException e) {
+ throw ArgumentExceptionFactory.unknownProperty(def, propertyName);
+ }
+ }
+
+ /** Apply a single modification to the current change-set. */
@SuppressWarnings("unchecked")
private <T> void modifyPropertyValues(ManagedObject<?> mo,
PropertyDefinition<T> pd, Map<PropertyDefinition, Set> changes,
@@ -976,7 +946,7 @@
values.add(value);
break;
case REMOVE:
- if (values.remove(value) != true) {
+ if (!values.remove(value)) {
// value was not part of values
throw ArgumentExceptionFactory.
unknownValueForMultiValuedProperty(s, pd.getName());
diff --git a/opendj-sdk/opends/src/server/org/opends/server/util/args/Argument.java b/opendj-sdk/opends/src/server/org/opends/server/util/args/Argument.java
index 9e6b254..518f7d8 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/util/args/Argument.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/util/args/Argument.java
@@ -72,7 +72,7 @@
/** The unique ID of the description for this argument. */
private Message description;
- /** The set of values for this argument. */
+ /** The set of provided values for this argument. */
private LinkedList<String> values;
/** The default value for the argument if none other is provided. */
@@ -89,7 +89,8 @@
/**
* The value placeholder for this argument, which will be used in usage
- * information.
+ * information. It describes the format that must be used to specify the
+ * values for this argument.
*/
private Message valuePlaceholder;
@@ -692,19 +693,11 @@
sb.append("--").append(longIdentifier);
}
}
- if (isRequired)
- {
- sb.append(", required");
- }
- if (isMultiValued)
- {
- sb.append(", multiValued");
- }
- if (needsValue)
- {
- sb.append(", needsValue");
- }
+ sb.append(", ").append(isRequired ? "required" : "optional");
+ sb.append(", ").append(isMultiValued ? "multiValued" : "singleValued");
sb.append(", defaultValue=\"").append(defaultValue)
+ .append("\", valueFormat=\"").append(valuePlaceholder)
+ .append("\", providedValues=\"").append(values)
.append("\", description=\"").append(description)
.append("\"]");
return sb.toString();
diff --git a/opendj-sdk/opends/src/server/org/opends/server/util/args/ArgumentParser.java b/opendj-sdk/opends/src/server/org/opends/server/util/args/ArgumentParser.java
index e9b6887..31ba310 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/util/args/ArgumentParser.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/util/args/ArgumentParser.java
@@ -763,56 +763,6 @@
parseArguments(rawArguments, null);
}
-
-
- /**
- * Parses the provided set of arguments and updates the information associated
- * with this parser accordingly. Default values for unspecified arguments
- * may be read from the specified properties file.
- *
- * @param rawArguments The set of raw arguments to parse.
- * @param propertiesFile The path to the properties file to use to
- * obtain default values for unspecified
- * properties.
- * @param requirePropertiesFile Indicates whether the parsing should fail if
- * the provided properties file does not exist
- * or is not accessible.
- *
- * @throws ArgumentException If a problem was encountered while parsing the
- * provided arguments or interacting with the
- * properties file.
- */
- public void parseArguments(String[] rawArguments, String propertiesFile,
- boolean requirePropertiesFile)
- throws ArgumentException
- {
- this.rawArguments = rawArguments;
-
- Properties argumentProperties = null;
-
- try
- {
- Properties p = new Properties();
- FileInputStream fis = new FileInputStream(propertiesFile);
- p.load(fis);
- fis.close();
- argumentProperties = p;
- }
- catch (Exception e)
- {
- if (requirePropertiesFile)
- {
- Message message = ERR_ARGPARSER_CANNOT_READ_PROPERTIES_FILE.get(
- String.valueOf(propertiesFile), getExceptionMessage(e));
- throw new ArgumentException(message, e);
- }
- }
-
- parseArguments(rawArguments, argumentProperties);
- }
-
-
-
/**
* Parses the provided set of arguments and updates the information associated
* with this parser accordingly. Default values for unspecified arguments may
@@ -1362,10 +1312,7 @@
{
return f.getAbsolutePath();
}
- else
- {
- return null;
- }
+ return null;
}
/**
@@ -1538,12 +1485,10 @@
* The buffer to which the usage information should be
* appended.
*/
- private void printArgumentUsage(Argument a, StringBuilder buffer)
+ private void printArgumentUsage(Argument a, StringBuilder buffer)
{
- // Write a line with the short and/or long identifiers that may be
- // used
- // for the argument.
- final int indentLength = INDENT.length();
+ // Write a line with the short and/or long identifiers that may be
+ // used for the argument.
Character shortID = a.getShortIdentifier();
String longID = a.getLongIdentifier();
if (shortID != null)
@@ -1609,50 +1554,59 @@
}
- // Write one or more lines with the description of the argument.
- // We will
- // indent the description five characters and try our best to wrap
- // at or
- // before column 79 so it will be friendly to 80-column displays.
- Message description = a.getDescription();
- int descMaxLength = MAX_LENGTH - indentLength - 1;
- if (description.length() <= descMaxLength)
+ indentAndWrap(INDENT, a.getDescription(), buffer);
+ if (a.needsValue()
+ && a.getDefaultValue() != null
+ && a.getDefaultValue().length() > 0)
{
- buffer.append(INDENT);
- buffer.append(description);
+ indentAndWrap(INDENT, INFO_ARGPARSER_USAGE_DEFAULT_VALUE.get(a
+ .getDefaultValue()), buffer);
+ }
+ }
+
+ /**
+ * Write one or more lines with the description of the argument. We will
+ * indent the description five characters and try our best to wrap at or
+ * before column 79 so it will be friendly to 80-column displays.
+ */
+ private void indentAndWrap(String indent, Message text, StringBuilder buffer)
+ {
+ int actualSize = MAX_LENGTH - indent.length() - 1;
+ if (text.length() <= actualSize)
+ {
+ buffer.append(indent);
+ buffer.append(text);
buffer.append(EOL);
}
else
{
- String s = description.toString();
- while (s.length() > descMaxLength)
+ String s = text.toString();
+ while (s.length() > actualSize)
{
- int spacePos = s.lastIndexOf(' ', descMaxLength);
+ int spacePos = s.lastIndexOf(' ', actualSize);
if (spacePos > 0)
{
- buffer.append(INDENT);
+ buffer.append(indent);
buffer.append(s.substring(0, spacePos).trim());
- s = s.substring(spacePos+1).trim();
+ s = s.substring(spacePos + 1).trim();
buffer.append(EOL);
}
else
{
- // There are no spaces in the first 74 columns. See if there
- // is one
- // after that point. If so, then break there. If not, then
- // don't
- // break at all.
+ // There are no spaces in the first 74 columns.
+ // See if there is one after that point.
+ // If so, then break there. If not, then don't break at all.
spacePos = s.indexOf(' ');
if (spacePos > 0)
{
- buffer.append(INDENT);
+ buffer.append(indent);
buffer.append(s.substring(0, spacePos).trim());
- s = s.substring(spacePos+1).trim();
+ s = s.substring(spacePos + 1).trim();
buffer.append(EOL);
}
else
{
- buffer.append(INDENT);
+ buffer.append(indent);
buffer.append(s);
s = "";
buffer.append(EOL);
@@ -1662,21 +1616,11 @@
if (s.length() > 0)
{
- buffer.append(INDENT);
+ buffer.append(indent);
buffer.append(s);
buffer.append(EOL);
}
}
-
- if (a.needsValue()
- && a.getDefaultValue() != null
- && a.getDefaultValue().length() > 0)
- {
- buffer.append(INDENT);
- buffer.append(INFO_ARGPARSER_USAGE_DEFAULT_VALUE.get(
- a.getDefaultValue()).toString());
- buffer.append(EOL);
- }
}
/**
@@ -1687,17 +1631,14 @@
* @return argument group appropriate for <code>argument</code>
*/
protected ArgumentGroup getStandardGroup(Argument argument) {
- ArgumentGroup group;
if (isInputOutputArgument(argument)) {
- group = ioArgGroup;
+ return ioArgGroup;
} else if (isGeneralArgument(argument)) {
- group = generalArgGroup;
+ return generalArgGroup;
} else if (isLdapConnectionArgument(argument)) {
- group = ldapArgGroup;
- } else {
- group = defaultArgGroup;
+ return ldapArgGroup;
}
- return group;
+ return defaultArgGroup;
}
/**
@@ -1740,10 +1681,9 @@
private boolean isInputOutputArgument(Argument arg) {
- boolean io = false;
if (arg != null) {
String longId = arg.getLongIdentifier();
- io = OPTION_LONG_VERBOSE.equals(longId) ||
+ return OPTION_LONG_VERBOSE.equals(longId) ||
OPTION_LONG_QUIET.equals(longId) ||
OPTION_LONG_NO_PROMPT.equals(longId) ||
OPTION_LONG_PROP_FILE_PATH.equals(longId) ||
@@ -1755,14 +1695,13 @@
OPTION_LONG_EQUIVALENT_COMMAND_FILE_PATH.equals(longId) ||
OPTION_LONG_BATCH_FILE_PATH.equals(longId);
}
- return io;
+ return false;
}
private boolean isLdapConnectionArgument(Argument arg) {
- boolean ldap = false;
if (arg != null) {
String longId = arg.getLongIdentifier();
- ldap = OPTION_LONG_USE_SSL.equals(longId) ||
+ return OPTION_LONG_USE_SSL.equals(longId) ||
OPTION_LONG_START_TLS.equals(longId) ||
OPTION_LONG_HOST.equals(longId) ||
OPTION_LONG_PORT.equals(longId) ||
@@ -1788,18 +1727,17 @@
OPTION_LONG_PROTOCOL_VERSION.equals(longId) ||
OPTION_LONG_CONNECT_TIMEOUT.equals(longId);
}
- return ldap;
+ return false;
}
private boolean isGeneralArgument(Argument arg) {
- boolean general = false;
if (arg != null) {
String longId = arg.getLongIdentifier();
- general = OPTION_LONG_HELP.equals(longId) ||
- OPTION_LONG_PRODUCT_VERSION.equals(longId);
+ return OPTION_LONG_HELP.equals(longId)
+ || OPTION_LONG_PRODUCT_VERSION.equals(longId);
}
- return general;
+ return false;
}
/**
@@ -1810,12 +1748,7 @@
*/
public boolean isUsageArgumentPresent()
{
- boolean isUsageArgumentPresent = false;
- if (usageArgument != null)
- {
- isUsageArgumentPresent = usageArgument.isPresent();
- }
- return isUsageArgumentPresent;
+ return usageArgument != null && usageArgument.isPresent();
}
/**
@@ -1845,21 +1778,14 @@
public static String getBindPassword(StringArgument clearArg,
FileBasedArgument fileArg)
{
- String pwd;
if (clearArg.isPresent())
{
- pwd = clearArg.getValue();
+ return clearArg.getValue();
}
- else
- if (fileArg.isPresent())
+ else if (fileArg.isPresent())
{
- pwd = fileArg.getValue();
+ return fileArg.getValue();
}
- else
- {
- pwd = null;
- }
- return pwd;
+ return null;
}
}
-
diff --git a/opendj-sdk/opends/src/server/org/opends/server/util/args/SubCommandArgumentParser.java b/opendj-sdk/opends/src/server/org/opends/server/util/args/SubCommandArgumentParser.java
index 61fff7e..b628d40 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/util/args/SubCommandArgumentParser.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/util/args/SubCommandArgumentParser.java
@@ -27,7 +27,6 @@
*/
package org.opends.server.util.args;
-import java.io.FileInputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.util.*;
@@ -672,57 +671,6 @@
parseArguments(rawArguments, null);
}
-
-
- /**
- * Parses the provided set of arguments and updates the information associated
- * with this parser accordingly. Default values for unspecified arguments
- * may be read from the specified properties file.
- *
- * @param rawArguments The set of raw arguments to parse.
- * @param propertiesFile The path to the properties file to use to
- * obtain default values for unspecified
- * properties.
- * @param requirePropertiesFile Indicates whether the parsing should fail if
- * the provided properties file does not exist
- * or is not accessible.
- *
- * @throws ArgumentException If a problem was encountered while parsing the
- * provided arguments or interacting with the
- * properties file.
- */
- @Override
- public void parseArguments(String[] rawArguments, String propertiesFile,
- boolean requirePropertiesFile)
- throws ArgumentException
- {
- this.rawArguments = rawArguments;
-
- Properties argumentProperties = null;
-
- try
- {
- Properties p = new Properties();
- FileInputStream fis = new FileInputStream(propertiesFile);
- p.load(fis);
- fis.close();
- argumentProperties = p;
- }
- catch (Exception e)
- {
- if (requirePropertiesFile)
- {
- Message message = ERR_SUBCMDPARSER_CANNOT_READ_PROPERTIES_FILE.get(
- String.valueOf(propertiesFile), getExceptionMessage(e));
- throw new ArgumentException(message, e);
- }
- }
-
- parseArguments(rawArguments, argumentProperties);
- }
-
-
-
/**
* Parses the provided set of arguments and updates the information associated
* with this parser accordingly. Default values for unspecified arguments may
@@ -819,7 +767,7 @@
{
if (subCommand == null)
{
- if (argName.equals("help"))
+ if (argName.equals(OPTION_LONG_HELP))
{
// "--help" will always be interpreted as requesting usage
// information.
@@ -850,7 +798,7 @@
a = subCommand.getArgument(argName);
if (a == null)
{
- if (argName.equals("help"))
+ if (argName.equals(OPTION_LONG_HELP))
{
// "--help" will always be interpreted as requesting usage
// information.
@@ -1401,8 +1349,8 @@
else
{
// There are no spaces in the first 74 columns.
- // See if there is one after that point. If so, then break there.
- // If not, then don't break at all.
+ // See if there is one after that point.
+ // If so, then break there. If not, then don't break at all.
spacePos = s.indexOf(' ');
if (spacePos > 0)
{
@@ -1430,8 +1378,6 @@
}
}
-
-
/**
* Retrieves a string containing usage information based on the defined
* arguments.
@@ -1765,8 +1711,8 @@
}
buffer.append(EOL);
- indentAndWrap(Message.raw(INDENT), a.getDescription(), buffer);
+ indentAndWrap(Message.raw(INDENT), a.getDescription(), buffer);
if (a.needsValue()
&& a.getDefaultValue() != null
&& a.getDefaultValue().length() > 0)
@@ -1810,8 +1756,8 @@
else
{
// There are no spaces in the first actualSize -1 columns.
- // See if there is one after that point. If so, then break there.
- // If not, then don't break at all.
+ // See if there is one after that point.
+ // If so, then break there. If not, then don't break at all.
spacePos = s.indexOf(' ');
if (spacePos > 0)
{
@@ -1860,11 +1806,7 @@
@Override
public boolean isVersionArgumentPresent()
{
- if (!super.isVersionArgumentPresent())
- {
- return versionPresent;
- }
- return true;
+ return super.isVersionArgumentPresent() && !versionPresent;
}
/**
diff --git a/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/tools/dsconfig/DsconfigOptionsTestCase.java b/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/tools/dsconfig/DsconfigOptionsTestCase.java
index 95ddc7f..a54aeb5 100644
--- a/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/tools/dsconfig/DsconfigOptionsTestCase.java
+++ b/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/tools/dsconfig/DsconfigOptionsTestCase.java
@@ -21,62 +21,49 @@
*
* CDDL HEADER END
*
- * Copyright 2011 ForgeRock AS
+ * Copyright 2011-2013 ForgeRock AS
*/
package org.opends.server.tools.dsconfig;
-
-
+import org.opends.server.DirectoryServerTestCase;
+import org.opends.server.TestCaseUtils;
import org.testng.annotations.AfterClass;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;
-import org.opends.server.TestCaseUtils;
-import org.opends.server.DirectoryServerTestCase;
+import static org.opends.server.admin.client.cli.DsFrameworkCliReturnCode.*;
import static org.testng.Assert.*;
-import static org.opends.server.admin.client.cli.DsFrameworkCliReturnCode.*;
-
-
-
/**
- * A set of test cases for the dsservice tool.
+ * A set of test cases for the dsconfig tool.
*/
+@SuppressWarnings("javadoc")
public class DsconfigOptionsTestCase extends DirectoryServerTestCase {
-
-
+
/**
* Ensures that the Directory Server is running and performs other necessary
* setup.
- *
- * @throws Exception If an unexpected problem occurs.
*/
@BeforeClass()
- public void before()
- throws Exception
+ public void before() throws Exception
{
TestCaseUtils.startServer();
}
/**
* Ensures ADS is removed.
- * @throws Exception If an unexpected problem occurs.
*/
@AfterClass()
- public void afterClass()
- throws Exception
+ public void afterClass() throws Exception
{
}
/**
* Tests that multiple "--set" option cannot be used with a singlevalued
* property
- *
- * @throws Exception If an unexpected problem occurs.
*/
@Test()
- public void testMultipleSetSingleValuedProperty()
- throws Exception
+ public void testMultipleSetSingleValuedProperty() throws Exception
{
String[] args =
{
@@ -89,22 +76,15 @@
"--set", "idle-time-limit:10000ms",
"--set", "idle-time-limit:1000ms"
};
-
- assertFalse(DSConfig.main(args, false, System.out, System.err)
- == SUCCESSFUL.getReturnCode());
-
-
+ assertTrue(dsconfigMain(args) != SUCCESSFUL.getReturnCode());
}
/**
* Tests that multiple "--set" option are allowed to be used with a multivalued
* property (see OPENDJ-255)
- *
- * @throws Exception If an unexpected problem occurs.
*/
@Test()
- public void testMultipleSetMultiValuedProperty()
- throws Exception
+ public void testMultipleSetMultiValuedProperty() throws Exception
{
String[] args =
{
@@ -117,16 +97,23 @@
"--no-prompt",
"--set", "denied-client:1.1.1.1",
"--set", "denied-client:2.2.2.2"
-
};
-
- assertEquals(DSConfig.main(args, false, System.out, System.err),
- SUCCESSFUL.getReturnCode());
-
-
+ assertEquals(dsconfigMain(args), SUCCESSFUL.getReturnCode());
}
+ public void testGenerateDoc() throws Exception
+ {
+ System.setProperty("org.forgerock.opendj.gendoc", "true");
+ String[] args = {
+ "--no-prompt",
+ "-?",
+ };
+ assertEquals(dsconfigMain(args), CANNOT_INITIALIZE_ARGS.getReturnCode());
+ }
+ private int dsconfigMain(String[] args)
+ {
+ return DSConfig.main(args, false, System.out, System.err);
+ }
}
-
--
Gitblit v1.10.0