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/HelpSubCommandHandler.java | 134 +++++++++++++-------------------------------
1 files changed, 39 insertions(+), 95 deletions(-)
diff --git a/opendj-config/src/main/java/org/forgerock/opendj/config/dsconfig/HelpSubCommandHandler.java b/opendj-config/src/main/java/org/forgerock/opendj/config/dsconfig/HelpSubCommandHandler.java
index ac2441c..9b120fc 100644
--- a/opendj-config/src/main/java/org/forgerock/opendj/config/dsconfig/HelpSubCommandHandler.java
+++ b/opendj-config/src/main/java/org/forgerock/opendj/config/dsconfig/HelpSubCommandHandler.java
@@ -26,9 +26,9 @@
*/
package org.forgerock.opendj.config.dsconfig;
-import static com.forgerock.opendj.dsconfig.DsconfigMessages.*;
import static com.forgerock.opendj.cli.CliMessages.*;
-import static com.forgerock.opendj.cli.Utils.MAX_LINE_WIDTH;
+import static com.forgerock.opendj.cli.Utils.*;
+import static com.forgerock.opendj.dsconfig.DsconfigMessages.*;
import java.io.PrintStream;
import java.util.Collection;
@@ -51,7 +51,6 @@
import org.forgerock.opendj.config.DefaultBehaviorProviderVisitor;
import org.forgerock.opendj.config.DefinedDefaultBehaviorProvider;
import org.forgerock.opendj.config.EnumPropertyDefinition;
-import org.forgerock.opendj.config.ManagedObjectOption;
import org.forgerock.opendj.config.PropertyDefinition;
import org.forgerock.opendj.config.PropertyDefinitionUsageBuilder;
import org.forgerock.opendj.config.PropertyDefinitionVisitor;
@@ -64,12 +63,12 @@
import com.forgerock.opendj.cli.ArgumentException;
import com.forgerock.opendj.cli.BooleanArgument;
-import com.forgerock.opendj.cli.StringArgument;
-import com.forgerock.opendj.cli.SubCommand;
-import com.forgerock.opendj.cli.SubCommandArgumentParser;
import com.forgerock.opendj.cli.ClientException;
import com.forgerock.opendj.cli.ConsoleApplication;
import com.forgerock.opendj.cli.MenuResult;
+import com.forgerock.opendj.cli.StringArgument;
+import com.forgerock.opendj.cli.SubCommand;
+import com.forgerock.opendj.cli.SubCommandArgumentParser;
import com.forgerock.opendj.cli.TableBuilder;
import com.forgerock.opendj.cli.TablePrinter;
import com.forgerock.opendj.cli.TextTablePrinter;
@@ -138,7 +137,6 @@
public LocalizableMessage visitUndefined(UndefinedDefaultBehaviorProvider<T> d, PropertyDefinition<T> p) {
return INFO_DSCFG_HELP_FIELD_UNDEFINED.get();
}
-
}
/**
@@ -466,29 +464,17 @@
builder.startRow();
builder.appendCell(INFO_DSCFG_HELP_HEADING_ADVANCED.get());
builder.appendCell(HEADING_SEPARATOR);
- if (pd.hasOption(PropertyOption.ADVANCED)) {
- builder.appendCell(INFO_GENERAL_YES.get());
- } else {
- builder.appendCell(INFO_GENERAL_NO.get());
- }
+ builder.appendCell(hasOptionYN(pd, PropertyOption.ADVANCED));
builder.startRow();
builder.appendCell(INFO_DSCFG_HELP_HEADING_MULTI_VALUED.get());
builder.appendCell(HEADING_SEPARATOR);
- if (pd.hasOption(PropertyOption.MULTI_VALUED)) {
- builder.appendCell(INFO_GENERAL_YES.get());
- } else {
- builder.appendCell(INFO_GENERAL_NO.get());
- }
+ builder.appendCell(hasOptionYN(pd, PropertyOption.MULTI_VALUED));
builder.startRow();
builder.appendCell(INFO_DSCFG_HELP_HEADING_MANDATORY.get());
builder.appendCell(HEADING_SEPARATOR);
- if (pd.hasOption(PropertyOption.MANDATORY)) {
- builder.appendCell(INFO_GENERAL_YES.get());
- } else {
- builder.appendCell(INFO_GENERAL_NO.get());
- }
+ builder.appendCell(hasOptionYN(pd, PropertyOption.MANDATORY));
builder.startRow();
builder.appendCell(INFO_DSCFG_HELP_HEADING_READ_ONLY.get());
@@ -509,28 +495,34 @@
builder.print(factory);
// Administrator action.
- AdministratorAction action = pd.getAdministratorAction();
- LocalizableMessage synopsis = action.getSynopsis();
- if (synopsis == null) {
- switch (action.getType()) {
- case COMPONENT_RESTART:
- synopsis = INFO_DSCFG_HELP_FIELD_COMPONENT_RESTART.get(d.getUserFriendlyName());
- break;
- case SERVER_RESTART:
- synopsis = INFO_DSCFG_HELP_FIELD_SERVER_RESTART.get();
- break;
- default:
- // Do nothing.
- break;
- }
- }
-
+ LocalizableMessage synopsis = getSynopsis(d, pd);
if (synopsis != null) {
app.println();
app.println(synopsis);
}
}
+ private static LocalizableMessage hasOptionYN(PropertyDefinition<?> pd, PropertyOption option) {
+ return pd.hasOption(option) ? INFO_GENERAL_YES.get() : INFO_GENERAL_NO.get();
+ }
+
+ private static LocalizableMessage getSynopsis(AbstractManagedObjectDefinition<?, ?> d, PropertyDefinition<?> pd) {
+ AdministratorAction action = pd.getAdministratorAction();
+ LocalizableMessage synopsis = action.getSynopsis();
+ if (synopsis != null) {
+ return synopsis;
+ }
+
+ switch (action.getType()) {
+ case COMPONENT_RESTART:
+ return INFO_DSCFG_HELP_FIELD_COMPONENT_RESTART.get(d.getUserFriendlyName());
+ case SERVER_RESTART:
+ return INFO_DSCFG_HELP_FIELD_SERVER_RESTART.get();
+ default:
+ return null;
+ }
+ }
+
/** Displays the property option summary key. */
private static void displayPropertyOptionKey(ConsoleApplication app) {
LocalizableMessageBuilder builder;
@@ -854,52 +846,25 @@
// Display help for each property.
AbstractManagedObjectDefinition<?, ?> mod = subTypes.get(type);
-
- // Skip hidden types.
- if (mod.hasOption(ManagedObjectOption.HIDDEN)) {
- continue;
- }
-
- // Skip advanced types if required.
- if (!app.isAdvancedMode() && mod.hasOption(ManagedObjectOption.ADVANCED)) {
- continue;
- }
-
- // Skip if this does not have the required tag.
- if (tag != null && !mod.hasTag(tag)) {
+ if (cannotDisplay(app, mod, tag)) {
continue;
}
Set<PropertyDefinition<?>> pds = getPropertyDefinitions(mod);
for (PropertyDefinition<?> pd : pds) {
- if (pd.hasOption(PropertyOption.HIDDEN)) {
+ if (cannotDisplay(app, pd, propertyNames)) {
continue;
}
- if (!app.isAdvancedMode() && pd.hasOption(PropertyOption.ADVANCED)) {
- continue;
- }
-
- if (!propertyNames.isEmpty() && !propertyNames.contains(pd.getName())) {
- continue;
- }
-
- // Display the property.
+ // Display the property:
+ // - component category and type,
+ // - property name, options
+ // - syntax
builder.startRow();
-
- // Display the component category.
builder.appendCell(category);
-
- // Display the component type.
builder.appendCell(type);
-
- // Display the property name.
builder.appendCell(pd.getName());
-
- // Display the options.
builder.appendCell(getPropertyOptionSummary(pd));
-
- // Display the syntax.
PropertyDefinitionUsageBuilder v = new PropertyDefinitionUsageBuilder(false);
builder.appendCell(v.getUsage(pd));
}
@@ -940,35 +905,14 @@
// Display help for each property.
AbstractManagedObjectDefinition<?, ?> mod = subTypes.get(type);
-
- // Skip hidden types.
- if (mod.hasOption(ManagedObjectOption.HIDDEN)) {
+ if (cannotDisplay(app, mod, tag)) {
continue;
}
- // Skip advanced types if required.
- if (!app.isAdvancedMode() && mod.hasOption(ManagedObjectOption.ADVANCED)) {
- continue;
- }
-
- // Skip if this does not have the required tag.
- if (tag != null && !mod.hasTag(tag)) {
- continue;
- }
-
- Set<PropertyDefinition<?>> pds = getPropertyDefinitions(mod);
-
boolean isFirstProperty = true;
+ Set<PropertyDefinition<?>> pds = getPropertyDefinitions(mod);
for (PropertyDefinition<?> pd : pds) {
- if (pd.hasOption(PropertyOption.HIDDEN)) {
- continue;
- }
-
- if (!app.isAdvancedMode() && pd.hasOption(PropertyOption.ADVANCED)) {
- continue;
- }
-
- if (!propertyNames.isEmpty() && !propertyNames.contains(pd.getName())) {
+ if (cannotDisplay(app, pd, propertyNames)) {
continue;
}
--
Gitblit v1.10.0