mirror of https://github.com/OpenIdentityPlatform/OpenDJ.git

matthew_swift
14.53.2008 ad63cf4d78352153373252616c1cb5048b2ee41a
Add support to admin framework for retrieving an i18n description of the constraints applicable to an aggregation property. This is required for issue 2004 (HTML configuration guide generation).

Two new methods are added to the AggregationPropertyDefinition: getSourceConstraintSynopsis() and getSourceConstraintSynopsis(Locale). All aggregation definitions which had constraints have been updated to included the description. In addition, dsconfig is modified to output the constraint description when displaying verbose help on aggregation properties.
18 files modified
524 ■■■■ changed files
opends/resource/admin/admin.xsd 79 ●●●●● patch | view | raw | blame | history
opends/resource/admin/messagesMO.xsl 12 ●●●●● patch | view | raw | blame | history
opends/src/admin/defn/org/opends/server/admin/std/CramMD5SASLMechanismHandlerConfiguration.xml 21 ●●●●● patch | view | raw | blame | history
opends/src/admin/defn/org/opends/server/admin/std/DigestMD5SASLMechanismHandlerConfiguration.xml 21 ●●●●● patch | view | raw | blame | history
opends/src/admin/defn/org/opends/server/admin/std/ExternalSASLMechanismHandlerConfiguration.xml 21 ●●●●● patch | view | raw | blame | history
opends/src/admin/defn/org/opends/server/admin/std/GSSAPISASLMechanismHandlerConfiguration.xml 21 ●●●●● patch | view | raw | blame | history
opends/src/admin/defn/org/opends/server/admin/std/GlobalConfiguration.xml 13 ●●●●● patch | view | raw | blame | history
opends/src/admin/defn/org/opends/server/admin/std/JMXConnectionHandlerConfiguration.xml 26 ●●●●● patch | view | raw | blame | history
opends/src/admin/defn/org/opends/server/admin/std/LDAPConnectionHandlerConfiguration.xml 64 ●●●●● patch | view | raw | blame | history
opends/src/admin/defn/org/opends/server/admin/std/LocalBackendWorkflowElementConfiguration.xml 13 ●●●●● patch | view | raw | blame | history
opends/src/admin/defn/org/opends/server/admin/std/NetworkGroupConfiguration.xml 13 ●●●●● patch | view | raw | blame | history
opends/src/admin/defn/org/opends/server/admin/std/PasswordModifyExtendedOperationHandlerConfiguration.xml 21 ●●●●● patch | view | raw | blame | history
opends/src/admin/defn/org/opends/server/admin/std/PasswordPolicyConfiguration.xml 58 ●●●● patch | view | raw | blame | history
opends/src/admin/defn/org/opends/server/admin/std/PasswordPolicyImportPluginConfiguration.xml 42 ●●●●● patch | view | raw | blame | history
opends/src/admin/defn/org/opends/server/admin/std/PlainSASLMechanismHandlerConfiguration.xml 21 ●●●●● patch | view | raw | blame | history
opends/src/admin/defn/org/opends/server/admin/std/WorkflowConfiguration.xml 13 ●●●●● patch | view | raw | blame | history
opends/src/server/org/opends/server/admin/AggregationPropertyDefinition.java 52 ●●●●● patch | view | raw | blame | history
opends/src/server/org/opends/server/tools/dsconfig/HelpSubCommandHandler.java 13 ●●●●● patch | view | raw | blame | history
opends/resource/admin/admin.xsd
@@ -1218,36 +1218,67 @@
        </xsd:annotation>
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element name="target-needs-enabling-condition"
              minOccurs="0">
            <xsd:element name="constraint" minOccurs="0">
              <xsd:annotation>
                <xsd:documentation>
                  A condition which indicates whether or not referenced
                  managed objects must be enabled. The default behavior
                  is that all referenced managed objects must be
                  enabled.
                  An optional constraint on the relationship between
                  this managed object and referenced managed objects.
                  The constraint specifies when and how referenced
                  managed objects must be enabled.
                </xsd:documentation>
              </xsd:annotation>
              <xsd:complexType>
                <xsd:sequence>
                  <xsd:group ref="tns:condition-group" />
                </xsd:sequence>
              </xsd:complexType>
            </xsd:element>
            <xsd:element name="target-is-enabled-condition"
              minOccurs="0">
              <xsd:annotation>
                <xsd:documentation>
                  A condition which indicates whether or not referenced
                  managed objects are enabled. Managed objects are
                  assumed to be enabled by default.
                </xsd:documentation>
              </xsd:annotation>
              <xsd:complexType>
                <xsd:sequence>
                  <xsd:sequence>
                    <xsd:group ref="tns:condition-group" />
                  </xsd:sequence>
                  <xsd:element name="synopsis"
                    type="tns:rich-description-type">
                    <xsd:annotation>
                      <xsd:documentation>
                        A brief description of the constraints
                        applicable to referenced managed objects. The
                        description should describe, preferably in one
                        sentence, when referenced should be enabled and
                        how they should be enabled. The synopsis should
                        be suitable for use in applications such as
                        tool-tips, CLI help, and the summary description
                        in Javadoc. It is possible to embed rich content
                        including XHTML markup (this will only be used
                        where supported).
                      </xsd:documentation>
                    </xsd:annotation>
                  </xsd:element>
                  <xsd:element name="target-needs-enabling-condition"
                    minOccurs="0">
                    <xsd:annotation>
                      <xsd:documentation>
                        A condition which indicates whether or not
                        referenced managed objects must be enabled. The
                        default behavior is that all referenced managed
                        objects must be enabled.
                      </xsd:documentation>
                    </xsd:annotation>
                    <xsd:complexType>
                      <xsd:sequence>
                        <xsd:group ref="tns:condition-group" />
                      </xsd:sequence>
                    </xsd:complexType>
                  </xsd:element>
                  <xsd:element name="target-is-enabled-condition"
                    minOccurs="0">
                    <xsd:annotation>
                      <xsd:documentation>
                        A condition which indicates whether or not
                        referenced managed objects are enabled. Managed
                        objects are assumed to be enabled by default.
                      </xsd:documentation>
                    </xsd:annotation>
                    <xsd:complexType>
                      <xsd:sequence>
                        <xsd:sequence>
                          <xsd:group ref="tns:condition-group" />
                        </xsd:sequence>
                      </xsd:sequence>
                    </xsd:complexType>
                  </xsd:element>
                </xsd:sequence>
              </xsd:complexType>
            </xsd:element>
