From 85811b64468e9b7a876bd352a0299b904a53a3fb Mon Sep 17 00:00:00 2001
From: ludovicp <ludovicp@localhost>
Date: Mon, 31 May 2010 12:16:23 +0000
Subject: [PATCH] Fix for Issue #615. Add support for multiple object-class inheritance. Support added in the schema, core server and tools including Control-Panel
---
opends/src/server/org/opends/server/util/StaticUtils.java | 24 +++++++++++++-----------
1 files changed, 13 insertions(+), 11 deletions(-)
diff --git a/opends/src/server/org/opends/server/util/StaticUtils.java b/opends/src/server/org/opends/server/util/StaticUtils.java
index 4ea46c1..fc1323a 100644
--- a/opends/src/server/org/opends/server/util/StaticUtils.java
+++ b/opends/src/server/org/opends/server/util/StaticUtils.java
@@ -4467,16 +4467,17 @@
HashSet<ObjectClass> additionalClasses = null;
for (ObjectClass oc : objectClasses.keySet())
{
- ObjectClass superiorClass = oc.getSuperiorClass();
- if ((superiorClass != null) &&
- (! objectClasses.containsKey(superiorClass)))
+ for(ObjectClass superiorClass : oc.getSuperiorClasses())
{
- if (additionalClasses == null)
+ if (! objectClasses.containsKey(superiorClass))
{
- additionalClasses = new HashSet<ObjectClass>();
- }
+ if (additionalClasses == null)
+ {
+ additionalClasses = new HashSet<ObjectClass>();
+ }
- additionalClasses.add(superiorClass);
+ additionalClasses.add(superiorClass);
+ }
}
}
@@ -4498,11 +4499,12 @@
objectClasses.put(objectClass, objectClass.getNameOrOID());
}
- ObjectClass superiorClass = objectClass.getSuperiorClass();
- if ((superiorClass != null) &&
- (! objectClasses.containsKey(superiorClass)))
+ for(ObjectClass superiorClass : objectClass.getSuperiorClasses())
{
- addObjectClassChain(superiorClass, objectClasses);
+ if (! objectClasses.containsKey(superiorClass))
+ {
+ addObjectClassChain(superiorClass, objectClasses);
+ }
}
}
}
--
Gitblit v1.10.0