From ec94556b2bdeea2a5c84d65b215088d842d89112 Mon Sep 17 00:00:00 2001
From: Mark Craig <mark.craig@forgerock.com>
Date: Wed, 01 Apr 2015 15:30:50 +0000
Subject: [PATCH] OPENDJ-1895 Generated dsconfig RefEntry has broken Xref linkend values

---
 opendj-config/src/main/java/org/forgerock/opendj/config/dsconfig/DSConfig.java |   12 +++++-------
 opendj-cli/src/main/resources/templates/dscfgVariableList.ftl                  |    2 +-
 2 files changed, 6 insertions(+), 8 deletions(-)

diff --git a/opendj-cli/src/main/resources/templates/dscfgVariableList.ftl b/opendj-cli/src/main/resources/templates/dscfgVariableList.ftl
index b3fd18d..584b754 100644
--- a/opendj-cli/src/main/resources/templates/dscfgVariableList.ftl
+++ b/opendj-cli/src/main/resources/templates/dscfgVariableList.ftl
@@ -28,7 +28,7 @@
 
 <#list properties as property>
 
-  <varlistentry xml:id="${property.id}">
+  <varlistentry>
     <term>${property.term}</term>
     <listitem>
       <variablelist>
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 e0480b1..ce62c6c 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
@@ -177,7 +177,7 @@
                 child.put("default", REF_DSCFG_CHILD_DEFAULT.get(placeholder, childDefn.getUserFriendlyName()));
                 child.put("enabled", REF_DSCFG_CHILD_ENABLED_BY_DEFAULT.get(propertyExists(childDefn, "enabled")));
 
-                final String link = getLink(getScriptName() + "-" + sc.getName() + "-" + defn.getName());
+                final String link = getLink(getScriptName() + "-" + sc.getName() + "-" + childDefn.getName());
                 child.put("link", REF_DSCFG_CHILD_LINK.get(link, defn.getUserFriendlyName()));
 
                 children.add(child);
@@ -213,7 +213,7 @@
                 map.put("id", propPrefix);
                 map.put("title", childDefn.getUserFriendlyName());
                 map.put("intro", REF_DSCFG_PROPS_INTRO.get(defn.getUserFriendlyPluralName(), childDefn.getName()));
-                map.put("list", toVariableList(props, defn, propPrefix));
+                map.put("list", toVariableList(props, defn));
                 applyTemplate(sb, "dscfgAppendProps.ftl", map);
             }
             return sb.toString();
@@ -268,15 +268,13 @@
             return null;
         }
 
-        private String toVariableList(List<PropertyDefinition<?>> props, AbstractManagedObjectDefinition<?, ?> defn,
-                String propPrefix) {
+        private String toVariableList(List<PropertyDefinition<?>> props, AbstractManagedObjectDefinition<?, ?> defn) {
             StringBuilder b = new StringBuilder();
             Map<String, Object> map = new HashMap<String, Object>();
 
             List<Map<String, Object>> properties = new LinkedList<Map<String, Object>>();
             for (PropertyDefinition<?> prop : props) {
                 Map<String, Object> property = new HashMap<String, Object>();
-                property.put("id", propPrefix + "-" + prop.getName());
                 property.put("term", prop.getName());
                 property.put("descTitle", REF_TITLE_DESCRIPTION.get());
                 property.put("description", getDescriptionString(prop));
@@ -410,8 +408,8 @@
                 public String visitAggregation(AggregationPropertyDefinition prop, Void p) {
                     b.append(op);
                     final RelationDefinition<?, ?> rel = prop.getRelationDefinition();
-                    final String linkStr = getLink(rel.getName());
-                    b.append(REF_DSCFG_AGGREGATION.get(linkStr)).append(". ");
+                    final String relFriendlyName = rel.getUserFriendlyName().toString();
+                    b.append(REF_DSCFG_AGGREGATION.get(relFriendlyName)).append(". ");
                     final LocalizableMessage synopsis = prop.getSourceConstraintSynopsis();
                     if (synopsis != null) {
                         b.append(synopsis);

--
Gitblit v1.10.0