From f9dba6edf73aaf67dafebc8a8f897ed9ebf9c82f Mon Sep 17 00:00:00 2001
From: matthew_swift <matthew_swift@localhost>
Date: Mon, 11 Jun 2007 15:47:10 +0000
Subject: [PATCH] Add a CLI profile for defining CLI related annotations to managed object and property definitions. The CLI profile defines two annotations at the moment:

---
 opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/MultimasterSynchronizationProviderConfiguration.xml |   71 ++++--
 opendj-sdk/opends/resource/admin/cliMOProfile.xsl                                                                |   82 ++++++++
 opendj-sdk/opends/build.xml                                                                                      |    7 
 opendj-sdk/opends/resource/admin/admin-cli.xsd                                                                   |   68 ++++++
 opendj-sdk/opends/resource/admin/example-plugin/build.xml                                                        |    9 
 opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/RootConfiguration.xml                               |  186 ++++++++++++++----
 opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/DebugLogPublisherConfiguration.xml                  |  123 +++++-------
 7 files changed, 408 insertions(+), 138 deletions(-)

diff --git a/opendj-sdk/opends/build.xml b/opendj-sdk/opends/build.xml
index 98854f8..28a7c7f 100644
--- a/opendj-sdk/opends/build.xml
+++ b/opendj-sdk/opends/build.xml
@@ -1504,6 +1504,12 @@
       <param name="base-dir" expression="${admin.defn.dir}" />
     </xslt>
 
+    <!-- Generate CLI profile for core administration components. -->
+    <xslt basedir="${admin.defn.dir}" destdir="${classes.dir}/admin/profiles/cli" includes="**/*Configuration.xml" style="${admin.rules.dir}/cliMOProfile.xsl">
+      <regexpmapper handledirsep="true" from="^(.*)/([^/]+)Configuration\.xml$$" to="\1/meta/\2CfgDefn.properties" />
+      <param name="base-dir" expression="${admin.defn.dir}" />
+    </xslt>
+
     <!-- Generate I18N messages for core administration components. -->
     <xslt basedir="${admin.defn.dir}" destdir="${classes.dir}/admin/messages" includes="**/*Configuration.xml" style="${admin.rules.dir}/messagesMO.xsl">
       <regexpmapper handledirsep="true" from="^(.*)/([^/]+)Configuration\.xml$$" to="\1/meta/\2CfgDefn.properties" />
@@ -1537,6 +1543,7 @@
       <fileset dir="${admin.defn.dir}" includes="**/*.xml" />
       <schema namespace="http://www.opends.org/admin" file="${admin.rules.dir}/admin.xsd"/>
       <schema namespace="http://www.opends.org/admin-ldap" file="${admin.rules.dir}/admin-ldap.xsd"/>
+      <schema namespace="http://www.opends.org/admin-cli" file="${admin.rules.dir}/admin-cli.xsd"/>
     </schemavalidate>
   </target>
 
