From 640ac743fe38377eca4dba3cbd83adaa42853bb0 Mon Sep 17 00:00:00 2001
From: Nicolas Capponi <nicolas.capponi@forgerock.com>
Date: Wed, 01 Oct 2014 11:40:53 +0000
Subject: [PATCH] OPENDJ-1308 Migrate schema support - Matching Rules

---
 opendj3-server-dev/replace.rb                                                            |   28 +++++++++++---
 opendj3-server-dev/src/server/org/opends/server/schema/LDAPSyntaxDescriptionSyntax.java  |   16 +++++---
 opendj3-server-dev/src/server/org/opends/server/schema/BinarySyntax.java                 |    3 +
 opendj3-server-dev/src/server/org/opends/server/schema/CollationMatchingRuleFactory.java |   28 ++++++++++++-
 opendj3-server-dev/src/server/org/opends/server/schema/TimeBasedMatchingRuleFactory.java |   17 +++++++-
 5 files changed, 74 insertions(+), 18 deletions(-)

diff --git a/opendj3-server-dev/replace.rb b/opendj3-server-dev/replace.rb
index d6a8af7..95d6bd1 100755
--- a/opendj3-server-dev/replace.rb
+++ b/opendj3-server-dev/replace.rb
@@ -44,12 +44,28 @@
         /import org.opends.server.api.MatchingRule;/,
         'import org.forgerock.opendj.ldap.schema.MatchingRule;',
 
-        # For MR factories
-        /\binitializeMatchingRule\(MatchingRuleCfg configuration\)/,
-        "initializeMatchingRule(ServerContext serverContext, MatchingRuleCfg configuration)",
+      ]
+  }
 