opends/resource/admin/messagesMO.xsl
@@ -22,7 +22,7 @@
  ! CDDL HEADER END
  !
  !
  !      Portions Copyright 2007 Sun Microsystems, Inc.
  !      Portions Copyright 2007-2008 Sun Microsystems, Inc.
  ! -->
<xsl:stylesheet version="1.0"
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
@@ -128,6 +128,16 @@
        Process syntax related descriptions.
      -->
      <xsl:choose>
        <xsl:when test="adm:syntax/adm:aggregation">
          <!--
            Process aggregation constraint synopsis (optional).
          -->
          <xsl:if
            test="adm:syntax/adm:aggregation/adm:constraint/adm:synopsis">
            <xsl:value-of
              select="concat('property.', normalize-space(@name), '.syntax.aggregation.constraint-synopsis=', normalize-space(adm:syntax/adm:aggregation/adm:constraint/adm:synopsis), '&#xa;')" />
          </xsl:if>
        </xsl:when>
        <xsl:when test="adm:syntax/adm:integer">
          <!--
            Process integer syntax unit synopsis (optional).
opends/src/admin/defn/org/opends/server/admin/std/CramMD5SASLMechanismHandlerConfiguration.xml
@@ -23,7 +23,7 @@
  ! CDDL HEADER END
  !
  !
  !      Portions Copyright 2007 Sun Microsystems, Inc.
  !      Portions Copyright 2007-2008 Sun Microsystems, Inc.
  ! -->
<adm:managed-object name="cram-md5-sasl-mechanism-handler"
  plural-name="cram-md5-sasl-mechanism-handlers"
@@ -59,12 +59,19 @@
    <adm:syntax>
      <adm:aggregation relation-name="identity-mapper"
        parent-path="/">
        <adm:target-needs-enabling-condition>
          <adm:contains property="enabled" value="true" />
        </adm:target-needs-enabling-condition>
        <adm:target-is-enabled-condition>
          <adm:contains property="enabled" value="true" />
        </adm:target-is-enabled-condition>
        <adm:constraint>
          <adm:synopsis>
            The referenced identity mapper must be enabled when the
            <adm:user-friendly-name />
            is enabled.
          </adm:synopsis>
          <adm:target-needs-enabling-condition>
            <adm:contains property="enabled" value="true" />
          </adm:target-needs-enabling-condition>
          <adm:target-is-enabled-condition>
            <adm:contains property="enabled" value="true" />
          </adm:target-is-enabled-condition>
        </adm:constraint>
      </adm:aggregation>
    </adm:syntax>
    <adm:profile name="ldap">
