From 7c774e1356257bd64273760740f2464f2d6661fb Mon Sep 17 00:00:00 2001
From: neil_a_wilson <neil_a_wilson@localhost>
Date: Tue, 09 Jan 2007 20:20:30 +0000
Subject: [PATCH] Update the schema backend to provide full support for online schema updates. which includes the following:

---
 opends/src/server/org/opends/server/schema/DITContentRuleSyntax.java |   41 ++++++++++++++++++++---------------------
 1 files changed, 20 insertions(+), 21 deletions(-)

diff --git a/opends/src/server/org/opends/server/schema/DITContentRuleSyntax.java b/opends/src/server/org/opends/server/schema/DITContentRuleSyntax.java
index 2fdf746..a8dc05e 100644
--- a/opends/src/server/org/opends/server/schema/DITContentRuleSyntax.java
+++ b/opends/src/server/org/opends/server/schema/DITContentRuleSyntax.java
@@ -22,16 +22,16 @@
  * CDDL HEADER END
  *
  *
- *      Portions Copyright 2006 Sun Microsystems, Inc.
+ *      Portions Copyright 2006-2007 Sun Microsystems, Inc.
  */
 package org.opends.server.schema;
 
 
 
+import java.util.LinkedHashMap;
+import java.util.LinkedHashSet;
 import java.util.LinkedList;
-import java.util.concurrent.ConcurrentHashMap;
-import java.util.concurrent.CopyOnWriteArrayList;
-import java.util.concurrent.CopyOnWriteArraySet;
+import java.util.List;
 
 import org.opends.server.api.ApproximateMatchingRule;
 import org.opends.server.api.AttributeSyntax;
@@ -503,20 +503,19 @@
     // out what it is and how to treat what comes after it, then repeat until
     // we get to the end of the value.  But before we start, set default values
     // for everything else we might need to know.
-    ConcurrentHashMap<String,String> names =
-         new ConcurrentHashMap<String,String>();
+    LinkedHashMap<String,String> names = new LinkedHashMap<String,String>();
     String description = null;
     boolean isObsolete = false;
-    CopyOnWriteArraySet<ObjectClass> auxiliaryClasses =
-         new CopyOnWriteArraySet<ObjectClass>();
-    CopyOnWriteArraySet<AttributeType> requiredAttributes =
-         new CopyOnWriteArraySet<AttributeType>();
-    CopyOnWriteArraySet<AttributeType> optionalAttributes =
-         new CopyOnWriteArraySet<AttributeType>();
-    CopyOnWriteArraySet<AttributeType> prohibitedAttributes =
-         new CopyOnWriteArraySet<AttributeType>();
-    ConcurrentHashMap<String,CopyOnWriteArrayList<String>> extraProperties =
-         new ConcurrentHashMap<String,CopyOnWriteArrayList<String>>();
+    LinkedHashSet<ObjectClass> auxiliaryClasses =
+         new LinkedHashSet<ObjectClass>();
+    LinkedHashSet<AttributeType> requiredAttributes =
+         new LinkedHashSet<AttributeType>();
+    LinkedHashSet<AttributeType> optionalAttributes =
+         new LinkedHashSet<AttributeType>();
+    LinkedHashSet<AttributeType> prohibitedAttributes =
+         new LinkedHashSet<AttributeType>();
+    LinkedHashMap<String,List<String>> extraProperties =
+         new LinkedHashMap<String,List<String>>();
 
 
     while (true)
@@ -943,16 +942,15 @@
         // either a single value in single quotes or an open parenthesis
         // followed by one or more values in single quotes separated by spaces
         // followed by a close parenthesis.
-        CopyOnWriteArrayList<String> valueList =
-             new CopyOnWriteArrayList<String>();
+        LinkedList<String> valueList = new LinkedList<String>();
         pos = readExtraParameterValues(valueStr, valueList, pos);
         extraProperties.put(tokenName, valueList);
       }
     }
 
 
-    return new DITContentRule(structuralClass, names, description,
-                              auxiliaryClasses, requiredAttributes,
+    return new DITContentRule(value.stringValue(), structuralClass, names,
+                              description, auxiliaryClasses, requiredAttributes,
                               optionalAttributes, prohibitedAttributes,
                               isObsolete, extraProperties);
   }
@@ -1374,7 +1372,8 @@
    *                              the value.
    */
   private static int readExtraParameterValues(String valueStr,
-                          CopyOnWriteArrayList<String> valueList, int startPos)
+                                              List<String> valueList,
+                                              int startPos)
           throws DirectoryException
   {
     assert debugEnter(CLASS_NAME, "readExtraParameterValues",

--
Gitblit v1.10.0