diff --git a/opendj-sdk/opends/resource/admin/admin-cli.xsd b/opendj-sdk/opends/resource/admin/admin-cli.xsd
new file mode 100644
index 0000000..ab87cc6
--- /dev/null
+++ b/opendj-sdk/opends/resource/admin/admin-cli.xsd
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xsd:schema targetNamespace="http://www.opends.org/admin-cli"
+  xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+  elementFormDefault="qualified" xmlns:adm="http://www.opends.org/admin"
+  xmlns:tns="http://www.opends.org/admin-cli">
+  <xsd:import namespace="http://www.opends.org/admin"
+    schemaLocation="admin.xsd" />
+  <xsd:annotation>
+    <xsd:documentation>
+      This schema defines the elements and attributes of the "cli"
+      profile. This profile provides the ability to annotate managed
+      object definitions, properties, and relations with additional
+      information which the CLI can use to provide a better user
+      experience.
+    </xsd:documentation>
+  </xsd:annotation>
+  <xsd:element name="relation">
+    <xsd:annotation>
+      <xsd:documentation>
+        Defines CLI annotations for use with relation definitions.
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:complexType>
+      <xsd:sequence>
+        <xsd:element name="default-property" minOccurs="0"
+          maxOccurs="unbounded">
+          <xsd:annotation>
+            <xsd:documentation>
+              The name of a property in the referenced managed object
+              (or one of its sub-types) which will be displayed by
+              default in list-xxx sub-commands.
+            </xsd:documentation>
+          </xsd:annotation>
+          <xsd:complexType>
+            <xsd:attribute name="name" type="adm:name-type"
+              use="required">
+              <xsd:annotation>
+                <xsd:documentation>
+                  The name of a property in the referenced managed
+                  object (or one of its sub-types) which will be
+                  displayed by default in list-xxx sub-commands.
+                </xsd:documentation>
+              </xsd:annotation>
+            </xsd:attribute>
+          </xsd:complexType>
+        </xsd:element>
+      </xsd:sequence>
+      <xsd:attribute name="operand-name" default="NAME">
+        <xsd:annotation>
+          <xsd:documentation>
+            The operand name which should be used in command line usage
+            to represent the name of the managed object associated with
+            a one-to-many relation. For example, DB_NAME could be used
+            to represent the name of a back-end. When the operand name
+            is not specified for a relation, NAME is used by default. It
+            is recommended that all one-to-many relations not defined in
+            the root configuration override this default.
+          </xsd:documentation>
+        </xsd:annotation>
+        <xsd:simpleType>
+          <xsd:restriction base="xsd:token">
+            <xsd:pattern value="[A-Z][A-Z0-9_]*" />
+          </xsd:restriction>
+        </xsd:simpleType>
+      </xsd:attribute>
+    </xsd:complexType>
+  </xsd:element>
+</xsd:schema>
diff --git a/opendj-sdk/opends/resource/admin/cliMOProfile.xsl b/opendj-sdk/opends/resource/admin/cliMOProfile.xsl
new file mode 100644
index 0000000..370e0a4
--- /dev/null
+++ b/opendj-sdk/opends/resource/admin/cliMOProfile.xsl
@@ -0,0 +1,82 @@
+<!--
+  ! CDDL HEADER START
+  !
+  ! The contents of this file are subject to the terms of the
+  ! Common Development and Distribution License, Version 1.0 only
+  ! (the "License").  You may not use this file except in compliance
+  ! with the License.
+  !
+  ! You can obtain a copy of the license at
+  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
+  ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
+  ! See the License for the specific language governing permissions
+  ! and limitations under the License.
+  !
+  ! When distributing Covered Code, include this CDDL HEADER in each
+  ! file and include the License file at
+  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
+  ! add the following below this CDDL HEADER, with the fields enclosed
+  ! by brackets "[]" replaced with your own identifying information:
+  !      Portions Copyright [yyyy] [name of copyright owner]
+  !
+  ! CDDL HEADER END
+  !
+  !
+  !      Portions Copyright 2007 Sun Microsystems, Inc.
+  ! -->
+<xsl:stylesheet version="1.0"
+  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+  xmlns:adm="http://www.opends.org/admin"
+  xmlns:cli="http://www.opends.org/admin-cli">
+  <xsl:import href="preprocessor.xsl" />
+  <xsl:output method="text" encoding="us-ascii" />
+  <!--
+    Document parsing.
+  -->
+  <xsl:template match="/">
+    <!--
+      Process each relation definition.
+    -->
+    <xsl:for-each select="$this-all-relations">
+      <xsl:sort select="@name" />
+      <!--
+        Generate list of properties which should be displayed by default in list-xxx operations.
+      -->
+      <xsl:value-of
+        select="concat('relation.', @name, '.list-properties=')" />
+      <xsl:for-each
+        select="adm:profile[@name='cli']/cli:relation/cli:default-property">
+        <xsl:value-of select="@name" />
+        <xsl:if test="current() != last()">
+          <xsl:value-of select="','" />
+        </xsl:if>
+      </xsl:for-each>
+      <xsl:value-of select="'&#xa;'" />
+      <xsl:if test="adm:one-to-many">
+        <!--
+          Generate operand names for one-to-many relations.
+        -->
+        <xsl:variable name="operand">
+          <xsl:choose>
+            <xsl:when
+              test="adm:profile[@name='cli']/cli:relation/@operand-name">
+              <xsl:value-of
+                select="adm:profile[@name='cli']/cli:relation/@operand-name" />
+            </xsl:when>
+            <xsl:otherwise>
+              <xsl:if test="not($this-is-root)">
+                <xsl:message>
+                  <xsl:value-of
+                    select="concat('relation ', @name, ' in managed object definition ', $this-name,' does not specify a CLI operand name, defaulting to NAME.')" />
+                </xsl:message>
+              </xsl:if>
+              <xsl:value-of select="'NAME'" />
+            </xsl:otherwise>
+          </xsl:choose>
+        </xsl:variable>
+        <xsl:value-of
+          select="concat('relation.', @name, '.operand-name=', $operand, '&#xa;')" />
+      </xsl:if>
+    </xsl:for-each>
+  </xsl:template>
+</xsl:stylesheet>
diff --git a/opendj-sdk/opends/resource/admin/example-plugin/build.xml b/opendj-sdk/opends/resource/admin/example-plugin/build.xml
index c0b78cd..34ef08d 100644
--- a/opendj-sdk/opends/resource/admin/example-plugin/build.xml
+++ b/opendj-sdk/opends/resource/admin/example-plugin/build.xml
@@ -213,6 +213,14 @@
       <param name="base-dir" expression="${src.dir}" />
     </xslt>
 