opends/src/admin/defn/org/opends/server/admin/std/DigestMD5SASLMechanismHandlerConfiguration.xml
@@ -23,7 +23,7 @@
  ! CDDL HEADER END
  !
  !
  !      Portions Copyright 2007 Sun Microsystems, Inc.
  !      Portions Copyright 2007-2008 Sun Microsystems, Inc.
  ! -->
<adm:managed-object name="digest-md5-sasl-mechanism-handler"
  plural-name="digest-md5-sasl-mechanism-handlers"
@@ -85,12 +85,19 @@
    <adm:syntax>
      <adm:aggregation relation-name="identity-mapper"
        parent-path="/">
        <adm:target-needs-enabling-condition>
          <adm:contains property="enabled" value="true" />
        </adm:target-needs-enabling-condition>
        <adm:target-is-enabled-condition>
          <adm:contains property="enabled" value="true" />
        </adm:target-is-enabled-condition>
        <adm:constraint>
          <adm:synopsis>
            The referenced identity mapper must be enabled when the
            <adm:user-friendly-name />
            is enabled.
          </adm:synopsis>
          <adm:target-needs-enabling-condition>
            <adm:contains property="enabled" value="true" />
          </adm:target-needs-enabling-condition>
          <adm:target-is-enabled-condition>
            <adm:contains property="enabled" value="true" />
          </adm:target-is-enabled-condition>
        </adm:constraint>
      </adm:aggregation>
    </adm:syntax>
    <adm:profile name="ldap">
opends/src/admin/defn/org/opends/server/admin/std/ExternalSASLMechanismHandlerConfiguration.xml
@@ -23,7 +23,7 @@
  ! CDDL HEADER END
  !
  !
  !      Portions Copyright 2007 Sun Microsystems, Inc.
  !      Portions Copyright 2007-2008 Sun Microsystems, Inc.
  ! -->
<adm:managed-object name="external-sasl-mechanism-handler"
  plural-name="external-sasl-mechanism-handlers"
@@ -115,12 +115,19 @@
    <adm:syntax>
      <adm:aggregation relation-name="certificate-mapper"
        parent-path="/">
        <adm:target-needs-enabling-condition>
          <adm:contains property="enabled" value="true" />
        </adm:target-needs-enabling-condition>
        <adm:target-is-enabled-condition>
          <adm:contains property="enabled" value="true" />
        </adm:target-is-enabled-condition>
        <adm:constraint>
          <adm:synopsis>
            The referenced certificate mapper must be enabled when the
            <adm:user-friendly-name />
            is enabled.
          </adm:synopsis>
          <adm:target-needs-enabling-condition>
            <adm:contains property="enabled" value="true" />
          </adm:target-needs-enabling-condition>
          <adm:target-is-enabled-condition>
            <adm:contains property="enabled" value="true" />
          </adm:target-is-enabled-condition>
        </adm:constraint>
      </adm:aggregation>
    </adm:syntax>
    <adm:profile name="ldap">
opends/src/admin/defn/org/opends/server/admin/std/GSSAPISASLMechanismHandlerConfiguration.xml
@@ -23,7 +23,7 @@
  ! CDDL HEADER END
  !
  !
  !      Portions Copyright 2007 Sun Microsystems, Inc.
  !      Portions Copyright 2007-2008 Sun Microsystems, Inc.
  ! -->
<adm:managed-object name="gssapi-sasl-mechanism-handler"
  plural-name="gssapi-sasl-mechanism-handlers"
@@ -152,12 +152,19 @@
    <adm:syntax>
      <adm:aggregation relation-name="identity-mapper"
        parent-path="/">
        <adm:target-needs-enabling-condition>
          <adm:contains property="enabled" value="true" />
        </adm:target-needs-enabling-condition>
        <adm:target-is-enabled-condition>
          <adm:contains property="enabled" value="true" />
        </adm:target-is-enabled-condition>
        <adm:constraint>
          <adm:synopsis>
            The referenced identity mapper must be enabled when the
            <adm:user-friendly-name />
            is enabled.
          </adm:synopsis>
          <adm:target-needs-enabling-condition>
            <adm:contains property="enabled" value="true" />
          </adm:target-needs-enabling-condition>
          <adm:target-is-enabled-condition>
            <adm:contains property="enabled" value="true" />
          </adm:target-is-enabled-condition>
        </adm:constraint>
      </adm:aggregation>
    </adm:syntax>
    <adm:profile name="ldap">