-        # For MR factories
-        /\bmatchingRule = new \w*MatchingRule();/,
+  MRULES_FACTORIES = {
+    :dirs => ["src/server/org/opends/server/schema"],
+    :extensions => ["java"],
+    :stopwords => [],
+    :replacements =>
+      [
+        /import org.opends.server.api.MatchingRule;/,
+        'import org.forgerock.opendj.ldap.schema.MatchingRule;',
+
+        /private MatchingRule matchingRule;/,
+        "private org.forgerock.opendj.ldap.schema.MatchingRule matchingRule;",
+
+        /public final Collection<MatchingRule> getMatchingRules\(\)/,
+        "public final Collection<org.forgerock.opendj.ldap.schema.MatchingRule> getMatchingRules()",
+
+        /public final void initializeMatchingRule\(MatchingRuleCfg configuration\)/,
+        "public final void initializeMatchingRule(ServerContext serverContext, MatchingRuleCfg configuration)",
+
+        /\bmatchingRule = new \w*MatchingRule\(\);/,
         "matchingRule = serverContext.getSchemaNG().getMatchingRule(EMR_);"
 
        ]
@@ -344,7 +360,7 @@
 
   ###############################  List of replacements to run #################################
 
-  REPLACEMENTS = [ MRULES ]
+  REPLACEMENTS = [ MRULES_TO_SDK, MRULES_FACTORIES ]
 
   ################################### Processing methods ########################################
 
diff --git a/opendj3-server-dev/src/server/org/opends/server/schema/BinarySyntax.java b/opendj3-server-dev/src/server/org/opends/server/schema/BinarySyntax.java
index 958950d..67eb364 100644
--- a/opendj3-server-dev/src/server/org/opends/server/schema/BinarySyntax.java
+++ b/opendj3-server-dev/src/server/org/opends/server/schema/BinarySyntax.java
@@ -31,7 +31,8 @@
 import org.forgerock.opendj.config.server.ConfigException;
 import org.forgerock.opendj.ldap.ByteSequence;
 import org.opends.server.admin.std.server.AttributeSyntaxCfg;
-import org.opends.server.api.*;
+import org.opends.server.api.AttributeSyntax;
+import org.opends.server.api.MatchingRule;
 import org.opends.server.core.DirectoryServer;
 
 import static org.opends.messages.SchemaMessages.*;
diff --git a/opendj3-server-dev/src/server/org/opends/server/schema/CollationMatchingRuleFactory.java b/opendj3-server-dev/src/server/org/opends/server/schema/CollationMatchingRuleFactory.java
index f154519..e4382c7 100644
--- a/opendj3-server-dev/src/server/org/opends/server/schema/CollationMatchingRuleFactory.java
+++ b/opendj3-server-dev/src/server/org/opends/server/schema/CollationMatchingRuleFactory.java
@@ -29,19 +29,41 @@
 import java.nio.CharBuffer;
 import java.text.CollationKey;
 import java.text.Collator;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Locale;
+import java.util.Map;
+import java.util.Set;
+import java.util.SortedSet;
+import java.util.TreeSet;
 
 import org.forgerock.i18n.LocalizableMessage;
 import org.forgerock.i18n.slf4j.LocalizedLogger;
 import org.forgerock.opendj.config.server.ConfigException;
-import org.forgerock.opendj.ldap.*;
+import org.forgerock.opendj.ldap.ByteSequence;
+import org.forgerock.opendj.ldap.ByteString;
+import org.forgerock.opendj.ldap.ByteStringBuilder;
+import org.forgerock.opendj.ldap.ConditionResult;
+import org.forgerock.opendj.ldap.DecodeException;
+import org.forgerock.opendj.ldap.ResultCode;
 import org.forgerock.opendj.ldap.schema.Schema;
 import org.forgerock.opendj.ldap.spi.IndexQueryFactory;
 import org.forgerock.opendj.ldap.spi.IndexingOptions;
 import org.opends.server.admin.server.ConfigurationChangeListener;
 import org.opends.server.admin.std.meta.CollationMatchingRuleCfgDefn.MatchingRuleType;
 import org.opends.server.admin.std.server.CollationMatchingRuleCfg;
-import org.opends.server.api.*;
+import org.opends.server.api.AbstractMatchingRule;
+import org.opends.server.api.ExtensibleIndexer;
+import org.opends.server.api.ExtensibleMatchingRule;
+import org.opends.server.api.MatchingRule;
+import org.opends.server.api.MatchingRuleFactory;
+import org.opends.server.api.OrderingMatchingRule;
 import org.opends.server.core.DirectoryServer;
 import org.opends.server.types.ConfigChangeResult;
 import org.opends.server.types.DirectoryException;
diff --git a/opendj3-server-dev/src/server/org/opends/server/schema/LDAPSyntaxDescriptionSyntax.java b/opendj3-server-dev/src/server/org/opends/server/schema/LDAPSyntaxDescriptionSyntax.java
index e718b40..29baa25 100644
--- a/opendj3-server-dev/src/server/org/opends/server/schema/LDAPSyntaxDescriptionSyntax.java
+++ b/opendj3-server-dev/src/server/org/opends/server/schema/LDAPSyntaxDescriptionSyntax.java
@@ -26,22 +26,26 @@
  */
 package org.opends.server.schema;
 
-
-
-
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.LinkedHashMap;
+import java.util.LinkedList;
+import java.util.List;
 import java.util.regex.Pattern;
 
 import org.forgerock.i18n.LocalizableMessage;
 import org.forgerock.i18n.LocalizableMessageBuilder;
 import org.forgerock.i18n.slf4j.LocalizedLogger;
+import org.forgerock.opendj.config.server.ConfigException;
 import org.forgerock.opendj.ldap.ByteSequence;
 import org.forgerock.opendj.ldap.ByteString;
 import org.forgerock.opendj.ldap.DecodeException;
 import org.forgerock.opendj.ldap.ResultCode;
 import org.opends.server.admin.std.server.AttributeSyntaxCfg;
-import org.opends.server.api.*;
-import org.forgerock.opendj.config.server.ConfigException;
+import org.opends.server.api.AttributeSyntax;
+import org.opends.server.api.MatchingRule;
 import org.opends.server.core.DirectoryServer;
 import org.opends.server.types.CommonSchemaElements;
 import org.opends.server.types.DirectoryException;
diff --git a/opendj3-server-dev/src/server/org/opends/server/schema/TimeBasedMatchingRuleFactory.java b/opendj3-server-dev/src/server/org/opends/server/schema/TimeBasedMatchingRuleFactory.java
index 428dd7c..4fe25be 100644
--- a/opendj3-server-dev/src/server/org/opends/server/schema/TimeBasedMatchingRuleFactory.java
+++ b/opendj3-server-dev/src/server/org/opends/server/schema/TimeBasedMatchingRuleFactory.java
@@ -27,7 +27,15 @@
 package org.opends.server.schema;
 
 import java.nio.ByteBuffer;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Calendar;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.GregorianCalendar;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+import java.util.TimeZone;
 
 import org.forgerock.i18n.LocalizableMessage;
 import org.forgerock.i18n.slf4j.LocalizedLogger;
@@ -42,7 +50,12 @@
 import org.forgerock.opendj.ldap.spi.IndexQueryFactory;
 import org.forgerock.opendj.ldap.spi.IndexingOptions;
 import org.opends.server.admin.std.server.MatchingRuleCfg;
-import org.opends.server.api.*;
+import org.opends.server.api.AbstractMatchingRule;
+import org.opends.server.api.ExtensibleIndexer;
+import org.opends.server.api.ExtensibleMatchingRule;
+import org.opends.server.api.MatchingRule;
+import org.opends.server.api.MatchingRuleFactory;
+import org.opends.server.api.OrderingMatchingRule;
 import org.opends.server.core.DirectoryServer;
 import org.opends.server.types.DirectoryException;
 import org.opends.server.types.InitializationException;

--
Gitblit v1.10.0