+    <!-- Compile the Directory Server extension configuration cli profile property files. -->
+    <xslt basedir="${src.dir}" destdir="${classes.dir}/admin/profiles/cli" style="${admin.dir}/cliMOProfile.xsl">
+      <include name="**/*Configuration.xml" />
+      <exclude name="org/opends/server/admin/std/*.xml" />
+      <regexpmapper handledirsep="true" from="^(.*)/([^/]+)Configuration\.xml$$" to="\1/meta/\2CfgDefn.properties" />
+      <param name="base-dir" expression="${src.dir}" />
+    </xslt>
+
     <!-- Compile the Directory Server extension configuration I18N message files. -->
     <xslt basedir="${src.dir}" destdir="${classes.dir}/admin/messages" style="${admin.dir}/messagesMO.xsl">
       <include name="**/*Configuration.xml" />
@@ -240,6 +248,7 @@
       <fileset dir="${src.dir}" includes="**/*.xml" />
       <schema namespace="http://www.opends.org/admin" file="${admin.dir}/admin.xsd" />
       <schema namespace="http://www.opends.org/admin-ldap" file="${admin.dir}/admin-ldap.xsd" />
+      <schema namespace="http://www.opends.org/admin-cli" file="${admin.dir}/admin-cli.xsd" />
     </schemavalidate>
   </target>
 </project>
diff --git a/opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/DebugLogPublisherConfiguration.xml b/opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/DebugLogPublisherConfiguration.xml
index 44f0834..be37c6f 100644
--- a/opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/DebugLogPublisherConfiguration.xml
+++ b/opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/DebugLogPublisherConfiguration.xml
@@ -1,15 +1,14 @@
 <?xml version="1.0" encoding="utf-8"?>
 <adm:managed-object name="debug-log-publisher"
   plural-name="debug-log-publishers"
-  package="org.opends.server.admin.std"
-  extends="log-publisher"
-  abstract="true"
-  xmlns:adm="http://www.opends.org/admin"
-  xmlns:ldap="http://www.opends.org/admin-ldap">
+  package="org.opends.server.admin.std" extends="log-publisher"
+  abstract="true" xmlns:adm="http://www.opends.org/admin"
+  xmlns:ldap="http://www.opends.org/admin-ldap"
+  xmlns:cli="http://www.opends.org/admin-cli">
   <adm:synopsis>
     <adm:user-friendly-plural-name />
-    are reponsible for distributing debug log messages from the debug logger to
-    a destination.
+    are reponsible for distributing debug log messages from the debug
+    logger to a destination.
   </adm:synopsis>
   <adm:profile name="ldap">
     <ldap:object-class>
@@ -21,12 +20,18 @@
   <adm:relation name="debug-target">
     <adm:one-to-many />
     <adm:profile name="ldap">
-      <ldap:rdn-sequence>
-        cn=Debug Targets
-      </ldap:rdn-sequence>
-      <ldap:naming-attribute>
-        ds-cfg-debug-scope
-      </ldap:naming-attribute>
+      <ldap:rdn-sequence>cn=Debug Targets</ldap:rdn-sequence>
+      <ldap:naming-attribute>ds-cfg-debug-scope</ldap:naming-attribute>
+    </adm:profile>
+    <adm:profile name="cli">
+      <cli:relation operand-name="TARGET" />
+    </adm:profile>
+    <adm:profile name="cli">
+      <cli:relation>
+        <cli:default-property name="debug-level" />
+        <cli:default-property name="debug-category" />
+        <cli:default-property name="debug-scope" />
+      </cli:relation>
     </adm:profile>
   </adm:relation>
   <adm:property name="java-implementation-class" mandatory="true">