opends/src/admin/defn/org/opends/server/admin/std/GlobalConfiguration.xml
@@ -23,7 +23,7 @@
  ! CDDL HEADER END
  !
  !
  !      Portions Copyright 2007 Sun Microsystems, Inc.
  !      Portions Copyright 2007-2008 Sun Microsystems, Inc.
  ! -->
<adm:managed-object name="global" plural-name="globals"
  package="org.opends.server.admin.std"
@@ -326,9 +326,14 @@
    <adm:syntax>
      <adm:aggregation relation-name="identity-mapper"
        parent-path="/">
        <adm:target-is-enabled-condition>
          <adm:contains property="enabled" value="true" />
        </adm:target-is-enabled-condition>
        <adm:constraint>
          <adm:synopsis>
            The referenced identity mapper must be enabled.
          </adm:synopsis>
          <adm:target-is-enabled-condition>
            <adm:contains property="enabled" value="true" />
          </adm:target-is-enabled-condition>
        </adm:constraint>
      </adm:aggregation>
    </adm:syntax>
    <adm:profile name="ldap">
opends/src/admin/defn/org/opends/server/admin/std/JMXConnectionHandlerConfiguration.xml
@@ -23,7 +23,7 @@
  ! CDDL HEADER END
  !
  !
  !      Portions Copyright 2007 Sun Microsystems, Inc.
  !      Portions Copyright 2007-2008 Sun Microsystems, Inc.
  ! -->
<adm:managed-object name="jmx-connection-handler"
  plural-name="jmx-connection-handlers"
@@ -92,15 +92,23 @@
    <adm:syntax>
      <adm:aggregation relation-name="key-manager-provider"
        parent-path="/">
        <adm:target-needs-enabling-condition>
          <adm:and>
        <adm:constraint>
          <adm:synopsis>
            The referenced key manager provider must be enabled when
            the
            <adm:user-friendly-name />
            is enabled and configured to use SSL.
          </adm:synopsis>
          <adm:target-needs-enabling-condition>
            <adm:and>
              <adm:contains property="enabled" value="true" />
              <adm:contains property="use-ssl" value="true" />
            </adm:and>
          </adm:target-needs-enabling-condition>
          <adm:target-is-enabled-condition>
            <adm:contains property="enabled" value="true" />
            <adm:contains property="use-ssl" value="true" />
          </adm:and>
        </adm:target-needs-enabling-condition>
        <adm:target-is-enabled-condition>
          <adm:contains property="enabled" value="true" />
        </adm:target-is-enabled-condition>
          </adm:target-is-enabled-condition>
        </adm:constraint>
      </adm:aggregation>
    </adm:syntax>
    <adm:profile name="ldap">
opends/src/admin/defn/org/opends/server/admin/std/LDAPConnectionHandlerConfiguration.xml
@@ -23,7 +23,7 @@
  ! CDDL HEADER END
  !
  !
  !      Portions Copyright 2007 Sun Microsystems, Inc.
  !      Portions Copyright 2007-2008 Sun Microsystems, Inc.
  ! -->
<adm:managed-object name="ldap-connection-handler"
  plural-name="ldap-connection-handlers"
@@ -138,18 +138,26 @@
    <adm:syntax>
      <adm:aggregation relation-name="key-manager-provider"
        parent-path="/">
        <adm:target-needs-enabling-condition>
          <adm:and>
        <adm:constraint>
          <adm:synopsis>
            The referenced key manager provider must be enabled when
            the
            <adm:user-friendly-name />
            is enabled and configured to use SSL or StartTLS.
          </adm:synopsis>
          <adm:target-needs-enabling-condition>
            <adm:and>
              <adm:contains property="enabled" value="true" />
              <adm:or>
                <adm:contains property="use-ssl" value="true" />
                <adm:contains property="allow-start-tls" value="true" />
              </adm:or>
            </adm:and>
          </adm:target-needs-enabling-condition>
          <adm:target-is-enabled-condition>
            <adm:contains property="enabled" value="true" />
            <adm:or>
              <adm:contains property="use-ssl" value="true" />
              <adm:contains property="allow-start-tls" value="true" />
            </adm:or>
          </adm:and>
        </adm:target-needs-enabling-condition>
        <adm:target-is-enabled-condition>
          <adm:contains property="enabled" value="true" />
        </adm:target-is-enabled-condition>
          </adm:target-is-enabled-condition>
        </adm:constraint>
      </adm:aggregation>
    </adm:syntax>
    <adm:profile name="ldap">
