From dd8c19ab2e4fc3347c7cf74b4351a48e3774166a Mon Sep 17 00:00:00 2001
From: Nicolas Capponi <nicolas.capponi@forgerock.com>
Date: Mon, 29 Sep 2014 12:24:49 +0000
Subject: [PATCH] OPENDJ-1308 Migrate schema support - SubstringMatchingRule

---
 opendj3-server-dev/src/server/org/opends/server/api/AttributeSyntax.java                             |    2 
 opendj3-server-dev/src/server/org/opends/server/schema/FaxSyntax.java                                |    5 
 opendj3-server-dev/replace.rb                                                                        |   31 ++++-
 opendj3-server-dev/src/server/org/opends/server/schema/GuideSyntax.java                              |    5 
 opendj3-server-dev/src/server/org/opends/server/types/DirectoryConfig.java                           |    3 
 opendj3-server-dev/src/server/org/opends/server/schema/PresentationAddressSyntax.java                |    5 
 opendj3-server-dev/tests/unit-tests-testng/src/server/org/opends/server/types/TestAttributeType.java |    5 
 opendj3-server-dev/src/guitools/org/opends/guitools/controlpanel/ui/CustomAttributePanel.java        |    5 
 opendj3-server-dev/src/server/org/opends/server/types/SearchFilter.java                              |    3 
 opendj3-server-dev/src/server/org/opends/server/schema/NameFormSyntax.java                           |    5 
 opendj3-server-dev/src/server/org/opends/server/types/AttributeType.java                             |    7 
 opendj3-server-dev/src/server/org/opends/server/schema/CertificateSyntax.java                        |    5 
 opendj3-server-dev/src/server/org/opends/server/schema/AuthPasswordSyntax.java                       |    3 
 opendj3-server-dev/src/guitools/org/opends/guitools/controlpanel/ui/NewAttributePanel.java           |    4 
 opendj3-server-dev/src/server/org/opends/server/backends/jeb/SubstringIndexer.java                   |    4 
 opendj3-server-dev/src/server/org/opends/server/schema/CertificateExactAssertionSyntax.java          |    5 
 opendj3-server-dev/src/server/org/opends/server/schema/NumericStringSyntax.java                      |    5 
 opendj3-server-dev/src/server/org/opends/server/schema/DistinguishedNameSyntax.java                  |    5 
 opendj3-server-dev/src/server/org/opends/server/schema/UUIDSyntax.java                               |    3 
 opendj3-server-dev/src/server/org/opends/server/schema/PostalAddressSyntax.java                      |    5 
 opendj3-server-dev/src/server/org/opends/server/schema/TeletexTerminalIdentifierSyntax.java          |    5 
 opendj3-server-dev/src/server/org/opends/server/schema/AciSyntax.java                                |    5 
 opendj3-server-dev/src/server/org/opends/server/schema/OctetStringSyntax.java                        |    5 
 opendj3-server-dev/src/server/org/opends/server/controls/MatchedValuesFilter.java                    |    5 
 opendj3-server-dev/src/server/org/opends/server/schema/DITStructureRuleSyntax.java                   |    5 
 opendj3-server-dev/src/server/org/opends/server/schema/UTCTimeSyntax.java                            |    5 
 opendj3-server-dev/src/guitools/org/opends/guitools/controlpanel/util/Utilities.java                 |    3 
 opendj3-server-dev/src/server/org/opends/server/schema/OtherMailboxSyntax.java                       |    5 
 opendj3-server-dev/src/server/org/opends/server/schema/PrintableStringSyntax.java                    |    5 
 opendj3-server-dev/src/server/org/opends/server/schema/ProtocolInformationSyntax.java                |    5 
 opendj3-server-dev/src/server/org/opends/server/schema/CertificateListSyntax.java                    |    5 
 opendj3-server-dev/src/server/org/opends/server/schema/GeneralizedTimeSyntax.java                    |    5 
 opendj3-server-dev/src/server/org/opends/server/schema/SubtreeSpecificationSyntax.java               |    5 
 opendj3-server-dev/src/server/org/opends/server/core/MatchingRuleConfigManager.java                  |    5 
 opendj3-server-dev/src/server/org/opends/server/schema/IA5StringSyntax.java                          |    5 
 opendj3-server-dev/src/server/org/opends/server/schema/DITContentRuleSyntax.java                     |    5 
 opendj3-server-dev/src/server/org/opends/server/schema/SupportedAlgorithmSyntax.java                 |    5 
 opendj3-server-dev/src/server/org/opends/server/schema/EnhancedGuideSyntax.java                      |    5 
 opendj3-server-dev/src/server/org/opends/server/schema/OIDSyntax.java                                |    5 
 opendj3-server-dev/src/server/org/opends/server/schema/UserPasswordSyntax.java                       |    3 
 opendj3-server-dev/src/server/org/opends/server/schema/BitStringSyntax.java                          |    4 
 opendj3-server-dev/src/server/org/opends/server/schema/DirectoryStringSyntax.java                    |    5 
 opendj3-server-dev/src/server/org/opends/server/schema/BooleanSyntax.java                            |    3 
 opendj3-server-dev/src/server/org/opends/server/schema/JPEGSyntax.java                               |    5 
 opendj3-server-dev/src/server/org/opends/server/schema/MatchingRuleSyntax.java                       |    5 
 opendj3-server-dev/src/server/org/opends/server/schema/MatchingRuleUseSyntax.java                    |    5 
 opendj3-server-dev/src/server/org/opends/server/schema/TelexNumberSyntax.java                        |    6 
 opendj3-server-dev/src/server/org/opends/server/schema/LDAPSyntaxDescriptionSyntax.java              |   14 +-
 opendj3-server-dev/src/server/org/opends/server/types/AttributeBuilder.java                          |    3 
 opendj3-server-dev/src/server/org/opends/server/schema/TelephoneNumberSyntax.java                    |    5 
 opendj3-server-dev/src/server/org/opends/server/schema/ObjectClassSyntax.java                        |    6 
 opendj3-server-dev/src/server/org/opends/server/core/DirectoryServer.java                            |    9 
 opendj3-server-dev/src/server/org/opends/server/schema/AttributeTypeSyntax.java                      |   11 -
 opendj3-server-dev/src/server/org/opends/server/schema/NameAndOptionalUIDSyntax.java                 |    5 
 opendj3-server-dev/src/server/org/opends/server/schema/BinarySyntax.java                             |    4 
 opendj3-server-dev/src/server/org/opends/server/schema/CountryStringSyntax.java                      |    5 
 opendj3-server-dev/src/server/org/opends/server/schema/SubstringAssertionSyntax.java                 |    5 
 opendj3-server-dev/src/server/org/opends/server/schema/IntegerSyntax.java                            |    5 
 opendj3-server-dev/src/server/org/opends/server/schema/CertificatePairSyntax.java                    |    5 
 opendj3-server-dev/src/server/org/opends/server/schema/FaxNumberSyntax.java                          |    5 
 opendj3-server-dev/src/server/org/opends/server/schema/DeliveryMethodSyntax.java                     |    5 
 61 files changed, 149 insertions(+), 182 deletions(-)

diff --git a/opendj3-server-dev/replace.rb b/opendj3-server-dev/replace.rb
index db9f248..d6a8af7 100755
--- a/opendj3-server-dev/replace.rb
+++ b/opendj3-server-dev/replace.rb
@@ -35,6 +35,26 @@
   DSML_DIR = ["src/dsml/org"]
 
   # Replacement for matching rules
+  MRULES_TO_SDK = {
+    :dirs => JAVA_DIRS + SNMP_DIR,
+    :extensions => ["java"],
+    :stopwords => ["MatchingRule"],
+    :replacements =>
+      [
+        /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();/,
+        "matchingRule = serverContext.getSchemaNG().getMatchingRule(EMR_);"
+
+       ]
+  }
+
   MRULES = {
     :dirs => JAVA_DIRS + SNMP_DIR,
     :extensions => ["java"],
@@ -42,10 +62,10 @@
     :replacements =>
       [
 
-        /import org.opends.server.api.EqualityMatchingRule;/,
-        'import org.opends.server.api.MatchingRule;',
+        /import org.opends.server.api.SubstringMatchingRule;/,
+        '',
 
-        /\bEqualityMatchingRule\b/,
+        /\bSubstringMatchingRule\b/,
         "MatchingRule",
 
        ]
@@ -194,7 +214,6 @@
       ]
   }
 
-
   # Replacement for types
   TYPES = {
     :dirs => JAVA_DIRS,
@@ -323,9 +342,9 @@
       ]
   }
 
-  # List of replacements to run
-  REPLACEMENTS = [ MRULES ]
+  ###############################  List of replacements to run #################################
 
+  REPLACEMENTS = [ MRULES ]
 
   ################################### Processing methods ########################################
 
diff --git a/opendj3-server-dev/src/guitools/org/opends/guitools/controlpanel/ui/CustomAttributePanel.java b/opendj3-server-dev/src/guitools/org/opends/guitools/controlpanel/ui/CustomAttributePanel.java
index 9b11452..66e4c91 100644
--- a/opendj3-server-dev/src/guitools/org/opends/guitools/controlpanel/ui/CustomAttributePanel.java
+++ b/opendj3-server-dev/src/guitools/org/opends/guitools/controlpanel/ui/CustomAttributePanel.java
@@ -87,7 +87,6 @@
 import org.forgerock.i18n.LocalizableMessageBuilder;
 import org.opends.server.api.MatchingRule;
 import org.opends.server.api.AttributeSyntax;
-import org.opends.server.api.SubstringMatchingRule;
 import org.opends.server.types.AttributeType;
 import org.forgerock.opendj.ldap.schema.AttributeUsage;
 import org.opends.server.types.ObjectClass;
@@ -1202,7 +1201,7 @@
     }
   }
 
-  private SubstringMatchingRule getSubstringMatchingRule()
+  private MatchingRule getSubstringMatchingRule()
   {
     if (substring.getSelectedIndex() == 0)
     {
@@ -1210,7 +1209,7 @@
     }
     else
     {
-      return (SubstringMatchingRule)substring.getSelectedItem();
+      return (MatchingRule)substring.getSelectedItem();
     }
   }
 
diff --git a/opendj3-server-dev/src/guitools/org/opends/guitools/controlpanel/ui/NewAttributePanel.java b/opendj3-server-dev/src/guitools/org/opends/guitools/controlpanel/ui/NewAttributePanel.java
index 4ae5f67..47f1db6 100644
--- a/opendj3-server-dev/src/guitools/org/opends/guitools/controlpanel/ui/NewAttributePanel.java
+++ b/opendj3-server-dev/src/guitools/org/opends/guitools/controlpanel/ui/NewAttributePanel.java
@@ -801,7 +801,7 @@
     }
   }
 
-  private SubstringMatchingRule getSubstringMatchingRule()
+  private MatchingRule getSubstringMatchingRule()
   {
     if (substring.getSelectedIndex() == 0)
     {
@@ -809,7 +809,7 @@
     }
     else
     {
-      return (SubstringMatchingRule)substring.getSelectedItem();
+      return (MatchingRule)substring.getSelectedItem();
     }
   }
 
diff --git a/opendj3-server-dev/src/guitools/org/opends/guitools/controlpanel/util/Utilities.java b/opendj3-server-dev/src/guitools/org/opends/guitools/controlpanel/util/Utilities.java
index 0b5a3ef..1fa3575 100644
--- a/opendj3-server-dev/src/guitools/org/opends/guitools/controlpanel/util/Utilities.java
+++ b/opendj3-server-dev/src/guitools/org/opends/guitools/controlpanel/util/Utilities.java
@@ -124,7 +124,6 @@
 import org.opends.server.api.EqualityMatchingRule;
 import org.opends.server.api.MatchingRule;
 import org.opends.server.api.OrderingMatchingRule;