@@ -51,34 +56,36 @@
   </adm:property>
   <adm:property name="default-debug-level" mandatory="true">
     <adm:synopsis>
-      The lowest severity level of debug messages to log when none of the
-      defined targets match the message.
+      The lowest severity level of debug messages to log when none of
+      the defined targets match the message.
     </adm:synopsis>
     <adm:syntax>
       <adm:enumeration>
         <adm:value name="disabled">
-          <adm:synopsis>
-            No messages will be logged.
-          </adm:synopsis>
+          <adm:synopsis>No messages will be logged.</adm:synopsis>
         </adm:value>
         <adm:value name="error">
           <adm:synopsis>
-            Messages with severity level of ERROR or higher will be logged.
+            Messages with severity level of ERROR or higher will be
+            logged.
           </adm:synopsis>
         </adm:value>
         <adm:value name="warning">
           <adm:synopsis>
-            Messages with severity level of WARNING or higher will be logged.
+            Messages with severity level of WARNING or higher will be
+            logged.
           </adm:synopsis>
         </adm:value>
         <adm:value name="info">
           <adm:synopsis>
-            Messages with severity level of INFO or higher will be logged.
+            Messages with severity level of INFO or higher will be
+            logged.
           </adm:synopsis>
         </adm:value>
         <adm:value name="verbose">
           <adm:synopsis>
-            Messages with severity level of VERBOSE or higher will be logged.
+            Messages with severity level of VERBOSE or higher will be
+            logged.
           </adm:synopsis>
         </adm:value>
         <adm:value name="all">
@@ -97,8 +104,8 @@
   </adm:property>
   <adm:property name="default-debug-category" multi-valued="true">
     <adm:synopsis>
-      The category(ies) of debug messages to log when none of the defined
-      targets match the message.
+      The category(ies) of debug messages to log when none of the
+      defined targets match the message.
     </adm:synopsis>
     <adm:default-behavior>
       <adm:alias>
@@ -110,49 +117,31 @@
     <adm:syntax>
       <adm:enumeration>
         <adm:value name="caught">
-          <adm:synopsis>
-            Exception caught.
-          </adm:synopsis>
+          <adm:synopsis>Exception caught.</adm:synopsis>
         </adm:value>
         <adm:value name="constructor">
-          <adm:synopsis>
-            Constructor entry.
-          </adm:synopsis>
+          <adm:synopsis>Constructor entry.</adm:synopsis>
         </adm:value>
         <adm:value name="data">
-          <adm:synopsis>
-            Raw data dump.
-          </adm:synopsis>
+          <adm:synopsis>Raw data dump.</adm:synopsis>
         </adm:value>
         <adm:value name="database-access">
-          <adm:synopsis>
-            Access to a backend database.
-          </adm:synopsis>
+          <adm:synopsis>Access to a backend database.</adm:synopsis>
         </adm:value>
         <adm:value name="enter">
-          <adm:synopsis>
-            Method entry.
-          </adm:synopsis>
+          <adm:synopsis>Method entry.</adm:synopsis>
         </adm:value>
         <adm:value name="exit">
-          <adm:synopsis>
-            Method exit.
-          </adm:synopsis>
+          <adm:synopsis>Method exit.</adm:synopsis>
         </adm:value>
         <adm:value name="message">
-          <adm:synopsis>
-            Arbitrary debug message.
-          </adm:synopsis>
+          <adm:synopsis>Arbitrary debug message.</adm:synopsis>
         </adm:value>
         <adm:value name="protocol">
-          <adm:synopsis>
-            Protocol element dump.
-          </adm:synopsis>
+          <adm:synopsis>Protocol element dump.</adm:synopsis>
         </adm:value>
         <adm:value name="thrown">
-          <adm:synopsis>
-            Exception throw from method.
-          </adm:synopsis>
+          <adm:synopsis>Exception throw from method.</adm:synopsis>
         </adm:value>
       </adm:enumeration>
     </adm:syntax>
@@ -165,14 +154,12 @@
   </adm:property>
   <adm:property name="default-omit-method-entry-arguments">
     <adm:synopsis>
