From cbabf3a2b06c69420e7bb524c59afdd4669021e2 Mon Sep 17 00:00:00 2001
From: Jean-Noel Rouvignac <jean-noel.rouvignac@forgerock.com>
Date: Mon, 08 Jun 2015 09:41:44 +0000
Subject: [PATCH] Extracted cannotDisplay() methods.

---
 opendj-config/src/main/java/org/forgerock/opendj/config/dsconfig/CreateSubCommandHandler.java |   32 ++++++++++++++++----------------
 1 files changed, 16 insertions(+), 16 deletions(-)

diff --git a/opendj-config/src/main/java/org/forgerock/opendj/config/dsconfig/CreateSubCommandHandler.java b/opendj-config/src/main/java/org/forgerock/opendj/config/dsconfig/CreateSubCommandHandler.java
index 46b7c16..ca65b3d 100644
--- a/opendj-config/src/main/java/org/forgerock/opendj/config/dsconfig/CreateSubCommandHandler.java
+++ b/opendj-config/src/main/java/org/forgerock/opendj/config/dsconfig/CreateSubCommandHandler.java
@@ -251,10 +251,7 @@
 
             boolean isFirst = true;
             for (ManagedObjectDefinition<?, ?> mod : getSubTypes(d).values()) {
-                // Only display advanced types and custom types in advanced mode.
-                if (!app.isAdvancedMode()
-                        && (mod.hasOption(ManagedObjectOption.ADVANCED)
-                                || CLIProfile.getInstance().isForCustomization(mod))) {
+                if (cannotDisplayAdvancedOrCustomTypes(app, mod)) {
                     continue;
                 }
 
@@ -616,8 +613,7 @@
             if (app.isInteractive()) {
                 SortedSet<PropertyDefinition<?>> properties = new TreeSet<>();
                 for (PropertyDefinition<?> pd : d.getAllPropertyDefinitions()) {
-                    if (pd.hasOption(PropertyOption.HIDDEN)
-                            || (!app.isAdvancedMode() && pd.hasOption(PropertyOption.ADVANCED))) {
+                    if (cannotDisplay(app, pd)) {
                         continue;
                     }
                     properties.add(pd);
@@ -707,6 +703,11 @@
         }
     }
 
+    private static boolean cannotDisplay(ConsoleApplication app, PropertyDefinition<?> pd) {
+        return pd.hasOption(PropertyOption.HIDDEN)
+                || (!app.isAdvancedMode() && pd.hasOption(PropertyOption.ADVANCED));
+    }
+
     /** Interactively create the child by prompting for the name. */
     private static <C extends ConfigurationClient, S
         extends Configuration> ManagedObject<? extends C> createChildInteractively(
@@ -813,17 +814,9 @@
         Iterator<ManagedObjectDefinition<? extends C, ? extends S>> i;
         for (i = filteredTypes.iterator(); i.hasNext();) {
             ManagedObjectDefinition<? extends C, ? extends S> cd = i.next();
-
-            if (prohibitedTypes.contains(cd.getName())) {
-                // Remove filtered types.
+            if (prohibitedTypes.contains(cd.getName())
+                    || cannotDisplayAdvancedOrCustomTypes(app, cd)) {
                 i.remove();
-            } else if (!app.isAdvancedMode()) {
-                // Only display advanced types and custom types in advanced mode.
-                if (cd.hasOption(ManagedObjectOption.ADVANCED)) {
-                    i.remove();
-                } else if (CLIProfile.getInstance().isForCustomization(cd)) {
-                    i.remove();
-                }
             }
         }
 
@@ -868,6 +861,13 @@
         }
     }
 
+    /** Only display advanced types and custom types in advanced mode. */
+    private static boolean cannotDisplayAdvancedOrCustomTypes(
+            ConsoleApplication app, ManagedObjectDefinition<?, ?> defn) {
+        return !app.isAdvancedMode()
+                && (defn.hasOption(ManagedObjectOption.ADVANCED) || CLIProfile.getInstance().isForCustomization(defn));
+    }
+
     /** The sub-commands naming arguments. */
     private final List<StringArgument> namingArgs;
 

--
Gitblit v1.10.0