From 9defd2349274d077ad120d780a6fac5f6d594c7f Mon Sep 17 00:00:00 2001
From: Nicolas Capponi <nicolas.capponi@forgerock.com>
Date: Fri, 22 May 2015 15:58:46 +0000
Subject: [PATCH] OPENDJ-1631 CR-6864 Migrate server to SDK syntaxes

---
 opendj-server-legacy/replace.rb |   76 +++++++++++++++++++++++++-------------
 1 files changed, 50 insertions(+), 26 deletions(-)

diff --git a/opendj-server-legacy/replace.rb b/opendj-server-legacy/replace.rb
index d3210ab..282a7cf 100755
--- a/opendj-server-legacy/replace.rb
+++ b/opendj-server-legacy/replace.rb
@@ -40,12 +40,60 @@
 class Replace
 
   # All directories that contains java code
-  JAVA_DIRS = ["src/server", "src/quicksetup", "src/ads", "src/guitools", "tests/unit-tests-testng/src"]
+  JAVA_DIRS = ["src/main/java", "src/test/java"]
   TOOLS_DIR = ["src/server/org/opends/server/tools", "src/quicksetup", "src/ads", "src/guitools",
     "tests/unit-tests-testng/src/server/org/opends/server/tools" ]
   SNMP_DIR = ["src/snmp/src"]
   DSML_DIR = ["src/dsml/org"]
 
+  # Replacement for syntaxes
+  SYNTAXES_TO_SDK = {
+    :dirs => JAVA_DIRS + SNMP_DIR,
+    :extensions => ["java"],
+    :stoplist => ["Syntax"],
+    :replacements =>
+      [
+        /import org.opends.server.api.AttributeSyntax;/,
+        'import org.forgerock.opendj.ldap.schema.Syntax;',
+
+        /package org.opends.server.api;/,
+        "package org.opends.server.api;\n\nimport org.forgerock.opendj.ldap.schema.Syntax;",
+
+        /import org.opends.server.api.\*;/,
+        "import org.forgerock.opendj.ldap.schema.Syntax;\nimport org.opends.server.api.*;",
+
+        /\bAttributeSyntax\b(<AttributeSyntaxCfg>)/,
+        "Syntax",
+
+        /\bAttributeSyntax\b(<\w*>)?/,
+        "Syntax",
+
+        /\bSyntax\b<\w*>/,
+        "Syntax",
+
+        /\bSyntax\b<\?>/,
+        "Syntax",
+
+      ]
+  }
+  
+  SYNTAXES_TO_SDK_SCM = {
+    :dirs => JAVA_DIRS,
+    :extensions => ["java"],
+    :whitelist => ["SchemaConfigManager"],
+    :replacements =>
+      [
+        /\b\w*Syntax\b\s+(\w+Syntax);/,
+        'Syntax \1;',
+        
+        /\((\w*Syntax)\)\s*schema.getSyntax/m,
+        'schema.getSyntax',
+        
+        /\w*Syntax.initializeSyntax\(null\);\s/,
+        ''
+      ]
+  }
+
   # Replacement for matching rules
   MRULES_TO_SDK = {
     :dirs => JAVA_DIRS + SNMP_DIR,
@@ -109,30 +157,6 @@
        ]
   }
 
- # Replacement for syntaxes
-  SYNTAX = {
-    :dirs => JAVA_DIRS + SNMP_DIR,
-    :extensions => ["java"],
-    :stoplist => ["Syntax"],
-    :replacements =>
-      [
-
-        /import org.opends.server.api.AttributeSyntax;/,
-        'import org.forgerock.opendj.ldap.schema.Syntax;',
-
-        /package org.opends.server.api;/,
-        "package org.opends.server.api;\n\nimport org.forgerock.opendj.ldap.schema.Syntax;",
-
-        /import org.opends.server.api.\*;/,
-        "import org.forgerock.opendj.ldap.schema.Syntax;\nimport org.opends.server.api.*;",
-
-        /\bAttributeSyntax\b<[^>]+>/,
-        'Syntax',
-
-        /\bAttributeSyntax\b/,
-        'Syntax'
-       ]
-  }
 
  # Replacement for attribute type
   ATTRTYPE = {
@@ -382,7 +406,7 @@
 
   ###############################  List of replacements to run #################################
 
-  REPLACEMENTS = [ MRULES_TO_SDK, MRULES_FACTORIES, MRULES_API_PACKAGE ]
+  REPLACEMENTS = [ SYNTAXES_TO_SDK, SYNTAXES_TO_SDK_SCM ]
 
   ################################### Processing methods ########################################
 

--
Gitblit v1.10.0