From 8ef82ccef5a0835003f26d9f267840a122e54656 Mon Sep 17 00:00:00 2001
From: matthew_swift <matthew_swift@localhost>
Date: Mon, 22 Oct 2007 14:31:23 +0000
Subject: [PATCH] Fix issue 1931: dsconfig : what are MODE syntax values ?

---
 opendj-sdk/opends/src/server/org/opends/server/admin/PropertyDefinitionUsageBuilder.java   |   10 ++++
 opendj-sdk/opends/src/server/org/opends/server/tools/dsconfig/CreateSubCommandHandler.java |   16 ++++++-
 opendj-sdk/opends/src/messages/messages/dsconfig.properties                                |    2 
 opendj-sdk/opends/src/server/org/opends/server/tools/dsconfig/HelpSubCommandHandler.java   |    2 
 opendj-sdk/opends/src/server/org/opends/server/tools/dsconfig/PropertyValueEditor.java     |   31 +++++++++++----
 5 files changed, 46 insertions(+), 15 deletions(-)

diff --git a/opendj-sdk/opends/src/messages/messages/dsconfig.properties b/opendj-sdk/opends/src/messages/messages/dsconfig.properties
index 5dfdac8..10a46ac 100644
--- a/opendj-sdk/opends/src/messages/messages/dsconfig.properties
+++ b/opendj-sdk/opends/src/messages/messages/dsconfig.properties
@@ -321,7 +321,7 @@
 INFO_VALUE_UNLIMITED_1293=unlimited
 INFO_EDITOR_PROMPT_SELECT_VALUE_SINGLE_1294=Select a value for the "%s" property:
 INFO_EDITOR_PROMPT_SELECT_VALUE_MULTI_1295=Select one or more values for the "%s" property:
-INFO_EDITOR_HEADING_SYNTAX_1296=Syntax: %s
+INFO_EDITOR_HEADING_SYNTAX_1296=Syntax:
 INFO_EDITOR_HEADING_VALUES_SUMMARY_1297=The "%s" property has the following values:
 INFO_EDITOR_PROMPT_SELECT_VALUES_ADD_1299=Select the values you wish to add:
 INFO_EDITOR_PROMPT_SELECT_VALUES_REMOVE_1302=Select the values you wish to remove:
diff --git a/opendj-sdk/opends/src/server/org/opends/server/admin/PropertyDefinitionUsageBuilder.java b/opendj-sdk/opends/src/server/org/opends/server/admin/PropertyDefinitionUsageBuilder.java
index 99c6810..e39fc2d 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/admin/PropertyDefinitionUsageBuilder.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/admin/PropertyDefinitionUsageBuilder.java
@@ -318,7 +318,15 @@
     @Override
     public Message visitString(StringPropertyDefinition d, Void p) {
       if (d.getPattern() != null) {
-        return Message.raw(d.getPatternUsage());
+        if (isDetailed) {
+          MessageBuilder builder = new MessageBuilder();
+          builder.append(d.getPatternUsage());
+          builder.append(" - ");
+          builder.append(d.getPatternSynopsis());
+          return builder.toMessage();
+        } else {
+          return Message.raw(d.getPatternUsage());
+        }
       } else {
         return Message.raw("STRING");
       }
diff --git a/opendj-sdk/opends/src/server/org/opends/server/tools/dsconfig/CreateSubCommandHandler.java b/opendj-sdk/opends/src/server/org/opends/server/tools/dsconfig/CreateSubCommandHandler.java
index 537d0ef..5575162 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/tools/dsconfig/CreateSubCommandHandler.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/tools/dsconfig/CreateSubCommandHandler.java
@@ -778,10 +778,20 @@
         app.println(pd.getDescription(), 4);
       }
 
-      PropertyDefinitionUsageBuilder b = new PropertyDefinitionUsageBuilder(
-          true);
+      PropertyDefinitionUsageBuilder b =
+        new PropertyDefinitionUsageBuilder(true);
+      TableBuilder builder = new TableBuilder();
+      builder.startRow();
+      builder.appendCell(INFO_EDITOR_HEADING_SYNTAX.get());
+      builder.appendCell(b.getUsage(pd));
+
+      TextTablePrinter printer = new TextTablePrinter(app.getErrorStream());
+      printer.setDisplayHeadings(false);
+      printer.setIndentWidth(4);
+      printer.setColumnWidth(1, 0);
+
       app.println();