@@ -161,7 +169,7 @@
  <adm:property name="trust-manager-provider">
    <adm:synopsis>
      Specifies the name of the trust manager that should be used with
      this
      the
      <adm:user-friendly-name />
      .
    </adm:synopsis>
@@ -180,18 +188,26 @@
    <adm:syntax>
      <adm:aggregation relation-name="trust-manager-provider"
        parent-path="/">
        <adm:target-needs-enabling-condition>
          <adm:and>
        <adm:constraint>
          <adm:synopsis>
            The referenced trust manager provider must be enabled when
            the
            <adm:user-friendly-name />
            is enabled and configured to use SSL or StartTLS.
          </adm:synopsis>
          <adm:target-needs-enabling-condition>
            <adm:and>
              <adm:contains property="enabled" value="true" />
              <adm:or>
                <adm:contains property="use-ssl" value="true" />
                <adm:contains property="allow-start-tls" value="true" />
              </adm:or>
            </adm:and>
          </adm:target-needs-enabling-condition>
          <adm:target-is-enabled-condition>
            <adm:contains property="enabled" value="true" />
            <adm:or>
              <adm:contains property="use-ssl" value="true" />
              <adm:contains property="allow-start-tls" value="true" />
            </adm:or>
          </adm:and>
        </adm:target-needs-enabling-condition>
        <adm:target-is-enabled-condition>
          <adm:contains property="enabled" value="true" />
        </adm:target-is-enabled-condition>
          </adm:target-is-enabled-condition>
        </adm:constraint>
      </adm:aggregation>
    </adm:syntax>
    <adm:profile name="ldap">
opends/src/admin/defn/org/opends/server/admin/std/LocalBackendWorkflowElementConfiguration.xml
@@ -23,7 +23,7 @@
  ! CDDL HEADER END
  !
  !
  !      Portions Copyright 2007 Sun Microsystems, Inc.
  !      Portions Copyright 2007-2008 Sun Microsystems, Inc.
  ! -->
<adm:managed-object name="local-backend-workflow-element"
  plural-name="local-backend-workflow-elements"
@@ -48,9 +48,14 @@
    </adm:synopsis>
    <adm:syntax>
      <adm:aggregation relation-name="backend" parent-path="/">
        <adm:target-is-enabled-condition>
          <adm:contains property="enabled" value="true" />
        </adm:target-is-enabled-condition>
        <adm:constraint>
          <adm:synopsis>
            The referenced backend must be enabled.
          </adm:synopsis>
          <adm:target-is-enabled-condition>
            <adm:contains property="enabled" value="true" />
          </adm:target-is-enabled-condition>
        </adm:constraint>
      </adm:aggregation>
    </adm:syntax>
    <adm:profile name="ldap">
opends/src/admin/defn/org/opends/server/admin/std/NetworkGroupConfiguration.xml
@@ -23,7 +23,7 @@
  ! CDDL HEADER END
  !
  !
  !      Portions Copyright 2007 Sun Microsystems, Inc.
  !      Portions Copyright 2007-2008 Sun Microsystems, Inc.
  ! -->
<adm:managed-object name="network-group" plural-name="network-groups"
  package="org.opends.server.admin.std"
@@ -89,9 +89,14 @@
    </adm:synopsis>
    <adm:syntax>
      <adm:aggregation relation-name="workflow" parent-path="/">
        <adm:target-is-enabled-condition>
          <adm:contains property="enabled" value="true" />
        </adm:target-is-enabled-condition>
        <adm:constraint>
          <adm:synopsis>
            The referenced workflows must be enabled.
          </adm:synopsis>
          <adm:target-is-enabled-condition>
            <adm:contains property="enabled" value="true" />
          </adm:target-is-enabled-condition>
        </adm:constraint>
      </adm:aggregation>
    </adm:syntax>
    <adm:profile name="ldap">
opends/src/admin/defn/org/opends/server/admin/std/PasswordModifyExtendedOperationHandlerConfiguration.xml
@@ -23,7 +23,7 @@
  ! CDDL HEADER END
  !
  !
  !      Portions Copyright 2007 Sun Microsystems, Inc.
  !      Portions Copyright 2007-2008 Sun Microsystems, Inc.
  ! -->
<adm:managed-object name="password-modify-extended-operation-handler"
  plural-name="password-modify-extended-operation-handlers"
