From 02805157fa504b3dbf701a62280ca9aaf82183b5 Mon Sep 17 00:00:00 2001
From: matthew_swift <matthew_swift@localhost>
Date: Wed, 05 Sep 2007 20:12:11 +0000
Subject: [PATCH] Partial fix for issue 1449: administration framework aggregation support

---
 opends/tests/unit-tests-testng/src/server/org/opends/server/admin/TestChildCfgDefn.java |  108 ++++++++++++++++++++++++++++++++++++++----------------
 1 files changed, 76 insertions(+), 32 deletions(-)

diff --git a/opends/tests/unit-tests-testng/src/server/org/opends/server/admin/TestChildCfgDefn.java b/opends/tests/unit-tests-testng/src/server/org/opends/server/admin/TestChildCfgDefn.java
index 7d91ae3..4a5780c 100644
--- a/opends/tests/unit-tests-testng/src/server/org/opends/server/admin/TestChildCfgDefn.java
+++ b/opends/tests/unit-tests-testng/src/server/org/opends/server/admin/TestChildCfgDefn.java
@@ -34,24 +34,30 @@
 import org.opends.server.admin.AttributeTypePropertyDefinition;
 import org.opends.server.admin.BooleanPropertyDefinition;
 import org.opends.server.admin.ClassPropertyDefinition;
+import org.opends.server.admin.DNPropertyDefinition;
+import org.opends.server.admin.DefaultBehaviorProvider;
+import org.opends.server.admin.DefinedDefaultBehaviorProvider;
+import org.opends.server.admin.ManagedObjectAlreadyExistsException;
+import org.opends.server.admin.ManagedObjectDefinition;
+import org.opends.server.admin.ManagedObjectPath;
+import org.opends.server.admin.PropertyIsReadOnlyException;
+import org.opends.server.admin.PropertyOption;
+import org.opends.server.admin.PropertyProvider;
+import org.opends.server.admin.RelativeInheritedDefaultBehaviorProvider;
+import org.opends.server.admin.UndefinedDefaultBehaviorProvider;
 import org.opends.server.admin.client.AuthorizationException;
 import org.opends.server.admin.client.CommunicationException;
 import org.opends.server.admin.client.ConcurrentModificationException;
 import org.opends.server.admin.client.ManagedObject;
 import org.opends.server.admin.client.MissingMandatoryPropertiesException;
 import org.opends.server.admin.client.OperationRejectedException;
-import org.opends.server.admin.DefaultBehaviorProvider;
-import org.opends.server.admin.DefinedDefaultBehaviorProvider;
-import org.opends.server.admin.DNPropertyDefinition;
-import org.opends.server.admin.ManagedObjectAlreadyExistsException;
-import org.opends.server.admin.ManagedObjectDefinition;
-import org.opends.server.admin.PropertyIsReadOnlyException;
-import org.opends.server.admin.PropertyOption;
-import org.opends.server.admin.PropertyProvider;
-import org.opends.server.admin.RelativeInheritedDefaultBehaviorProvider;
 import org.opends.server.admin.server.ConfigurationChangeListener;
 import org.opends.server.admin.server.ServerManagedObject;
-import org.opends.server.admin.UndefinedDefaultBehaviorProvider;
+import org.opends.server.admin.std.client.ConnectionHandlerCfgClient;
+import org.opends.server.admin.TestChildCfgClient;
+import org.opends.server.admin.std.meta.ConnectionHandlerCfgDefn;
+import org.opends.server.admin.std.server.ConnectionHandlerCfg;
+import org.opends.server.admin.TestChildCfg;
 import org.opends.server.types.AttributeType;
 import org.opends.server.types.DN;
 
@@ -72,6 +78,11 @@
 
 
 
+  // The "aggregation-property" property definition.
+  private static final AggregationPropertyDefinition<ConnectionHandlerCfgClient, ConnectionHandlerCfg> PD_AGGREGATION_PROPERTY;
+
+
+
   // The "mandatory-boolean-property" property definition.
   private static final BooleanPropertyDefinition PD_MANDATORY_BOOLEAN_PROPERTY;
 
