From 2fef5aa0046548cb88034553f522d907195a19f7 Mon Sep 17 00:00:00 2001
From: Nicolas Capponi <nicolas.capponi@forgerock.com>
Date: Mon, 02 Dec 2013 10:47:18 +0000
Subject: [PATCH] OpenDJ 3 : config framework
---
opendj-admin/src/main/java/org/opends/server/admin/SetRelationDefinition.java | 384 ++++++++++++++++++++++--------------------------------
1 files changed, 159 insertions(+), 225 deletions(-)
diff --git a/opendj-admin/src/main/java/org/opends/server/admin/SetRelationDefinition.java b/opendj-admin/src/main/java/org/opends/server/admin/SetRelationDefinition.java
index 426c97d..43b79de 100644
--- a/opendj-admin/src/main/java/org/opends/server/admin/SetRelationDefinition.java
+++ b/opendj-admin/src/main/java/org/opends/server/admin/SetRelationDefinition.java
@@ -27,17 +27,13 @@
package org.opends.server.admin;
-
-
import java.util.Collections;
import java.util.HashMap;
import java.util.Locale;
import java.util.Map;
import java.util.Set;
-import org.opends.messages.Message;
-
-
+import org.forgerock.i18n.LocalizableMessage;
/**
* A managed object composite relationship definition which represents a
@@ -45,245 +41,183 @@
* different type. The manage objects are named using their type name.
*
* @param <C>
- * The type of client managed object configuration that this
- * relation definition refers to.
+ * The type of client managed object configuration that this relation
+ * definition refers to.
* @param <S>
- * The type of server managed object configuration that this
- * relation definition refers to.
+ * The type of server managed object configuration that this relation
+ * definition refers to.
*/
-public final class SetRelationDefinition
- <C extends ConfigurationClient, S extends Configuration>
- extends RelationDefinition<C, S>
-{
+public final class SetRelationDefinition<C extends ConfigurationClient, S extends Configuration> extends
+ RelationDefinition<C, S> {
- /**
- * An interface for incrementally constructing set relation
- * definitions.
- *
- * @param <C>
- * The type of client managed object configuration that this
- * relation definition refers to.
- * @param <S>
- * The type of server managed object configuration that this
- * relation definition refers to.
- */
- public static final class Builder
- <C extends ConfigurationClient, S extends Configuration>
- extends AbstractBuilder<C, S, SetRelationDefinition<C, S>>
- {
+ /**
+ * An interface for incrementally constructing set relation definitions.
+ *
+ * @param <C>
+ * The type of client managed object configuration that this
+ * relation definition refers to.
+ * @param <S>
+ * The type of server managed object configuration that this
+ * relation definition refers to.
+ */
+ public static final class Builder<C extends ConfigurationClient, S extends Configuration> extends
+ AbstractBuilder<C, S, SetRelationDefinition<C, S>> {
+
+ // The plural name of the relation.
+ private final String pluralName;
+
+ // The optional default managed objects associated with this
+ // set relation definition.
+ private final Map<String, DefaultManagedObject<? extends C, ? extends S>> defaultManagedObjects = new HashMap<String, DefaultManagedObject<? extends C, ? extends S>>();
+
+ /**
+ * Creates a new builder which can be used to incrementally build a set
+ * relation definition.
+ *
+ * @param pd
+ * The parent managed object definition.
+ * @param name
+ * The name of the relation.
+ * @param pluralName
+ * The plural name of the relation.
+ * @param cd
+ * The child managed object definition.
+ */
+ public Builder(AbstractManagedObjectDefinition<?, ?> pd, String name, String pluralName,
+ AbstractManagedObjectDefinition<C, S> cd) {
+ super(pd, name, cd);
+ this.pluralName = pluralName;
+ }
+
+ /**
+ * Adds the default managed object to this set relation definition.
+ *
+ * @param defaultManagedObject
+ * The default managed object.
+ */
+ public void setDefaultManagedObject(DefaultManagedObject<? extends C, ? extends S> defaultManagedObject) {
+ this.defaultManagedObjects.put(defaultManagedObject.getManagedObjectDefinition().getName(),
+ defaultManagedObject);
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ protected SetRelationDefinition<C, S> buildInstance(Common<C, S> common) {
+ return new SetRelationDefinition<C, S>(common, pluralName, defaultManagedObjects);
+ }
+
+ }
// The plural name of the relation.
private final String pluralName;
// The optional default managed objects associated with this
// set relation definition.
- private final Map<String,
- DefaultManagedObject<? extends C, ? extends S>>
- defaultManagedObjects =
- new HashMap<String, DefaultManagedObject<? extends C, ? extends S>>();
+ private final Map<String, DefaultManagedObject<? extends C, ? extends S>> defaultManagedObjects;
-
-
- /**
- * Creates a new builder which can be used to incrementally build a
- * set relation definition.
- *
- * @param pd
- * The parent managed object definition.
- * @param name
- * The name of the relation.
- * @param pluralName
- * The plural name of the relation.
- * @param cd
- * The child managed object definition.
- */
- public Builder(AbstractManagedObjectDefinition<?, ?> pd,
- String name, String pluralName,
- AbstractManagedObjectDefinition<C, S> cd)
- {
- super(pd, name, cd);
- this.pluralName = pluralName;
+ // Private constructor.
+ private SetRelationDefinition(Common<C, S> common, String pluralName,
+ Map<String, DefaultManagedObject<? extends C, ? extends S>> defaultManagedObjects) {
+ super(common);
+ this.pluralName = pluralName;
+ this.defaultManagedObjects = defaultManagedObjects;
}
-
-
- /**
- * Adds the default managed object to this set relation definition.
- *
- * @param defaultManagedObject
- * The default managed object.
- */
- public void setDefaultManagedObject(
- DefaultManagedObject<? extends C, ? extends S> defaultManagedObject)
- {
- this.defaultManagedObjects
- .put(defaultManagedObject.getManagedObjectDefinition()
- .getName(), defaultManagedObject);
- }
-
-
-
/**
* {@inheritDoc}
*/
@Override
- protected SetRelationDefinition<C, S> buildInstance(
- Common<C, S> common)
- {
- return new SetRelationDefinition<C, S>(common, pluralName,
- defaultManagedObjects);
+ public <R, P> R accept(RelationDefinitionVisitor<R, P> v, P p) {
+ return v.visitSet(this, p);
}
- }
-
-
-
- // The plural name of the relation.
- private final String pluralName;
-
- // The optional default managed objects associated with this
- // set relation definition.
- private final Map<String,
- DefaultManagedObject<? extends C, ? extends S>>
- defaultManagedObjects;
-
-
-
- // Private constructor.
- private SetRelationDefinition(
- Common<C, S> common,
- String pluralName,
- Map<String,
- DefaultManagedObject<? extends C, ? extends S>> defaultManagedObjects)
- {
- super(common);
- this.pluralName = pluralName;
- this.defaultManagedObjects = defaultManagedObjects;
- }
-
-
-
- /**
- * {@inheritDoc}
- */
- @Override
- public <R, P> R accept(RelationDefinitionVisitor<R, P> v, P p)
- {
- return v.visitSet(this, p);
- }
-
-
-
- /**
- * Gets the named default managed object associated with this set
- * relation definition.
- *
- * @param name
- * The name of the default managed object (for set relations
- * this is the type of the default managed object).
- * @return The named default managed object.
- * @throws IllegalArgumentException
- * If there is no default managed object associated with the
- * provided name.
- */
- public DefaultManagedObject<? extends C, ? extends S> getDefaultManagedObject(
- String name) throws IllegalArgumentException
- {
- if (!defaultManagedObjects.containsKey(name))
- {
- throw new IllegalArgumentException(
- "unrecognized default managed object \"" + name + "\"");
+ /**
+ * Gets the named default managed object associated with this set relation
+ * definition.
+ *
+ * @param name
+ * The name of the default managed object (for set relations this
+ * is the type of the default managed object).
+ * @return The named default managed object.
+ * @throws IllegalArgumentException
+ * If there is no default managed object associated with the
+ * provided name.
+ */
+ public DefaultManagedObject<? extends C, ? extends S> getDefaultManagedObject(String name)
+ throws IllegalArgumentException {
+ if (!defaultManagedObjects.containsKey(name)) {
+ throw new IllegalArgumentException("unrecognized default managed object \"" + name + "\"");
+ }
+ return defaultManagedObjects.get(name);
}
- return defaultManagedObjects.get(name);
- }
-
-
- /**
- * Gets the names of the default managed objects associated with this
- * set relation definition.
- *
- * @return An unmodifiable set containing the names of the default
- * managed object.
- */
- public Set<String> getDefaultManagedObjectNames()
- {
- return Collections.unmodifiableSet(defaultManagedObjects.keySet());
- }
-
-
-
- /**
- * Gets the plural name of the relation.
- *
- * @return The plural name of the relation.
- */
- public String getPluralName()
- {
- return pluralName;
- }
-
-
-
- /**
- * 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 Message 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 Message getUserFriendlyPluralName(Locale locale)
- {
- String property =
- "relation." + getName() + ".user-friendly-plural-name";
- return ManagedObjectDefinitionI18NResource.getInstance()
- .getMessage(getParentDefinition(), property, locale);
- }
-
-
-
- /**
- * {@inheritDoc}
- */
- @Override
- public void toString(StringBuilder builder)
- {
- builder.append("name=");
- builder.append(getName());
- builder.append(" type=set parent=");
- builder.append(getParentDefinition().getName());
- builder.append(" child=");
- builder.append(getChildDefinition().getName());
- }
-
-
-
- /**
- * {@inheritDoc}
- */
- @Override
- protected void initialize() throws Exception
- {
- for (DefaultManagedObject<?, ?> dmo : defaultManagedObjects
- .values())
- {
- dmo.initialize();
+ /**
+ * Gets the names of the default managed objects associated with this set
+ * relation definition.
+ *
+ * @return An unmodifiable set containing the names of the default managed
+ * object.
+ */
+ public Set<String> getDefaultManagedObjectNames() {
+ return Collections.unmodifiableSet(defaultManagedObjects.keySet());
}
- }
+
+ /**
+ * Gets the plural name of the relation.
+ *
+ * @return The plural name of the relation.
+ */
+ public String getPluralName() {
+ return pluralName;
+ }
+
+ /**
+ * 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 LocalizableMessage 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 LocalizableMessage getUserFriendlyPluralName(Locale locale) {
+ String property = "relation." + getName() + ".user-friendly-plural-name";
+ return ManagedObjectDefinitionI18NResource.getInstance().getMessage(getParentDefinition(), property, locale);
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public void toString(StringBuilder builder) {
+ builder.append("name=");
+ builder.append(getName());
+ builder.append(" type=set parent=");
+ builder.append(getParentDefinition().getName());
+ builder.append(" child=");
+ builder.append(getChildDefinition().getName());
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ protected void initialize() throws Exception {
+ for (DefaultManagedObject<?, ?> dmo : defaultManagedObjects.values()) {
+ dmo.initialize();
+ }
+ }
}
--
Gitblit v1.10.0