@@ -74,12 +74,19 @@
    <adm:syntax>
      <adm:aggregation relation-name="identity-mapper"
        parent-path="/">
        <adm:target-needs-enabling-condition>
          <adm:contains property="enabled" value="true" />
        </adm:target-needs-enabling-condition>
        <adm:target-is-enabled-condition>
          <adm:contains property="enabled" value="true" />
        </adm:target-is-enabled-condition>
        <adm:constraint>
          <adm:synopsis>
            The referenced identity mapper must be enabled when the
            <adm:user-friendly-name />
            is enabled.
          </adm:synopsis>
          <adm:target-needs-enabling-condition>
            <adm:contains property="enabled" value="true" />
          </adm:target-needs-enabling-condition>
          <adm:target-is-enabled-condition>
            <adm:contains property="enabled" value="true" />
          </adm:target-is-enabled-condition>
        </adm:constraint>
      </adm:aggregation>
    </adm:syntax>
    <adm:profile name="ldap">
opends/src/admin/defn/org/opends/server/admin/std/PasswordPolicyConfiguration.xml
@@ -23,7 +23,7 @@
  ! CDDL HEADER END
  !
  !
  !      Portions Copyright 2007 Sun Microsystems, Inc.
  !      Portions Copyright 2007-2008 Sun Microsystems, Inc.
  ! -->
<adm:managed-object name="password-policy"
  plural-name="password-policies" package="org.opends.server.admin.std"
@@ -66,9 +66,14 @@
    <adm:syntax>
      <adm:aggregation relation-name="password-storage-scheme"
        parent-path="/">
        <adm:target-is-enabled-condition>
          <adm:contains property="enabled" value="true" />
        </adm:target-is-enabled-condition>
        <adm:constraint>
          <adm:synopsis>
            The referenced password storage schemes must be enabled.
          </adm:synopsis>
          <adm:target-is-enabled-condition>
            <adm:contains property="enabled" value="true" />
          </adm:target-is-enabled-condition>
        </adm:constraint>
      </adm:aggregation>
    </adm:syntax>
    <adm:profile name="ldap">
@@ -95,9 +100,14 @@
    <adm:syntax>
      <adm:aggregation relation-name="password-storage-scheme"
        parent-path="/">
        <adm:target-is-enabled-condition>
          <adm:contains property="enabled" value="true" />
        </adm:target-is-enabled-condition>
        <adm:constraint>
          <adm:synopsis>
            The referenced password storage schemes must be enabled.
          </adm:synopsis>
          <adm:target-is-enabled-condition>
            <adm:contains property="enabled" value="true" />
          </adm:target-is-enabled-condition>
        </adm:constraint>
      </adm:aggregation>
    </adm:syntax>
    <adm:profile name="ldap">
@@ -117,9 +127,14 @@
    <adm:syntax>
      <adm:aggregation relation-name="password-validator"
        parent-path="/">
        <adm:target-is-enabled-condition>
          <adm:contains property="enabled" value="true" />
        </adm:target-is-enabled-condition>
        <adm:constraint>
          <adm:synopsis>
            The referenced password validators must be enabled.
          </adm:synopsis>
          <adm:target-is-enabled-condition>
            <adm:contains property="enabled" value="true" />
          </adm:target-is-enabled-condition>
        </adm:constraint>
      </adm:aggregation>
    </adm:syntax>
    <adm:profile name="ldap">
@@ -141,9 +156,15 @@
      <adm:aggregation
        relation-name="account-status-notification-handler"
        parent-path="/">
        <adm:target-is-enabled-condition>
          <adm:contains property="enabled" value="true" />
        </adm:target-is-enabled-condition>
        <adm:constraint>
          <adm:synopsis>
            The referenced account status notification handlers must be
            enabled.
          </adm:synopsis>
          <adm:target-is-enabled-condition>
            <adm:contains property="enabled" value="true" />
          </adm:target-is-enabled-condition>
        </adm:constraint>
      </adm:aggregation>
    </adm:syntax>
    <adm:profile name="ldap">
@@ -279,9 +300,14 @@
    <adm:syntax>
      <adm:aggregation relation-name="password-generator"
        parent-path="/">
        <adm:target-is-enabled-condition>
          <adm:contains property="enabled" value="true" />
        </adm:target-is-enabled-condition>
        <adm:constraint>
          <adm:synopsis>
            The referenced password generator must be enabled.
          </adm:synopsis>
          <adm:target-is-enabled-condition>
            <adm:contains property="enabled" value="true" />
          </adm:target-is-enabled-condition>
        </adm:constraint>
      </adm:aggregation>
    </adm:syntax>
    <adm:profile name="ldap">