-      Property to indicate whether to include method arguments in debug messages
-      logged by default.
+      Property to indicate whether to include method arguments in debug
+      messages logged by default.
     </adm:synopsis>
     <adm:default-behavior>
       <adm:defined>
-        <adm:value>
-          false
-        </adm:value>
+        <adm:value>false</adm:value>
       </adm:defined>
     </adm:default-behavior>
     <adm:syntax>
@@ -181,20 +168,20 @@
     <adm:profile name="ldap">
       <ldap:attribute>
         <ldap:oid>1.3.6.1.4.1.26027.1.1.347</ldap:oid>
-        <ldap:name>ds-cfg-default-omit-method-entry-arguments</ldap:name>
+        <ldap:name>
+          ds-cfg-default-omit-method-entry-arguments
+        </ldap:name>
       </ldap:attribute>
     </adm:profile>
   </adm:property>
   <adm:property name="default-omit-method-return-value">
     <adm:synopsis>
-      Property to indicate whether to include the return value in debug messages
-      logged by default.
+      Property to indicate whether to include the return value in debug
+      messages logged by default.
     </adm:synopsis>
     <adm:default-behavior>
       <adm:defined>
-        <adm:value>
-          false
-        </adm:value>
+        <adm:value>false</adm:value>
       </adm:defined>
     </adm:default-behavior>
     <adm:syntax>
@@ -214,9 +201,7 @@
     </adm:synopsis>
     <adm:default-behavior>
       <adm:defined>
-        <adm:value>
-          false
-        </adm:value>
+        <adm:value>false</adm:value>
       </adm:defined>
     </adm:default-behavior>
     <adm:syntax>
@@ -231,14 +216,12 @@
   </adm:property>
   <adm:property name="default-throwable-stack-frames">
     <adm:synopsis>
-      Property to indicate the number of stack frames to include in the stack
-      trace for method entry and exception thrown messages.
+      Property to indicate the number of stack frames to include in the
+      stack trace for method entry and exception thrown messages.
     </adm:synopsis>
     <adm:default-behavior>
       <adm:defined>
-        <adm:value>
-          0
-        </adm:value>
+        <adm:value>0</adm:value>
       </adm:defined>
     </adm:default-behavior>
     <adm:syntax>
diff --git a/opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/MultimasterSynchronizationProviderConfiguration.xml b/opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/MultimasterSynchronizationProviderConfiguration.xml
index 8fdf90b..53a3d42 100644
--- a/opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/MultimasterSynchronizationProviderConfiguration.xml
+++ b/opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/MultimasterSynchronizationProviderConfiguration.xml
@@ -1,37 +1,37 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!--
- ! CDDL HEADER START
- !
- ! The contents of this file are subject to the terms of the
- ! Common Development and Distribution License, Version 1.0 only
- ! (the "License").  You may not use this file except in compliance
- ! with the License.
- !
- ! You can obtain a copy of the license at
- ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
- ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
- ! See the License for the specific language governing permissions
- ! and limitations under the License.
- !
- ! When distributing Covered Code, include this CDDL HEADER in each
- ! file and include the License file at
- ! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
- ! add the following below this CDDL HEADER, with the fields enclosed
- ! by brackets "[]" replaced with your own identifying information:
- !      Portions Copyright [yyyy] [name of copyright owner]
- !
- ! CDDL HEADER END
- !
- !
- !      Portions Copyright 2007 Sun Microsystems, Inc.
- ! -->
-
+  ! CDDL HEADER START
+  !
+  ! The contents of this file are subject to the terms of the
+  ! Common Development and Distribution License, Version 1.0 only
+  ! (the "License").  You may not use this file except in compliance
+  ! with the License.
+  !
+  ! You can obtain a copy of the license at
+  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
+  ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
+  ! See the License for the specific language governing permissions
+  ! and limitations under the License.
+  !
+  ! When distributing Covered Code, include this CDDL HEADER in each
+  ! file and include the License file at
+  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
+  ! add the following below this CDDL HEADER, with the fields enclosed
+  ! by brackets "[]" replaced with your own identifying information:
+  !      Portions Copyright [yyyy] [name of copyright owner]
+  !
+  ! CDDL HEADER END
+  !
+  !
+  !      Portions Copyright 2007 Sun Microsystems, Inc.
+  ! -->
 <adm:managed-object name="multimaster-synchronization-provider"
   plural-name="multimaster-synchronization-providers"
   package="org.opends.server.admin.std"
   extends="synchronization-provider"
   xmlns:adm="http://www.opends.org/admin"
