From 5d6e9428fedead57a9c9438cebe58b485ff476d2 Mon Sep 17 00:00:00 2001
From: matthew_swift <matthew_swift@localhost>
Date: Fri, 14 Sep 2007 10:22:17 +0000
Subject: [PATCH] Avoid managed object definition initialization dependency problems. Using features like inherited default values and aggregation properties it is quite straightforward to encounter initialization dependency problems. For example: the global configuration will contain an aggregation property which references the default password policy. This aggregation definition is defined using a managed object path which, when decoded, contains a reference to the root configuration and its "password-policy" relation. This is what happens during initialization of the root configuration:
---
opends/tests/unit-tests-testng/src/server/org/opends/server/admin/server/AggregationTest.java | 10 ++++------
1 files changed, 4 insertions(+), 6 deletions(-)
diff --git a/opends/tests/unit-tests-testng/src/server/org/opends/server/admin/server/AggregationTest.java b/opends/tests/unit-tests-testng/src/server/org/opends/server/admin/server/AggregationTest.java
index 502eeb2..e5ad1e0 100644
--- a/opends/tests/unit-tests-testng/src/server/org/opends/server/admin/server/AggregationTest.java
+++ b/opends/tests/unit-tests-testng/src/server/org/opends/server/admin/server/AggregationTest.java
@@ -43,7 +43,6 @@
import org.opends.server.admin.AggregationPropertyDefinition;
import org.opends.server.admin.IllegalPropertyValueStringException;
import org.opends.server.admin.ManagedObjectNotFoundException;
-import org.opends.server.admin.ManagedObjectPath;
import org.opends.server.admin.PropertyException;
import org.opends.server.admin.PropertyOption;
import org.opends.server.admin.TestCfg;
@@ -56,7 +55,6 @@
import org.opends.server.admin.std.client.ConnectionHandlerCfgClient;
import org.opends.server.admin.std.client.LDAPConnectionHandlerCfgClient;
import org.opends.server.admin.std.client.RootCfgClient;
-import org.opends.server.admin.std.meta.ConnectionHandlerCfgDefn;
import org.opends.server.admin.std.meta.LDAPConnectionHandlerCfgDefn;
import org.opends.server.admin.std.server.ConnectionHandlerCfg;
import org.opends.server.admin.std.server.RootCfg;
@@ -306,11 +304,11 @@
AdministratorAction.Type.NONE, d, "aggregation-property"));
builder
.setDefaultBehaviorProvider(new UndefinedDefaultBehaviorProvider<String>());
- builder.setParentPath(ManagedObjectPath.valueOf("/"));
+ builder.setParentPath("/");
builder.setRelationDefinition("connection-handler");
- builder.setManagedObjectDefinition(ConnectionHandlerCfgDefn.getInstance());
builder.setTargetEnabledPropertyName("enabled");
aggregationPropertyDefinitionTargetMustBeEnabled = builder.getInstance();
+ TestCfg.initializePropertyDefinition(aggregationPropertyDefinitionTargetMustBeEnabled);
builder = AggregationPropertyDefinition.createBuilder(d,
"aggregation-property");
@@ -319,13 +317,13 @@
AdministratorAction.Type.NONE, d, "aggregation-property"));
builder
.setDefaultBehaviorProvider(new UndefinedDefaultBehaviorProvider<String>());
- builder.setParentPath(ManagedObjectPath.valueOf("/"));
+ builder.setParentPath("/");
builder.setRelationDefinition("connection-handler");
- builder.setManagedObjectDefinition(ConnectionHandlerCfgDefn.getInstance());
builder.setTargetEnabledPropertyName("enabled");
builder.setSourceEnabledPropertyName("mandatory-boolean-property");
aggregationPropertyDefinitionTargetAndSourceMustBeEnabled = builder
.getInstance();
+ TestCfg.initializePropertyDefinition(aggregationPropertyDefinitionTargetAndSourceMustBeEnabled);
}
--
Gitblit v1.10.0