From 9180d0010c9bbb96be48716a35056931c1b7caa3 Mon Sep 17 00:00:00 2001
From: Mark Craig <mark.craig@forgerock.com>
Date: Mon, 08 Jun 2015 16:27:52 +0000
Subject: [PATCH] CR-7184 OPENDJ-2104 Hide hidden items in config ref
---
opendj-config/src/main/java/org/forgerock/opendj/config/dsconfig/DSConfig.java | 38 +++++++++++++++++++++++++++++++++++---
opendj-cli/src/main/java/com/forgerock/opendj/cli/SubCommandArgumentParser.java | 9 +++++++++
2 files changed, 44 insertions(+), 3 deletions(-)
diff --git a/opendj-cli/src/main/java/com/forgerock/opendj/cli/SubCommandArgumentParser.java b/opendj-cli/src/main/java/com/forgerock/opendj/cli/SubCommandArgumentParser.java
index 06a2176..f3597a2 100644
--- a/opendj-cli/src/main/java/com/forgerock/opendj/cli/SubCommandArgumentParser.java
+++ b/opendj-cli/src/main/java/com/forgerock/opendj/cli/SubCommandArgumentParser.java
@@ -1185,6 +1185,9 @@
}
List<String> scUsageList = new ArrayList<>();
for (SubCommand subCommand : subCommands) {
+ if (subCommand.isHidden()) {
+ continue;
+ }
if (scriptName.equals("dsconfig")) {
scUsageList.add(getSubCommandListItem(scriptName, subCommand));
} else {
@@ -1254,6 +1257,9 @@
List<Map<String, Object>> options = new LinkedList<>();
String nameOption = null;
for (Argument a : subCommand.getArguments()) {
+ if (a.isHidden()) {
+ continue;
+ }
// Return a generic FQDN for localhost as the default hostname
// in reference documentation.
if (isHostNameArgument(a)) {
@@ -1303,6 +1309,9 @@
*/
private void appendSubCommandPages(StringBuilder builder, String scriptName, Collection<SubCommand> subCommands) {
for (SubCommand subCommand : subCommands) {
+ if (subCommand.isHidden()) {
+ continue;
+ }
Map<String, Object> map = new HashMap<>();
map.put("marker", "@@@" + scriptName + "-" + subCommand.getName() + "@@@");
map.put("locale", Locale.getDefault().getLanguage());
diff --git a/opendj-config/src/main/java/org/forgerock/opendj/config/dsconfig/DSConfig.java b/opendj-config/src/main/java/org/forgerock/opendj/config/dsconfig/DSConfig.java
index df367b7..fc1de55 100644
--- a/opendj-config/src/main/java/org/forgerock/opendj/config/dsconfig/DSConfig.java
+++ b/opendj-config/src/main/java/org/forgerock/opendj/config/dsconfig/DSConfig.java
@@ -87,10 +87,12 @@
import org.forgerock.opendj.config.IPAddressPropertyDefinition;
import org.forgerock.opendj.config.InstantiableRelationDefinition;
import org.forgerock.opendj.config.IntegerPropertyDefinition;
+import org.forgerock.opendj.config.ManagedObjectOption;
import org.forgerock.opendj.config.PropertyDefinition;
import org.forgerock.opendj.config.PropertyDefinitionVisitor;
import org.forgerock.opendj.config.PropertyOption;
import org.forgerock.opendj.config.RelationDefinition;
+import org.forgerock.opendj.config.RelationOption;
import org.forgerock.opendj.config.RelativeInheritedDefaultBehaviorProvider;
import org.forgerock.opendj.config.SetRelationDefinition;
import org.forgerock.opendj.config.SizePropertyDefinition;
@@ -146,7 +148,7 @@
public String getArgumentAdditionalInfo(SubCommand sc, Argument a, String nameOption) {
StringBuilder sb = new StringBuilder();
final AbstractManagedObjectDefinition<?, ?> defn = getManagedObjectDefinition(sc);
- if (defn == null) {
+ if (isHidden(defn)) {
return "";
}
if (doesHandleProperties(a)) {
@@ -158,8 +160,16 @@
return sb.toString();
}
+ private boolean isHidden(AbstractManagedObjectDefinition defn) {
+ return defn == null || defn.hasOption(ManagedObjectOption.HIDDEN);
+ }
+
private void listSubtypes(StringBuilder sb, SubCommand sc, Argument a,
AbstractManagedObjectDefinition<?, ?> defn) {
+ if (a.isHidden()) {
+ return;
+ }
+
final LocalizableMessage placeholder = a.getValuePlaceholder();
Map<String, Object> map = new HashMap<>();
@@ -170,7 +180,9 @@
List<Map<String, Object>> children = new LinkedList<>();
for (AbstractManagedObjectDefinition<?, ?> childDefn : getLeafChildren(defn)) {
-
+ if (isHidden(childDefn)) {
+ continue;
+ }
Map<String, Object> child = new HashMap<>();
child.put("name", childDefn.getName());
@@ -188,6 +200,9 @@
}
private boolean propertyExists(AbstractManagedObjectDefinition<?, ?> defn, String name) {
+ if (isHidden(defn)) {
+ return false;
+ }
try {
return defn.getPropertyDefinition(name) != null;
} catch (IllegalArgumentException e) {
@@ -199,12 +214,15 @@
@Override
public String getProperties(SubCommand sc) {
final AbstractManagedObjectDefinition<?, ?> defn = getManagedObjectDefinition(sc);
- if (defn == null) {
+ if (isHidden(defn)) {
return "";
}
StringBuilder sb = new StringBuilder();
for (AbstractManagedObjectDefinition<?, ?> childDefn : getLeafChildren(defn)) {
+ if (isHidden(childDefn)) {
+ continue;
+ }
final List<PropertyDefinition<?>> props = new ArrayList<>(childDefn.getAllPropertyDefinitions());
Collections.sort(props);
Map<String, Object> map = new HashMap<>();
@@ -224,9 +242,17 @@
return null;
}
final RelationDefinition<?, ?> rd = getRelationDefinition(sch);
+ if (isHidden(rd)) {
+ return null;
+ }
return rd.getChildDefinition();
}
+ private boolean isHidden(RelationDefinition defn) {
+ return defn == null || defn.hasOption(RelationOption.HIDDEN);
+ }
+
+
private List<AbstractManagedObjectDefinition<?, ?>> getLeafChildren(
AbstractManagedObjectDefinition<?, ?> defn) {
final ArrayList<AbstractManagedObjectDefinition<?, ?>> results = new ArrayList<>();
@@ -272,6 +298,9 @@
List<Map<String, Object>> properties = new LinkedList<>();
for (PropertyDefinition<?> prop : props) {
+ if (prop.hasOption(HIDDEN)) {
+ continue;
+ }
Map<String, Object> property = new HashMap<>();
property.put("term", prop.getName());
property.put("descTitle", REF_TITLE_DESCRIPTION.get());
@@ -406,6 +435,9 @@
public String visitAggregation(AggregationPropertyDefinition prop, Void p) {
b.append(op);
final RelationDefinition<?, ?> rel = prop.getRelationDefinition();
+ if (isHidden(rel)) {
+ return null;
+ }
final String relFriendlyName = rel.getUserFriendlyName().toString();
b.append(REF_DSCFG_AGGREGATION.get(relFriendlyName)).append(". ");
final LocalizableMessage synopsis = prop.getSourceConstraintSynopsis();
--
Gitblit v1.10.0