-  xmlns:ldap="http://www.opends.org/admin-ldap" abstract="false">
+  xmlns:ldap="http://www.opends.org/admin-ldap"
+  xmlns:cli="http://www.opends.org/admin-cli" abstract="false">
   <adm:synopsis>
     The
     <adm:user-friendly-name />
@@ -50,12 +50,29 @@
     <adm:profile name="ldap">
       <ldap:rdn-sequence>cn=domains</ldap:rdn-sequence>
     </adm:profile>
+    <adm:profile name="cli">
+      <cli:relation operand-name="DOMAIN" />
+    </adm:profile>
+    <adm:profile name="cli">
+      <cli:relation>
+        <cli:default-property name="server-id" />
+        <cli:default-property name="replication-server" />
+        <cli:default-property name="replication-dn" />
+      </cli:relation>
+    </adm:profile>
   </adm:relation>
   <adm:relation name="replication-server">
     <adm:one-to-zero-or-one />
     <adm:profile name="ldap">
       <ldap:rdn-sequence>cn=replication server</ldap:rdn-sequence>
     </adm:profile>
+    <adm:profile name="cli">
+      <cli:relation>
+        <cli:default-property name="replication-server-id" />
+        <cli:default-property name="replication-port" />
+        <cli:default-property name="replication-server" />
+      </cli:relation>
+    </adm:profile>
   </adm:relation>
   <adm:property-override name="java-implementation-class">
     <adm:default-behavior>
diff --git a/opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/RootConfiguration.xml b/opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/RootConfiguration.xml
index 15e899e..94785ad 100644
--- a/opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/RootConfiguration.xml
+++ b/opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/RootConfiguration.xml
@@ -1,33 +1,33 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
- ! CDDL HEADER START
- !
- ! The contents of this file are subject to the terms of the
- ! Common Development and Distribution License, Version 1.0 only
- ! (the "License").  You may not use this file except in compliance
- ! with the License.
- !
- ! You can obtain a copy of the license at
- ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
- ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
- ! See the License for the specific language governing permissions
- ! and limitations under the License.
- !
- ! When distributing Covered Code, include this CDDL HEADER in each
- ! file and include the License file at
- ! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
- ! add the following below this CDDL HEADER, with the fields enclosed
- ! by brackets "[]" replaced with your own identifying information:
- !      Portions Copyright [yyyy] [name of copyright owner]
- !
- ! CDDL HEADER END
- !
- !
- !      Portions Copyright 2007 Sun Microsystems, Inc.
- ! -->
-
+  ! CDDL HEADER START
+  !
+  ! The contents of this file are subject to the terms of the
+  ! Common Development and Distribution License, Version 1.0 only
+  ! (the "License").  You may not use this file except in compliance
+  ! with the License.
+  !
+  ! You can obtain a copy of the license at
+  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
+  ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
+  ! See the License for the specific language governing permissions
+  ! and limitations under the License.
+  !
+  ! When distributing Covered Code, include this CDDL HEADER in each
+  ! file and include the License file at
+  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
+  ! add the following below this CDDL HEADER, with the fields enclosed
+  ! by brackets "[]" replaced with your own identifying information:
+  !      Portions Copyright [yyyy] [name of copyright owner]
+  !
+  ! CDDL HEADER END
+  !
+  !
+  !      Portions Copyright 2007 Sun Microsystems, Inc.
+  ! -->
 <adm:root-managed-object xmlns:adm="http://www.opends.org/admin"
-  xmlns:ldap="http://www.opends.org/admin-ldap">
+  xmlns:ldap="http://www.opends.org/admin-ldap"
+  xmlns:cli="http://www.opends.org/admin-cli">
   <adm:synopsis>
     The root configuration provides an entry point to the rest of the
     <adm:product-name />
@@ -47,6 +47,13 @@
         cn=connection handlers, cn=config
       </ldap:rdn-sequence>
     </adm:profile>
+    <adm:profile name="cli">
+      <cli:relation>
+        <cli:default-property name="enabled" />
+        <cli:default-property name="listen-port" />
+        <cli:default-property name="use-ssl" />
+      </cli:relation>
+    </adm:profile>
   </adm:relation>
   <adm:relation name="synchronization-provider">
     <adm:one-to-many />
