From 369b773b44c479a87f71548b03ff264c65477d73 Mon Sep 17 00:00:00 2001
From: matthew_swift <matthew_swift@localhost>
Date: Thu, 19 Apr 2007 09:48:46 +0000
Subject: [PATCH] Fix for issue 1442.
---
opendj-sdk/opends/src/server/org/opends/server/admin/StringPropertyDefinition.java | 68 ++
opendj-sdk/opends/src/server/org/opends/server/admin/RelationDefinition.java | 163 +++++-
opendj-sdk/opends/resource/admin/metaMO.xsl | 6
opendj-sdk/opends/src/server/org/opends/server/admin/InstantiableRelationDefinition.java | 33 +
opendj-sdk/opends/src/server/org/opends/server/admin/AbstractManagedObjectDefinition.java | 127 +++++
opendj-sdk/opends/src/server/org/opends/server/admin/ManagedObjectDefinitionI18NResource.java | 133 +++--
opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/admin/IntegerPropertyDefinitionTest.java | 5
opendj-sdk/opends/src/server/org/opends/server/admin/AliasDefaultBehaviorProvider.java | 57 ++
opendj-sdk/opends/src/server/org/opends/server/admin/AbstractPropertyDefinition.java | 100 ++++
opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/admin/EnumPropertyDefinitionTest.java | 25
opendj-sdk/opends/src/server/org/opends/server/admin/IPAddressMaskPropertyDefinition.java | 21
opendj-sdk/opends/src/server/org/opends/server/admin/DNPropertyDefinition.java | 23
opendj-sdk/opends/src/server/org/opends/server/admin/EnumPropertyDefinition.java | 68 ++
opendj-sdk/opends/src/server/org/opends/server/admin/ClassPropertyDefinition.java | 21
opendj-sdk/opends/src/server/org/opends/server/admin/PropertyDefinition.java | 51 ++
opendj-sdk/opends/build.xml | 6
opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/admin/client/PropertySetTest.java | 7
opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/admin/SizePropertyDefinitionTest.java | 6
opendj-sdk/opends/resource/admin/example-plugin/build.xml | 8
opendj-sdk/opends/src/server/org/opends/server/admin/BooleanPropertyDefinition.java | 23
opendj-sdk/opends/src/server/org/opends/server/admin/DurationPropertyDefinition.java | 21
opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/admin/DNPropertyDefinitionTest.java | 11
opendj-sdk/opends/src/server/org/opends/server/admin/IPAddressPropertyDefinition.java | 23
opendj-sdk/opends/resource/admin/messagesMO.xsl | 203 ++++++++
opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/admin/DurationPropertyDefinitionTest.java | 7
opendj-sdk/opends/src/server/org/opends/server/admin/AttributeTypePropertyDefinition.java | 23
opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/admin/ManagedObjectDefinitionI18NResourceTest.java | 2
opendj-sdk/opends/src/server/org/opends/server/admin/IntegerPropertyDefinition.java | 63 ++
opendj-sdk/opends/src/server/org/opends/server/admin/SizePropertyDefinition.java | 23
opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/admin/AttributeTypePropertyDefinitionTest.java | 4
opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/admin/ClassPropertyDefinitionTest.java | 26
opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/admin/BooleanPropertyDefinitionTest.java | 7
32 files changed, 1,150 insertions(+), 214 deletions(-)
diff --git a/opendj-sdk/opends/build.xml b/opendj-sdk/opends/build.xml
index 17501c9..8505da3 100644
--- a/opendj-sdk/opends/build.xml
+++ b/opendj-sdk/opends/build.xml
@@ -1373,6 +1373,12 @@
<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" />
+ <param name="base-dir" expression="${admin.defn.dir}" />
+ </xslt>
+
<!-- Generate manifest file for core administration components. -->
<tempfile property="admin.temp.dir" destDir="${build.dir}" prefix="tmp" />
<mkdir dir="${admin.temp.dir}" />
diff --git a/opendj-sdk/opends/resource/admin/example-plugin/build.xml b/opendj-sdk/opends/resource/admin/example-plugin/build.xml
index 9a67112..38d2333 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 I18N message files. -->
+ <xslt basedir="${src.dir}" destdir="${classes.dir}/admin/messages" style="${admin.dir}/messageMO.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 manifest file. -->
<tempfile property="admin.temp.dir" destDir="${classes.dir}" />
<mkdir dir="${admin.temp.dir}" />
diff --git a/opendj-sdk/opends/resource/admin/messagesMO.xsl b/opendj-sdk/opends/resource/admin/messagesMO.xsl
new file mode 100644
index 0000000..b47d891
--- /dev/null
+++ b/opendj-sdk/opends/resource/admin/messagesMO.xsl
@@ -0,0 +1,203 @@
+<!--
+ ! 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:ldap="http://www.opends.org/admin-ldap">
+ <xsl:import href="java-utilities.xsl" />
+ <xsl:import href="preprocessor.xsl" />
+ <xsl:import href="property-types.xsl" />
+ <xsl:output method="text" encoding="us-ascii" />
+ <!--
+ Document parsing.
+ -->
+ <xsl:template match="/">
+ <!--
+ Generate user friendly names.
+ -->
+ <xsl:value-of
+ select="concat('user-friendly-name=', $this-ufn, '
')" />
+ <xsl:value-of
+ select="concat('user-friendly-plural-name=', $this-ufpn, '
')" />
+ <!--
+ Pull out the managed object synopsis (mandatory).
+ -->
+ <xsl:if test="not($this/adm:synopsis)">
+ <xsl:message terminate="yes">
+ <xsl:value-of
+ select="concat('No synopsis found for managed object definition ', $this-name)" />
+ </xsl:message>
+ </xsl:if>
+ <xsl:value-of
+ select="concat('synopsis=', normalize-space($this/adm:synopsis), '
')" />
+ <!--
+ Pull out the managed object description (optional).
+ -->
+ <xsl:if test="$this/adm:description">
+ <xsl:value-of
+ select="concat('description=', normalize-space($this/adm:description), '
')" />
+ </xsl:if>
+ <!--
+ Process each property definition.
+ -->
+ <xsl:for-each select="$this-all-properties">
+ <xsl:sort select="@name" />
+ <!--
+ Pull out the property definition synopsis (mandatory).
+ -->
+ <xsl:if test="not(adm:synopsis)">
+ <xsl:message terminate="yes">
+ <xsl:value-of
+ select="concat('No synopsis found for property ', @name, ' in managed object definition ', $this-name)" />
+ </xsl:message>
+ </xsl:if>
+ <xsl:value-of
+ select="concat('property.', normalize-space(@name), '.synopsis=', normalize-space(adm:synopsis), '
')" />
+ <!--
+ Pull out the property definition description (optional).
+ -->
+ <xsl:if test="adm:description">
+ <xsl:value-of
+ select="concat('property.', normalize-space(@name), '.description=', normalize-space(adm:description), '
')" />
+ </xsl:if>
+ <!--
+ Process alias default behavior synopsis.
+ -->
+ <xsl:if test="adm:default-behavior/adm:alias">
+ <xsl:if
+ test="not(adm:default-behavior/adm:alias/adm:synopsis)">
+ <xsl:message terminate="yes">
+ <xsl:value-of
+ select="concat('No alias default behavior synopsis found for property ', @name, ' in managed object definition ', $this-name)" />
+ </xsl:message>
+ </xsl:if>
+ <xsl:value-of
+ select="concat('property.', normalize-space(@name), '.default-behavior.alias.synopsis=', normalize-space(adm:default-behavior/adm:alias/adm:synopsis), '
')" />
+ </xsl:if>
+ <!--
+ Process requires admin action (other) synopsis.
+ -->
+ <xsl:if test="adm:requires-admin-action/adm:other">
+ <xsl:if
+ test="not(adm:requires-admin-action/adm:other/adm:synopsis)">
+ <xsl:message terminate="yes">
+ <xsl:value-of
+ select="concat('No requires admin action (other) synopsis found for property ', @name, ' in managed object definition ', $this-name)" />
+ </xsl:message>
+ </xsl:if>
+ <xsl:value-of
+ select="concat('property.', normalize-space(@name), '.requires-admin-action.other.synopsis=', normalize-space(adm:requires-admin-action/adm:other/adm:synopsis), '
')" />
+ </xsl:if>
+ <!--
+ Process syntax related descriptions.
+ -->
+ <xsl:choose>
+ <xsl:when test="adm:syntax/adm:integer">
+ <!--
+ Process integer syntax unit synopsis (optional).
+ -->
+ <xsl:if test="adm:syntax/adm:integer/adm:synopsis">
+ <xsl:value-of
+ select="concat('property.', normalize-space(@name), '.syntax.integer.unit-synopsis=', normalize-space(adm:syntax/adm:integer/adm:synopsis), '
')" />
+ </xsl:if>
+ </xsl:when>
+ <xsl:when test="adm:syntax/adm:string/adm:pattern">
+ <!--
+ Process string syntax pattern synopsis (mandatory if pattern defined).
+ -->
+ <xsl:if
+ test="not(adm:syntax/adm:string/adm:pattern/adm:synopsis)">
+ <xsl:message terminate="yes">
+ <xsl:value-of
+ select="concat('No string pattern synopsis found for property ', @name, ' in managed object definition ', $this-name)" />
+ </xsl:message>
+ </xsl:if>
+ <xsl:value-of
+ select="concat('property.', normalize-space(@name), '.syntax.string.pattern.synopsis=', normalize-space(adm:syntax/adm:string/adm:pattern/adm:synopsis), '
')" />
+ </xsl:when>
+ <xsl:when test="adm:syntax/adm:enumeration">
+ <!--
+ Process enumeration value synopsis (mandatory).
+ -->
+ <xsl:for-each select="adm:syntax/adm:enumeration/adm:value">
+ <xsl:sort select="@name" />
+ <xsl:if test="not(adm:synopsis)">
+ <xsl:message terminate="yes">
+ <xsl:value-of
+ select="concat('No synopsis found for enumeration value ', @name, ' for property ', ../../../@name, ' in managed object definition ', $this-name)" />
+ </xsl:message>
+ </xsl:if>
+ <xsl:value-of
+ select="concat('property.', normalize-space(../../../@name), '.syntax.enumeration.value.', @name,'.synopsis=', normalize-space(adm:synopsis), '
')" />
+ </xsl:for-each>
+ </xsl:when>
+ </xsl:choose>
+ </xsl:for-each>
+ <!--
+ Process each relation definition.
+ -->
+ <xsl:for-each select="$this-all-relations">
+ <xsl:sort select="@name" />
+ <!--
+ Generate user friendly names.
+ -->
+ <xsl:value-of
+ select="concat('relation.', normalize-space(@name), '.user-friendly-name=')" />
+ <xsl:call-template name="name-to-ufn">
+ <xsl:with-param name="value" select="@name" />
+ </xsl:call-template>
+ <xsl:value-of select="'
'" />
+ <xsl:if test="adm:one-to-many">
+ <xsl:value-of
+ select="concat('relation.', normalize-space(@name), '.user-friendly-plural-name=')" />
+ <xsl:call-template name="name-to-ufn">
+ <xsl:with-param name="value"
+ select="adm:one-to-many/@plural-name" />
+ </xsl:call-template>
+ <xsl:value-of select="'
'" />
+ </xsl:if>
+ <!--
+ Pull out the relation definition synopsis (mandatory).
+ -->
+ <xsl:if test="not(adm:synopsis)">
+ <xsl:message terminate="yes">
+ <xsl:value-of
+ select="concat('No synopsis found for relation ', @name, ' in managed object definition ', $this-name)" />
+ </xsl:message>
+ </xsl:if>
+ <xsl:value-of
+ select="concat('relation.', normalize-space(@name), '.synopsis=', normalize-space(adm:synopsis), '
')" />
+ <!--
+ Pull out the relation definition description (optional).
+ -->
+ <xsl:if test="adm:description">
+ <xsl:value-of
+ select="concat('relation.', normalize-space(@name), '.description=', normalize-space(adm:description), '
')" />
+ </xsl:if>
+ </xsl:for-each>
+ </xsl:template>
+</xsl:stylesheet>
diff --git a/opendj-sdk/opends/resource/admin/metaMO.xsl b/opendj-sdk/opends/resource/admin/metaMO.xsl
index 1774eac..b16fb65 100644
--- a/opendj-sdk/opends/resource/admin/metaMO.xsl
+++ b/opendj-sdk/opends/resource/admin/metaMO.xsl
@@ -559,11 +559,11 @@
<xsl:choose>
<xsl:when test="string-length($generic-type) != 0">
<xsl:value-of
- select="concat(' ', $type, '.Builder<', $generic-type, '> builder = ', $type, '.createBuilder("',@name, '");
')" />
+ select="concat(' ', $type, '.Builder<', $generic-type, '> builder = ', $type, '.createBuilder(INSTANCE, "',@name, '");
')" />
</xsl:when>
<xsl:otherwise>
<xsl:value-of
- select="concat(' ', $type, '.Builder builder = ', $type, '.createBuilder("',@name, '");
')" />
+ select="concat(' ', $type, '.Builder builder = ', $type, '.createBuilder(INSTANCE, "',@name, '");
')" />
</xsl:otherwise>
</xsl:choose>
<xsl:if test="string(@multi-valued) = 'true'">
@@ -607,7 +607,7 @@
</xsl:when>
<xsl:when test="adm:default-behavior/adm:alias">
<xsl:value-of
- select="concat(' builder.setDefaultBehaviorProvider(new AliasDefaultBehaviorProvider<', $value-type,'>());
')" />
+ select="concat(' builder.setDefaultBehaviorProvider(new AliasDefaultBehaviorProvider<', $value-type,'>(INSTANCE, "', @name, '"));
')" />
</xsl:when>
<xsl:when test="adm:default-behavior/adm:defined">
<xsl:value-of
diff --git a/opendj-sdk/opends/src/server/org/opends/server/admin/AbstractManagedObjectDefinition.java b/opendj-sdk/opends/src/server/org/opends/server/admin/AbstractManagedObjectDefinition.java
index 70d6f32..608e7d9 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/admin/AbstractManagedObjectDefinition.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/admin/AbstractManagedObjectDefinition.java
@@ -32,7 +32,9 @@
import java.util.Collection;
import java.util.Collections;
import java.util.HashMap;
+import java.util.Locale;
import java.util.Map;
+import java.util.MissingResourceException;
import org.opends.server.admin.DefinitionDecodingException.Reason;
@@ -154,6 +156,41 @@
/**
+ * Gets the optional description of this managed object definition
+ * in the default locale.
+ *
+ * @return Returns the description of this managed object definition
+ * in the default locale, or <code>null</code> if there is
+ * no description.
+ */
+ public final String getDescription() {
+ return getDescription(Locale.getDefault());
+ }
+
+
+
+ /**
+ * Gets the optional description of this managed object definition
+ * in the specified locale.
+ *
+ * @param locale
+ * The locale.
+ * @return Returns the description of this managed object definition
+ * in the specified locale, or <code>null</code> if there
+ * is no description.
+ */
+ public final String getDescription(Locale locale) {
+ try {
+ return ManagedObjectDefinitionI18NResource.getInstance()
+ .getMessage(this, "description", locale);
+ } catch (MissingResourceException e) {
+ return null;
+ }
+ }
+
+
+
+ /**
* Get the name of the definition.
*
* @return Returns the name of the definition.
@@ -168,7 +205,8 @@
* Get the parent managed object definition, if applicable.
*
* @return Returns the parent of this managed object definition, or
- * <code>null</code> if this definition does not have a parent.
+ * <code>null</code> if this definition does not have a
+ * parent.
*/
public final AbstractManagedObjectDefinition<? super C,
? super S> getParent() {
@@ -266,6 +304,93 @@
/**
+ * Gets the synopsis of this managed object definition in the
+ * default locale.
+ *
+ * @return Returns the synopsis of this managed object definition in
+ * the default locale.
+ */
+ public final String getSynopsis() {
+ return getSynopsis(Locale.getDefault());
+ }
+
+
+
+ /**
+ * Gets the synopsis of this managed object definition in the
+ * specified locale.
+ *
+ * @param locale
+ * The locale.
+ * @return Returns the synopsis of this managed object definition in
+ * the specified locale.
+ */
+ public final String getSynopsis(Locale locale) {
+ return ManagedObjectDefinitionI18NResource.getInstance()
+ .getMessage(this, "synopsis", locale);
+ }
+
+
+
+ /**
+ * Gets the user friendly name of this managed object definition in
+ * the default locale.
+ *
+ * @return Returns the user friendly name of this managed object
+ * definition in the default locale.
+ */
+ public final String getUserFriendlyName() {
+ return getUserFriendlyName(Locale.getDefault());
+ }
+
+
+
+ /**
+ * Gets the user friendly name of this managed object definition in
+ * the specified locale.
+ *
+ * @param locale
+ * The locale.
+ * @return Returns the user friendly name of this managed object
+ * definition in the specified locale.
+ */
+ public final String getUserFriendlyName(Locale locale) {
+ return ManagedObjectDefinitionI18NResource.getInstance()
+ .getMessage(this, "user-friendly-name", locale);
+ }
+
+
+
+ /**
+ * Gets the user friendly plural name of this managed object
+ * definition in the default locale.
+ *
+ * @return Returns the user friendly plural name of this managed
+ * object definition in the default locale.
+ */
+ public final String getUserFriendlyPluralName() {
+ return getUserFriendlyPluralName(Locale.getDefault());
+ }
+
+
+
+ /**
+ * Gets the user friendly plural name of this managed object
+ * definition in the specified locale.
+ *
+ * @param locale
+ * The locale.
+ * @return Returns the user friendly plural name of this managed
+ * object definition in the specified locale.
+ */
+ public final String getUserFriendlyPluralName(Locale locale) {
+ return ManagedObjectDefinitionI18NResource.getInstance()
+ .getMessage(this, "user-friendly-plural-name", locale);
+ }
+
+
+
+ /**
* Determine whether there are any child managed object definitions which
* inherit from this managed object definition.
*
diff --git a/opendj-sdk/opends/src/server/org/opends/server/admin/AbstractPropertyDefinition.java b/opendj-sdk/opends/src/server/org/opends/server/admin/AbstractPropertyDefinition.java
index 87ff5a0..d568425 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/admin/AbstractPropertyDefinition.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/admin/AbstractPropertyDefinition.java
@@ -32,6 +32,8 @@
import static org.opends.server.util.Validator.ensureNotNull;
import java.util.EnumSet;
+import java.util.Locale;
+import java.util.MissingResourceException;
import java.util.Set;
@@ -56,6 +58,9 @@
protected abstract static class AbstractBuilder<T,
D extends PropertyDefinition<T>> {
+ // The abstract managed object
+ private final AbstractManagedObjectDefinition<?, ?> definition;
+
// The name of this property definition.
private final String propertyName;
@@ -70,10 +75,15 @@
/**
* Create a property definition builder.
*
+ * @param d
+ * The managed object definition associated with this
+ * property definition.
* @param propertyName
* The property name.
*/
- protected AbstractBuilder(String propertyName) {
+ protected AbstractBuilder(
+ AbstractManagedObjectDefinition<?, ?> d, String propertyName) {
+ this.definition = d;
this.propertyName = propertyName;
this.options = EnumSet.noneOf(PropertyOption.class);
this.defaultBehavior = new UndefinedDefaultBehaviorProvider<T>();
@@ -87,7 +97,7 @@
* @return The new property definition.
*/
public final D getInstance() {
- return buildInstance(propertyName, options, defaultBehavior);
+ return buildInstance(definition, propertyName, options, defaultBehavior);
}
@@ -120,8 +130,12 @@
/**
- * Build a property definition based on the properties of this builder.
+ * Build a property definition based on the properties of this
+ * builder.
*
+ * @param d
+ * The managed object definition associated with this
+ * property definition.
* @param propertyName
* The property name.
* @param options
@@ -130,7 +144,8 @@
* The default behavior provider.
* @return The new property definition.
*/
- protected abstract D buildInstance(String propertyName,
+ protected abstract D buildInstance(
+ AbstractManagedObjectDefinition<?, ?> d, String propertyName,
EnumSet<PropertyOption> options,
DefaultBehaviorProvider<T> defaultBehavior);
}
@@ -147,11 +162,17 @@
// The default behavior provider.
private final DefaultBehaviorProvider<T> defaultBehavior;
+ // The abstract managed object
+ private final AbstractManagedObjectDefinition<?, ?> definition;
+
/**
* Create a property definition.
*
+ * @param d
+ * The managed object definition associated with this
+ * property definition.
* @param theClass
* The property value class.
* @param propertyName
@@ -161,11 +182,14 @@
* @param defaultBehavior
* The default behavior provider.
*/
- protected AbstractPropertyDefinition(Class<T> theClass, String propertyName,
+ protected AbstractPropertyDefinition(AbstractManagedObjectDefinition<?,?> d,
+ Class<T> theClass, String propertyName,
EnumSet<PropertyOption> options,
DefaultBehaviorProvider<T> defaultBehavior) {
- ensureNotNull(theClass, propertyName, options, defaultBehavior);
+ ensureNotNull(d, theClass, propertyName);
+ ensureNotNull(options, defaultBehavior);
+ this.definition = d;
this.theClass = theClass;
this.propertyName = propertyName;
this.options = EnumSet.copyOf(options);
@@ -280,6 +304,45 @@
/**
* {@inheritDoc}
*/
+ public final String getDescription() {
+ return getDescription(Locale.getDefault());
+ }
+
+
+
+ /**
+ * {@inheritDoc}
+ */
+ public final String getDescription(Locale locale) {
+ ManagedObjectDefinitionI18NResource resource =
+ ManagedObjectDefinitionI18NResource.getInstance();
+ String property = "property." + propertyName + ".description";
+ try {
+ return resource.getMessage(definition, property, locale);
+ } catch (MissingResourceException e) {
+ return null;
+ }
+ }
+
+
+
+ /**
+ * Gets the managed object definition associated with this property
+ * definition.
+ *
+ * @return Returns the managed object definition associated with
+ * this property definition.
+ */
+ public final AbstractManagedObjectDefinition<?, ?>
+ getManagedObjectDefinition() {
+ return definition;
+ }
+
+
+
+ /**
+ * {@inheritDoc}
+ */
public final String getName() {
return propertyName;
}
@@ -289,6 +352,31 @@
/**
* {@inheritDoc}
*/
+ public final String getSynopsis() {
+ return getSynopsis(Locale.getDefault());
+ }
+
+
+
+ /**
+ * {@inheritDoc}
+ */
+ public final String getSynopsis(Locale locale) {
+ ManagedObjectDefinitionI18NResource resource =
+ ManagedObjectDefinitionI18NResource.getInstance();
+ String property = "property." + propertyName + ".synopsis";
+ try {
+ return resource.getMessage(definition, property, locale);
+ } catch (MissingResourceException e) {
+ return null;
+ }
+ }
+
+
+
+ /**
+ * {@inheritDoc}
+ */
@Override
public int hashCode() {
// TODO: see comment in equals().
diff --git a/opendj-sdk/opends/src/server/org/opends/server/admin/AliasDefaultBehaviorProvider.java b/opendj-sdk/opends/src/server/org/opends/server/admin/AliasDefaultBehaviorProvider.java
index dd0a5ad..d9c376d 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/admin/AliasDefaultBehaviorProvider.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/admin/AliasDefaultBehaviorProvider.java
@@ -26,6 +26,8 @@
*/
package org.opends.server.admin;
+import java.util.Locale;
+
/**
@@ -42,11 +44,30 @@
public final class AliasDefaultBehaviorProvider<T> implements
DefaultBehaviorProvider<T> {
+ // The managed object definition associated with this default
+ // behavior.
+ private final AbstractManagedObjectDefinition<?, ?> definition;
+
+ // The name of the property definition associated with this default
+ // behavior.
+ private final String propertyName;
+
+
+
/**
* Create an alias default behavior provider.
+ *
+ * @param d
+ * The managed object definition associated with this
+ * default behavior.
+ * @param propertyName
+ * The name of the property definition associated with this
+ * default behavior.
*/
- public AliasDefaultBehaviorProvider() {
- // No implementation required.
+ public AliasDefaultBehaviorProvider(
+ AbstractManagedObjectDefinition<?, ?> d, String propertyName) {
+ this.definition = d;
+ this.propertyName = propertyName;
}
@@ -58,4 +79,36 @@
return v.visitAlias(this, p);
}
+
+
+ /**
+ * Gets the synopsis of this alias default behavior in the
+ * default locale.
+ *
+ * @return Returns the synopsis of this alias default behavior in
+ * the default locale.
+ */
+ public final String getSynopsis() {
+ return getSynopsis(Locale.getDefault());
+ }
+
+
+
+ /**
+ * Gets the synopsis of this alias default behavior in the specified
+ * locale.
+ *
+ * @param locale
+ * The locale.
+ * @return Returns the synopsis of this alias default behavior in
+ * the specified locale.
+ */
+ public final String getSynopsis(Locale locale) {
+ ManagedObjectDefinitionI18NResource resource =
+ ManagedObjectDefinitionI18NResource.getInstance();
+ String property = "property." + propertyName
+ + ".default-behavior.alias.synopsis";
+ return resource.getMessage(definition, property, locale);
+ }
+
}
diff --git a/opendj-sdk/opends/src/server/org/opends/server/admin/AttributeTypePropertyDefinition.java b/opendj-sdk/opends/src/server/org/opends/server/admin/AttributeTypePropertyDefinition.java
index 95150a7..7235bff 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/admin/AttributeTypePropertyDefinition.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/admin/AttributeTypePropertyDefinition.java
@@ -52,8 +52,9 @@
AbstractBuilder<AttributeType, AttributeTypePropertyDefinition> {
// Private constructor
- private Builder(String propertyName) {
- super(propertyName);
+ private Builder(AbstractManagedObjectDefinition<?, ?> d,
+ String propertyName) {
+ super(d, propertyName);
}
@@ -63,9 +64,10 @@
*/
@Override
protected AttributeTypePropertyDefinition buildInstance(
- String propertyName, EnumSet<PropertyOption> options,
+ AbstractManagedObjectDefinition<?, ?> d, String propertyName,
+ EnumSet<PropertyOption> options,
DefaultBehaviorProvider<AttributeType> defaultBehavior) {
- return new AttributeTypePropertyDefinition(propertyName,
+ return new AttributeTypePropertyDefinition(d, propertyName,
options, defaultBehavior);
}
}
@@ -84,13 +86,17 @@
/**
* Create a attribute type property definition builder.
*
+ * @param d
+ * The managed object definition associated with this
+ * property definition.
* @param propertyName
* The property name.
* @return Returns the new attribute type property definition
* builder.
*/
- public static Builder createBuilder(String propertyName) {
- return new Builder(propertyName);
+ public static Builder createBuilder(
+ AbstractManagedObjectDefinition<?, ?> d, String propertyName) {
+ return new Builder(d, propertyName);
}
@@ -125,10 +131,11 @@
// Private constructor.
- private AttributeTypePropertyDefinition(String propertyName,
+ private AttributeTypePropertyDefinition(
+ AbstractManagedObjectDefinition<?, ?> d, String propertyName,
EnumSet<PropertyOption> options,
DefaultBehaviorProvider<AttributeType> defaultBehavior) {
- super(AttributeType.class, propertyName, options,
+ super(d, AttributeType.class, propertyName, options,
defaultBehavior);
}
diff --git a/opendj-sdk/opends/src/server/org/opends/server/admin/BooleanPropertyDefinition.java b/opendj-sdk/opends/src/server/org/opends/server/admin/BooleanPropertyDefinition.java
index 48d9c5f..62703e6 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/admin/BooleanPropertyDefinition.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/admin/BooleanPropertyDefinition.java
@@ -81,8 +81,9 @@
AbstractBuilder<Boolean, BooleanPropertyDefinition> {
// Private constructor
- private Builder(String propertyName) {
- super(propertyName);
+ private Builder(
+ AbstractManagedObjectDefinition<?, ?> d, String propertyName) {
+ super(d, propertyName);
}
@@ -91,10 +92,11 @@
* {@inheritDoc}
*/
@Override
- protected BooleanPropertyDefinition buildInstance(String propertyName,
+ protected BooleanPropertyDefinition buildInstance(
+ AbstractManagedObjectDefinition<?, ?> d, String propertyName,
EnumSet<PropertyOption> options,
DefaultBehaviorProvider<Boolean> defaultBehavior) {
- return new BooleanPropertyDefinition(propertyName, options,
+ return new BooleanPropertyDefinition(d, propertyName, options,
defaultBehavior);
}
@@ -105,21 +107,26 @@
/**
* Create a boolean property definition builder.
*
+ * @param d
+ * The managed object definition associated with this
+ * property definition.
* @param propertyName
* The property name.
* @return Returns the new boolean property definition builder.
*/
- public static Builder createBuilder(String propertyName) {
- return new Builder(propertyName);
+ public static Builder createBuilder(
+ AbstractManagedObjectDefinition<?, ?> d, String propertyName) {
+ return new Builder(d, propertyName);
}
// Private constructor.
- private BooleanPropertyDefinition(String propertyName,
+ private BooleanPropertyDefinition(
+ AbstractManagedObjectDefinition<?, ?> d, String propertyName,
EnumSet<PropertyOption> options,
DefaultBehaviorProvider<Boolean> defaultBehavior) {
- super(Boolean.class, propertyName, options, defaultBehavior);
+ super(d, Boolean.class, propertyName, options, defaultBehavior);
}
diff --git a/opendj-sdk/opends/src/server/org/opends/server/admin/ClassPropertyDefinition.java b/opendj-sdk/opends/src/server/org/opends/server/admin/ClassPropertyDefinition.java
index 0cd011e..e59e1a7 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/admin/ClassPropertyDefinition.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/admin/ClassPropertyDefinition.java
@@ -68,8 +68,9 @@
// Private constructor
- private Builder(String propertyName) {
- super(propertyName);
+ private Builder(
+ AbstractManagedObjectDefinition<?, ?> d, String propertyName) {
+ super(d, propertyName);
this.instanceOfInterfaces = new LinkedList<String>();
}
@@ -119,9 +120,10 @@
*/
@Override
protected ClassPropertyDefinition buildInstance(
+ AbstractManagedObjectDefinition<?, ?> d,
String propertyName, EnumSet<PropertyOption> options,
DefaultBehaviorProvider<String> defaultBehavior) {
- return new ClassPropertyDefinition(propertyName, options,
+ return new ClassPropertyDefinition(d, propertyName, options,
defaultBehavior, instanceOfInterfaces);
}
@@ -146,12 +148,16 @@
/**
* Create a class property definition builder.
*
+ * @param d
+ * The managed object definition associated with this
+ * property definition.
* @param propertyName
* The property name.
* @return Returns the new class property definition builder.
*/
- public static Builder createBuilder(String propertyName) {
- return new Builder(propertyName);
+ public static Builder createBuilder(
+ AbstractManagedObjectDefinition<?, ?> d, String propertyName) {
+ return new Builder(d, propertyName);
}
@@ -201,11 +207,12 @@
// Private constructor.
- private ClassPropertyDefinition(String propertyName,
+ private ClassPropertyDefinition(
+ AbstractManagedObjectDefinition<?, ?> d, String propertyName,
EnumSet<PropertyOption> options,
DefaultBehaviorProvider<String> defaultBehavior,
List<String> instanceOfInterfaces) {
- super(String.class, propertyName, options, defaultBehavior);
+ super(d, String.class, propertyName, options, defaultBehavior);
this.instanceOfInterfaces = Collections
.unmodifiableList(new LinkedList<String>(instanceOfInterfaces));
diff --git a/opendj-sdk/opends/src/server/org/opends/server/admin/DNPropertyDefinition.java b/opendj-sdk/opends/src/server/org/opends/server/admin/DNPropertyDefinition.java
index dada623..f9ece36 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/admin/DNPropertyDefinition.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/admin/DNPropertyDefinition.java
@@ -69,8 +69,9 @@
// Private constructor
- private Builder(String propertyName) {
- super(propertyName);
+ private Builder(
+ AbstractManagedObjectDefinition<?, ?> d, String propertyName) {
+ super(d, propertyName);
}
@@ -117,10 +118,11 @@
* {@inheritDoc}
*/
@Override
- protected DNPropertyDefinition buildInstance(String propertyName,
+ protected DNPropertyDefinition buildInstance(
+ AbstractManagedObjectDefinition<?, ?> d, String propertyName,
EnumSet<PropertyOption> options,
DefaultBehaviorProvider<DN> defaultBehavior) {
- return new DNPropertyDefinition(propertyName, options,
+ return new DNPropertyDefinition(d, propertyName, options,
defaultBehavior, baseDN);
}
}
@@ -130,21 +132,26 @@
/**
* Create a DN property definition builder.
*
+ * @param d
+ * The managed object definition associated with this
+ * property definition.
* @param propertyName
* The property name.
* @return Returns the new boolean property definition builder.
*/
- public static Builder createBuilder(String propertyName) {
- return new Builder(propertyName);
+ public static Builder createBuilder(
+ AbstractManagedObjectDefinition<?, ?> d, String propertyName) {
+ return new Builder(d, propertyName);
}
// Private constructor.
- private DNPropertyDefinition(String propertyName,
+ private DNPropertyDefinition(
+ AbstractManagedObjectDefinition<?, ?> d, String propertyName,
EnumSet<PropertyOption> options,
DefaultBehaviorProvider<DN> defaultBehavior, DN baseDN) {
- super(DN.class, propertyName, options, defaultBehavior);
+ super(d, DN.class, propertyName, options, defaultBehavior);
this.baseDN = baseDN;
}
diff --git a/opendj-sdk/opends/src/server/org/opends/server/admin/DurationPropertyDefinition.java b/opendj-sdk/opends/src/server/org/opends/server/admin/DurationPropertyDefinition.java
index b8b77db..45046ed 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/admin/DurationPropertyDefinition.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/admin/DurationPropertyDefinition.java
@@ -124,8 +124,9 @@
// Private constructor
- private Builder(String propertyName) {
- super(propertyName);
+ private Builder(
+ AbstractManagedObjectDefinition<?, ?> d, String propertyName) {
+ super(d, propertyName);
}
@@ -319,9 +320,10 @@
*/
@Override
protected DurationPropertyDefinition buildInstance(
+ AbstractManagedObjectDefinition<?, ?> d,
String propertyName, EnumSet<PropertyOption> options,
DefaultBehaviorProvider<Long> defaultBehavior) {
- return new DurationPropertyDefinition(propertyName, options,
+ return new DurationPropertyDefinition(d, propertyName, options,
defaultBehavior, baseUnit, maximumUnit, lowerLimit,
upperLimit, allowUnlimited);
}
@@ -332,23 +334,28 @@
/**
* Create a duration property definition builder.
*
+ * @param d
+ * The managed object definition associated with this
+ * property definition.
* @param propertyName
* The property name.
* @return Returns the new integer property definition builder.
*/
- public static Builder createBuilder(String propertyName) {
- return new Builder(propertyName);
+ public static Builder createBuilder(
+ AbstractManagedObjectDefinition<?, ?> d, String propertyName) {
+ return new Builder(d, propertyName);
}
// Private constructor.
- private DurationPropertyDefinition(String propertyName,
+ private DurationPropertyDefinition(
+ AbstractManagedObjectDefinition<?, ?> d, String propertyName,
EnumSet<PropertyOption> options,
DefaultBehaviorProvider<Long> defaultBehavior,
DurationUnit baseUnit, DurationUnit maximumUnit,
Long lowerLimit, Long upperLimit, boolean allowUnlimited) {
- super(Long.class, propertyName, options, defaultBehavior);
+ super(d, Long.class, propertyName, options, defaultBehavior);
this.baseUnit = baseUnit;
this.maximumUnit = maximumUnit;
this.lowerLimit = lowerLimit;
diff --git a/opendj-sdk/opends/src/server/org/opends/server/admin/EnumPropertyDefinition.java b/opendj-sdk/opends/src/server/org/opends/server/admin/EnumPropertyDefinition.java
index 375e25a..f4cc154 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/admin/EnumPropertyDefinition.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/admin/EnumPropertyDefinition.java
@@ -33,7 +33,9 @@
import java.util.EnumSet;
import java.util.HashMap;
+import java.util.Locale;
import java.util.Map;
+import java.util.MissingResourceException;
@@ -64,8 +66,9 @@
// Private constructor
- private Builder(String propertyName) {
- super(propertyName);
+ private Builder(
+ AbstractManagedObjectDefinition<?, ?> d, String propertyName) {
+ super(d, propertyName);
this.enumClass = null;
}
@@ -90,14 +93,15 @@
*/
@Override
protected EnumPropertyDefinition<E> buildInstance(
- String propertyName, EnumSet<PropertyOption> options,
+ AbstractManagedObjectDefinition<?, ?> d, String propertyName,
+ EnumSet<PropertyOption> options,
DefaultBehaviorProvider<E> defaultBehavior) {
// Make sure that the enumeration class has been defined.
if (enumClass == null) {
throw new IllegalStateException("Enumeration class undefined");
}
- return new EnumPropertyDefinition<E>(propertyName, options,
+ return new EnumPropertyDefinition<E>(d, propertyName, options,
defaultBehavior, enumClass);
}
}
@@ -115,13 +119,16 @@
* @param <E>
* The enumeration that should be used for values of this
* property definition.
+ * @param d
+ * The managed object definition associated with this
+ * property definition.
* @param propertyName
* The property name.
* @return Returns the new enumeration property definition builder.
*/
public static <E extends Enum<E>> Builder<E> createBuilder(
- String propertyName) {
- return new Builder<E>(propertyName);
+ AbstractManagedObjectDefinition<?, ?> d, String propertyName) {
+ return new Builder<E>(d, propertyName);
}
// The enumeration class.
@@ -133,10 +140,11 @@
// Private constructor.
- private EnumPropertyDefinition(String propertyName,
+ private EnumPropertyDefinition(
+ AbstractManagedObjectDefinition<?, ?> d, String propertyName,
EnumSet<PropertyOption> options,
DefaultBehaviorProvider<E> defaultBehavior, Class<E> enumClass) {
- super(enumClass, propertyName, options, defaultBehavior);
+ super(d, enumClass, propertyName, options, defaultBehavior);
this.enumClass = enumClass;
// Initialize the decoding map.
@@ -191,6 +199,50 @@
/**
+ * Gets the synopsis of the specified enumeration value of this
+ * enumeration property definition in the default locale.
+ *
+ * @param value
+ * The enumeration value.
+ * @return Returns the synopsis of the specified enumeration value
+ * of this enumeration property definition in the default
+ * locale.
+ */
+ public final String getValueSynopsis(E value) {
+ return getValueSynopsis(Locale.getDefault(), value);
+ }
+
+
+
+ /**
+ * Gets the synopsis of the specified enumeration value of this
+ * enumeration property definition in the specified locale.
+ *
+ * @param value
+ * The enumeration value.
+ * @param locale
+ * The locale.
+ * @return Returns the synopsis of the specified enumeration value
+ * of this enumeration property definition in the specified
+ * locale.
+ */
+ public final String getValueSynopsis(Locale locale, E value) {
+ ManagedObjectDefinitionI18NResource resource =
+ ManagedObjectDefinitionI18NResource.getInstance();
+ String property = "property." + getName()
+ + ".syntax.enumeration.value." + value.toString()
+ + ".synopsis";
+ try {
+ return resource.getMessage(getManagedObjectDefinition(),
+ property, locale);
+ } catch (MissingResourceException e) {
+ return null;
+ }
+ }
+
+
+
+ /**
* {@inheritDoc}
*/
@Override
diff --git a/opendj-sdk/opends/src/server/org/opends/server/admin/IPAddressMaskPropertyDefinition.java b/opendj-sdk/opends/src/server/org/opends/server/admin/IPAddressMaskPropertyDefinition.java
index 1be571e..e0e25e7 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/admin/IPAddressMaskPropertyDefinition.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/admin/IPAddressMaskPropertyDefinition.java
@@ -59,8 +59,9 @@
AbstractBuilder<AddressMask, IPAddressMaskPropertyDefinition> {
// Private constructor
- private Builder(String propertyName) {
- super(propertyName);
+ private Builder(
+ AbstractManagedObjectDefinition<?, ?> d, String propertyName) {
+ super(d, propertyName);
}
@@ -70,9 +71,10 @@
*/
@Override
protected IPAddressMaskPropertyDefinition buildInstance(
+ AbstractManagedObjectDefinition<?, ?> d,
String propertyName, EnumSet<PropertyOption> options,
DefaultBehaviorProvider<AddressMask> defaultBehavior) {
- return new IPAddressMaskPropertyDefinition(propertyName, options,
+ return new IPAddressMaskPropertyDefinition(d, propertyName, options,
defaultBehavior);
}
@@ -83,21 +85,26 @@
/**
* Create a IP address mask property definition builder.
*
+ * @param d
+ * The managed object definition associated with this
+ * property definition.
* @param propertyName
* The property name.
* @return Returns the new IP address mask property definition builder.
*/
- public static Builder createBuilder(String propertyName) {
- return new Builder(propertyName);
+ public static Builder createBuilder(
+ AbstractManagedObjectDefinition<?, ?> d, String propertyName) {
+ return new Builder(d, propertyName);
}
// Private constructor.
- private IPAddressMaskPropertyDefinition(String propertyName,
+ private IPAddressMaskPropertyDefinition(
+ AbstractManagedObjectDefinition<?, ?> d, String propertyName,
EnumSet<PropertyOption> options,
DefaultBehaviorProvider<AddressMask> defaultBehavior) {
- super(AddressMask.class, propertyName, options, defaultBehavior);
+ super(d, AddressMask.class, propertyName, options, defaultBehavior);
}
diff --git a/opendj-sdk/opends/src/server/org/opends/server/admin/IPAddressPropertyDefinition.java b/opendj-sdk/opends/src/server/org/opends/server/admin/IPAddressPropertyDefinition.java
index 4d55dcb..4deeac2 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/admin/IPAddressPropertyDefinition.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/admin/IPAddressPropertyDefinition.java
@@ -58,8 +58,9 @@
AbstractBuilder<InetAddress, IPAddressPropertyDefinition> {
// Private constructor
- private Builder(String propertyName) {
- super(propertyName);
+ private Builder(
+ AbstractManagedObjectDefinition<?, ?> d, String propertyName) {
+ super(d, propertyName);
}
@@ -68,10 +69,11 @@
* {@inheritDoc}
*/
@Override
- protected IPAddressPropertyDefinition buildInstance(String propertyName,
+ protected IPAddressPropertyDefinition buildInstance(
+ AbstractManagedObjectDefinition<?, ?> d, String propertyName,
EnumSet<PropertyOption> options,
DefaultBehaviorProvider<InetAddress> defaultBehavior) {
- return new IPAddressPropertyDefinition(propertyName, options,
+ return new IPAddressPropertyDefinition(d, propertyName, options,
defaultBehavior);
}
@@ -82,21 +84,26 @@
/**
* Create a IP address property definition builder.
*
+ * @param d
+ * The managed object definition associated with this
+ * property definition.
* @param propertyName
* The property name.
* @return Returns the new IP address property definition builder.
*/
- public static Builder createBuilder(String propertyName) {
- return new Builder(propertyName);
+ public static Builder createBuilder(
+ AbstractManagedObjectDefinition<?, ?> d, String propertyName) {
+ return new Builder(d, propertyName);
}
// Private constructor.
- private IPAddressPropertyDefinition(String propertyName,
+ private IPAddressPropertyDefinition(
+ AbstractManagedObjectDefinition<?, ?> d, String propertyName,
EnumSet<PropertyOption> options,
DefaultBehaviorProvider<InetAddress> defaultBehavior) {
- super(InetAddress.class, propertyName, options, defaultBehavior);
+ super(d, InetAddress.class, propertyName, options, defaultBehavior);
}
diff --git a/opendj-sdk/opends/src/server/org/opends/server/admin/InstantiableRelationDefinition.java b/opendj-sdk/opends/src/server/org/opends/server/admin/InstantiableRelationDefinition.java
index 64c42c0..b5898bf 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/admin/InstantiableRelationDefinition.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/admin/InstantiableRelationDefinition.java
@@ -27,6 +27,8 @@
package org.opends.server.admin;
+import java.util.Locale;
+
/**
@@ -82,6 +84,37 @@
/**
+ * Gets the user friendly plural name of this relation definition in
+ * the default locale.
+ *
+ * @return Returns the user friendly plural name of this relation
+ * definition in the default locale.
+ */
+ public final String getUserFriendlyPluralName() {
+ return getUserFriendlyPluralName(Locale.getDefault());
+ }
+
+
+
+ /**
+ * Gets the user friendly plural name of this relation definition in
+ * the specified locale.
+ *
+ * @param locale
+ * The locale.
+ * @return Returns the user friendly plural name of this relation
+ * definition in the specified locale.
+ */
+ public final String getUserFriendlyPluralName(Locale locale) {
+ String property = "relation." + getName()
+ + ".user-friendly-plural-name";
+ return ManagedObjectDefinitionI18NResource.getInstance()
+ .getMessage(getParentDefinition(), property, locale);
+ }
+
+
+
+ /**
* {@inheritDoc}
*/
@Override
diff --git a/opendj-sdk/opends/src/server/org/opends/server/admin/IntegerPropertyDefinition.java b/opendj-sdk/opends/src/server/org/opends/server/admin/IntegerPropertyDefinition.java
index 06a6aab..d81a5f5 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/admin/IntegerPropertyDefinition.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/admin/IntegerPropertyDefinition.java
@@ -32,6 +32,8 @@
import static org.opends.server.util.Validator.ensureNotNull;
import java.util.EnumSet;
+import java.util.Locale;
+import java.util.MissingResourceException;
@@ -84,8 +86,9 @@
// Private constructor
- private Builder(String propertyName) {
- super(propertyName);
+ private Builder(
+ AbstractManagedObjectDefinition<?, ?> d, String propertyName) {
+ super(d, propertyName);
}
@@ -153,10 +156,11 @@
* {@inheritDoc}
*/
@Override
- protected IntegerPropertyDefinition buildInstance(String propertyName,
+ protected IntegerPropertyDefinition buildInstance(
+ AbstractManagedObjectDefinition<?, ?> d, String propertyName,
EnumSet<PropertyOption> options,
DefaultBehaviorProvider<Integer> defaultBehavior) {
- return new IntegerPropertyDefinition(propertyName, options,
+ return new IntegerPropertyDefinition(d, propertyName, options,
defaultBehavior, lowerLimit, upperLimit, allowUnlimited);
}
@@ -167,22 +171,27 @@
/**
* Create an integer property definition builder.
*
+ * @param d
+ * The managed object definition associated with this
+ * property definition.
* @param propertyName
* The property name.
* @return Returns the new integer property definition builder.
*/
- public static Builder createBuilder(String propertyName) {
- return new Builder(propertyName);
+ public static Builder createBuilder(
+ AbstractManagedObjectDefinition<?, ?> d, String propertyName) {
+ return new Builder(d, propertyName);
}
// Private constructor.
- private IntegerPropertyDefinition(String propertyName,
+ private IntegerPropertyDefinition(
+ AbstractManagedObjectDefinition<?, ?> d, String propertyName,
EnumSet<PropertyOption> options,
DefaultBehaviorProvider<Integer> defaultBehavior, int lowerLimit,
Integer upperLimit, boolean allowUnlimited) {
- super(Integer.class, propertyName, options, defaultBehavior);
+ super(d, Integer.class, propertyName, options, defaultBehavior);
this.lowerLimit = lowerLimit;
this.upperLimit = upperLimit;
this.allowUnlimited = allowUnlimited;
@@ -214,6 +223,44 @@
/**
+ * Gets the optional unit synopsis of this integer property
+ * definition in the default locale.
+ *
+ * @return Returns the unit synopsis of this integer property
+ * definition in the default locale, or <code>null</code>
+ * if there is no unit synopsis.
+ */
+ public String getUnitSynopsis() {
+ return getUnitSynopsis(Locale.getDefault());
+ }
+
+
+
+ /**
+ * Gets the optional unit synopsis of this integer property
+ * definition in the specified locale.
+ *
+ * @param locale
+ * The locale.
+ * @return Returns the unit synopsis of this integer property
+ * definition in the specified locale, or <code>null</code>
+ * if there is no unit synopsis.
+ */
+ public String getUnitSynopsis(Locale locale) {
+ ManagedObjectDefinitionI18NResource resource =
+ ManagedObjectDefinitionI18NResource.getInstance();
+ String property = "property." + getName() + ".syntax.integer.unit-synopsis";
+ try {
+ return resource.getMessage(getManagedObjectDefinition(),
+ property, locale);
+ } catch (MissingResourceException e) {
+ return null;
+ }
+ }
+
+
+
+ /**
* Determine whether this property allows unlimited values.
*
* @return Returns <code>true</code> if this this property allows unlimited
diff --git a/opendj-sdk/opends/src/server/org/opends/server/admin/ManagedObjectDefinitionI18NResource.java b/opendj-sdk/opends/src/server/org/opends/server/admin/ManagedObjectDefinitionI18NResource.java
index 862631f..2c1865e 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/admin/ManagedObjectDefinitionI18NResource.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/admin/ManagedObjectDefinitionI18NResource.java
@@ -44,47 +44,71 @@
*/
public final class ManagedObjectDefinitionI18NResource {
- // Mapping from definition to resource bundle.
- private final Map<AbstractManagedObjectDefinition, ResourceBundle> resources;
-
- // The resource name prefix.
- private final String prefix;
+ // Application-wide set of instances.
+ private static final Map<String, ManagedObjectDefinitionI18NResource>
+ INSTANCES = new HashMap<String, ManagedObjectDefinitionI18NResource>();
/**
- * Creates a new internationalized resource instance which can be
- * used to retrieve the localized descriptions for the managed
- * objects and their associated properties and relations.
+ * Gets the internationalized resource instance which can be used to
+ * retrieve the localized descriptions for the managed objects and
+ * their associated properties and relations.
*
* @return Returns the I18N resource instance.
*/
- public static ManagedObjectDefinitionI18NResource create() {
- return new ManagedObjectDefinitionI18NResource("admin.messages");
+ public static ManagedObjectDefinitionI18NResource getInstance() {
+ return getInstance("admin.messages");
}
/**
- * Creates a new internationalized resource instance for the named
+ * Gets the internationalized resource instance for the named
* profile.
*
* @param profile
* The name of the profile.
* @return Returns the I18N resource instance for the named profile.
*/
- public static ManagedObjectDefinitionI18NResource createForProfile(
+ public static ManagedObjectDefinitionI18NResource getInstanceForProfile(
String profile) {
- return new ManagedObjectDefinitionI18NResource("admin.profiles."
- + profile);
+ return getInstance("admin.profiles." + profile);
}
+ // Get a resource instance creating it if necessary.
+ private synchronized static ManagedObjectDefinitionI18NResource getInstance(
+ String prefix) {
+ ManagedObjectDefinitionI18NResource instance = INSTANCES
+ .get(prefix);
+
+ if (instance == null) {
+ instance = new ManagedObjectDefinitionI18NResource(prefix);
+ INSTANCES.put(prefix, instance);
+ }
+
+ return instance;
+ }
+
+
+
+ // Mapping from definition to locale-based resource bundle.
+ private final Map<AbstractManagedObjectDefinition,
+ Map<Locale, ResourceBundle>> resources;
+
+
+
+ // The resource name prefix.
+ private final String prefix;
+
+
+
// Private constructor.
private ManagedObjectDefinitionI18NResource(String prefix) {
- this.resources =
- new HashMap<AbstractManagedObjectDefinition, ResourceBundle>();
+ this.resources = new HashMap<AbstractManagedObjectDefinition,
+ Map<Locale, ResourceBundle>>();
this.prefix = prefix;
}
@@ -111,29 +135,6 @@
/**
- * Get the parameterized internationalized message associated with
- * the specified key in the default locale.
- *
- * @param d
- * The managed object definition.
- * @param key
- * The resource key.
- * @param args
- * Arguments that should be inserted into the retrieved
- * message.
- * @return Returns the internationalized message associated with the
- * specified key in the default locale.
- * @throws MissingResourceException
- * If the key was not found.
- */
- public String getMessage(AbstractManagedObjectDefinition d,
- String key, String... args) throws MissingResourceException {
- return getMessage(d, key, Locale.getDefault(), args);
- }
-
-
-
- /**
* Get the internationalized message associated with the specified
* key and locale.
*
@@ -188,24 +189,52 @@
+ /**
+ * Get the parameterized internationalized message associated with
+ * the specified key in the default locale.
+ *
+ * @param d
+ * The managed object definition.
+ * @param key
+ * The resource key.
+ * @param args
+ * Arguments that should be inserted into the retrieved
+ * message.
+ * @return Returns the internationalized message associated with the
+ * specified key in the default locale.
+ * @throws MissingResourceException
+ * If the key was not found.
+ */
+ public String getMessage(AbstractManagedObjectDefinition d,
+ String key, String... args) throws MissingResourceException {
+ return getMessage(d, key, Locale.getDefault(), args);
+ }
+
+
+
// Retrieve the resource bundle associated with a managed object and
- // locale,
- // lazily loading it if necessary.
+ // locale, lazily loading it if necessary.
private synchronized ResourceBundle getResourceBundle(
AbstractManagedObjectDefinition d, Locale locale)
throws MissingResourceException {
- ResourceBundle r = resources.get(d);
-
- if (r == null) {
- // Load the resource file.
- String baseName = prefix + "." + d.getClass().getName();
- r = ResourceBundle.getBundle(baseName, locale,
- ClassLoaderProvider.getInstance().getClassLoader());
-
- // Cache the resource.
- resources.put(d, r);
+ // First get the locale-resource mapping, creating it if
+ // necessary.
+ Map<Locale, ResourceBundle> map = resources.get(d);
+ if (map == null) {
+ map = new HashMap<Locale, ResourceBundle>();
+ resources.put(d, map);
}
- return r;
+ // Now get the resource based on the locale, loading it if
+ // necessary.
+ ResourceBundle resourceBundle = map.get(locale);
+ if (resourceBundle == null) {
+ String baseName = prefix + "." + d.getClass().getName();
+ resourceBundle = ResourceBundle.getBundle(baseName, locale,
+ ClassLoaderProvider.getInstance().getClassLoader());
+ map.put(locale, resourceBundle);
+ }
+
+ return resourceBundle;
}
}
diff --git a/opendj-sdk/opends/src/server/org/opends/server/admin/PropertyDefinition.java b/opendj-sdk/opends/src/server/org/opends/server/admin/PropertyDefinition.java
index f55f64b..59b434c 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/admin/PropertyDefinition.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/admin/PropertyDefinition.java
@@ -31,6 +31,7 @@
import java.io.Serializable;
import java.util.Comparator;
+import java.util.Locale;
@@ -178,6 +179,32 @@
/**
+ * Gets the optional description of this property definition in the
+ * default locale.
+ *
+ * @return Returns the description of this property definition in
+ * the default locale, or <code>null</code> if there is no
+ * description.
+ */
+ String getDescription();
+
+
+
+ /**
+ * Gets the optional description of this property definition in the
+ * specified locale.
+ *
+ * @param locale
+ * The locale.
+ * @return Returns the description of this property definition in
+ * the specified locale, or <code>null</code> if there is
+ * no description.
+ */
+ String getDescription(Locale locale);
+
+
+
+ /**
* Get the name of the property.
*
* @return Returns the name of the property.
@@ -187,6 +214,30 @@
/**
+ * Gets the synopsis of this property definition in the default
+ * locale.
+ *
+ * @return Returns the synopsis of this property definition in the
+ * default locale.
+ */
+ String getSynopsis();
+
+
+
+ /**
+ * Gets the synopsis of this property definition in the specified
+ * locale.
+ *
+ * @param locale
+ * The locale.
+ * @return Returns the synopsis of this property definition in the
+ * specified locale.
+ */
+ String getSynopsis(Locale locale);
+
+
+
+ /**
* Returns a hash code value for this property definition. The hash code
* should be derived from the property name.
*
diff --git a/opendj-sdk/opends/src/server/org/opends/server/admin/RelationDefinition.java b/opendj-sdk/opends/src/server/org/opends/server/admin/RelationDefinition.java
index 11cef9e..72e16a6 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/admin/RelationDefinition.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/admin/RelationDefinition.java
@@ -29,6 +29,11 @@
+import java.util.Locale;
+import java.util.MissingResourceException;
+
+
+
/**
* Relation definitions define relationships between types of managed
* objects. In addition they define the ownership model:
@@ -86,8 +91,8 @@
/**
- * Create a new managed object relation definition with the specified name and
- * referenced managed object definition.
+ * Create a new managed object relation definition with the
+ * specified name and referenced managed object definition.
*
* @param pd
* The parent managed object definition.
@@ -96,8 +101,9 @@
* @param cd
* The child managed object definition.
*/
- protected RelationDefinition(AbstractManagedObjectDefinition<?, ?> pd,
- String name, AbstractManagedObjectDefinition<C, S> cd) {
+ protected RelationDefinition(
+ AbstractManagedObjectDefinition<?, ?> pd, String name,
+ AbstractManagedObjectDefinition<C, S> cd) {
this.name = name;
this.pd = pd;
this.cd = cd;
@@ -106,6 +112,71 @@
/**
+ * Apply a visitor to this relation definition.
+ *
+ * @param <R>
+ * The return type of the visitor's methods.
+ * @param <P>
+ * The type of the additional parameters to the visitor's
+ * methods.
+ * @param v
+ * The relation definition visitor.
+ * @param p
+ * Optional additional visitor parameter.
+ * @return Returns a result as specified by the visitor.
+ */
+ public abstract <R, P> R accept(RelationDefinitionVisitor<R, P> v, P p);
+
+
+
+ /**
+ * Get the definition of the child managed object.
+ *
+ * @return Returns the definition of the child managed object.
+ */
+ public final AbstractManagedObjectDefinition<C, S> getChildDefinition() {
+ return cd;
+ }
+
+
+
+ /**
+ * Gets the optional description of this relation definition in the
+ * default locale.
+ *
+ * @return Returns the description of this relation definition in
+ * the default locale, or <code>null</code> if there is no
+ * description.
+ */
+ public final String getDescription() {
+ return getDescription(Locale.getDefault());
+ }
+
+
+
+ /**
+ * Gets the optional description of this relation definition in the
+ * specified locale.
+ *
+ * @param locale
+ * The locale.
+ * @return Returns the description of this relation definition in
+ * the specified locale, or <code>null</code> if there is
+ * no description.
+ */
+ public final String getDescription(Locale locale) {
+ try {
+ String property = "relation." + name + ".description";
+ return ManagedObjectDefinitionI18NResource.getInstance()
+ .getMessage(getParentDefinition(), property, locale);
+ } catch (MissingResourceException e) {
+ return null;
+ }
+ }
+
+
+
+ /**
* Get the name of the relation.
*
* @return Returns the name of the relation.
@@ -128,12 +199,61 @@
/**
- * Get the definition of the child managed object.
+ * Gets the synopsis of this relation definition in the default
+ * locale.
*
- * @return Returns the definition of the child managed object.
+ * @return Returns the synopsis of this relation definition in the
+ * default locale.
*/
- public final AbstractManagedObjectDefinition<C, S> getChildDefinition() {
- return cd;
+ public final String getSynopsis() {
+ return getSynopsis(Locale.getDefault());
+ }
+
+
+
+ /**
+ * Gets the synopsis of this relation definition in the specified
+ * locale.
+ *
+ * @param locale
+ * The locale.
+ * @return Returns the synopsis of this relation definition in the
+ * specified locale.
+ */
+ public final String getSynopsis(Locale locale) {
+ String property = "relation." + name + ".synopsis";
+ return ManagedObjectDefinitionI18NResource.getInstance()
+ .getMessage(getParentDefinition(), property, locale);
+ }
+
+
+
+ /**
+ * Gets the user friendly name of this relation definition in the
+ * default locale.
+ *
+ * @return Returns the user friendly name of this relation
+ * definition in the default locale.
+ */
+ public final String getUserFriendlyName() {
+ return getUserFriendlyName(Locale.getDefault());
+ }
+
+
+
+ /**
+ * Gets the user friendly name of this relation definition in the
+ * specified locale.
+ *
+ * @param locale
+ * The locale.
+ * @return Returns the user friendly name of this relation
+ * definition in the specified locale.
+ */
+ public final String getUserFriendlyName(Locale locale) {
+ String property = "relation." + name + ".user-friendly-name";
+ return ManagedObjectDefinitionI18NResource.getInstance()
+ .getMessage(getParentDefinition(), property, locale);
}
@@ -151,31 +271,12 @@
/**
- * Append a string representation of the managed object relation to the
- * provided string builder.
+ * Append a string representation of the managed object relation to
+ * the provided string builder.
*
* @param builder
- * The string builder where the string representation should be
- * appended.
+ * The string builder where the string representation
+ * should be appended.
*/
public abstract void toString(StringBuilder builder);
-
-
-
- /**
- * Apply a visitor to this relation definition.
- *
- * @param <R>
- * The return type of the visitor's methods.
- * @param <P>
- * The type of the additional parameters to the visitor's
- * methods.
- * @param v
- * The relation definition visitor.
- * @param p
- * Optional additional visitor parameter.
- * @return Returns a result as specified by the visitor.
- */
- public abstract <R, P> R accept(RelationDefinitionVisitor<R, P> v,
- P p);
}
diff --git a/opendj-sdk/opends/src/server/org/opends/server/admin/SizePropertyDefinition.java b/opendj-sdk/opends/src/server/org/opends/server/admin/SizePropertyDefinition.java
index e1fafff..cc58f1d 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/admin/SizePropertyDefinition.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/admin/SizePropertyDefinition.java
@@ -88,8 +88,9 @@
// Private constructor
- private Builder(String propertyName) {
- super(propertyName);
+ private Builder(
+ AbstractManagedObjectDefinition<?, ?> d, String propertyName) {
+ super(d, propertyName);
}
@@ -198,10 +199,11 @@
* {@inheritDoc}
*/
@Override
- protected SizePropertyDefinition buildInstance(String propertyName,
+ protected SizePropertyDefinition buildInstance(
+ AbstractManagedObjectDefinition<?, ?> d, String propertyName,
EnumSet<PropertyOption> options,
DefaultBehaviorProvider<Long> defaultBehavior) {
- return new SizePropertyDefinition(propertyName, options,
+ return new SizePropertyDefinition(d, propertyName, options,
defaultBehavior, lowerLimit, upperLimit, allowUnlimited);
}
@@ -212,22 +214,27 @@
/**
* Create an memory size property definition builder.
*
+ * @param d
+ * The managed object definition associated with this
+ * property definition.
* @param propertyName
* The property name.
* @return Returns the new integer property definition builder.
*/
- public static Builder createBuilder(String propertyName) {
- return new Builder(propertyName);
+ public static Builder createBuilder(
+ AbstractManagedObjectDefinition<?, ?> d, String propertyName) {
+ return new Builder(d, propertyName);
}
// Private constructor.
- private SizePropertyDefinition(String propertyName,
+ private SizePropertyDefinition(
+ AbstractManagedObjectDefinition<?, ?> d, String propertyName,
EnumSet<PropertyOption> options,
DefaultBehaviorProvider<Long> defaultBehavior, Long lowerLimit,
Long upperLimit, boolean allowUnlimited) {
- super(Long.class, propertyName, options, defaultBehavior);
+ super(d, Long.class, propertyName, options, defaultBehavior);
this.lowerLimit = lowerLimit;
this.upperLimit = upperLimit;
this.allowUnlimited = allowUnlimited;
diff --git a/opendj-sdk/opends/src/server/org/opends/server/admin/StringPropertyDefinition.java b/opendj-sdk/opends/src/server/org/opends/server/admin/StringPropertyDefinition.java
index f46d618..2eb20bb 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/admin/StringPropertyDefinition.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/admin/StringPropertyDefinition.java
@@ -32,6 +32,8 @@
import static org.opends.server.util.Validator.ensureNotNull;
import java.util.EnumSet;
+import java.util.Locale;
+import java.util.MissingResourceException;
@@ -67,8 +69,9 @@
// Private constructor
- private Builder(String propertyName) {
- super(propertyName);
+ private Builder(
+ AbstractManagedObjectDefinition<?, ?> d, String propertyName) {
+ super(d, propertyName);
}
@@ -91,10 +94,11 @@
* {@inheritDoc}
*/
@Override
- protected StringPropertyDefinition buildInstance(String propertyName,
+ protected StringPropertyDefinition buildInstance(
+ AbstractManagedObjectDefinition<?, ?> d, String propertyName,
EnumSet<PropertyOption> options,
DefaultBehaviorProvider<String> defaultBehavior) {
- return new StringPropertyDefinition(propertyName, options,
+ return new StringPropertyDefinition(d, propertyName, options,
defaultBehavior, isCaseInsensitive);
}
@@ -105,28 +109,76 @@
/**
* Create a string property definition builder.
*
+ * @param d
+ * The managed object definition associated with this
+ * property definition.
* @param propertyName
* The property name.
* @return Returns the new string property definition builder.
*/
- public static Builder createBuilder(String propertyName) {
- return new Builder(propertyName);
+ public static Builder createBuilder(
+ AbstractManagedObjectDefinition<?, ?> d, String propertyName) {
+ return new Builder(d, propertyName);
}
// Private constructor.
- private StringPropertyDefinition(String propertyName,
+ private StringPropertyDefinition(
+ AbstractManagedObjectDefinition<?, ?> d, String propertyName,
EnumSet<PropertyOption> options,
DefaultBehaviorProvider<String> defaultBehavior,
boolean isCaseInsensitive) {
- super(String.class, propertyName, options, defaultBehavior);
+ super(d, String.class, propertyName, options, defaultBehavior);
this.isCaseInsensitive = isCaseInsensitive;
}
/**
+ * Gets the pattern synopsis of this string property definition in
+ * the default locale.
+ *
+ * @return Returns the pattern synopsis of this string property
+ * definition in the default locale, or <code>null</code>
+ * if there is no pattern synopsis (which is the case when
+ * there is no pattern matching defined for this string
+ * property definition).
+ */
+ public String getPatternSynopsis() {
+ return getPatternSynopsis(Locale.getDefault());
+ }
+
+
+
+ /**
+ * Gets the optional pattern synopsis of this string property
+ * definition in the specified locale.
+ *
+ * @param locale
+ * The locale.
+ * @return Returns the pattern synopsis of this string property
+ * definition in the specified locale, or <code>null</code>
+ * if there is no pattern synopsis (which is the case when
+ * there is no pattern matching defined for this string
+ * property definition).
+ */
+ public String getPatternSynopsis(Locale locale) {
+ ManagedObjectDefinitionI18NResource resource =
+ ManagedObjectDefinitionI18NResource.getInstance();
+ String property = "property." + getName()
+ + ".syntax.string.pattern.synopsis";
+ try {
+ return resource.getMessage(getManagedObjectDefinition(),
+ property, locale);
+ } catch (MissingResourceException e) {
+ return null;
+ }
+ }
+
+
+
+ /**
* Query whether values of this property are case-insensitive.
*
* @return Returns <code>true</code> if values are case-insensitive, or
diff --git a/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/admin/AttributeTypePropertyDefinitionTest.java b/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/admin/AttributeTypePropertyDefinitionTest.java
index d5db10a..1c3fa04 100644
--- a/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/admin/AttributeTypePropertyDefinitionTest.java
+++ b/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/admin/AttributeTypePropertyDefinitionTest.java
@@ -32,6 +32,8 @@
import static org.testng.Assert.assertEquals;
import org.opends.server.TestCaseUtils;
+import org.opends.server.admin.std.meta.RootCfgDefn;
+import org.opends.server.backends.jeb.RootContainer;
import org.opends.server.core.DirectoryServer;
import org.opends.server.types.AttributeType;
import org.testng.annotations.BeforeClass;
@@ -146,7 +148,7 @@
// Create a new definition.
private AttributeTypePropertyDefinition createPropertyDefinition() {
AttributeTypePropertyDefinition.Builder builder = AttributeTypePropertyDefinition
- .createBuilder("test-property");
+ .createBuilder(RootCfgDefn.getInstance(), "test-property");
return builder.getInstance();
}
diff --git a/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/admin/BooleanPropertyDefinitionTest.java b/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/admin/BooleanPropertyDefinitionTest.java
index 49da174..1c03811 100644
--- a/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/admin/BooleanPropertyDefinitionTest.java
+++ b/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/admin/BooleanPropertyDefinitionTest.java
@@ -28,6 +28,8 @@
package org.opends.server.admin;
import static org.testng.Assert.*;
+
+import org.opends.server.admin.std.meta.RootCfgDefn;
import org.testng.annotations.*;
import java.util.EnumSet;
@@ -44,7 +46,8 @@
*/
@BeforeClass
public void setUp() {
- builder = BooleanPropertyDefinition.createBuilder("test-property");
+ builder = BooleanPropertyDefinition.createBuilder(
+ RootCfgDefn.getInstance(), "test-property");
}
/**
@@ -119,7 +122,7 @@
}
private BooleanPropertyDefinition createPropertyDefinition() {
- return builder.buildInstance("test-property",
+ return builder.buildInstance(RootCfgDefn.getInstance(), "test-property",
EnumSet.noneOf(PropertyOption.class),
new UndefinedDefaultBehaviorProvider<Boolean>());
}
diff --git a/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/admin/ClassPropertyDefinitionTest.java b/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/admin/ClassPropertyDefinitionTest.java
index ea2686b..4a3c15d 100644
--- a/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/admin/ClassPropertyDefinitionTest.java
+++ b/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/admin/ClassPropertyDefinitionTest.java
@@ -28,6 +28,8 @@
package org.opends.server.admin;
import static org.testng.Assert.*;
+
+import org.opends.server.admin.std.meta.RootCfgDefn;
import org.testng.annotations.*;
import java.util.EnumSet;
@@ -74,9 +76,11 @@
@Test(dataProvider = "testBuilderAddInstanceOf")
public void testBuilderAddInstanceOf(String className) {
ClassPropertyDefinition.Builder localBuilder =
- ClassPropertyDefinition.createBuilder("test-property");
+ ClassPropertyDefinition.createBuilder(RootCfgDefn.getInstance(),
+ "test-property");
localBuilder.addInstanceOf(className);
- ClassPropertyDefinition cpd = localBuilder.buildInstance("test-property",
+ ClassPropertyDefinition cpd = localBuilder.buildInstance(
+ RootCfgDefn.getInstance(), "test-property",
EnumSet.noneOf(PropertyOption.class),
new UndefinedDefaultBehaviorProvider<String>());
List<String> instances = cpd.getInstanceOfInterface();
@@ -104,9 +108,11 @@
expectedExceptions = {IllegalArgumentException.class})
public void testBuilderAddInstanceOf2(String className) {
ClassPropertyDefinition.Builder localBuilder =
- ClassPropertyDefinition.createBuilder("test-property");
+ ClassPropertyDefinition.createBuilder(
+ RootCfgDefn.getInstance(), "test-property");
localBuilder.addInstanceOf(className);
- ClassPropertyDefinition cpd = localBuilder.buildInstance("test-property",
+ ClassPropertyDefinition cpd = localBuilder.buildInstance(
+ RootCfgDefn.getInstance(), "test-property",
EnumSet.noneOf(PropertyOption.class),
new UndefinedDefaultBehaviorProvider<String>());
List<String> instances = cpd.getInstanceOfInterface();
@@ -138,9 +144,11 @@
public <T> void testLoadClass(String interfaceName, String loadClassName,
Class<T> instanceOfClass, Class expectedClass) {
ClassPropertyDefinition.Builder localBuilder =
- ClassPropertyDefinition.createBuilder("test-property");
+ ClassPropertyDefinition.createBuilder(
+ RootCfgDefn.getInstance(), "test-property");
localBuilder.addInstanceOf(interfaceName);
- ClassPropertyDefinition cpd = localBuilder.buildInstance("test-property",
+ ClassPropertyDefinition cpd = localBuilder.buildInstance(
+ RootCfgDefn.getInstance(), "test-property",
EnumSet.noneOf(PropertyOption.class),
new UndefinedDefaultBehaviorProvider<String>());
Class clazz = cpd.loadClass(loadClassName, instanceOfClass);
@@ -173,9 +181,11 @@
public <T> void testLoadClass2(String interfaceName, String loadClassName,
Class<T> instanceOfClass, Class expectedClass) {
ClassPropertyDefinition.Builder localBuilder =
- ClassPropertyDefinition.createBuilder("test-property");
+ ClassPropertyDefinition.createBuilder(
+ RootCfgDefn.getInstance(), "test-property");
localBuilder.addInstanceOf(interfaceName);
- ClassPropertyDefinition cpd = localBuilder.buildInstance("test-property",
+ ClassPropertyDefinition cpd = localBuilder.buildInstance(
+ RootCfgDefn.getInstance(), "test-property",
EnumSet.noneOf(PropertyOption.class),
new UndefinedDefaultBehaviorProvider<String>());
Class clazz = cpd.loadClass(loadClassName, instanceOfClass);
diff --git a/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/admin/DNPropertyDefinitionTest.java b/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/admin/DNPropertyDefinitionTest.java
index 9136d16..97c4a16 100644
--- a/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/admin/DNPropertyDefinitionTest.java
+++ b/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/admin/DNPropertyDefinitionTest.java
@@ -32,6 +32,7 @@
import static org.testng.Assert.assertEquals;
import org.opends.server.TestCaseUtils;
+import org.opends.server.admin.std.meta.RootCfgDefn;
import org.opends.server.types.DN;
import org.opends.server.types.DirectoryException;
import org.testng.annotations.BeforeClass;
@@ -83,7 +84,7 @@
public void testBuilderSetBaseDN(String baseDN)
throws DirectoryException {
DNPropertyDefinition.Builder localBuilder = DNPropertyDefinition
- .createBuilder("test-property");
+ .createBuilder(RootCfgDefn.getInstance(), "test-property");
localBuilder.setBaseDN(baseDN);
DNPropertyDefinition pd = localBuilder.getInstance();
@@ -151,7 +152,7 @@
public void testValidateLegalValues(String baseDN, String value)
throws DirectoryException {
DNPropertyDefinition.Builder localBuilder = DNPropertyDefinition
- .createBuilder("test-property");
+ .createBuilder(RootCfgDefn.getInstance(), "test-property");
localBuilder.setBaseDN(baseDN);
DNPropertyDefinition pd = localBuilder.getInstance();
pd.validateValue(DN.decode(value));
@@ -173,7 +174,7 @@
public void testValidateIllegalValues(String baseDN, String value)
throws DirectoryException {
DNPropertyDefinition.Builder localBuilder = DNPropertyDefinition
- .createBuilder("test-property");
+ .createBuilder(RootCfgDefn.getInstance(), "test-property");
localBuilder.setBaseDN(baseDN);
DNPropertyDefinition pd = localBuilder.getInstance();
pd.validateValue(DN.decode(value));
@@ -192,7 +193,7 @@
@Test(dataProvider = "testLegalValues")
public void testDecodeLegalValues(String baseDN, String value) {
DNPropertyDefinition.Builder localBuilder = DNPropertyDefinition
- .createBuilder("test-property");
+ .createBuilder(RootCfgDefn.getInstance(), "test-property");
localBuilder.setBaseDN(baseDN);
DNPropertyDefinition pd = localBuilder.getInstance();
pd.decodeValue(value);
@@ -211,7 +212,7 @@
@Test(dataProvider = "testIllegalValues", expectedExceptions = IllegalPropertyValueStringException.class)
public void testDecodeIllegalValues(String baseDN, String value) {
DNPropertyDefinition.Builder localBuilder = DNPropertyDefinition
- .createBuilder("test-property");
+ .createBuilder(RootCfgDefn.getInstance(), "test-property");
localBuilder.setBaseDN(baseDN);
DNPropertyDefinition pd = localBuilder.getInstance();
pd.decodeValue(value);
diff --git a/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/admin/DurationPropertyDefinitionTest.java b/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/admin/DurationPropertyDefinitionTest.java
index 6264dc9..e7e802e 100644
--- a/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/admin/DurationPropertyDefinitionTest.java
+++ b/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/admin/DurationPropertyDefinitionTest.java
@@ -28,6 +28,8 @@
package org.opends.server.admin;
import static org.testng.Assert.*;
+
+import org.opends.server.admin.std.meta.RootCfgDefn;
import org.testng.annotations.*;
import java.util.EnumSet;
@@ -438,11 +440,12 @@
}
private DurationPropertyDefinition.Builder createTestBuilder() {
- return DurationPropertyDefinition.createBuilder("test-property-name");
+ return DurationPropertyDefinition.createBuilder(
+ RootCfgDefn.getInstance(), "test-property-name");
}
private DurationPropertyDefinition buildTestDefinition(DurationPropertyDefinition.Builder builder) {
- return builder.buildInstance("test-prop",
+ return builder.buildInstance(RootCfgDefn.getInstance(), "test-prop",
EnumSet.noneOf(PropertyOption.class),
new DefinedDefaultBehaviorProvider<Long>("0"));
}
diff --git a/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/admin/EnumPropertyDefinitionTest.java b/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/admin/EnumPropertyDefinitionTest.java
index e04a805..a350eba 100644
--- a/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/admin/EnumPropertyDefinitionTest.java
+++ b/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/admin/EnumPropertyDefinitionTest.java
@@ -28,6 +28,8 @@
package org.opends.server.admin;
import static org.testng.Assert.*;
+
+import org.opends.server.admin.std.meta.RootCfgDefn;
import org.testng.annotations.*;
import java.util.EnumSet;
@@ -43,7 +45,8 @@
@BeforeClass
public void setUp() {
- builder = EnumPropertyDefinition.createBuilder("test-property");
+ builder = EnumPropertyDefinition.createBuilder(
+ RootCfgDefn.getInstance(), "test-property");
builder.setEnumClass(TestEnum.class);
}
@@ -58,7 +61,8 @@
*/
@Test
public void testBuildInstance() {
- EnumPropertyDefinition epd = builder.buildInstance("test-property",
+ EnumPropertyDefinition epd = builder.buildInstance(
+ RootCfgDefn.getInstance(), "test-property",
EnumSet.noneOf(PropertyOption.class),
new UndefinedDefaultBehaviorProvider<TestEnum>());
assertEquals(epd.getEnumClass(), TestEnum.class);
@@ -71,8 +75,9 @@
@Test(expectedExceptions = {IllegalStateException.class})
public void testBuildInstance2() {
EnumPropertyDefinition.Builder<TestEnum> localBuilder =
- EnumPropertyDefinition.createBuilder("test-property");
- localBuilder.buildInstance("test-property",
+ EnumPropertyDefinition.createBuilder(
+ RootCfgDefn.getInstance(), "test-property");
+ localBuilder.buildInstance(RootCfgDefn.getInstance(), "test-property",
EnumSet.noneOf(PropertyOption.class),
new UndefinedDefaultBehaviorProvider<TestEnum>());
}
@@ -95,7 +100,8 @@
*/
@Test(dataProvider = "decodeValueData")
public void testDecodeValue(String value, TestEnum expectedValue) {
- EnumPropertyDefinition epd = builder.buildInstance("test-property",
+ EnumPropertyDefinition epd = builder.buildInstance(
+ RootCfgDefn.getInstance(), "test-property",
EnumSet.noneOf(PropertyOption.class),
new UndefinedDefaultBehaviorProvider<TestEnum>());
assertEquals(epd.decodeValue(value), expectedValue);
@@ -121,7 +127,8 @@
expectedExceptions = {AssertionError.class,
IllegalPropertyValueStringException.class} )
public void testDecodeValue2(String value) {
- EnumPropertyDefinition epd = builder.buildInstance("test-property",
+ EnumPropertyDefinition epd = builder.buildInstance(
+ RootCfgDefn.getInstance(), "test-property",
EnumSet.noneOf(PropertyOption.class),
new UndefinedDefaultBehaviorProvider<TestEnum>());
epd.decodeValue(value);
@@ -132,7 +139,8 @@
*/
@Test
public void testNormalizeValue() {
- EnumPropertyDefinition<TestEnum> epd = builder.buildInstance("test-property",
+ EnumPropertyDefinition<TestEnum> epd = builder.buildInstance(
+ RootCfgDefn.getInstance(), "test-property",
EnumSet.noneOf(PropertyOption.class),
new UndefinedDefaultBehaviorProvider<TestEnum>());
assertEquals(epd.normalizeValue(TestEnum.ONE), "one");
@@ -143,7 +151,8 @@
*/
@Test
public void testValidateValue() {
- EnumPropertyDefinition<TestEnum> epd = builder.buildInstance("test-property",
+ EnumPropertyDefinition<TestEnum> epd = builder.buildInstance(
+ RootCfgDefn.getInstance(), "test-property",
EnumSet.noneOf(PropertyOption.class),
new UndefinedDefaultBehaviorProvider<TestEnum>());
epd.validateValue(TestEnum.ONE);
diff --git a/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/admin/IntegerPropertyDefinitionTest.java b/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/admin/IntegerPropertyDefinitionTest.java
index 45e7584..cbfdc46 100644
--- a/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/admin/IntegerPropertyDefinitionTest.java
+++ b/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/admin/IntegerPropertyDefinitionTest.java
@@ -29,6 +29,7 @@
import static org.testng.Assert.*;
+import org.opends.server.admin.std.meta.RootCfgDefn;
import org.testng.annotations.*;
import java.util.EnumSet;
@@ -324,11 +325,11 @@
}
private IntegerPropertyDefinition.Builder createTestBuilder() {
- return IntegerPropertyDefinition.createBuilder("test-property-name");
+ return IntegerPropertyDefinition.createBuilder(RootCfgDefn.getInstance(), "test-property-name");
}
private IntegerPropertyDefinition buildTestDefinition(IntegerPropertyDefinition.Builder builder) {
- return builder.buildInstance("test-prop",
+ return builder.buildInstance(RootCfgDefn.getInstance(), "test-prop",
EnumSet.noneOf(PropertyOption.class),
new DefinedDefaultBehaviorProvider<Integer>("0"));
}
diff --git a/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/admin/ManagedObjectDefinitionI18NResourceTest.java b/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/admin/ManagedObjectDefinitionI18NResourceTest.java
index 0005d00..e91a35f 100644
--- a/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/admin/ManagedObjectDefinitionI18NResourceTest.java
+++ b/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/admin/ManagedObjectDefinitionI18NResourceTest.java
@@ -44,7 +44,7 @@
*/
@BeforeClass
public void setUp() {
- modr = ManagedObjectDefinitionI18NResource.createForProfile("ldap");
+ modr = ManagedObjectDefinitionI18NResource.getInstanceForProfile("ldap");
}
/**
diff --git a/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/admin/SizePropertyDefinitionTest.java b/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/admin/SizePropertyDefinitionTest.java
index 95d0cc5..a23bf28 100644
--- a/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/admin/SizePropertyDefinitionTest.java
+++ b/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/admin/SizePropertyDefinitionTest.java
@@ -29,6 +29,8 @@
import static org.testng.Assert.assertEquals;
import static org.testng.Assert.assertNotNull;
+
+import org.opends.server.admin.std.meta.RootCfgDefn;
import org.testng.annotations.DataProvider;
import org.testng.annotations.Test;
@@ -337,11 +339,11 @@
}
private SizePropertyDefinition.Builder createTestBuilder() {
- return SizePropertyDefinition.createBuilder("test-property-name");
+ return SizePropertyDefinition.createBuilder(RootCfgDefn.getInstance(), "test-property-name");
}
private SizePropertyDefinition buildTestDefinition(SizePropertyDefinition.Builder builder) {
- return builder.buildInstance("test-prop",
+ return builder.buildInstance(RootCfgDefn.getInstance(), "test-prop",
EnumSet.noneOf(PropertyOption.class),
new DefinedDefaultBehaviorProvider<Long>("0"));
}
diff --git a/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/admin/client/PropertySetTest.java b/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/admin/client/PropertySetTest.java
index 71dbdab..007a896 100755
--- a/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/admin/client/PropertySetTest.java
+++ b/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/admin/client/PropertySetTest.java
@@ -32,6 +32,7 @@
import org.opends.server.admin.*;
import org.opends.server.admin.Configuration;
import org.opends.server.admin.server.ServerManagedObject;
+import org.opends.server.admin.std.meta.RootCfgDefn;
import java.util.*;
@@ -68,21 +69,21 @@
@BeforeClass
public void setUp() {
BooleanPropertyDefinition.Builder builder =
- BooleanPropertyDefinition.createBuilder("test-bool-prop");
+ BooleanPropertyDefinition.createBuilder(RootCfgDefn.getInstance(), "test-bool-prop");
DefinedDefaultBehaviorProvider<Boolean> dbp =
new DefinedDefaultBehaviorProvider<Boolean>(BOOL_DEFAULT.toString());
builder.setDefaultBehaviorProvider(dbp);
testBoolPropertyDefinition = builder.getInstance();
StringPropertyDefinition.Builder builder2 =
- StringPropertyDefinition.createBuilder("test-sv-str-prop");
+ StringPropertyDefinition.createBuilder(RootCfgDefn.getInstance(), "test-sv-str-prop");
DefinedDefaultBehaviorProvider<String> dbp2 =
new DefinedDefaultBehaviorProvider<String>(STR_DEFAULT);
builder2.setDefaultBehaviorProvider(dbp2);
testSvStringPropertyDefinition = builder2.getInstance();
StringPropertyDefinition.Builder builder3 =
- StringPropertyDefinition.createBuilder("test-mv-str-prop");
+ StringPropertyDefinition.createBuilder(RootCfgDefn.getInstance(), "test-mv-str-prop");
DefinedDefaultBehaviorProvider<String> dbp3 =
new DefinedDefaultBehaviorProvider<String>(STR_DEFAULT);
builder3.setDefaultBehaviorProvider(dbp3);
--
Gitblit v1.10.0