@@ -97,6 +108,21 @@
 
 
 
+  // Build the "aggregation-property" property definition.
+  static {
+      AggregationPropertyDefinition.Builder<ConnectionHandlerCfgClient, ConnectionHandlerCfg> builder = AggregationPropertyDefinition.createBuilder(INSTANCE, "aggregation-property");
+      builder.setOption(PropertyOption.MULTI_VALUED);
+      builder.setAdministratorAction(new AdministratorAction(AdministratorAction.Type.NONE, INSTANCE, "aggregation-property"));
+      builder.setDefaultBehaviorProvider(new UndefinedDefaultBehaviorProvider<String>());
+      builder.setParentPath(ManagedObjectPath.valueOf("/"));
+      builder.setRelationDefinition("connection-handler");
+      builder.setManagedObjectDefinition(ConnectionHandlerCfgDefn.getInstance());
+      PD_AGGREGATION_PROPERTY = builder.getInstance();
+      INSTANCE.registerPropertyDefinition(PD_AGGREGATION_PROPERTY);
+  }
+
+
+
   // Build the "mandatory-boolean-property" property definition.
   static {
       BooleanPropertyDefinition.Builder builder = BooleanPropertyDefinition.createBuilder(INSTANCE, "mandatory-boolean-property");
@@ -180,28 +206,6 @@
   private TestChildCfgDefn() {
     super("test-child", null);
   }
-  
-  
-  
-  /**
-   * Adds a constraint temporarily with this test definition.
-   * 
-   * @param constraint The constraint.
-   */
-  public void addConstraint(Constraint constraint) {
-    registerConstraint(constraint);
-  }
-  
-  
-  
-  /**
-   * Removes a constraint from this test definition.
-   * 
-   * @param constraint The constraint.
-   */
-  public void removeConstraint(Constraint constraint) {
-    deregisterConstraint(constraint);
-  }
 
 
 
@@ -235,6 +239,19 @@
 
 
   /**
+   * Get the "aggregation-property" property definition.
+   * <p>
+   * An aggregation property which references connection handlers.
+   *
+   * @return Returns the "aggregation-property" property definition.
+   */
+  public AggregationPropertyDefinition<ConnectionHandlerCfgClient, ConnectionHandlerCfg> getAggregationPropertyPropertyDefinition() {
+    return PD_AGGREGATION_PROPERTY;
+  }
+
+
+
+  /**
    * Get the "mandatory-boolean-property" property definition.
    * <p>
    * A mandatory boolean property.
@@ -323,6 +340,24 @@
     /**
      * {@inheritDoc}
      */
+    public SortedSet<String> getAggregationProperty() {
+      return impl.getPropertyValues(INSTANCE.getAggregationPropertyPropertyDefinition());
+    }
+
+
+
+    /**
+     * {@inheritDoc}
+     */
+    public void setAggregationProperty(Collection<String> values) {
+      impl.setPropertyValues(INSTANCE.getAggregationPropertyPropertyDefinition(), values);
+    }
+
+
+
+    /**
+     * {@inheritDoc}
+     */
     public Boolean isMandatoryBooleanProperty() {
       return impl.getPropertyValue(INSTANCE.getMandatoryBooleanPropertyPropertyDefinition());
     }
@@ -483,6 +518,15 @@
     /**
      * {@inheritDoc}
      */
+    public SortedSet<String> getAggregationProperty() {
+      return impl.getPropertyValues(INSTANCE.getAggregationPropertyPropertyDefinition());
+    }
+
+
+
+    /**
+     * {@inheritDoc}
+     */
     public boolean isMandatoryBooleanProperty() {
       return impl.getPropertyValue(INSTANCE.getMandatoryBooleanPropertyPropertyDefinition());
     }

--
Gitblit v1.10.0