From f5ef017da469ddbc44d8cd4edce836a564f46ef2 Mon Sep 17 00:00:00 2001
From: lutoff <lutoff@localhost>
Date: Thu, 20 Sep 2007 14:35:30 +0000
Subject: [PATCH] Fix for issue #582 (Need Client-Side Configuration File)
---
opends/src/server/org/opends/server/tools/dsconfig/DSConfig.java | 29 +++++++++++++++++++++++++++++
1 files changed, 29 insertions(+), 0 deletions(-)
diff --git a/opends/src/server/org/opends/server/tools/dsconfig/DSConfig.java b/opends/src/server/org/opends/server/tools/dsconfig/DSConfig.java
index 4d17710..a83a43a 100644
--- a/opends/src/server/org/opends/server/tools/dsconfig/DSConfig.java
+++ b/opends/src/server/org/opends/server/tools/dsconfig/DSConfig.java
@@ -63,6 +63,7 @@
import org.opends.server.util.StaticUtils;
import org.opends.server.util.args.ArgumentException;
import org.opends.server.util.args.BooleanArgument;
+import org.opends.server.util.args.StringArgument;
import org.opends.server.util.args.SubCommand;
import org.opends.server.util.args.SubCommandArgumentParser;
import org.opends.server.util.cli.CLIException;
@@ -364,7 +365,12 @@
// The argument which should be used to request verbose output.
private BooleanArgument verboseArgument;
+ // The argument which should be used to indicate the properties file.
+ private StringArgument propertiesFileArgument;
+ // The argument which should be used to indicate that we will not look for
+ // properties file.
+ private BooleanArgument noPropertiesFileArgument;
/**
* Creates a new dsconfig application instance.
@@ -515,6 +521,15 @@
OPTION_LONG_HELP, INFO_DSCFG_DESCRIPTION_SHOW_GROUP_USAGE_SUMMARY
.get());
+ propertiesFileArgument = new StringArgument("propertieFilePath",
+ null, OPTION_LONG_PROP_FILE_PATH,
+ false, false, true, OPTION_VALUE_PROP_FILE_PATH, null, null,
+ INFO_DESCRIPTION_PROP_FILE_PATH.get());
+
+ noPropertiesFileArgument = new BooleanArgument(
+ "noPropertiesFileArgument", null, OPTION_LONG_NO_PROP_FILE,
+ INFO_DESCRIPTION_NO_PROP_FILE.get());
+
// Register the global arguments.
parser.addGlobalArgument(showUsageArgument);
parser.setUsageArgument(showUsageArgument, getOutputStream());
@@ -523,6 +538,10 @@
parser.addGlobalArgument(scriptFriendlyArgument);
parser.addGlobalArgument(noPromptArgument);
parser.addGlobalArgument(advancedModeArgument);
+ parser.addGlobalArgument(propertiesFileArgument);
+ parser.setFilePropertiesArgument(propertiesFileArgument);
+ parser.addGlobalArgument(noPropertiesFileArgument);
+ parser.setNoPropertiesFileArgument(noPropertiesFileArgument);
// Register any global arguments required by the management
// context factory.
@@ -659,6 +678,16 @@
return 1;
}
+ if (noPropertiesFileArgument.isPresent()
+ && propertiesFileArgument.isPresent())
+ {
+ Message message = ERR_TOOL_CONFLICTING_ARGS.get(
+ noPropertiesFileArgument.getLongIdentifier(),
+ propertiesFileArgument.getLongIdentifier());
+ displayMessageAndUsageReference(message);
+ return 1;
+ }
+
// Make sure that management context's arguments are valid.
try {
factory.validateGlobalArguments();
--
Gitblit v1.10.0