-import org.opends.server.api.SubstringMatchingRule;
 import org.opends.server.config.ConfigEntry;
 import org.opends.server.core.DirectoryServer;
 import org.opends.server.core.LockFileManager;
@@ -2860,7 +2859,7 @@
    * @return {@code true} if this matching rule is a substring mathing rule.
    */
   public static boolean isSubstringMatchingRule(MatchingRule matchingRule) {
-    return matchingRule instanceof SubstringMatchingRule;
+    return matchingRule instanceof MatchingRule;
   }
 
   /**
diff --git a/opendj3-server-dev/src/server/org/opends/server/api/AttributeSyntax.java b/opendj3-server-dev/src/server/org/opends/server/api/AttributeSyntax.java
index fd5456c..94d9638 100644
--- a/opendj3-server-dev/src/server/org/opends/server/api/AttributeSyntax.java
+++ b/opendj3-server-dev/src/server/org/opends/server/api/AttributeSyntax.java
@@ -178,7 +178,7 @@
    *          substring matches will not be allowed for this type by
    *          default.
    */
-  public abstract SubstringMatchingRule getSubstringMatchingRule();
+  public abstract MatchingRule getSubstringMatchingRule();
 
 
 
diff --git a/opendj3-server-dev/src/server/org/opends/server/backends/jeb/SubstringIndexer.java b/opendj3-server-dev/src/server/org/opends/server/backends/jeb/SubstringIndexer.java
index 072f84e..1c7eca5 100644
--- a/opendj3-server-dev/src/server/org/opends/server/backends/jeb/SubstringIndexer.java
+++ b/opendj3-server-dev/src/server/org/opends/server/backends/jeb/SubstringIndexer.java
@@ -34,7 +34,7 @@
 import org.forgerock.opendj.ldap.schema.Schema;
 import org.forgerock.opendj.ldap.spi.IndexingOptions;
 import org.opends.server.api.ExtensibleIndexer;
-import org.opends.server.api.SubstringMatchingRule;
+import org.opends.server.api.MatchingRule;
 import org.opends.server.types.AttributeType;
 
 /**
@@ -43,7 +43,7 @@
 public class SubstringIndexer extends ExtensibleIndexer
 {
 
-  private SubstringMatchingRule substringRule;
+  private MatchingRule substringRule;
 
   /**
    * Create a new attribute substring indexer for the given index configuration.
diff --git a/opendj3-server-dev/src/server/org/opends/server/controls/MatchedValuesFilter.java b/opendj3-server-dev/src/server/org/opends/server/controls/MatchedValuesFilter.java
index 318f005..4c9dfbc 100644
--- a/opendj3-server-dev/src/server/org/opends/server/controls/MatchedValuesFilter.java
+++ b/opendj3-server-dev/src/server/org/opends/server/controls/MatchedValuesFilter.java
@@ -40,7 +40,6 @@
 import org.forgerock.opendj.ldap.DecodeException;
 import org.forgerock.util.Reject;
 import org.opends.server.api.MatchingRule;
-import org.opends.server.api.SubstringMatchingRule;
 import org.opends.server.core.DirectoryServer;
 import org.opends.server.protocols.ldap.LDAPResultCode;
 import org.opends.server.types.*;
@@ -157,7 +156,7 @@
   private final String rawAttributeType;
 
   // The substring matching rule for this matched values filter.
-  private SubstringMatchingRule substringMatchingRule;
+  private MatchingRule substringMatchingRule;
 
   /**
    * The assertion created from substring matching rule using values of this
@@ -1106,7 +1105,7 @@
    * @return  The substring matching rule that should be used for this matched
    *          values filter, or <CODE>null</CODE> if there is none.
    */