opends/src/admin/defn/org/opends/server/admin/std/PasswordPolicyImportPluginConfiguration.xml
@@ -23,7 +23,7 @@
  ! CDDL HEADER END
  !
  !
  !      Portions Copyright 2007 Sun Microsystems, Inc.
  !      Portions Copyright 2007-2008 Sun Microsystems, Inc.
  ! -->
<adm:managed-object name="password-policy-import-plugin"
  plural-name="password-policy-import-plugins"
@@ -88,12 +88,20 @@
    <adm:syntax>
      <adm:aggregation relation-name="password-storage-scheme"
        parent-path="/">
        <adm:target-needs-enabling-condition>
          <adm:contains property="enabled" value="true" />
        </adm:target-needs-enabling-condition>
        <adm:target-is-enabled-condition>
          <adm:contains property="enabled" value="true" />
        </adm:target-is-enabled-condition>
        <adm:constraint>
          <adm:synopsis>
            The referenced password storage schemes must be enabled when
            the
            <adm:user-friendly-name />
            is enabled.
          </adm:synopsis>
          <adm:target-needs-enabling-condition>
            <adm:contains property="enabled" value="true" />
          </adm:target-needs-enabling-condition>
          <adm:target-is-enabled-condition>
            <adm:contains property="enabled" value="true" />
          </adm:target-is-enabled-condition>
        </adm:constraint>
      </adm:aggregation>
    </adm:syntax>
    <adm:profile name="ldap">
@@ -126,12 +134,20 @@
    <adm:syntax>
      <adm:aggregation relation-name="password-storage-scheme"
        parent-path="/">
        <adm:target-needs-enabling-condition>
          <adm:contains property="enabled" value="true" />
        </adm:target-needs-enabling-condition>
        <adm:target-is-enabled-condition>
          <adm:contains property="enabled" value="true" />
        </adm:target-is-enabled-condition>
        <adm:constraint>
          <adm:synopsis>
            The referenced password storage schemes must be enabled when
            the
            <adm:user-friendly-name />
            is enabled.
          </adm:synopsis>
          <adm:target-needs-enabling-condition>
            <adm:contains property="enabled" value="true" />
          </adm:target-needs-enabling-condition>
          <adm:target-is-enabled-condition>
            <adm:contains property="enabled" value="true" />
          </adm:target-is-enabled-condition>
        </adm:constraint>
      </adm:aggregation>
    </adm:syntax>
    <adm:profile name="ldap">
opends/src/admin/defn/org/opends/server/admin/std/PlainSASLMechanismHandlerConfiguration.xml
@@ -23,7 +23,7 @@
  ! CDDL HEADER END
  !
  !
  !      Portions Copyright 2007 Sun Microsystems, Inc.
  !      Portions Copyright 2007-2008 Sun Microsystems, Inc.
  ! -->
<adm:managed-object name="plain-sasl-mechanism-handler"
  plural-name="plain-sasl-mechanism-handlers"
@@ -59,12 +59,19 @@
    <adm:syntax>
      <adm:aggregation relation-name="identity-mapper"
        parent-path="/">
        <adm:target-needs-enabling-condition>
          <adm:contains property="enabled" value="true" />
        </adm:target-needs-enabling-condition>
        <adm:target-is-enabled-condition>
          <adm:contains property="enabled" value="true" />
        </adm:target-is-enabled-condition>
        <adm:constraint>
          <adm:synopsis>
            The referenced identity mapper must be enabled when the
            <adm:user-friendly-name />
            is enabled.
          </adm:synopsis>
          <adm:target-needs-enabling-condition>
            <adm:contains property="enabled" value="true" />
          </adm:target-needs-enabling-condition>
          <adm:target-is-enabled-condition>
            <adm:contains property="enabled" value="true" />
          </adm:target-is-enabled-condition>
        </adm:constraint>
      </adm:aggregation>
    </adm:syntax>
    <adm:profile name="ldap">
opends/src/admin/defn/org/opends/server/admin/std/WorkflowConfiguration.xml
@@ -23,7 +23,7 @@
  ! CDDL HEADER END
  !
  !
  !      Portions Copyright 2007 Sun Microsystems, Inc.
  !      Portions Copyright 2007-2008 Sun Microsystems, Inc.
  ! -->