@@ -55,6 +62,11 @@
         cn=Synchronization Providers, cn=config
       </ldap:rdn-sequence>
     </adm:profile>
+    <adm:profile name="cli">
+      <cli:relation>
+        <cli:default-property name="enabled" />
+      </cli:relation>
+    </adm:profile>
   </adm:relation>
   <adm:relation name="access-control-handler">
     <adm:one-to-one />
@@ -63,6 +75,11 @@
         cn=Access Control Handler,cn=config
       </ldap:rdn-sequence>
     </adm:profile>
+    <adm:profile name="cli">
+      <cli:relation>
+        <cli:default-property name="enabled" />
+      </cli:relation>
+    </adm:profile>
   </adm:relation>
   <adm:relation name="identity-mapper">
     <adm:one-to-many />
@@ -71,6 +88,11 @@
         cn=Identity Mappers,cn=config
       </ldap:rdn-sequence>
     </adm:profile>
+    <adm:profile name="cli">
+      <cli:relation>
+        <cli:default-property name="enabled" />
+      </cli:relation>
+    </adm:profile>
   </adm:relation>
   <adm:relation name="certificate-mapper">
     <adm:one-to-many />
@@ -79,6 +101,11 @@
         cn=Certificate Mappers,cn=config
       </ldap:rdn-sequence>
     </adm:profile>
+    <adm:profile name="cli">
+      <cli:relation>
+        <cli:default-property name="enabled" />
+      </cli:relation>
+    </adm:profile>
   </adm:relation>
   <adm:relation name="sasl-mechanism-handler">
     <adm:one-to-many />
@@ -87,6 +114,11 @@
         cn=SASL Mechanisms,cn=config
       </ldap:rdn-sequence>
     </adm:profile>
+    <adm:profile name="cli">
+      <cli:relation>
+        <cli:default-property name="enabled" />
+      </cli:relation>
+    </adm:profile>
   </adm:relation>
   <adm:relation name="password-validator">
     <adm:one-to-many />
@@ -95,6 +127,11 @@
         cn=Password Validators,cn=config
       </ldap:rdn-sequence>
     </adm:profile>
+    <adm:profile name="cli">
+      <cli:relation>
+        <cli:default-property name="enabled" />
+      </cli:relation>
+    </adm:profile>
   </adm:relation>
   <adm:relation name="password-generator">
     <adm:one-to-many />
@@ -103,12 +140,23 @@
         cn=Password Generators,cn=config
       </ldap:rdn-sequence>
     </adm:profile>
+    <adm:profile name="cli">
+      <cli:relation>
+        <cli:default-property name="enabled" />
+      </cli:relation>
+    </adm:profile>
   </adm:relation>
   <adm:relation name="plugin">
     <adm:one-to-many />
     <adm:profile name="ldap">
       <ldap:rdn-sequence>cn=Plugins,cn=config</ldap:rdn-sequence>
     </adm:profile>
+    <adm:profile name="cli">
+      <cli:relation>
+        <cli:default-property name="enabled" />
+        <cli:default-property name="plugin-type" />
+      </cli:relation>
+    </adm:profile>
   </adm:relation>
   <adm:relation name="virtual-attribute">
     <adm:one-to-many />
@@ -117,6 +165,12 @@
         cn=Virtual Attributes,cn=config
       </ldap:rdn-sequence>
     </adm:profile>
+    <adm:profile name="cli">
+      <cli:relation>
+        <cli:default-property name="enabled" />
+        <cli:default-property name="attribute-type" />
+      </cli:relation>
+    </adm:profile>
   </adm:relation>
   <adm:relation name="extended-operation-handler">
     <adm:one-to-many />
@@ -125,13 +179,21 @@
         cn=Extended Operations,cn=config
       </ldap:rdn-sequence>
     </adm:profile>
+    <adm:profile name="cli">
+      <cli:relation>
+        <cli:default-property name="enabled" />
+      </cli:relation>
+    </adm:profile>
   </adm:relation>
   <adm:relation name="entry-cache">
-  	<adm:one-to-one />
-  	<adm:profile name="ldap">
-      <ldap:rdn-sequence>
-        cn=Entry Cache,cn=config
-      </ldap:rdn-sequence>
+    <adm:one-to-one />
+    <adm:profile name="ldap">
+      <ldap:rdn-sequence>cn=Entry Cache,cn=config</ldap:rdn-sequence>
+    </adm:profile>
+    <adm:profile name="cli">
+      <cli:relation>
+        <cli:default-property name="enabled" />
+      </cli:relation>
     </adm:profile>
   </adm:relation>
   <adm:relation name="account-status-notification-handler">
