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