<adm:managed-object name="workflow" plural-name="workflows"
  package="org.opends.server.admin.std"
@@ -92,9 +92,14 @@
    <adm:syntax>
      <adm:aggregation relation-name="workflow-element"
        parent-path="/">
        <adm:target-is-enabled-condition>
          <adm:contains property="enabled" value="true" />
        </adm:target-is-enabled-condition>
        <adm:constraint>
          <adm:synopsis>
            The referenced workflow element must be enabled.
          </adm:synopsis>
          <adm:target-is-enabled-condition>
            <adm:contains property="enabled" value="true" />
          </adm:target-is-enabled-condition>
        </adm:constraint>
      </adm:aggregation>
    </adm:syntax>
    <adm:profile name="ldap">
opends/src/server/org/opends/server/admin/AggregationPropertyDefinition.java
@@ -39,7 +39,9 @@
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
import java.util.Locale;
import java.util.Map;
import java.util.MissingResourceException;
import java.util.SortedSet;
import org.opends.messages.Message;
@@ -1021,13 +1023,61 @@
   * @return Returns the constraint which should be enforced on the
   *         aggregating managed object.
   */
  public Constraint getSourceConstraint() {
  public final Constraint getSourceConstraint() {
    return sourceConstraint;
  }
  /**
   * Gets the optional constraint synopsis of this aggregation
   * property definition in the default locale. The constraint
   * synopsis describes when and how referenced managed objects must
   * be enabled. When there are no constraints between the source
   * managed object and the objects it references through this
   * aggregation, <code>null</code> is returned.
   *
   * @return Returns the optional constraint synopsis of this
   *         aggregation property definition in the default locale, or
   *         <code>null</code> if there is no constraint synopsis.
   */
  public final Message getSourceConstraintSynopsis() {
    return getSourceConstraintSynopsis(Locale.getDefault());
  }
  /**
   * Gets the optional constraint synopsis of this aggregation
   * property definition in the specified locale.The constraint
   * synopsis describes when and how referenced managed objects must
   * be enabled. When there are no constraints between the source
   * managed object and the objects it references through this
   * aggregation, <code>null</code> is returned.
   *
   * @param locale
   *          The locale.
   * @return Returns the optional constraint synopsis of this
   *         aggregation property definition in the specified locale,
   *         or <code>null</code> if there is no constraint
   *         synopsis.
   */
  public final Message getSourceConstraintSynopsis(Locale locale) {
    ManagedObjectDefinitionI18NResource resource =
      ManagedObjectDefinitionI18NResource.getInstance();
    String property = "property." + getName()
        + ".syntax.aggregation.constraint-synopsis";
    try {
      return resource
          .getMessage(getManagedObjectDefinition(), property, locale);
    } catch (MissingResourceException e) {
      return null;
    }
  }
  /**
   * Gets the condition which is used to determine if a referenced
   * managed object is enabled.
   *
opends/src/server/org/opends/server/tools/dsconfig/HelpSubCommandHandler.java
@@ -22,7 +22,7 @@
 * CDDL HEADER END
 *
 *
 *      Portions Copyright 2007 Sun Microsystems, Inc.
 *      Portions Copyright 2007-2008 Sun Microsystems, Inc.
 */
package org.opends.server.tools.dsconfig;
@@ -48,6 +48,7 @@
import org.opends.server.admin.AbsoluteInheritedDefaultBehaviorProvider;
import org.opends.server.admin.AbstractManagedObjectDefinition;
import org.opends.server.admin.AdministratorAction;
import org.opends.server.admin.AggregationPropertyDefinition;
import org.opends.server.admin.AliasDefaultBehaviorProvider;
import org.opends.server.admin.DefaultBehaviorProviderVisitor;
import org.opends.server.admin.DefinedDefaultBehaviorProvider;
@@ -507,11 +508,21 @@
    // Display the property synopsis and description.
    app.println();
    app.println(pd.getSynopsis(), 4);
    if (pd.getDescription() != null) {
      app.println();
      app.println(pd.getDescription(), 4);
    }
    if (pd instanceof AggregationPropertyDefinition) {
      AggregationPropertyDefinition<?, ?> apd =
        (AggregationPropertyDefinition<?, ?>) pd;
      if (apd.getSourceConstraintSynopsis() != null) {
        app.println();
        app.println(apd.getSourceConstraintSynopsis(), 4);
      }
    }
    // Display the syntax.
    app.println();
    SyntaxPrinter syntaxPrinter = new SyntaxPrinter();