From 9e4f312fe9c0820638503b40b5fcbb6571e23354 Mon Sep 17 00:00:00 2001
From: matthew_swift <matthew_swift@localhost>
Date: Fri, 27 Jul 2007 17:29:33 +0000
Subject: [PATCH] Partial 95% fix for issue 1831 - dsconfig interactive mode.
---
opends/src/server/org/opends/server/tools/dsconfig/SetPropSubCommandHandler.java | 35 +++++++++++++++++++++++++++++++++++
1 files changed, 35 insertions(+), 0 deletions(-)
diff --git a/opends/src/server/org/opends/server/tools/dsconfig/SetPropSubCommandHandler.java b/opends/src/server/org/opends/server/tools/dsconfig/SetPropSubCommandHandler.java
index 7a99ff4..46ceafa 100644
--- a/opends/src/server/org/opends/server/tools/dsconfig/SetPropSubCommandHandler.java
+++ b/opends/src/server/org/opends/server/tools/dsconfig/SetPropSubCommandHandler.java
@@ -35,6 +35,7 @@
import java.util.List;
import java.util.Map;
import java.util.Set;
+import java.util.SortedSet;
import java.util.TreeSet;
import org.opends.server.admin.DefinitionDecodingException;
@@ -250,6 +251,10 @@
// Create the naming arguments.
this.namingArgs = createNamingArgs(subCommand, path, false);
+ // Register common arguments.
+ registerAdvancedModeArgument(this.subCommand,
+ MSGID_DSCFG_DESCRIPTION_ADVANCED_SET, r.getUserFriendlyName());
+
// Create the --set argument.
this.propertySetArgument = new StringArgument(OPTION_DSCFG_LONG_SET,
OPTION_DSCFG_SHORT_SET, OPTION_DSCFG_LONG_SET, false, true, true,
@@ -494,6 +499,36 @@
}
}
+ // Interactively set properties if applicable.
+ if (getConsoleApplication().isInteractive()) {
+ SortedSet<PropertyDefinition<?>> properties =
+ new TreeSet<PropertyDefinition<?>>();
+
+ for (PropertyDefinition<?> pd : d.getAllPropertyDefinitions()) {
+ if (pd.hasOption(PropertyOption.HIDDEN)) {
+ continue;
+ }
+
+ if (pd.hasOption(PropertyOption.READ_ONLY)) {
+ continue;
+ }
+
+ if (pd.hasOption(PropertyOption.MONITORING)) {
+ continue;
+ }
+
+ if (!isAdvancedMode() && pd.hasOption(PropertyOption.ADVANCED)) {
+ continue;
+ }
+
+ properties.add(pd);
+ }
+
+ PropertyValueReader reader =
+ new PropertyValueReader(getConsoleApplication());
+ reader.readAll(child, properties);
+ }
+
try {
// Confirm commit.
String prompt = String.format(Messages.getString("modify.confirm"), d
--
Gitblit v1.10.0