From 5aa897a97468bee8f5b693662ff098dbfd58fda6 Mon Sep 17 00:00:00 2001
From: matthew_swift <matthew_swift@localhost>
Date: Tue, 17 Jul 2007 13:30:08 +0000
Subject: [PATCH] Partial fix of issue 1952: only display managed object descriptions in verbose mode when they have some properties.

---
 opends/src/server/org/opends/server/tools/dsconfig/HelpSubCommandHandler.java |   45 ++++++++++++++++++++++++++-------------------
 1 files changed, 26 insertions(+), 19 deletions(-)

diff --git a/opends/src/server/org/opends/server/tools/dsconfig/HelpSubCommandHandler.java b/opends/src/server/org/opends/server/tools/dsconfig/HelpSubCommandHandler.java
index 8dd749a..88eebee 100644
--- a/opends/src/server/org/opends/server/tools/dsconfig/HelpSubCommandHandler.java
+++ b/opends/src/server/org/opends/server/tools/dsconfig/HelpSubCommandHandler.java
@@ -772,26 +772,10 @@
     // Display help for each managed object.
     boolean isFirstManagedObject = true;
     for (AbstractManagedObjectDefinition<?, ?> mod : defns) {
-      if (!isFirstManagedObject) {
-        out.println();
-        out.println(c1);
-        out.println();
-      }
-
-      // Display the title.
-      out.println(wrapText(String.format(HEADING_MANAGED_OBJECT, mod
-          .getUserFriendlyName()), MAX_LINE_WIDTH));
-
-      out.println();
-      out.println(wrapText(mod.getSynopsis(), MAX_LINE_WIDTH));
-      if (mod.getDescription() != null) {
-        out.println();
-        out.println(wrapText(mod.getDescription(), MAX_LINE_WIDTH));
-      }
-
       // Display help for each property.
       Set<PropertyDefinition<?>> pds =
         new TreeSet<PropertyDefinition<?>>(mod.getAllPropertyDefinitions());
+      boolean isFirstProperty = true;
       for (PropertyDefinition<?> pd : pds) {
         if (pd.hasOption(PropertyOption.HIDDEN)) {
           continue;
@@ -801,14 +785,37 @@
           continue;
         }
 
+        if (isFirstProperty) {
+          // User has requested properties relating to this managed
+          // object definition, so display the summary of the managed
+          // object.
+          if (!isFirstManagedObject) {
+            out.println();
+            out.println(c1);
+            out.println();
+          } else {
+            isFirstManagedObject = false;
+          }
+
+          // Display the title.
+          out.println(wrapText(String.format(HEADING_MANAGED_OBJECT, mod
+              .getUserFriendlyName()), MAX_LINE_WIDTH));
+
+          out.println();
+          out.println(wrapText(mod.getSynopsis(), MAX_LINE_WIDTH));
+          if (mod.getDescription() != null) {
+            out.println();
+            out.println(wrapText(mod.getDescription(), MAX_LINE_WIDTH));
+          }
+        }
+
         out.println();
         out.println(c2);
         out.println();
 
         displayVerboseSingleProperty(mod, pd.getName(), out);
+        isFirstProperty = false;
       }
-
-      isFirstManagedObject = false;
     }
   }
 

--
Gitblit v1.10.0