-  public SubstringMatchingRule getSubstringMatchingRule()
+  public MatchingRule getSubstringMatchingRule()
   {
     if (substringMatchingRule == null)
     {
diff --git a/opendj3-server-dev/src/server/org/opends/server/core/DirectoryServer.java b/opendj3-server-dev/src/server/org/opends/server/core/DirectoryServer.java
index f5a3d13..855137f 100644
--- a/opendj3-server-dev/src/server/org/opends/server/core/DirectoryServer.java
+++ b/opendj3-server-dev/src/server/org/opends/server/core/DirectoryServer.java
@@ -116,7 +116,6 @@
 import org.opends.server.api.RestoreTaskListener;
 import org.opends.server.api.SASLMechanismHandler;
 import org.opends.server.api.ServerShutdownListener;
-import org.opends.server.api.SubstringMatchingRule;
 import org.opends.server.api.SynchronizationProvider;
 import org.opends.server.api.TrustManagerProvider;
 import org.opends.server.api.WorkQueue;
@@ -3171,9 +3170,9 @@
    * @return  The requested substring matching rule, or <CODE>null</CODE> if no
    *          such matching rule has been defined in the server.
    */
-  public static SubstringMatchingRule getSubstringMatchingRule(String lowerName)
+  public static MatchingRule getSubstringMatchingRule(String lowerName)
   {
-    return (SubstringMatchingRule) directoryServer.schema.getMatchingRule(lowerName);
+    return (MatchingRule) directoryServer.schema.getMatchingRule(lowerName);
   }
 
   /**
@@ -3190,7 +3189,7 @@
    *                              <CODE>false</CODE>
    */
   public static void registerSubstringMatchingRule(
-      SubstringMatchingRule matchingRule, boolean overwriteExisting)
+      MatchingRule matchingRule, boolean overwriteExisting)
       throws DirectoryException
   {
     directoryServer.schema.registerMatchingRule(matchingRule, overwriteExisting);
@@ -3201,7 +3200,7 @@
    *
    * @param  matchingRule  The matching rule to deregister with the server.
    */
-  public static void deregisterSubstringMatchingRule(SubstringMatchingRule
+  public static void deregisterSubstringMatchingRule(MatchingRule
                                                      matchingRule)
   {
     directoryServer.schema.deregisterMatchingRule(matchingRule);
diff --git a/opendj3-server-dev/src/server/org/opends/server/core/MatchingRuleConfigManager.java b/opendj3-server-dev/src/server/org/opends/server/core/MatchingRuleConfigManager.java
index 2cca763..84cf9e9 100644
--- a/opendj3-server-dev/src/server/org/opends/server/core/MatchingRuleConfigManager.java
+++ b/opendj3-server-dev/src/server/org/opends/server/core/MatchingRuleConfigManager.java
@@ -44,7 +44,6 @@
 import org.opends.server.admin.std.meta.MatchingRuleCfgDefn;
 import org.opends.server.api.MatchingRule;
 import org.opends.server.api.MatchingRuleFactory;
-import org.opends.server.api.SubstringMatchingRule;
 import org.forgerock.opendj.config.server.ConfigException;
 import org.opends.server.types.AttributeType;
 import org.opends.server.types.ConfigChangeResult;
@@ -298,7 +297,7 @@
             continue;
           }
 
-          SubstringMatchingRule smr = at.getSubstringMatchingRule();
+          MatchingRule smr = at.getSubstringMatchingRule();
           if ((smr != null) && oid.equals(smr.getOID()))
           {
             LocalizableMessage message =
@@ -435,7 +434,7 @@
               continue;
             }
 
-            SubstringMatchingRule smr = at.getSubstringMatchingRule();
+            MatchingRule smr = at.getSubstringMatchingRule();
             if ((smr != null) && oid.equals(smr.getOID()))
             {
               LocalizableMessage message =
diff --git a/opendj3-server-dev/src/server/org/opends/server/schema/AciSyntax.java b/opendj3-server-dev/src/server/org/opends/server/schema/AciSyntax.java
index 0b0efed..d723143 100644
--- a/opendj3-server-dev/src/server/org/opends/server/schema/AciSyntax.java
+++ b/opendj3-server-dev/src/server/org/opends/server/schema/AciSyntax.java
@@ -31,7 +31,6 @@
 import org.opends.server.admin.std.server.AttributeSyntaxCfg;
 import org.opends.server.api.MatchingRule;
 import org.opends.server.api.AttributeSyntax;
-import org.opends.server.api.SubstringMatchingRule;
 import org.forgerock.opendj.config.server.ConfigException;
 import org.opends.server.core.DirectoryServer;
 
@@ -59,7 +58,7 @@
   private MatchingRule defaultEqualityMatchingRule;
 
   // The default substring matching rule for this syntax.
-  private SubstringMatchingRule defaultSubstringMatchingRule;
+  private MatchingRule defaultSubstringMatchingRule;
 
 
 
@@ -174,7 +173,7 @@
    *          attributes with this syntax, or <CODE>null</CODE> if substring
    *          matches will not be allowed for this type by default.
    */
-  public SubstringMatchingRule getSubstringMatchingRule()
+  public MatchingRule getSubstringMatchingRule()
   {
     return defaultSubstringMatchingRule;
   }
diff --git a/opendj3-server-dev/src/server/org/opends/server/schema/AttributeTypeSyntax.java b/opendj3-server-dev/src/server/org/opends/server/schema/AttributeTypeSyntax.java
index 7605d7b..53be59a 100644
--- a/opendj3-server-dev/src/server/org/opends/server/schema/AttributeTypeSyntax.java
+++ b/opendj3-server-dev/src/server/org/opends/server/schema/AttributeTypeSyntax.java
@@ -43,7 +43,6 @@
 import org.opends.server.admin.std.server.AttributeTypeDescriptionAttributeSyntaxCfg;
 import org.opends.server.api.AttributeSyntax;
 import org.opends.server.api.MatchingRule;
-import org.opends.server.api.SubstringMatchingRule;
 import org.opends.server.core.DirectoryServer;
 import org.opends.server.types.*;
 
@@ -81,7 +80,7 @@
   private MatchingRule defaultOrderingMatchingRule;
 
   /** The default substring matching rule for this syntax. */
-  private SubstringMatchingRule defaultSubstringMatchingRule;
+  private MatchingRule defaultSubstringMatchingRule;
 
   /** If true strip the suggested minimum upper bound from the syntax OID. */
   private static boolean stripMinimumUpperBound=false;
@@ -196,7 +195,7 @@
 
   /** {@inheritDoc} */
   @Override
-  public SubstringMatchingRule getSubstringMatchingRule()
+  public MatchingRule getSubstringMatchingRule()
   {
     return defaultSubstringMatchingRule;
   }
@@ -430,7 +429,7 @@
     MatchingRule approximateMatchingRule = null;
     MatchingRule equalityMatchingRule = null;
     MatchingRule orderingMatchingRule = null;
-    SubstringMatchingRule substringMatchingRule = null;
+    MatchingRule substringMatchingRule = null;
     AttributeUsage attributeUsage = AttributeUsage.USER_APPLICATIONS;
     boolean isCollective = false;
     boolean isNoUserModification = false;
@@ -676,8 +675,8 @@
         // for this attribute type.
         StringBuilder woidBuffer = new StringBuilder();
         pos = readWOID(lowerStr, woidBuffer, pos);
-        SubstringMatchingRule smr =
-             (SubstringMatchingRule) schema.getMatchingRule(woidBuffer.toString());
+        MatchingRule smr =
+             (MatchingRule) schema.getMatchingRule(woidBuffer.toString());
         if (smr == null)
         {
           // This is bad because we have no idea what the substring matching
diff --git a/opendj3-server-dev/src/server/org/opends/server/schema/AuthPasswordSyntax.java b/opendj3-server-dev/src/server/org/opends/server/schema/AuthPasswordSyntax.java
index 58ba26e..35f9091 100644
--- a/opendj3-server-dev/src/server/org/opends/server/schema/AuthPasswordSyntax.java
+++ b/opendj3-server-dev/src/server/org/opends/server/schema/AuthPasswordSyntax.java
@@ -33,7 +33,6 @@
 import org.opends.server.admin.std.server.AttributeSyntaxCfg;
 import org.opends.server.api.MatchingRule;
 import org.opends.server.api.AttributeSyntax;
-import org.opends.server.api.SubstringMatchingRule;
 import org.forgerock.opendj.config.server.ConfigException;
 import org.opends.server.core.DirectoryServer;
 import org.opends.server.types.DirectoryException;
@@ -175,7 +174,7 @@
    *          matches will not be allowed for this type by default.
    */
   @Override
-  public SubstringMatchingRule getSubstringMatchingRule()
+  public MatchingRule getSubstringMatchingRule()
   {
     // There is no substring matching rule by default.
     return null;
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 1d3fa08..958950d 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
@@ -55,7 +55,7 @@
   private MatchingRule defaultOrderingMatchingRule;
 
   // The default substring matching rule for this syntax.
-  private SubstringMatchingRule defaultSubstringMatchingRule;
+  private MatchingRule defaultSubstringMatchingRule;
 
 
   /**
@@ -182,7 +182,7 @@
    *          matches will not be allowed for this type by default.
    */
   @Override
-  public SubstringMatchingRule getSubstringMatchingRule()
+  public MatchingRule getSubstringMatchingRule()
   {
     return defaultSubstringMatchingRule;
   }
diff --git a/opendj3-server-dev/src/server/org/opends/server/schema/BitStringSyntax.java b/opendj3-server-dev/src/server/org/opends/server/schema/BitStringSyntax.java
index f737f13..1919bdc 100644
--- a/opendj3-server-dev/src/server/org/opends/server/schema/BitStringSyntax.java
+++ b/opendj3-server-dev/src/server/org/opends/server/schema/BitStringSyntax.java
@@ -32,7 +32,7 @@
 import org.forgerock.i18n.slf4j.LocalizedLogger;
 import org.opends.server.api.MatchingRule;
 import org.opends.server.api.AttributeSyntax;
-import org.opends.server.api.SubstringMatchingRule;
+
 import org.forgerock.opendj.config.server.ConfigException;
 import org.opends.server.core.DirectoryServer;
 import org.forgerock.opendj.ldap.ByteSequence;
@@ -163,7 +163,7 @@
    *          attributes with this syntax, or <CODE>null</CODE> if substring
    *          matches will not be allowed for this type by default.
    */
-  public SubstringMatchingRule getSubstringMatchingRule()
+  public MatchingRule getSubstringMatchingRule()
   {
     // Substring matches are not allowed by default.
     return null;
diff --git a/opendj3-server-dev/src/server/org/opends/server/schema/BooleanSyntax.java b/opendj3-server-dev/src/server/org/opends/server/schema/BooleanSyntax.java
index 55f923e..f6581af 100644
--- a/opendj3-server-dev/src/server/org/opends/server/schema/BooleanSyntax.java
+++ b/opendj3-server-dev/src/server/org/opends/server/schema/BooleanSyntax.java
@@ -34,7 +34,6 @@
 import org.opends.server.admin.std.server.AttributeSyntaxCfg;
 import org.opends.server.api.MatchingRule;
 import org.opends.server.api.AttributeSyntax;
-import org.opends.server.api.SubstringMatchingRule;
 import org.opends.server.core.DirectoryServer;
 import org.opends.server.util.ServerConstants;
 
@@ -170,7 +169,7 @@
    *          matches will not be allowed for this type by default.
    */
   @Override
-  public SubstringMatchingRule getSubstringMatchingRule()
+  public MatchingRule getSubstringMatchingRule()
   {
     // Substring matches are not allowed by default.
     return null;
diff --git a/opendj3-server-dev/src/server/org/opends/server/schema/CertificateExactAssertionSyntax.java b/opendj3-server-dev/src/server/org/opends/server/schema/CertificateExactAssertionSyntax.java
index 8794601..8139f7b 100644
--- a/opendj3-server-dev/src/server/org/opends/server/schema/CertificateExactAssertionSyntax.java
+++ b/opendj3-server-dev/src/server/org/opends/server/schema/CertificateExactAssertionSyntax.java
@@ -33,7 +33,6 @@
 import org.forgerock.i18n.slf4j.LocalizedLogger;
 import org.opends.server.api.MatchingRule;
 import org.opends.server.api.AttributeSyntax;
-import org.opends.server.api.SubstringMatchingRule;
 import org.forgerock.opendj.config.server.ConfigException;
 import org.opends.server.core.DirectoryServer;
 import org.forgerock.opendj.ldap.ByteSequence;
@@ -61,7 +60,7 @@
   private MatchingRule defaultOrderingMatchingRule;
 
   // The default substring matching rule for this syntax.
-  private SubstringMatchingRule defaultSubstringMatchingRule;
+  private MatchingRule defaultSubstringMatchingRule;
 
 
 
@@ -164,7 +163,7 @@
   /**
    * {@inheritDoc}
    */
-  public SubstringMatchingRule getSubstringMatchingRule()
+  public MatchingRule getSubstringMatchingRule()
   {
     return defaultSubstringMatchingRule;
   }
diff --git a/opendj3-server-dev/src/server/org/opends/server/schema/CertificateListSyntax.java b/opendj3-server-dev/src/server/org/opends/server/schema/CertificateListSyntax.java
index 5587395..cd7741f 100644
--- a/opendj3-server-dev/src/server/org/opends/server/schema/CertificateListSyntax.java
+++ b/opendj3-server-dev/src/server/org/opends/server/schema/CertificateListSyntax.java
@@ -32,7 +32,6 @@
 import org.forgerock.i18n.slf4j.LocalizedLogger;
 import org.opends.server.api.MatchingRule;
 import org.opends.server.api.AttributeSyntax;
-import org.opends.server.api.SubstringMatchingRule;
 import org.forgerock.opendj.config.server.ConfigException;
 import org.opends.server.core.DirectoryServer;
 import org.forgerock.opendj.ldap.ByteSequence;
@@ -62,7 +61,7 @@
   private MatchingRule defaultOrderingMatchingRule;
 
   // The default substring matching rule for this syntax.
-  private SubstringMatchingRule defaultSubstringMatchingRule;
+  private MatchingRule defaultSubstringMatchingRule;
 
 
 
@@ -183,7 +182,7 @@
    *          attributes with this syntax, or <CODE>null</CODE> if substring
    *          matches will not be allowed for this type by default.
    */
-  public SubstringMatchingRule getSubstringMatchingRule()
+  public MatchingRule getSubstringMatchingRule()
   {
     return defaultSubstringMatchingRule;
   }
diff --git a/opendj3-server-dev/src/server/org/opends/server/schema/CertificatePairSyntax.java b/opendj3-server-dev/src/server/org/opends/server/schema/CertificatePairSyntax.java
index 2c28215..28db6bc 100644
--- a/opendj3-server-dev/src/server/org/opends/server/schema/CertificatePairSyntax.java
+++ b/opendj3-server-dev/src/server/org/opends/server/schema/CertificatePairSyntax.java
@@ -32,7 +32,6 @@
 import org.forgerock.i18n.slf4j.LocalizedLogger;
 import org.opends.server.api.MatchingRule;
 import org.opends.server.api.AttributeSyntax;
-import org.opends.server.api.SubstringMatchingRule;
 import org.forgerock.opendj.config.server.ConfigException;
 import org.opends.server.core.DirectoryServer;
 import org.forgerock.opendj.ldap.ByteSequence;
@@ -62,7 +61,7 @@
   private MatchingRule defaultOrderingMatchingRule;
 
   // The default substring matching rule for this syntax.
-  private SubstringMatchingRule defaultSubstringMatchingRule;
+  private MatchingRule defaultSubstringMatchingRule;
 
 
 
@@ -183,7 +182,7 @@
    *          attributes with this syntax, or <CODE>null</CODE> if substring
    *          matches will not be allowed for this type by default.
    */
-  public SubstringMatchingRule getSubstringMatchingRule()
+  public MatchingRule getSubstringMatchingRule()
   {
     return defaultSubstringMatchingRule;
   }
diff --git a/opendj3-server-dev/src/server/org/opends/server/schema/CertificateSyntax.java b/opendj3-server-dev/src/server/org/opends/server/schema/CertificateSyntax.java
index 64803f8..7e57388 100644
--- a/opendj3-server-dev/src/server/org/opends/server/schema/CertificateSyntax.java
+++ b/opendj3-server-dev/src/server/org/opends/server/schema/CertificateSyntax.java
@@ -37,7 +37,6 @@
 import org.opends.server.admin.std.server.CertificateAttributeSyntaxCfg;
 import org.opends.server.api.MatchingRule;
 import org.opends.server.api.AttributeSyntax;
-import org.opends.server.api.SubstringMatchingRule;
 import org.forgerock.opendj.config.server.ConfigException;
 import org.opends.server.core.DirectoryServer;
 import org.forgerock.opendj.ldap.ByteSequence;
@@ -73,7 +72,7 @@
   private MatchingRule defaultOrderingMatchingRule;
 
   // The default substring matching rule for this syntax.
-  private SubstringMatchingRule defaultSubstringMatchingRule;
+  private MatchingRule defaultSubstringMatchingRule;
 
   // The current configuration.
   private volatile CertificateAttributeSyntaxCfg config;
@@ -228,7 +227,7 @@
    *          attributes with this syntax, or <CODE>null</CODE> if substring
    *          matches will not be allowed for this type by default.
    */
-  public SubstringMatchingRule getSubstringMatchingRule()
+  public MatchingRule getSubstringMatchingRule()
   {
     return defaultSubstringMatchingRule;
   }
diff --git a/opendj3-server-dev/src/server/org/opends/server/schema/CountryStringSyntax.java b/opendj3-server-dev/src/server/org/opends/server/schema/CountryStringSyntax.java
index ffa8802..f1fc05e 100644
--- a/opendj3-server-dev/src/server/org/opends/server/schema/CountryStringSyntax.java
+++ b/opendj3-server-dev/src/server/org/opends/server/schema/CountryStringSyntax.java
@@ -35,7 +35,6 @@
 import org.opends.server.admin.std.server.CountryStringAttributeSyntaxCfg;
 import org.opends.server.api.MatchingRule;
 import org.opends.server.api.AttributeSyntax;
-import org.opends.server.api.SubstringMatchingRule;
 import org.forgerock.opendj.config.server.ConfigException;
 import org.opends.server.core.DirectoryServer;
 import org.forgerock.opendj.ldap.ByteSequence;
@@ -73,7 +72,7 @@
   private MatchingRule defaultOrderingMatchingRule;
 
   // The default substring matching rule for this syntax.
-  private SubstringMatchingRule defaultSubstringMatchingRule;
+  private MatchingRule defaultSubstringMatchingRule;
 
   // The current configuration
   private volatile CountryStringAttributeSyntaxCfg config;
@@ -239,7 +238,7 @@
    *          attributes with this syntax, or <CODE>null</CODE> if substring
    *          matches will not be allowed for this type by default.
    */
-  public SubstringMatchingRule getSubstringMatchingRule()
+  public MatchingRule getSubstringMatchingRule()
   {
     return defaultSubstringMatchingRule;
   }
diff --git a/opendj3-server-dev/src/server/org/opends/server/schema/DITContentRuleSyntax.java b/opendj3-server-dev/src/server/org/opends/server/schema/DITContentRuleSyntax.java
index 7d531c4..0df72bc 100644
--- a/opendj3-server-dev/src/server/org/opends/server/schema/DITContentRuleSyntax.java
+++ b/opendj3-server-dev/src/server/org/opends/server/schema/DITContentRuleSyntax.java
@@ -39,7 +39,6 @@
 import org.opends.server.admin.std.server.AttributeSyntaxCfg;
 import org.opends.server.api.MatchingRule;
 import org.opends.server.api.AttributeSyntax;
-import org.opends.server.api.SubstringMatchingRule;
 import org.forgerock.opendj.config.server.ConfigException;
 import org.opends.server.core.DirectoryServer;
 import org.opends.server.types.*;
@@ -69,7 +68,7 @@
   private MatchingRule defaultOrderingMatchingRule;
 
   // The default substring matching rule for this syntax.
-  private SubstringMatchingRule defaultSubstringMatchingRule;
+  private MatchingRule defaultSubstringMatchingRule;
 
 
 
@@ -182,7 +181,7 @@
    * {@inheritDoc}
    */
   @Override
-  public SubstringMatchingRule getSubstringMatchingRule()
+  public MatchingRule getSubstringMatchingRule()
   {
     return defaultSubstringMatchingRule;
   }
diff --git a/opendj3-server-dev/src/server/org/opends/server/schema/DITStructureRuleSyntax.java b/opendj3-server-dev/src/server/org/opends/server/schema/DITStructureRuleSyntax.java
index 8db9e3f..549b75f 100644
--- a/opendj3-server-dev/src/server/org/opends/server/schema/DITStructureRuleSyntax.java
+++ b/opendj3-server-dev/src/server/org/opends/server/schema/DITStructureRuleSyntax.java
@@ -37,7 +37,6 @@
 import org.opends.server.admin.std.server.AttributeSyntaxCfg;
 import org.opends.server.api.MatchingRule;
 import org.opends.server.api.AttributeSyntax;
-import org.opends.server.api.SubstringMatchingRule;
 import org.forgerock.opendj.config.server.ConfigException;
 import org.opends.server.core.DirectoryServer;
 
@@ -72,7 +71,7 @@
   private MatchingRule defaultOrderingMatchingRule;
 
   // The default substring matching rule for this syntax.
-  private SubstringMatchingRule defaultSubstringMatchingRule;
+  private MatchingRule defaultSubstringMatchingRule;
 
 
 
@@ -178,7 +177,7 @@
   /**
    * {@inheritDoc}
    */
-  public SubstringMatchingRule getSubstringMatchingRule()
+  public MatchingRule getSubstringMatchingRule()
   {
     return defaultSubstringMatchingRule;
   }
diff --git a/opendj3-server-dev/src/server/org/opends/server/schema/DeliveryMethodSyntax.java b/opendj3-server-dev/src/server/org/opends/server/schema/DeliveryMethodSyntax.java
index b66c717..d95b40e 100644
--- a/opendj3-server-dev/src/server/org/opends/server/schema/DeliveryMethodSyntax.java
+++ b/opendj3-server-dev/src/server/org/opends/server/schema/DeliveryMethodSyntax.java
@@ -35,7 +35,6 @@
 import org.opends.server.admin.std.server.AttributeSyntaxCfg;
 import org.opends.server.api.MatchingRule;
 import org.opends.server.api.AttributeSyntax;
-import org.opends.server.api.SubstringMatchingRule;
 import org.forgerock.opendj.config.server.ConfigException;
 import org.opends.server.core.DirectoryServer;
 import org.forgerock.opendj.ldap.ByteSequence;
@@ -105,7 +104,7 @@
   private MatchingRule defaultOrderingMatchingRule;
 
   // The default substring matching rule for this syntax.
-  private SubstringMatchingRule defaultSubstringMatchingRule;
+  private MatchingRule defaultSubstringMatchingRule;
 
 
 
@@ -243,7 +242,7 @@
    *          attributes with this syntax, or <CODE>null</CODE> if substring
    *          matches will not be allowed for this type by default.
    */
-  public SubstringMatchingRule getSubstringMatchingRule()
+  public MatchingRule getSubstringMatchingRule()
   {
     return defaultSubstringMatchingRule;
   }
diff --git a/opendj3-server-dev/src/server/org/opends/server/schema/DirectoryStringSyntax.java b/opendj3-server-dev/src/server/org/opends/server/schema/DirectoryStringSyntax.java
index 166e11a..ccac93d 100644
--- a/opendj3-server-dev/src/server/org/opends/server/schema/DirectoryStringSyntax.java
+++ b/opendj3-server-dev/src/server/org/opends/server/schema/DirectoryStringSyntax.java
@@ -37,7 +37,6 @@
 import org.opends.server.admin.std.server.DirectoryStringAttributeSyntaxCfg;
 import org.opends.server.api.MatchingRule;
 import org.opends.server.api.AttributeSyntax;
-import org.opends.server.api.SubstringMatchingRule;
 import org.opends.server.core.DirectoryServer;
 import org.opends.server.types.ConfigChangeResult;
 
@@ -74,7 +73,7 @@
   private MatchingRule defaultOrderingMatchingRule;
 
   // The default substring matching rule for this syntax.
-  private SubstringMatchingRule defaultSubstringMatchingRule;
+  private MatchingRule defaultSubstringMatchingRule;
 
 
   /**
@@ -237,7 +236,7 @@
    *          matches will not be allowed for this type by default.
    */
   @Override
-  public SubstringMatchingRule getSubstringMatchingRule()
+  public MatchingRule getSubstringMatchingRule()
   {
     return defaultSubstringMatchingRule;
   }
diff --git a/opendj3-server-dev/src/server/org/opends/server/schema/DistinguishedNameSyntax.java b/opendj3-server-dev/src/server/org/opends/server/schema/DistinguishedNameSyntax.java
index de8e386..00c6fd2 100644
--- a/opendj3-server-dev/src/server/org/opends/server/schema/DistinguishedNameSyntax.java
+++ b/opendj3-server-dev/src/server/org/opends/server/schema/DistinguishedNameSyntax.java
@@ -35,7 +35,6 @@
 import org.opends.server.admin.std.server.AttributeSyntaxCfg;
 import org.opends.server.api.MatchingRule;
 import org.opends.server.api.AttributeSyntax;
-import org.opends.server.api.SubstringMatchingRule;
 import org.opends.server.core.DirectoryServer;
 import org.opends.server.types.DN;
 import org.opends.server.types.DirectoryException;
@@ -60,7 +59,7 @@
   private MatchingRule defaultEqualityMatchingRule;
 
   // The default substring matching rule for this syntax.
-  private SubstringMatchingRule defaultSubstringMatchingRule;
+  private MatchingRule defaultSubstringMatchingRule;
 
 
 
@@ -182,7 +181,7 @@
    *          matches will not be allowed for this type by default.
    */
   @Override
-  public SubstringMatchingRule getSubstringMatchingRule()
+  public MatchingRule getSubstringMatchingRule()
   {
     return defaultSubstringMatchingRule;
   }
diff --git a/opendj3-server-dev/src/server/org/opends/server/schema/EnhancedGuideSyntax.java b/opendj3-server-dev/src/server/org/opends/server/schema/EnhancedGuideSyntax.java
index 75a43db..ca83db2 100644
--- a/opendj3-server-dev/src/server/org/opends/server/schema/EnhancedGuideSyntax.java
+++ b/opendj3-server-dev/src/server/org/opends/server/schema/EnhancedGuideSyntax.java
@@ -32,7 +32,6 @@
 import org.forgerock.i18n.slf4j.LocalizedLogger;
 import org.opends.server.api.MatchingRule;
 import org.opends.server.api.AttributeSyntax;
-import org.opends.server.api.SubstringMatchingRule;
 import org.forgerock.opendj.config.server.ConfigException;
 import org.opends.server.core.DirectoryServer;
 import org.forgerock.opendj.ldap.ByteSequence;
@@ -62,7 +61,7 @@
   private MatchingRule defaultOrderingMatchingRule;
 
   // The default substring matching rule for this syntax.
-  private SubstringMatchingRule defaultSubstringMatchingRule;
+  private MatchingRule defaultSubstringMatchingRule;
 
 
 
@@ -186,7 +185,7 @@
    *          attributes with this syntax, or <CODE>null</CODE> if substring
    *          matches will not be allowed for this type by default.
    */
-  public SubstringMatchingRule getSubstringMatchingRule()
+  public MatchingRule getSubstringMatchingRule()
   {
     return defaultSubstringMatchingRule;
   }
diff --git a/opendj3-server-dev/src/server/org/opends/server/schema/FaxNumberSyntax.java b/opendj3-server-dev/src/server/org/opends/server/schema/FaxNumberSyntax.java
index 5d465ff..207433e 100644
--- a/opendj3-server-dev/src/server/org/opends/server/schema/FaxNumberSyntax.java
+++ b/opendj3-server-dev/src/server/org/opends/server/schema/FaxNumberSyntax.java
@@ -34,7 +34,6 @@
 import org.opends.server.admin.std.server.AttributeSyntaxCfg;
 import org.opends.server.api.MatchingRule;
 import org.opends.server.api.AttributeSyntax;
-import org.opends.server.api.SubstringMatchingRule;
 import org.forgerock.opendj.config.server.ConfigException;
 import org.opends.server.core.DirectoryServer;
 import org.forgerock.opendj.ldap.ByteSequence;
@@ -95,7 +94,7 @@
   private MatchingRule defaultOrderingMatchingRule;
 
   // The default substring matching rule for this syntax.
-  private SubstringMatchingRule defaultSubstringMatchingRule;
+  private MatchingRule defaultSubstringMatchingRule;
 
 
 
@@ -216,7 +215,7 @@
    *          attributes with this syntax, or <CODE>null</CODE> if substring
    *          matches will not be allowed for this type by default.
    */
-  public SubstringMatchingRule getSubstringMatchingRule()
+  public MatchingRule getSubstringMatchingRule()
   {
     return defaultSubstringMatchingRule;
   }
diff --git a/opendj3-server-dev/src/server/org/opends/server/schema/FaxSyntax.java b/opendj3-server-dev/src/server/org/opends/server/schema/FaxSyntax.java
index c67cfd6..6de6e73 100644
--- a/opendj3-server-dev/src/server/org/opends/server/schema/FaxSyntax.java
+++ b/opendj3-server-dev/src/server/org/opends/server/schema/FaxSyntax.java
@@ -32,7 +32,6 @@
 import org.forgerock.i18n.slf4j.LocalizedLogger;
 import org.opends.server.api.MatchingRule;
 import org.opends.server.api.AttributeSyntax;
-import org.opends.server.api.SubstringMatchingRule;
 import org.forgerock.opendj.config.server.ConfigException;
 import org.opends.server.core.DirectoryServer;
 import org.forgerock.opendj.ldap.ByteSequence;
@@ -61,7 +60,7 @@
   private MatchingRule defaultOrderingMatchingRule;
 
   // The default substring matching rule for this syntax.
-  private SubstringMatchingRule defaultSubstringMatchingRule;
+  private MatchingRule defaultSubstringMatchingRule;
 
 
 
@@ -182,7 +181,7 @@
    *          attributes with this syntax, or <CODE>null</CODE> if substring
    *          matches will not be allowed for this type by default.
    */
-  public SubstringMatchingRule getSubstringMatchingRule()
+  public MatchingRule getSubstringMatchingRule()
   {
     return defaultSubstringMatchingRule;
   }
diff --git a/opendj3-server-dev/src/server/org/opends/server/schema/GeneralizedTimeSyntax.java b/opendj3-server-dev/src/server/org/opends/server/schema/GeneralizedTimeSyntax.java
index 092c9ed..2912a93 100644
--- a/opendj3-server-dev/src/server/org/opends/server/schema/GeneralizedTimeSyntax.java
+++ b/opendj3-server-dev/src/server/org/opends/server/schema/GeneralizedTimeSyntax.java
@@ -39,7 +39,6 @@
 import org.opends.server.admin.std.server.AttributeSyntaxCfg;
 import org.opends.server.api.MatchingRule;
 import org.opends.server.api.AttributeSyntax;
-import org.opends.server.api.SubstringMatchingRule;
 import org.forgerock.opendj.config.server.ConfigException;
 import org.opends.server.core.DirectoryServer;
 import org.forgerock.i18n.slf4j.LocalizedLogger;
@@ -78,7 +77,7 @@
   private MatchingRule defaultOrderingMatchingRule;
 
   // The default substring matching rule for this syntax.
-  private SubstringMatchingRule defaultSubstringMatchingRule;
+  private MatchingRule defaultSubstringMatchingRule;
 
 
 
@@ -209,7 +208,7 @@
    *          matches will not be allowed for this type by default.
    */
   @Override
-  public SubstringMatchingRule getSubstringMatchingRule()
+  public MatchingRule getSubstringMatchingRule()
   {
     return defaultSubstringMatchingRule;
   }
diff --git a/opendj3-server-dev/src/server/org/opends/server/schema/GuideSyntax.java b/opendj3-server-dev/src/server/org/opends/server/schema/GuideSyntax.java
index 8e7b2c0..ee96604 100644
--- a/opendj3-server-dev/src/server/org/opends/server/schema/GuideSyntax.java
+++ b/opendj3-server-dev/src/server/org/opends/server/schema/GuideSyntax.java
@@ -32,7 +32,6 @@
 import org.forgerock.i18n.slf4j.LocalizedLogger;
 import org.opends.server.api.MatchingRule;
 import org.opends.server.api.AttributeSyntax;
-import org.opends.server.api.SubstringMatchingRule;
 import org.forgerock.opendj.config.server.ConfigException;
 import org.opends.server.core.DirectoryServer;
 import org.forgerock.opendj.ldap.ByteSequence;
@@ -62,7 +61,7 @@
   private MatchingRule defaultOrderingMatchingRule;
 
   // The default substring matching rule for this syntax.
-  private SubstringMatchingRule defaultSubstringMatchingRule;
+  private MatchingRule defaultSubstringMatchingRule;
 
 
 
@@ -183,7 +182,7 @@
    *          attributes with this syntax, or <CODE>null</CODE> if substring
    *          matches will not be allowed for this type by default.
    */
-  public SubstringMatchingRule getSubstringMatchingRule()
+  public MatchingRule getSubstringMatchingRule()
   {
     return defaultSubstringMatchingRule;
   }
diff --git a/opendj3-server-dev/src/server/org/opends/server/schema/IA5StringSyntax.java b/opendj3-server-dev/src/server/org/opends/server/schema/IA5StringSyntax.java
index a1ec1af..71a21d6 100644
--- a/opendj3-server-dev/src/server/org/opends/server/schema/IA5StringSyntax.java
+++ b/opendj3-server-dev/src/server/org/opends/server/schema/IA5StringSyntax.java
@@ -31,7 +31,6 @@
 import org.opends.server.admin.std.server.AttributeSyntaxCfg;
 import org.opends.server.api.MatchingRule;
 import org.opends.server.api.AttributeSyntax;
-import org.opends.server.api.SubstringMatchingRule;
 import org.forgerock.opendj.config.server.ConfigException;
 import org.opends.server.core.DirectoryServer;
 import org.forgerock.opendj.ldap.ByteSequence;
@@ -62,7 +61,7 @@
   private MatchingRule defaultOrderingMatchingRule;
 
   // The default substring matching rule for this syntax.
-  private SubstringMatchingRule defaultSubstringMatchingRule;
+  private MatchingRule defaultSubstringMatchingRule;
 
 
 
@@ -194,7 +193,7 @@
    *          attributes with this syntax, or <CODE>null</CODE> if substring
    *          matches will not be allowed for this type by default.
    */
-  public SubstringMatchingRule getSubstringMatchingRule()
+  public MatchingRule getSubstringMatchingRule()
   {
     return defaultSubstringMatchingRule;
   }
diff --git a/opendj3-server-dev/src/server/org/opends/server/schema/IntegerSyntax.java b/opendj3-server-dev/src/server/org/opends/server/schema/IntegerSyntax.java
index b72caa7..5b2dc45 100644
--- a/opendj3-server-dev/src/server/org/opends/server/schema/IntegerSyntax.java
+++ b/opendj3-server-dev/src/server/org/opends/server/schema/IntegerSyntax.java
@@ -33,7 +33,6 @@
 import org.opends.server.admin.std.server.AttributeSyntaxCfg;
 import org.opends.server.api.MatchingRule;
 import org.opends.server.api.AttributeSyntax;
-import org.opends.server.api.SubstringMatchingRule;
 import org.opends.server.core.DirectoryServer;
 
 import static org.opends.messages.SchemaMessages.*;
@@ -58,7 +57,7 @@
   private MatchingRule defaultOrderingMatchingRule;
 
   // The default substring matching rule for this syntax.
-  private SubstringMatchingRule defaultSubstringMatchingRule;
+  private MatchingRule defaultSubstringMatchingRule;
 
 
   /**
@@ -185,7 +184,7 @@
    *          matches will not be allowed for this type by default.
    */
   @Override
-  public SubstringMatchingRule getSubstringMatchingRule()
+  public MatchingRule getSubstringMatchingRule()
   {
     return defaultSubstringMatchingRule;
   }
diff --git a/opendj3-server-dev/src/server/org/opends/server/schema/JPEGSyntax.java b/opendj3-server-dev/src/server/org/opends/server/schema/JPEGSyntax.java
index 4433fca..df048b7 100644
--- a/opendj3-server-dev/src/server/org/opends/server/schema/JPEGSyntax.java
+++ b/opendj3-server-dev/src/server/org/opends/server/schema/JPEGSyntax.java
@@ -36,7 +36,6 @@
 import org.opends.server.admin.std.server.JPEGAttributeSyntaxCfg;
 import org.opends.server.api.MatchingRule;
 import org.opends.server.api.AttributeSyntax;
-import org.opends.server.api.SubstringMatchingRule;
 import org.forgerock.opendj.config.server.ConfigException;
 import org.opends.server.core.DirectoryServer;
 import org.forgerock.opendj.ldap.ByteSequence;
@@ -71,7 +70,7 @@
   private MatchingRule defaultOrderingMatchingRule;
 
   // The default substring matching rule for this syntax.
-  private SubstringMatchingRule defaultSubstringMatchingRule;
+  private MatchingRule defaultSubstringMatchingRule;
 
   // The current configuration for this JPEG syntax.
   private volatile JPEGAttributeSyntaxCfg config;
@@ -198,7 +197,7 @@
    *          attributes with this syntax, or <CODE>null</CODE> if substring
    *          matches will not be allowed for this type by default.
    */
-  public SubstringMatchingRule getSubstringMatchingRule()
+  public MatchingRule getSubstringMatchingRule()
   {
     return defaultSubstringMatchingRule;
   }
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 7f3832c..e718b40 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
@@ -74,7 +74,7 @@
   private MatchingRule defaultOrderingMatchingRule;
 
   // The default substring matching rule for this syntax.
-  private SubstringMatchingRule defaultSubstringMatchingRule;
+  private MatchingRule defaultSubstringMatchingRule;
 
 
 
@@ -202,7 +202,7 @@
    *          matches will not be allowed for this type by default.
    */
   @Override
-  public SubstringMatchingRule getSubstringMatchingRule()
+  public MatchingRule getSubstringMatchingRule()
   {
     return defaultSubstringMatchingRule;
   }
@@ -1056,7 +1056,7 @@
      *          matches will not be allowed for this type by default.
      */
     @Override
-    public SubstringMatchingRule getSubstringMatchingRule()
+    public MatchingRule getSubstringMatchingRule()
     {
       return subSyntax.getSubstringMatchingRule();
     }
@@ -1104,7 +1104,7 @@
     private MatchingRule equalityMatchingRule;
 
     //The substring matching rule.
-    private SubstringMatchingRule substringMatchingRule;
+    private MatchingRule substringMatchingRule;
 
     //The ordering matching rule.
     private MatchingRule orderingMatchingRule;
@@ -1244,7 +1244,7 @@
      *          matches will not be allowed for this type by default.
      */
     @Override
-    public SubstringMatchingRule getSubstringMatchingRule()
+    public MatchingRule getSubstringMatchingRule()
     {
       if(substringMatchingRule == null)
       {
@@ -1300,7 +1300,7 @@
     private MatchingRule equalityMatchingRule;
 
     //The substring matching rule.
-    private SubstringMatchingRule substringMatchingRule;
+    private MatchingRule substringMatchingRule;
 
     //The ordering matching rule.
     private MatchingRule orderingMatchingRule;
@@ -1460,7 +1460,7 @@
      *          matches will not be allowed for this type by default.
      */
     @Override
-    public SubstringMatchingRule getSubstringMatchingRule()
+    public MatchingRule getSubstringMatchingRule()
     {
       if(substringMatchingRule == null)
       {
diff --git a/opendj3-server-dev/src/server/org/opends/server/schema/MatchingRuleSyntax.java b/opendj3-server-dev/src/server/org/opends/server/schema/MatchingRuleSyntax.java
index 8105ecd..734beab 100644
--- a/opendj3-server-dev/src/server/org/opends/server/schema/MatchingRuleSyntax.java
+++ b/opendj3-server-dev/src/server/org/opends/server/schema/MatchingRuleSyntax.java
@@ -36,7 +36,6 @@
 import org.opends.server.admin.std.server.AttributeSyntaxCfg;
 import org.opends.server.api.AttributeSyntax;
 import org.opends.server.api.MatchingRule;
-import org.opends.server.api.SubstringMatchingRule;
 import org.forgerock.opendj.config.server.ConfigException;
 import org.opends.server.core.DirectoryServer;
 import org.opends.server.types.*;
@@ -72,7 +71,7 @@
   private MatchingRule defaultOrderingMatchingRule;
 
   // The default substring matching rule for this syntax.
-  private SubstringMatchingRule defaultSubstringMatchingRule;
+  private MatchingRule defaultSubstringMatchingRule;
 
 
 
@@ -200,7 +199,7 @@
    *          matches will not be allowed for this type by default.
    */
   @Override
-  public SubstringMatchingRule getSubstringMatchingRule()
+  public MatchingRule getSubstringMatchingRule()
   {
     return defaultSubstringMatchingRule;
   }
diff --git a/opendj3-server-dev/src/server/org/opends/server/schema/MatchingRuleUseSyntax.java b/opendj3-server-dev/src/server/org/opends/server/schema/MatchingRuleUseSyntax.java
index c2e9a28..ab03600 100644
--- a/opendj3-server-dev/src/server/org/opends/server/schema/MatchingRuleUseSyntax.java
+++ b/opendj3-server-dev/src/server/org/opends/server/schema/MatchingRuleUseSyntax.java
@@ -37,7 +37,6 @@
 import org.opends.server.admin.std.server.AttributeSyntaxCfg;
 import org.opends.server.api.AttributeSyntax;
 import org.opends.server.api.MatchingRule;
-import org.opends.server.api.SubstringMatchingRule;
 import org.forgerock.opendj.config.server.ConfigException;
 import org.opends.server.core.DirectoryServer;
 
@@ -72,7 +71,7 @@
   private MatchingRule defaultOrderingMatchingRule;
 
   // The default substring matching rule for this syntax.
-  private SubstringMatchingRule defaultSubstringMatchingRule;
+  private MatchingRule defaultSubstringMatchingRule;
 
 
 
@@ -178,7 +177,7 @@
   /**
    * {@inheritDoc}
    */
-  public SubstringMatchingRule getSubstringMatchingRule()
+  public MatchingRule getSubstringMatchingRule()
   {
     return defaultSubstringMatchingRule;
   }
diff --git a/opendj3-server-dev/src/server/org/opends/server/schema/NameAndOptionalUIDSyntax.java b/opendj3-server-dev/src/server/org/opends/server/schema/NameAndOptionalUIDSyntax.java
index 60df603..03ea1f6 100644
--- a/opendj3-server-dev/src/server/org/opends/server/schema/NameAndOptionalUIDSyntax.java
+++ b/opendj3-server-dev/src/server/org/opends/server/schema/NameAndOptionalUIDSyntax.java
@@ -31,7 +31,6 @@
 import org.opends.server.admin.std.server.AttributeSyntaxCfg;
 import org.opends.server.api.MatchingRule;
 import org.opends.server.api.AttributeSyntax;
-import org.opends.server.api.SubstringMatchingRule;
 import org.forgerock.opendj.config.server.ConfigException;
 import org.opends.server.core.DirectoryServer;
 import org.opends.server.types.DN;
@@ -62,7 +61,7 @@
   private MatchingRule defaultEqualityMatchingRule;
 
   // The default substring matching rule for this syntax.
-  private SubstringMatchingRule defaultSubstringMatchingRule;
+  private MatchingRule defaultSubstringMatchingRule;
 
 
 
@@ -179,7 +178,7 @@
    *          attributes with this syntax, or <CODE>null</CODE> if substring
    *          matches will not be allowed for this type by default.
    */
-  public SubstringMatchingRule getSubstringMatchingRule()
+  public MatchingRule getSubstringMatchingRule()
   {
     return defaultSubstringMatchingRule;
   }
diff --git a/opendj3-server-dev/src/server/org/opends/server/schema/NameFormSyntax.java b/opendj3-server-dev/src/server/org/opends/server/schema/NameFormSyntax.java
index e7b6b84..ce8b429 100644
--- a/opendj3-server-dev/src/server/org/opends/server/schema/NameFormSyntax.java
+++ b/opendj3-server-dev/src/server/org/opends/server/schema/NameFormSyntax.java
@@ -39,7 +39,6 @@
 import org.opends.server.admin.std.server.AttributeSyntaxCfg;
 import org.opends.server.api.MatchingRule;
 import org.opends.server.api.AttributeSyntax;
-import org.opends.server.api.SubstringMatchingRule;
 import org.forgerock.opendj.config.server.ConfigException;
 import org.opends.server.core.DirectoryServer;
 import org.opends.server.types.*;
@@ -68,7 +67,7 @@
   private MatchingRule defaultOrderingMatchingRule;
 
   // The default substring matching rule for this syntax.
-  private SubstringMatchingRule defaultSubstringMatchingRule;
+  private MatchingRule defaultSubstringMatchingRule;
 
 
 
@@ -181,7 +180,7 @@
    * {@inheritDoc}
    */
   @Override
-  public SubstringMatchingRule getSubstringMatchingRule()
+  public MatchingRule getSubstringMatchingRule()
   {
     return defaultSubstringMatchingRule;
   }
diff --git a/opendj3-server-dev/src/server/org/opends/server/schema/NumericStringSyntax.java b/opendj3-server-dev/src/server/org/opends/server/schema/NumericStringSyntax.java
index a8e6f8d..ec0f68b 100644
--- a/opendj3-server-dev/src/server/org/opends/server/schema/NumericStringSyntax.java
+++ b/opendj3-server-dev/src/server/org/opends/server/schema/NumericStringSyntax.java
@@ -32,7 +32,6 @@
 import org.forgerock.i18n.slf4j.LocalizedLogger;
 import org.opends.server.api.MatchingRule;
 import org.opends.server.api.AttributeSyntax;
-import org.opends.server.api.SubstringMatchingRule;
 import org.forgerock.opendj.config.server.ConfigException;
 import org.opends.server.core.DirectoryServer;
 import org.forgerock.opendj.ldap.ByteSequence;
@@ -62,7 +61,7 @@
   private MatchingRule defaultOrderingMatchingRule;
 
   // The default substring matching rule for this syntax.
-  private SubstringMatchingRule defaultSubstringMatchingRule;
+  private MatchingRule defaultSubstringMatchingRule;
 
 
 
@@ -186,7 +185,7 @@
    *          attributes with this syntax, or <CODE>null</CODE> if substring
    *          matches will not be allowed for this type by default.
    */
-  public SubstringMatchingRule getSubstringMatchingRule()
+  public MatchingRule getSubstringMatchingRule()
   {
     return defaultSubstringMatchingRule;
   }
diff --git a/opendj3-server-dev/src/server/org/opends/server/schema/OIDSyntax.java b/opendj3-server-dev/src/server/org/opends/server/schema/OIDSyntax.java
index ceb9c87..a8a713a 100644
--- a/opendj3-server-dev/src/server/org/opends/server/schema/OIDSyntax.java
+++ b/opendj3-server-dev/src/server/org/opends/server/schema/OIDSyntax.java
@@ -32,7 +32,6 @@
 import org.forgerock.i18n.slf4j.LocalizedLogger;
 import org.opends.server.api.MatchingRule;
 import org.opends.server.api.AttributeSyntax;
-import org.opends.server.api.SubstringMatchingRule;
 import org.forgerock.opendj.config.server.ConfigException;
 import org.opends.server.core.DirectoryServer;
 import org.forgerock.opendj.ldap.ByteSequence;
@@ -58,7 +57,7 @@
   private MatchingRule defaultEqualityMatchingRule;
 
   // The default substring matching rule for this syntax.
-  private SubstringMatchingRule defaultSubstringMatchingRule;
+  private MatchingRule defaultSubstringMatchingRule;
 
 
 
@@ -173,7 +172,7 @@
    *          attributes with this syntax, or <CODE>null</CODE> if substring
    *          matches will not be allowed for this type by default.
    */
-  public SubstringMatchingRule getSubstringMatchingRule()
+  public MatchingRule getSubstringMatchingRule()
   {
     return defaultSubstringMatchingRule;
   }
diff --git a/opendj3-server-dev/src/server/org/opends/server/schema/ObjectClassSyntax.java b/opendj3-server-dev/src/server/org/opends/server/schema/ObjectClassSyntax.java
index 8c886aa..c1899be 100644
--- a/opendj3-server-dev/src/server/org/opends/server/schema/ObjectClassSyntax.java
+++ b/opendj3-server-dev/src/server/org/opends/server/schema/ObjectClassSyntax.java
@@ -41,7 +41,7 @@
 import org.opends.server.admin.std.server.AttributeSyntaxCfg;
 import org.opends.server.api.MatchingRule;
 import org.opends.server.api.AttributeSyntax;
-import org.opends.server.api.SubstringMatchingRule;
+
 import org.forgerock.opendj.config.server.ConfigException;
 import org.opends.server.core.DirectoryServer;
 import org.opends.server.types.*;
@@ -72,7 +72,7 @@
   private MatchingRule defaultOrderingMatchingRule;
 
   // The default substring matching rule for this syntax.
-  private SubstringMatchingRule defaultSubstringMatchingRule;
+  private MatchingRule defaultSubstringMatchingRule;
 
 
 
@@ -185,7 +185,7 @@
    * {@inheritDoc}
    */
   @Override
-  public SubstringMatchingRule getSubstringMatchingRule()
+  public MatchingRule getSubstringMatchingRule()
   {
     return defaultSubstringMatchingRule;
   }
diff --git a/opendj3-server-dev/src/server/org/opends/server/schema/OctetStringSyntax.java b/opendj3-server-dev/src/server/org/opends/server/schema/OctetStringSyntax.java
index fa94370..077635f 100644
--- a/opendj3-server-dev/src/server/org/opends/server/schema/OctetStringSyntax.java
+++ b/opendj3-server-dev/src/server/org/opends/server/schema/OctetStringSyntax.java
@@ -32,7 +32,6 @@
 import org.forgerock.i18n.slf4j.LocalizedLogger;
 import org.opends.server.api.MatchingRule;
 import org.opends.server.api.AttributeSyntax;
-import org.opends.server.api.SubstringMatchingRule;
 import org.forgerock.opendj.config.server.ConfigException;
 import org.opends.server.core.DirectoryServer;
 import org.forgerock.opendj.ldap.ByteSequence;
@@ -61,7 +60,7 @@
   private MatchingRule defaultOrderingMatchingRule;
 
   // The default substring matching rule for this syntax.
-  private SubstringMatchingRule defaultSubstringMatchingRule;
+  private MatchingRule defaultSubstringMatchingRule;
 
 
 
@@ -182,7 +181,7 @@
    *          attributes with this syntax, or <CODE>null</CODE> if substring
    *          matches will not be allowed for this type by default.
    */
-  public SubstringMatchingRule getSubstringMatchingRule()
+  public MatchingRule getSubstringMatchingRule()
   {
     return defaultSubstringMatchingRule;
   }
diff --git a/opendj3-server-dev/src/server/org/opends/server/schema/OtherMailboxSyntax.java b/opendj3-server-dev/src/server/org/opends/server/schema/OtherMailboxSyntax.java
index e270d10..45055c7 100644
--- a/opendj3-server-dev/src/server/org/opends/server/schema/OtherMailboxSyntax.java
+++ b/opendj3-server-dev/src/server/org/opends/server/schema/OtherMailboxSyntax.java
@@ -32,7 +32,6 @@
 import org.forgerock.i18n.slf4j.LocalizedLogger;
 import org.opends.server.api.MatchingRule;
 import org.opends.server.api.AttributeSyntax;
-import org.opends.server.api.SubstringMatchingRule;
 import org.forgerock.opendj.config.server.ConfigException;
 import org.opends.server.core.DirectoryServer;
 import org.forgerock.opendj.ldap.ByteSequence;
@@ -59,7 +58,7 @@
   private MatchingRule defaultEqualityMatchingRule;
 
   // The default substring matching rule for this syntax.
-  private SubstringMatchingRule defaultSubstringMatchingRule;
+  private MatchingRule defaultSubstringMatchingRule;
 
 
 
@@ -176,7 +175,7 @@
    *          attributes with this syntax, or <CODE>null</CODE> if substring
    *          matches will not be allowed for this type by default.
    */
-  public SubstringMatchingRule getSubstringMatchingRule()
+  public MatchingRule getSubstringMatchingRule()
   {
     return defaultSubstringMatchingRule;
   }
diff --git a/opendj3-server-dev/src/server/org/opends/server/schema/PostalAddressSyntax.java b/opendj3-server-dev/src/server/org/opends/server/schema/PostalAddressSyntax.java
index 0f71e4f..78592b0 100644
--- a/opendj3-server-dev/src/server/org/opends/server/schema/PostalAddressSyntax.java
+++ b/opendj3-server-dev/src/server/org/opends/server/schema/PostalAddressSyntax.java
@@ -32,7 +32,6 @@
 import org.forgerock.i18n.slf4j.LocalizedLogger;
 import org.opends.server.api.MatchingRule;
 import org.opends.server.api.AttributeSyntax;
-import org.opends.server.api.SubstringMatchingRule;
 import org.forgerock.opendj.config.server.ConfigException;
 import org.opends.server.core.DirectoryServer;
 import org.forgerock.opendj.ldap.ByteSequence;
@@ -60,7 +59,7 @@
   private MatchingRule defaultEqualityMatchingRule;
 
   // The default substring matching rule for this syntax.
-  private SubstringMatchingRule defaultSubstringMatchingRule;
+  private MatchingRule defaultSubstringMatchingRule;
 
 
 
@@ -177,7 +176,7 @@
    *          attributes with this syntax, or <CODE>null</CODE> if substring
    *          matches will not be allowed for this type by default.
    */
-  public SubstringMatchingRule getSubstringMatchingRule()
+  public MatchingRule getSubstringMatchingRule()
   {
     return defaultSubstringMatchingRule;
   }
diff --git a/opendj3-server-dev/src/server/org/opends/server/schema/PresentationAddressSyntax.java b/opendj3-server-dev/src/server/org/opends/server/schema/PresentationAddressSyntax.java
index e7bf0a5..2f24144 100644
--- a/opendj3-server-dev/src/server/org/opends/server/schema/PresentationAddressSyntax.java
+++ b/opendj3-server-dev/src/server/org/opends/server/schema/PresentationAddressSyntax.java
@@ -32,7 +32,6 @@
 import org.forgerock.i18n.slf4j.LocalizedLogger;
 import org.opends.server.api.MatchingRule;
 import org.opends.server.api.AttributeSyntax;
-import org.opends.server.api.SubstringMatchingRule;
 import org.forgerock.opendj.config.server.ConfigException;
 import org.opends.server.core.DirectoryServer;
 import org.forgerock.opendj.ldap.ByteSequence;
@@ -64,7 +63,7 @@
   private MatchingRule defaultOrderingMatchingRule;
 
   // The default substring matching rule for this syntax.
-  private SubstringMatchingRule defaultSubstringMatchingRule;
+  private MatchingRule defaultSubstringMatchingRule;
 
 
 
@@ -196,7 +195,7 @@
    *          attributes with this syntax, or <CODE>null</CODE> if substring
    *          matches will not be allowed for this type by default.
    */
-  public SubstringMatchingRule getSubstringMatchingRule()
+  public MatchingRule getSubstringMatchingRule()
   {
     return defaultSubstringMatchingRule;
   }
diff --git a/opendj3-server-dev/src/server/org/opends/server/schema/PrintableStringSyntax.java b/opendj3-server-dev/src/server/org/opends/server/schema/PrintableStringSyntax.java
index a37794a..f4ca4b8 100644
--- a/opendj3-server-dev/src/server/org/opends/server/schema/PrintableStringSyntax.java
+++ b/opendj3-server-dev/src/server/org/opends/server/schema/PrintableStringSyntax.java
@@ -32,7 +32,6 @@
 import org.forgerock.i18n.slf4j.LocalizedLogger;
 import org.opends.server.api.MatchingRule;
 import org.opends.server.api.AttributeSyntax;
-import org.opends.server.api.SubstringMatchingRule;
 import org.forgerock.opendj.config.server.ConfigException;
 import org.opends.server.core.DirectoryServer;
 import org.forgerock.opendj.ldap.ByteSequence;
@@ -66,7 +65,7 @@
   private MatchingRule defaultOrderingMatchingRule;
 
   // The default substring matching rule for this syntax.
-  private SubstringMatchingRule defaultSubstringMatchingRule;
+  private MatchingRule defaultSubstringMatchingRule;
 
 
 
@@ -198,7 +197,7 @@
    *          attributes with this syntax, or <CODE>null</CODE> if substring
    *          matches will not be allowed for this type by default.
    */
-  public SubstringMatchingRule getSubstringMatchingRule()
+  public MatchingRule getSubstringMatchingRule()
   {
     return defaultSubstringMatchingRule;
   }
diff --git a/opendj3-server-dev/src/server/org/opends/server/schema/ProtocolInformationSyntax.java b/opendj3-server-dev/src/server/org/opends/server/schema/ProtocolInformationSyntax.java
index a131c5c..6b19768 100644
--- a/opendj3-server-dev/src/server/org/opends/server/schema/ProtocolInformationSyntax.java
+++ b/opendj3-server-dev/src/server/org/opends/server/schema/ProtocolInformationSyntax.java
@@ -32,7 +32,6 @@
 import org.forgerock.i18n.slf4j.LocalizedLogger;
 import org.opends.server.api.MatchingRule;
 import org.opends.server.api.AttributeSyntax;
-import org.opends.server.api.SubstringMatchingRule;
 import org.forgerock.opendj.config.server.ConfigException;
 import org.opends.server.core.DirectoryServer;
 import org.forgerock.opendj.ldap.ByteSequence;
@@ -64,7 +63,7 @@
   private MatchingRule defaultOrderingMatchingRule;
 
   // The default substring matching rule for this syntax.
-  private SubstringMatchingRule defaultSubstringMatchingRule;
+  private MatchingRule defaultSubstringMatchingRule;
 
 
 
@@ -196,7 +195,7 @@
    *          attributes with this syntax, or <CODE>null</CODE> if substring
    *          matches will not be allowed for this type by default.
    */
-  public SubstringMatchingRule getSubstringMatchingRule()
+  public MatchingRule getSubstringMatchingRule()
   {
     return defaultSubstringMatchingRule;
   }
diff --git a/opendj3-server-dev/src/server/org/opends/server/schema/SubstringAssertionSyntax.java b/opendj3-server-dev/src/server/org/opends/server/schema/SubstringAssertionSyntax.java
index 7ac9584..6312cb1 100644
--- a/opendj3-server-dev/src/server/org/opends/server/schema/SubstringAssertionSyntax.java
+++ b/opendj3-server-dev/src/server/org/opends/server/schema/SubstringAssertionSyntax.java
@@ -32,7 +32,6 @@
 import org.forgerock.i18n.slf4j.LocalizedLogger;
 import org.opends.server.api.MatchingRule;
 import org.opends.server.api.AttributeSyntax;
-import org.opends.server.api.SubstringMatchingRule;
 import org.forgerock.opendj.config.server.ConfigException;
 import org.opends.server.core.DirectoryServer;
 import org.forgerock.opendj.ldap.ByteSequence;
@@ -62,7 +61,7 @@
   private MatchingRule defaultOrderingMatchingRule;
 
   // The default substring matching rule for this syntax.
-  private SubstringMatchingRule defaultSubstringMatchingRule;
+  private MatchingRule defaultSubstringMatchingRule;
 
 
 
@@ -186,7 +185,7 @@
    *          attributes with this syntax, or <CODE>null</CODE> if substring
    *          matches will not be allowed for this type by default.
    */
-  public SubstringMatchingRule getSubstringMatchingRule()
+  public MatchingRule getSubstringMatchingRule()
   {
     return defaultSubstringMatchingRule;
   }
diff --git a/opendj3-server-dev/src/server/org/opends/server/schema/SubtreeSpecificationSyntax.java b/opendj3-server-dev/src/server/org/opends/server/schema/SubtreeSpecificationSyntax.java
index cbc9f36..b7bcc14 100644
--- a/opendj3-server-dev/src/server/org/opends/server/schema/SubtreeSpecificationSyntax.java
+++ b/opendj3-server-dev/src/server/org/opends/server/schema/SubtreeSpecificationSyntax.java
@@ -36,7 +36,6 @@
 import org.opends.server.admin.std.server.AttributeSyntaxCfg;
 import org.opends.server.api.MatchingRule;
 import org.opends.server.api.AttributeSyntax;
-import org.opends.server.api.SubstringMatchingRule;
 import org.opends.server.core.DirectoryServer;
 import org.opends.server.types.DN;
 import org.opends.server.types.DirectoryException;
@@ -59,7 +58,7 @@
   private MatchingRule defaultOrderingMatchingRule;
 
   // The default substring matching rule for this syntax.
-  private SubstringMatchingRule defaultSubstringMatchingRule;
+  private MatchingRule defaultSubstringMatchingRule;
 
   /**
    * Creates a new instance of this syntax. Note that the only thing
@@ -173,7 +172,7 @@
    *         default.
    */
   @Override
-  public SubstringMatchingRule getSubstringMatchingRule() {
+  public MatchingRule getSubstringMatchingRule() {
 
     return defaultSubstringMatchingRule;
   }
diff --git a/opendj3-server-dev/src/server/org/opends/server/schema/SupportedAlgorithmSyntax.java b/opendj3-server-dev/src/server/org/opends/server/schema/SupportedAlgorithmSyntax.java
index 69ada31..8494d0f 100644
--- a/opendj3-server-dev/src/server/org/opends/server/schema/SupportedAlgorithmSyntax.java
+++ b/opendj3-server-dev/src/server/org/opends/server/schema/SupportedAlgorithmSyntax.java
@@ -32,7 +32,6 @@
 import org.forgerock.i18n.slf4j.LocalizedLogger;
 import org.opends.server.api.MatchingRule;
 import org.opends.server.api.AttributeSyntax;
-import org.opends.server.api.SubstringMatchingRule;
 import org.forgerock.opendj.config.server.ConfigException;
 import org.opends.server.core.DirectoryServer;
 import org.forgerock.opendj.ldap.ByteSequence;
@@ -62,7 +61,7 @@
   private MatchingRule defaultOrderingMatchingRule;
 
   // The default substring matching rule for this syntax.
-  private SubstringMatchingRule defaultSubstringMatchingRule;
+  private MatchingRule defaultSubstringMatchingRule;
 
 
 
@@ -186,7 +185,7 @@
    *          attributes with this syntax, or <CODE>null</CODE> if substring
    *          matches will not be allowed for this type by default.
    */
-  public SubstringMatchingRule getSubstringMatchingRule()
+  public MatchingRule getSubstringMatchingRule()
   {
     return defaultSubstringMatchingRule;
   }
diff --git a/opendj3-server-dev/src/server/org/opends/server/schema/TelephoneNumberSyntax.java b/opendj3-server-dev/src/server/org/opends/server/schema/TelephoneNumberSyntax.java
index 081bab0..330b2d3 100644
--- a/opendj3-server-dev/src/server/org/opends/server/schema/TelephoneNumberSyntax.java
+++ b/opendj3-server-dev/src/server/org/opends/server/schema/TelephoneNumberSyntax.java
@@ -36,7 +36,6 @@
 import org.opends.server.admin.std.server.TelephoneNumberAttributeSyntaxCfg;
 import org.opends.server.api.MatchingRule;
 import org.opends.server.api.AttributeSyntax;
-import org.opends.server.api.SubstringMatchingRule;
 import org.forgerock.opendj.config.server.ConfigException;
 import org.opends.server.core.DirectoryServer;
 import org.opends.server.types.ConfigChangeResult;
@@ -75,7 +74,7 @@
   private MatchingRule defaultEqualityMatchingRule;
 
   // The default substring matching rule for this syntax.
-  private SubstringMatchingRule defaultSubstringMatchingRule;
+  private MatchingRule defaultSubstringMatchingRule;
 
   // The current configuration for this telephone number syntax.
   private TelephoneNumberAttributeSyntaxCfg currentConfig;
@@ -215,7 +214,7 @@
    *          attributes with this syntax, or <CODE>null</CODE> if substring
    *          matches will not be allowed for this type by default.
    */
-  public SubstringMatchingRule getSubstringMatchingRule()
+  public MatchingRule getSubstringMatchingRule()
   {
     return defaultSubstringMatchingRule;
   }
diff --git a/opendj3-server-dev/src/server/org/opends/server/schema/TeletexTerminalIdentifierSyntax.java b/opendj3-server-dev/src/server/org/opends/server/schema/TeletexTerminalIdentifierSyntax.java
index 937fc44..1f9ac3f 100644
--- a/opendj3-server-dev/src/server/org/opends/server/schema/TeletexTerminalIdentifierSyntax.java
+++ b/opendj3-server-dev/src/server/org/opends/server/schema/TeletexTerminalIdentifierSyntax.java
@@ -34,7 +34,6 @@
 import org.opends.server.admin.std.server.AttributeSyntaxCfg;
 import org.opends.server.api.MatchingRule;
 import org.opends.server.api.AttributeSyntax;
-import org.opends.server.api.SubstringMatchingRule;
 import org.forgerock.opendj.config.server.ConfigException;
 import org.opends.server.core.DirectoryServer;
 import org.forgerock.opendj.ldap.ByteSequence;
@@ -93,7 +92,7 @@
   private MatchingRule defaultOrderingMatchingRule;
 
   // The default substring matching rule for this syntax.
-  private SubstringMatchingRule defaultSubstringMatchingRule;
+  private MatchingRule defaultSubstringMatchingRule;
 
 
 
@@ -217,7 +216,7 @@
    *          attributes with this syntax, or <CODE>null</CODE> if substring
    *          matches will not be allowed for this type by default.
    */
-  public SubstringMatchingRule getSubstringMatchingRule()
+  public MatchingRule getSubstringMatchingRule()
   {
     return defaultSubstringMatchingRule;
   }
diff --git a/opendj3-server-dev/src/server/org/opends/server/schema/TelexNumberSyntax.java b/opendj3-server-dev/src/server/org/opends/server/schema/TelexNumberSyntax.java
index b128e20..466e1a6 100644
--- a/opendj3-server-dev/src/server/org/opends/server/schema/TelexNumberSyntax.java
+++ b/opendj3-server-dev/src/server/org/opends/server/schema/TelexNumberSyntax.java
@@ -32,7 +32,7 @@
 import org.forgerock.i18n.slf4j.LocalizedLogger;
 import org.opends.server.api.MatchingRule;
 import org.opends.server.api.AttributeSyntax;
-import org.opends.server.api.SubstringMatchingRule;
+
 import org.forgerock.opendj.config.server.ConfigException;
 import org.opends.server.core.DirectoryServer;
 import org.forgerock.opendj.ldap.ByteSequence;
@@ -61,7 +61,7 @@
   private MatchingRule defaultOrderingMatchingRule;
 
   // The default substring matching rule for this syntax.
-  private SubstringMatchingRule defaultSubstringMatchingRule;
+  private MatchingRule defaultSubstringMatchingRule;
 
 
 
@@ -182,7 +182,7 @@
    *          attributes with this syntax, or <CODE>null</CODE> if substring
    *          matches will not be allowed for this type by default.
    */
-  public SubstringMatchingRule getSubstringMatchingRule()
+  public MatchingRule getSubstringMatchingRule()
   {
     return defaultSubstringMatchingRule;
   }
diff --git a/opendj3-server-dev/src/server/org/opends/server/schema/UTCTimeSyntax.java b/opendj3-server-dev/src/server/org/opends/server/schema/UTCTimeSyntax.java
index dda4e03..7ddf527 100644
--- a/opendj3-server-dev/src/server/org/opends/server/schema/UTCTimeSyntax.java
+++ b/opendj3-server-dev/src/server/org/opends/server/schema/UTCTimeSyntax.java
@@ -38,7 +38,6 @@
 import org.opends.server.admin.std.server.AttributeSyntaxCfg;
 import org.opends.server.api.MatchingRule;
 import org.opends.server.api.AttributeSyntax;
-import org.opends.server.api.SubstringMatchingRule;
 import org.forgerock.opendj.config.server.ConfigException;
 import org.opends.server.core.DirectoryServer;
 import org.forgerock.i18n.slf4j.LocalizedLogger;
@@ -95,7 +94,7 @@
   private MatchingRule defaultOrderingMatchingRule;
 
   // The default substring matching rule for this syntax.
-  private SubstringMatchingRule defaultSubstringMatchingRule;
+  private MatchingRule defaultSubstringMatchingRule;
 
 
 
@@ -240,7 +239,7 @@
    *          attributes with this syntax, or <CODE>null</CODE> if substring
    *          matches will not be allowed for this type by default.
    */
-  public SubstringMatchingRule getSubstringMatchingRule()
+  public MatchingRule getSubstringMatchingRule()
   {
     return defaultSubstringMatchingRule;
   }
diff --git a/opendj3-server-dev/src/server/org/opends/server/schema/UUIDSyntax.java b/opendj3-server-dev/src/server/org/opends/server/schema/UUIDSyntax.java
index 94eab5d..1fad039 100644
--- a/opendj3-server-dev/src/server/org/opends/server/schema/UUIDSyntax.java
+++ b/opendj3-server-dev/src/server/org/opends/server/schema/UUIDSyntax.java
@@ -32,7 +32,6 @@
 import org.forgerock.i18n.slf4j.LocalizedLogger;
 import org.opends.server.api.MatchingRule;
 import org.opends.server.api.AttributeSyntax;
-import org.opends.server.api.SubstringMatchingRule;
 import org.forgerock.opendj.config.server.ConfigException;
 import org.opends.server.core.DirectoryServer;
 import org.forgerock.opendj.ldap.ByteSequence;
@@ -171,7 +170,7 @@
    *          attributes with this syntax, or <CODE>null</CODE> if substring
    *          matches will not be allowed for this type by default.
    */
-  public SubstringMatchingRule getSubstringMatchingRule()
+  public MatchingRule getSubstringMatchingRule()
   {
     // There is no substring matching rule by default.
     return null;
diff --git a/opendj3-server-dev/src/server/org/opends/server/schema/UserPasswordSyntax.java b/opendj3-server-dev/src/server/org/opends/server/schema/UserPasswordSyntax.java
index f37170a..14c2f2f 100644
--- a/opendj3-server-dev/src/server/org/opends/server/schema/UserPasswordSyntax.java
+++ b/opendj3-server-dev/src/server/org/opends/server/schema/UserPasswordSyntax.java
@@ -33,7 +33,6 @@
 import org.opends.server.admin.std.server.AttributeSyntaxCfg;
 import org.opends.server.api.MatchingRule;
 import org.opends.server.api.AttributeSyntax;
-import org.opends.server.api.SubstringMatchingRule;
 import org.forgerock.opendj.config.server.ConfigException;
 import org.opends.server.core.DirectoryServer;
 
@@ -177,7 +176,7 @@
    *          attributes with this syntax, or <CODE>null</CODE> if substring
    *          matches will not be allowed for this type by default.
    */
-  public SubstringMatchingRule getSubstringMatchingRule()
+  public MatchingRule getSubstringMatchingRule()
   {
     // There is no substring matching rule by default.
     return null;
diff --git a/opendj3-server-dev/src/server/org/opends/server/types/AttributeBuilder.java b/opendj3-server-dev/src/server/org/opends/server/types/AttributeBuilder.java
index a35bd5f..05b8be6 100644
--- a/opendj3-server-dev/src/server/org/opends/server/types/AttributeBuilder.java
+++ b/opendj3-server-dev/src/server/org/opends/server/types/AttributeBuilder.java
@@ -47,7 +47,6 @@
 import org.forgerock.util.Reject;
 import org.forgerock.util.Utils;
 import org.opends.server.api.MatchingRule;
-import org.opends.server.api.SubstringMatchingRule;
 import org.opends.server.core.DirectoryServer;
 
 import static org.opends.server.util.StaticUtils.*;
@@ -379,7 +378,7 @@
         ByteString subInitial,
         List<ByteString> subAny, ByteString subFinal)
     {
-      SubstringMatchingRule matchingRule = attributeType.getSubstringMatchingRule();
+      MatchingRule matchingRule = attributeType.getSubstringMatchingRule();
       if (matchingRule == null)
       {
         return ConditionResult.UNDEFINED;
diff --git a/opendj3-server-dev/src/server/org/opends/server/types/AttributeType.java b/opendj3-server-dev/src/server/org/opends/server/types/AttributeType.java
index c9ad084..07b662e 100644
--- a/opendj3-server-dev/src/server/org/opends/server/types/AttributeType.java
+++ b/opendj3-server-dev/src/server/org/opends/server/types/AttributeType.java
@@ -34,7 +34,6 @@
 import org.forgerock.opendj.ldap.schema.AttributeUsage;
 import org.opends.server.api.AttributeSyntax;
 import org.opends.server.api.MatchingRule;
-import org.opends.server.api.SubstringMatchingRule;
 import org.opends.server.core.DirectoryServer;
 
 import static org.forgerock.util.Reject.*;
@@ -112,7 +111,7 @@
   private final String definition;
 
   // The substring matching rule for this attribute type.
-  private final SubstringMatchingRule substringMatchingRule;
+  private final MatchingRule substringMatchingRule;
 
   // True once this attribute type has been removed from the schema.
   private volatile boolean isDirty = false;
@@ -252,7 +251,7 @@
                        MatchingRule approximateMatchingRule,
                        MatchingRule equalityMatchingRule,
                        MatchingRule orderingMatchingRule,
-                       SubstringMatchingRule substringMatchingRule,
+                       MatchingRule substringMatchingRule,
                        AttributeUsage attributeUsage,
                        boolean isCollective,
                        boolean isNoUserModification,
@@ -488,7 +487,7 @@
    * @return  The matching rule that should be used for substring
    *          matching with this attribute type.
    */
-  public SubstringMatchingRule getSubstringMatchingRule()
+  public MatchingRule getSubstringMatchingRule()
   {
     return substringMatchingRule;
   }
diff --git a/opendj3-server-dev/src/server/org/opends/server/types/DirectoryConfig.java b/opendj3-server-dev/src/server/org/opends/server/types/DirectoryConfig.java
index b5370ad..b88fb27 100644
--- a/opendj3-server-dev/src/server/org/opends/server/types/DirectoryConfig.java
+++ b/opendj3-server-dev/src/server/org/opends/server/types/DirectoryConfig.java
@@ -41,7 +41,6 @@
 import org.opends.server.api.MatchingRule;
 import org.opends.server.api.SASLMechanismHandler;
 import org.opends.server.api.ServerShutdownListener;
-import org.opends.server.api.SubstringMatchingRule;
 import org.opends.server.config.ConfigEntry;
 import org.opends.server.core.DirectoryServer;
 
@@ -280,7 +279,7 @@
    *          <CODE>null</CODE> if no such matching rule has been
    *          defined in the server.
    */
-  public static SubstringMatchingRule
+  public static MatchingRule
        getSubstringMatchingRule(String lowerName)
   {
     return DirectoryServer.getSubstringMatchingRule(lowerName);
diff --git a/opendj3-server-dev/src/server/org/opends/server/types/SearchFilter.java b/opendj3-server-dev/src/server/org/opends/server/types/SearchFilter.java
index d6bcb26..20b1277 100644
--- a/opendj3-server-dev/src/server/org/opends/server/types/SearchFilter.java
+++ b/opendj3-server-dev/src/server/org/opends/server/types/SearchFilter.java
@@ -44,7 +44,6 @@
 import org.forgerock.opendj.ldap.ConditionResult;
 import org.forgerock.opendj.ldap.ResultCode;
 import org.opends.server.api.MatchingRule;
-import org.opends.server.api.SubstringMatchingRule;
 import org.opends.server.core.DirectoryServer;
 
 import static org.opends.messages.CoreMessages.*;
@@ -3617,7 +3616,7 @@
       return false;
     }
 
-    SubstringMatchingRule rule = attributeType.getSubstringMatchingRule();
+    MatchingRule rule = attributeType.getSubstringMatchingRule();
     if (rule == null)
     {
       return false;
diff --git a/opendj3-server-dev/tests/unit-tests-testng/src/server/org/opends/server/types/TestAttributeType.java b/opendj3-server-dev/tests/unit-tests-testng/src/server/org/opends/server/types/TestAttributeType.java
index b5b6c97..23a599d 100644
--- a/opendj3-server-dev/tests/unit-tests-testng/src/server/org/opends/server/types/TestAttributeType.java
+++ b/opendj3-server-dev/tests/unit-tests-testng/src/server/org/opends/server/types/TestAttributeType.java
@@ -35,7 +35,6 @@
 import org.forgerock.util.Utils;
 import org.opends.server.api.AttributeSyntax;
 import org.opends.server.api.MatchingRule;
-import org.opends.server.api.SubstringMatchingRule;
 import org.opends.server.core.DirectoryServer;
 import org.testng.Assert;
 import org.testng.annotations.DataProvider;
@@ -68,7 +67,7 @@
     private MatchingRule orderingMatchingRule;
 
     // The substring matching rule for this attribute type.
-    private SubstringMatchingRule substringMatchingRule;
+    private MatchingRule substringMatchingRule;
 
     // The attribute usage for this attribute type.
     private AttributeUsage attributeUsage;
@@ -372,7 +371,7 @@
      *          The substringMatchingRule.
      */
     public void setSubstringMatchingRule(
-        SubstringMatchingRule substringMatchingRule) {
+        MatchingRule substringMatchingRule) {
       this.substringMatchingRule = substringMatchingRule;
     }
 

--
Gitblit v1.10.0