@@ -141,6 +203,11 @@
         cn=Account Status Notification Handlers,cn=config
       </ldap:rdn-sequence>
     </adm:profile>
+    <adm:profile name="cli">
+      <cli:relation>
+        <cli:default-property name="enabled" />
+      </cli:relation>
+    </adm:profile>
   </adm:relation>
   <adm:relation name="password-storage-scheme">
     <adm:one-to-many />
@@ -149,22 +216,36 @@
         cn=Password Storage Schemes,cn=config
       </ldap:rdn-sequence>
     </adm:profile>
+    <adm:profile name="cli">
+      <cli:relation>
+        <cli:default-property name="enabled" />
+      </cli:relation>
+    </adm:profile>
   </adm:relation>
   <adm:relation name="backend">
     <adm:one-to-many />
     <adm:profile name="ldap">
-      <ldap:rdn-sequence>
-        cn=Backends,cn=config
-      </ldap:rdn-sequence>
+      <ldap:rdn-sequence>cn=Backends,cn=config</ldap:rdn-sequence>
       <ldap:naming-attribute>ds-cfg-backend-id</ldap:naming-attribute>
     </adm:profile>
+    <adm:profile name="cli">
+      <cli:relation>
+        <cli:default-property name="backend-enabled" />
+        <cli:default-property name="backend-base-dn" />
+      </cli:relation>
+    </adm:profile>
   </adm:relation>
   <adm:relation name="root-dse-backend">
     <adm:one-to-one />
     <adm:profile name="ldap">
-      <ldap:rdn-sequence>
-        cn=Root DSE,cn=config
-      </ldap:rdn-sequence>
+      <ldap:rdn-sequence>cn=Root DSE,cn=config</ldap:rdn-sequence>
+    </adm:profile>
+    <adm:profile name="cli">
+      <cli:relation>
+        <cli:default-property name="enabled" />
+        <cli:default-property name="show-all-attributes" />
+        <cli:default-property name="subordinate-base-dn" />
+      </cli:relation>
     </adm:profile>
   </adm:relation>
   <adm:relation name="password-policy">
@@ -174,13 +255,22 @@
         cn=Password Policies,cn=config
       </ldap:rdn-sequence>
     </adm:profile>
+    <adm:profile name="cli">
+      <cli:relation>
+        <cli:default-property name="password-attribute" />
+        <cli:default-property name="default-password-storage-scheme" />
+      </cli:relation>
+    </adm:profile>
   </adm:relation>
   <adm:relation name="log-publisher">
     <adm:one-to-many />
     <adm:profile name="ldap">
-      <ldap:rdn-sequence>
-        cn=Loggers,cn=config
-      </ldap:rdn-sequence>
+      <ldap:rdn-sequence>cn=Loggers,cn=config</ldap:rdn-sequence>
+    </adm:profile>
+    <adm:profile name="cli">
+      <cli:relation>
+        <cli:default-property name="enabled" />
+      </cli:relation>
     </adm:profile>
   </adm:relation>
   <adm:relation name="log-rotation-policy">
@@ -190,6 +280,13 @@
         cn=Log Rotation Policies,cn=config
       </ldap:rdn-sequence>
     </adm:profile>
+    <adm:profile name="cli">
+      <cli:relation>
+        <cli:default-property name="file-size-limit" />
+        <cli:default-property name="rotation-interval" />
+        <cli:default-property name="time-of-day" />
+      </cli:relation>
+    </adm:profile>
   </adm:relation>
   <adm:relation name="log-retention-policy">
     <adm:one-to-many />
@@ -198,6 +295,13 @@
         cn=Log Retention Policies,cn=config
       </ldap:rdn-sequence>
     </adm:profile>
+    <adm:profile name="cli">
+      <cli:relation>
+        <cli:default-property name="disk-space-used" />
+        <cli:default-property name="free-disk-space" />
+        <cli:default-property name="number-of-files" />
+      </cli:relation>
+    </adm:profile>
   </adm:relation>
   <adm:product-name>OpenDS Directory Server</adm:product-name>
 </adm:root-managed-object>

--
Gitblit v1.10.0