-      app.println(INFO_EDITOR_HEADING_SYNTAX.get(b.getUsage(pd)), 4);
+      builder.print(printer);
       app.println();
 
       return app.readValidatedInput(INFO_DSCFG_CREATE_NAME_PROMPT_NAMING_CONT
diff --git a/opendj-sdk/opends/src/server/org/opends/server/tools/dsconfig/HelpSubCommandHandler.java b/opendj-sdk/opends/src/server/org/opends/server/tools/dsconfig/HelpSubCommandHandler.java
index 88b5e82..5c46e91 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/tools/dsconfig/HelpSubCommandHandler.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/tools/dsconfig/HelpSubCommandHandler.java
@@ -268,7 +268,7 @@
       @Override
       public Void visitString(StringPropertyDefinition d, PrintStream p) {
         PropertyDefinitionUsageBuilder usageBuilder =
-          new PropertyDefinitionUsageBuilder(true);
+          new PropertyDefinitionUsageBuilder(false);
 
         TableBuilder builder = new TableBuilder();
         builder.startRow();
diff --git a/opendj-sdk/opends/src/server/org/opends/server/tools/dsconfig/PropertyValueEditor.java b/opendj-sdk/opends/src/server/org/opends/server/tools/dsconfig/PropertyValueEditor.java
index e06a82c..eb7fc3d 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/tools/dsconfig/PropertyValueEditor.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/tools/dsconfig/PropertyValueEditor.java
@@ -631,10 +631,8 @@
     @Override
     public <T> MenuResult<Void> visitUnknown(PropertyDefinition<T> d,
         Void p) throws UnknownPropertyDefinitionException {
-      PropertyDefinitionUsageBuilder b = new PropertyDefinitionUsageBuilder(
-          true);
       app.println();
-      app.println(INFO_EDITOR_HEADING_SYNTAX.get(b.getUsage(d)), 4);
+      displayPropertySyntax(app, d);
 
       // Set the new property value(s).
       try {
@@ -1009,10 +1007,8 @@
     @Override
     public <T> MenuResult<Boolean> visitUnknown(final PropertyDefinition<T> d,
         Void p) {
-      PropertyDefinitionUsageBuilder b = new PropertyDefinitionUsageBuilder(
-          true);
       app.println();
-      app.println(INFO_EDITOR_HEADING_SYNTAX.get(b.getUsage(d)), 4);
+      displayPropertySyntax(app, d);
 
       final SortedSet<T> defaultValues = mo.getPropertyDefaultValues(d);
       final SortedSet<T> oldValues = mo.getPropertyValues(d);
@@ -1781,10 +1777,8 @@
     @Override
     public <T> MenuResult<Boolean> visitUnknown(final PropertyDefinition<T> d,
         Void p) {
-      PropertyDefinitionUsageBuilder b = new PropertyDefinitionUsageBuilder(
-          true);
       app.println();
-      app.println(INFO_EDITOR_HEADING_SYNTAX.get(b.getUsage(d)), 4);
+      displayPropertySyntax(app, d);
 
       // Construct a menu of actions.
       MenuBuilder<T> builder = new MenuBuilder<T>(app);
@@ -1961,6 +1955,25 @@
 
 
 
+  // Display a property's syntax.
+  private static <T> void displayPropertySyntax(ConsoleApplication app,
+      PropertyDefinition<T> d) throws IllegalArgumentException {
+    PropertyDefinitionUsageBuilder b = new PropertyDefinitionUsageBuilder(true);
+
+    TableBuilder builder = new TableBuilder();
+    builder.startRow();
+    builder.appendCell(INFO_EDITOR_HEADING_SYNTAX.get());
+    builder.appendCell(b.getUsage(d));
+
+    TextTablePrinter printer = new TextTablePrinter(app.getErrorStream());
+    printer.setDisplayHeadings(false);
+    printer.setIndentWidth(4);
+    printer.setColumnWidth(1, 0);
+    builder.print(printer);
+  }
+
+
+
   // Display a table of property values.
   private static <T> void displayPropertyValues(ConsoleApplication app,
       PropertyDefinition<T> pd, Collection<T> values)

--
Gitblit v1.10.0