From 5f9ccac52b25265d38c85c0d23be6f8f91dc74d6 Mon Sep 17 00:00:00 2001
From: Nicolas Capponi <nicolas.capponi@forgerock.com>
Date: Fri, 09 Sep 2016 09:45:26 +0000
Subject: [PATCH] OPENDJ-3089 Remove syntaxes, matching rules factories, associated tests

---
 opendj-server-legacy/src/main/java/org/opends/server/replication/plugin/HistoricalCsnOrderingMatchingRuleImpl.java |   17 --
 opendj-server-legacy/src/main/java/org/opends/server/schema/UserPasswordSyntax.java                                |   66 ---------
 opendj-server-legacy/src/main/java/org/opends/server/schema/SchemaHandler.java                                     |    4 
 opendj-server-legacy/src/test/java/org/opends/server/schema/UserPasswordEqualityMatchingRuleTest.java              |   17 +-
 /dev/null                                                                                                          |   58 --------
 opendj-server-legacy/src/main/java/org/opends/server/schema/GeneralizedTimeSyntax.java                             |   59 --------
 opendj-server-legacy/src/main/java/org/opends/server/util/SchemaUtils.java                                         |   15 ++
 opendj-server-legacy/src/main/java/org/opends/server/schema/SchemaFilesWriter.java                                 |    4 
 opendj-server-legacy/src/test/java/org/opends/server/schema/GeneralizedTimeSyntaxTest.java                         |   54 -------
 opendj-server-legacy/src/main/java/org/opends/server/backends/BackupBackend.java                                   |    4 
 opendj-maven-plugin/src/main/resources/config/xml/org/forgerock/opendj/server/config/RootConfiguration.xml         |   22 ---
 opendj-server-legacy/src/main/java/org/opends/server/schema/AuthPasswordEqualityMatchingRule.java                  |   19 --
 opendj-server-legacy/src/main/java/org/opends/server/schema/AuthPasswordSyntax.java                                |   56 --------
 opendj-server-legacy/src/main/java/org/opends/server/schema/UserPasswordEqualityMatchingRule.java                  |   20 --
 14 files changed, 37 insertions(+), 378 deletions(-)

diff --git a/opendj-maven-plugin/src/main/resources/config/xml/org/forgerock/opendj/server/config/AttributeSyntaxConfiguration.xml b/opendj-maven-plugin/src/main/resources/config/xml/org/forgerock/opendj/server/config/AttributeSyntaxConfiguration.xml
deleted file mode 100644
index fb7f97b..0000000
--- a/opendj-maven-plugin/src/main/resources/config/xml/org/forgerock/opendj/server/config/AttributeSyntaxConfiguration.xml
+++ /dev/null
@@ -1,72 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-  The contents of this file are subject to the terms of the Common Development and
-  Distribution License (the License). You may not use this file except in compliance with the
-  License.
-
-  You can obtain a copy of the License at legal/CDDLv1.0.txt. See the License for the
-  specific language governing permission and limitations under the License.
-
-  When distributing Covered Software, include this CDDL Header Notice in each file and include
-  the License file at legal/CDDLv1.0.txt. If applicable, add the following below the CDDL
-  Header, with the fields enclosed by brackets [] replaced by your own identifying
-  information: "Portions Copyright [year] [name of copyright owner]".
-
-  Copyright 2007-2008 Sun Microsystems, Inc.
-  ! -->
-<adm:managed-object name="attribute-syntax"
-  plural-name="attribute-syntaxes" package="org.forgerock.opendj.server.config"
-  xmlns:adm="http://opendj.forgerock.org/admin"
-  xmlns:ldap="http://opendj.forgerock.org/admin-ldap">
-  <adm:synopsis>
-    <adm:user-friendly-plural-name />
-    define the type of data that may be stored in an attribute with that
-    syntax. A syntax is generally associated with a set of matching
-    rules that indicate how to perform matching operations against
-    values of that syntax.
-  </adm:synopsis>
-  <adm:tag name="core-server" />
-  <adm:profile name="ldap">
-    <ldap:object-class>
-      <ldap:name>ds-cfg-attribute-syntax</ldap:name>
-      <ldap:superior>top</ldap:superior>
-    </ldap:object-class>
-  </adm:profile>
-  <adm:property name="enabled" mandatory="true">
-    <adm:synopsis>
-      Indicates whether the
-      <adm:user-friendly-name />
-      is enabled.
-    </adm:synopsis>
-    <adm:syntax>
-      <adm:boolean />
-    </adm:syntax>
-    <adm:profile name="ldap">
-      <ldap:attribute>
-        <ldap:name>ds-cfg-enabled</ldap:name>
-      </ldap:attribute>
-    </adm:profile>
-  </adm:property>
-  <adm:property name="java-class" mandatory="true" read-only="true">
-    <adm:synopsis>
-      Specifies the fully-qualified name of the Java class that provides the
-      <adm:user-friendly-name />
-      implementation.
-    </adm:synopsis>
-	<adm:requires-admin-action>
-	  <adm:component-restart />
-	</adm:requires-admin-action>
-    <adm:syntax>
-      <adm:java-class>
-        <adm:instance-of>
-          org.opends.server.api.AttributeSyntax
-        </adm:instance-of>
-      </adm:java-class>
-    </adm:syntax>
-    <adm:profile name="ldap">
-      <ldap:attribute>
-        <ldap:name>ds-cfg-java-class</ldap:name>
-      </ldap:attribute>
-    </adm:profile>
-  </adm:property>
-</adm:managed-object>
diff --git a/opendj-maven-plugin/src/main/resources/config/xml/org/forgerock/opendj/server/config/AttributeTypeDescriptionAttributeSyntaxConfiguration.xml b/opendj-maven-plugin/src/main/resources/config/xml/org/forgerock/opendj/server/config/AttributeTypeDescriptionAttributeSyntaxConfiguration.xml
deleted file mode 100644
index f887d4f..0000000
--- a/opendj-maven-plugin/src/main/resources/config/xml/org/forgerock/opendj/server/config/AttributeTypeDescriptionAttributeSyntaxConfiguration.xml
+++ /dev/null
@@ -1,74 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-  The contents of this file are subject to the terms of the Common Development and
-  Distribution License (the License). You may not use this file except in compliance with the
-  License.
-
-  You can obtain a copy of the License at legal/CDDLv1.0.txt. See the License for the
-  specific language governing permission and limitations under the License.
-
-  When distributing Covered Software, include this CDDL Header Notice in each file and include
-  the License file at legal/CDDLv1.0.txt. If applicable, add the following below the CDDL
-  Header, with the fields enclosed by brackets [] replaced by your own identifying
-  information: "Portions Copyright [year] [name of copyright owner]".
-
-  Copyright 2007-2008 Sun Microsystems, Inc.
-  ! -->
-<adm:managed-object name="attribute-type-description-attribute-syntax"
-  plural-name="attribute-type-description-attribute-syntaxes"
-  extends="attribute-syntax" package="org.forgerock.opendj.server.config"
-  xmlns:adm="http://opendj.forgerock.org/admin"
-  xmlns:ldap="http://opendj.forgerock.org/admin-ldap">
-  <adm:synopsis>
-    <adm:user-friendly-plural-name />
-    describe the format of the directory schema attribute type
-    definitions.
-  </adm:synopsis>
-  <adm:profile name="ldap">
-    <ldap:object-class>
-      <ldap:name>
-        ds-cfg-attribute-type-description-attribute-syntax
-      </ldap:name>
-      <ldap:superior>ds-cfg-attribute-syntax</ldap:superior>
-    </ldap:object-class>
-  </adm:profile>
-  <adm:property-override name="java-class" advanced="true">
-	<adm:requires-admin-action>
-	  <adm:component-restart />
-	</adm:requires-admin-action>
-    <adm:default-behavior>
-      <adm:defined>
-        <adm:value>
-          org.opends.server.schema.AttributeTypeSyntax
-        </adm:value>
-      </adm:defined>
-    </adm:default-behavior>
-  </adm:property-override>
-  <adm:property name="strip-syntax-min-upper-bound" advanced="true">
-    <adm:synopsis>
-      Indicates whether the suggested minimum upper bound appended to an
-      attribute's syntax OID in it's schema definition Attribute Type
-      Description is stripped off.
-    </adm:synopsis>
-    <adm:description>
-      When retrieving the server's schema, some APIs (JNDI) fail in
-      their syntax lookup methods, because they do not parse this value
-      correctly. This configuration option allows the server to be
-      configured to provide schema definitions these APIs can parse
-      correctly.
-    </adm:description>
-    <adm:default-behavior>
-      <adm:defined>
-        <adm:value>false</adm:value>
-      </adm:defined>
-    </adm:default-behavior>
-    <adm:syntax>
-      <adm:boolean />
-    </adm:syntax>
-    <adm:profile name="ldap">
-      <ldap:attribute>
-        <ldap:name>ds-cfg-strip-syntax-min-upper-bound</ldap:name>
-      </ldap:attribute>
-    </adm:profile>
-  </adm:property>
-</adm:managed-object>
diff --git a/opendj-maven-plugin/src/main/resources/config/xml/org/forgerock/opendj/server/config/CertificateAttributeSyntaxConfiguration.xml b/opendj-maven-plugin/src/main/resources/config/xml/org/forgerock/opendj/server/config/CertificateAttributeSyntaxConfiguration.xml
deleted file mode 100644
index b9ef92b..0000000
--- a/opendj-maven-plugin/src/main/resources/config/xml/org/forgerock/opendj/server/config/CertificateAttributeSyntaxConfiguration.xml
+++ /dev/null
@@ -1,64 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-  The contents of this file are subject to the terms of the Common Development and
-  Distribution License (the License). You may not use this file except in compliance with the
-  License.
-
-  You can obtain a copy of the License at legal/CDDLv1.0.txt. See the License for the
-  specific language governing permission and limitations under the License.
-
-  When distributing Covered Software, include this CDDL Header Notice in each file and include
-  the License file at legal/CDDLv1.0.txt. If applicable, add the following below the CDDL
-  Header, with the fields enclosed by brackets [] replaced by your own identifying
-  information: "Portions Copyright [year] [name of copyright owner]".
-
-  Copyright 2012-2016 ForgeRock AS.
-  ! -->
-<adm:managed-object name="certificate-attribute-syntax"
-  plural-name="certificate-attribute-syntaxes"
-  extends="attribute-syntax" package="org.forgerock.opendj.server.config"
-  xmlns:adm="http://opendj.forgerock.org/admin"
-  xmlns:ldap="http://opendj.forgerock.org/admin-ldap">
-  <adm:synopsis>
-    <adm:user-friendly-plural-name />
-    define an attribute syntax for storing X.509 Certificates.
-  </adm:synopsis>
-  <adm:profile name="ldap">
-    <ldap:object-class>
-      <ldap:name>ds-cfg-certificate-attribute-syntax</ldap:name>
-      <ldap:superior>ds-cfg-attribute-syntax</ldap:superior>
-    </ldap:object-class>
-  </adm:profile>
-  <adm:property-override name="java-class" advanced="true">
-    <adm:default-behavior>
-      <adm:defined>
-        <adm:value>
-          org.opends.server.schema.CertificateSyntax
-        </adm:value>
-      </adm:defined>
-    </adm:default-behavior>
-  </adm:property-override>
-  <adm:property name="strict-format" advanced="true">
-    <adm:synopsis>
-      Indicates whether X.509 Certificate values are required to
-      strictly comply with the standard definition for this syntax.
-    </adm:synopsis>
-    <adm:description>
-      When set to false, certificates will not be validated and, as a result
-      any sequence of bytes will be acceptable.
-    </adm:description>
-    <adm:default-behavior>
-      <adm:defined>
-        <adm:value>true</adm:value>
-      </adm:defined>
-    </adm:default-behavior>
-    <adm:syntax>
-      <adm:boolean />
-    </adm:syntax>
-    <adm:profile name="ldap">
-      <ldap:attribute>
-        <ldap:name>ds-cfg-strict-format</ldap:name>
-      </ldap:attribute>
-    </adm:profile>
-  </adm:property>
-</adm:managed-object>
diff --git a/opendj-maven-plugin/src/main/resources/config/xml/org/forgerock/opendj/server/config/CollationMatchingRuleConfiguration.xml b/opendj-maven-plugin/src/main/resources/config/xml/org/forgerock/opendj/server/config/CollationMatchingRuleConfiguration.xml
deleted file mode 100644
index 4e49b70..0000000
--- a/opendj-maven-plugin/src/main/resources/config/xml/org/forgerock/opendj/server/config/CollationMatchingRuleConfiguration.xml
+++ /dev/null
@@ -1,115 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-  The contents of this file are subject to the terms of the Common Development and
-  Distribution License (the License). You may not use this file except in compliance with the
-  License.
-
-  You can obtain a copy of the License at legal/CDDLv1.0.txt. See the License for the
-  specific language governing permission and limitations under the License.
-
-  When distributing Covered Software, include this CDDL Header Notice in each file and include
-  the License file at legal/CDDLv1.0.txt. If applicable, add the following below the CDDL
-  Header, with the fields enclosed by brackets [] replaced by your own identifying
-  information: "Portions Copyright [year] [name of copyright owner]".
-
-  Copyright 2008 Sun Microsystems, Inc.
- ! -->
-<adm:managed-object name="collation-matching-rule"
- plural-name="collation-matching-rules"
- package="org.forgerock.opendj.server.config" extends="matching-rule"
- xmlns:adm="http://opendj.forgerock.org/admin"
- xmlns:ldap="http://opendj.forgerock.org/admin-ldap">
- <adm:synopsis>
-   <adm:user-friendly-plural-name />
-   provide support for locale-specific filtering and indexing.
- </adm:synopsis>
- <adm:profile name="ldap">
-   <ldap:object-class>
-     <ldap:name>ds-cfg-collation-matching-rule</ldap:name>
-     <ldap:superior>ds-cfg-matching-rule</ldap:superior>
-   </ldap:object-class>
- </adm:profile>
- <adm:property name="matching-rule-type" multi-valued="true" mandatory="true">
-   <adm:synopsis>
-     the types of matching rules that should be supported for each locale
-   </adm:synopsis>
-   <adm:syntax>
-     <adm:enumeration>
-        <adm:value name="equality">
-          <adm:synopsis>
-            Specifies if equality type collation matching rule needs to
-            be created for each locale.
-          </adm:synopsis>
-        </adm:value>
-        <adm:value name="less-than">
-          <adm:synopsis>
-            Specifies if less-than type collation matching rule needs to
-            be created for each locale.
-          </adm:synopsis>
-        </adm:value>
-        <adm:value name="less-than-or-equal-to">
-          <adm:synopsis>
-            Specifies if less-than-or-equal-to type collation matching rule
-            needs to be created for each locale.
-          </adm:synopsis>
-        </adm:value>
-        <adm:value name="greater-than">
-          <adm:synopsis>
-            Specifies if greater-than type collation matching rule needs
-            to be created for each locale.
-          </adm:synopsis>
-        </adm:value>
-        <adm:value name="greater-than-or-equal-to">
-          <adm:synopsis>
-            Specifies if greater-than-or-equal-to type collation matching rule
-            needs to be created for each locale.
-          </adm:synopsis>
-        </adm:value>
-        <adm:value name="substring">
-          <adm:synopsis>
-            Specifies if substring type collation matching rule needs to be
-            created for each locale.
-          </adm:synopsis>
-        </adm:value>
-      </adm:enumeration>
-   </adm:syntax>
-   <adm:profile name="ldap">
-     <ldap:attribute>
-       <ldap:name>ds-cfg-matching-rule-type</ldap:name>
-     </ldap:attribute>
-   </adm:profile>
- </adm:property>
-   <adm:property name="collation" multi-valued="true" mandatory="true">
-   <adm:synopsis>
-     the set of supported locales
-   </adm:synopsis>
-   <adm:description>
-      Collation must be specified using the syntax: LOCALE:OID
-    </adm:description>
-   <adm:syntax>
-     <adm:string>
-       <adm:pattern>
-          <adm:regex>^[a-z-A-Z]+:[0-9.]+\\d$</adm:regex>
-          <adm:usage>LOCALE:OID</adm:usage>
-          <adm:synopsis>
-            A Locale followed by a ":" and an OID.
-          </adm:synopsis>
-        </adm:pattern>
-       </adm:string>
-   </adm:syntax>
-   <adm:profile name="ldap">
-     <ldap:attribute>
-       <ldap:name>ds-cfg-collation</ldap:name>
-     </ldap:attribute>
-   </adm:profile>
- </adm:property>
- <adm:property-override name="java-class" advanced="true">
-    <adm:default-behavior>
-      <adm:defined>
-        <adm:value>
-          org.opends.server.schema.CollationMatchingRuleFactory
-        </adm:value>
-      </adm:defined>
-    </adm:default-behavior>
-  </adm:property-override>
-</adm:managed-object>
diff --git a/opendj-maven-plugin/src/main/resources/config/xml/org/forgerock/opendj/server/config/CountryStringAttributeSyntaxConfiguration.xml b/opendj-maven-plugin/src/main/resources/config/xml/org/forgerock/opendj/server/config/CountryStringAttributeSyntaxConfiguration.xml
deleted file mode 100644
index d1a1de1..0000000
--- a/opendj-maven-plugin/src/main/resources/config/xml/org/forgerock/opendj/server/config/CountryStringAttributeSyntaxConfiguration.xml
+++ /dev/null
@@ -1,65 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-  The contents of this file are subject to the terms of the Common Development and
-  Distribution License (the License). You may not use this file except in compliance with the
-  License.
-
-  You can obtain a copy of the License at legal/CDDLv1.0.txt. See the License for the
-  specific language governing permission and limitations under the License.
-
-  When distributing Covered Software, include this CDDL Header Notice in each file and include
-  the License file at legal/CDDLv1.0.txt. If applicable, add the following below the CDDL
-  Header, with the fields enclosed by brackets [] replaced by your own identifying
-  information: "Portions Copyright [year] [name of copyright owner]".
-
-  Copyright 2012-2016 ForgeRock AS.
-  Portions Copyright 2012 Manuel Gaupp
-  ! -->
-<adm:managed-object name="country-string-attribute-syntax"
-  plural-name="country-string-attribute-syntaxes"
-  extends="attribute-syntax" package="org.forgerock.opendj.server.config"
-  xmlns:adm="http://opendj.forgerock.org/admin"
-  xmlns:ldap="http://opendj.forgerock.org/admin-ldap">
-  <adm:synopsis>
-    <adm:user-friendly-plural-name />
-    define an attribute syntax for storing country codes.
-  </adm:synopsis>
-  <adm:profile name="ldap">
-    <ldap:object-class>
-      <ldap:name>ds-cfg-country-string-attribute-syntax</ldap:name>
-      <ldap:superior>ds-cfg-attribute-syntax</ldap:superior>
-    </ldap:object-class>
-  </adm:profile>
-  <adm:property-override name="java-class" advanced="true">
-    <adm:default-behavior>
-      <adm:defined>
-        <adm:value>
-          org.opends.server.schema.CountryStringSyntax
-        </adm:value>
-      </adm:defined>
-    </adm:default-behavior>
-  </adm:property-override>
-  <adm:property name="strict-format" advanced="true">
-    <adm:synopsis>
-      Indicates whether country code values are required to
-      strictly comply with the standard definition for this syntax.
-    </adm:synopsis>
-    <adm:description>
-      When set to false, country codes will not be validated and, as
-      a result any string containing 2 characters will be acceptable.
-    </adm:description>
-    <adm:default-behavior>
-      <adm:defined>
-        <adm:value>true</adm:value>
-      </adm:defined>
-    </adm:default-behavior>
-    <adm:syntax>
-      <adm:boolean />
-    </adm:syntax>
-    <adm:profile name="ldap">
-      <ldap:attribute>
-        <ldap:name>ds-cfg-strict-format</ldap:name>
-      </ldap:attribute>
-    </adm:profile>
-  </adm:property>
-</adm:managed-object>
diff --git a/opendj-maven-plugin/src/main/resources/config/xml/org/forgerock/opendj/server/config/DirectoryStringAttributeSyntaxConfiguration.xml b/opendj-maven-plugin/src/main/resources/config/xml/org/forgerock/opendj/server/config/DirectoryStringAttributeSyntaxConfiguration.xml
deleted file mode 100644
index ec42b96..0000000
--- a/opendj-maven-plugin/src/main/resources/config/xml/org/forgerock/opendj/server/config/DirectoryStringAttributeSyntaxConfiguration.xml
+++ /dev/null
@@ -1,67 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-  The contents of this file are subject to the terms of the Common Development and
-  Distribution License (the License). You may not use this file except in compliance with the
-  License.
-
-  You can obtain a copy of the License at legal/CDDLv1.0.txt. See the License for the
-  specific language governing permission and limitations under the License.
-
-  When distributing Covered Software, include this CDDL Header Notice in each file and include
-  the License file at legal/CDDLv1.0.txt. If applicable, add the following below the CDDL
-  Header, with the fields enclosed by brackets [] replaced by your own identifying
-  information: "Portions Copyright [year] [name of copyright owner]".
-
-  Copyright 2007-2008 Sun Microsystems, Inc.
-  ! -->
-<adm:managed-object name="directory-string-attribute-syntax"
-  plural-name="directory-string-attribute-syntaxes"
-  extends="attribute-syntax" package="org.forgerock.opendj.server.config"
-  xmlns:adm="http://opendj.forgerock.org/admin"
-  xmlns:ldap="http://opendj.forgerock.org/admin-ldap">
-  <adm:synopsis>
-    The
-    <adm:user-friendly-name />
-    defines an attribute syntax for storing arbitrary string (and
-    sometimes binary) data.
-  </adm:synopsis>
-  <adm:profile name="ldap">
-    <ldap:object-class>
-      <ldap:name>ds-cfg-directory-string-attribute-syntax</ldap:name>
-      <ldap:superior>ds-cfg-attribute-syntax</ldap:superior>
-    </ldap:object-class>
-  </adm:profile>
-  <adm:property-override name="java-class" advanced="true">
-    <adm:default-behavior>
-      <adm:defined>
-        <adm:value>
-          org.opends.server.schema.DirectoryStringSyntax
-        </adm:value>
-      </adm:defined>
-    </adm:default-behavior>
-  </adm:property-override>
-  <adm:property name="allow-zero-length-values" advanced="true">
-    <adm:synopsis>
-      Indicates whether zero-length (that is, an empty string) values are
-      allowed.
-    </adm:synopsis>
-    <adm:description>
-      This is technically not allowed by the revised LDAPv3
-      specification, but some environments may require it for backward
-      compatibility with servers that do allow it.
-    </adm:description>
-    <adm:default-behavior>
-      <adm:defined>
-        <adm:value>false</adm:value>
-      </adm:defined>
-    </adm:default-behavior>
-    <adm:syntax>
-      <adm:boolean />
-    </adm:syntax>
-    <adm:profile name="ldap">
-      <ldap:attribute>
-        <ldap:name>ds-cfg-allow-zero-length-values</ldap:name>
-      </ldap:attribute>
-    </adm:profile>
-  </adm:property>
-</adm:managed-object>
diff --git a/opendj-maven-plugin/src/main/resources/config/xml/org/forgerock/opendj/server/config/JPEGAttributeSyntaxConfiguration.xml b/opendj-maven-plugin/src/main/resources/config/xml/org/forgerock/opendj/server/config/JPEGAttributeSyntaxConfiguration.xml
deleted file mode 100644
index 3af4741..0000000
--- a/opendj-maven-plugin/src/main/resources/config/xml/org/forgerock/opendj/server/config/JPEGAttributeSyntaxConfiguration.xml
+++ /dev/null
@@ -1,60 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-  The contents of this file are subject to the terms of the Common Development and
-  Distribution License (the License). You may not use this file except in compliance with the
-  License.
-
-  You can obtain a copy of the License at legal/CDDLv1.0.txt. See the License for the
-  specific language governing permission and limitations under the License.
-
-  When distributing Covered Software, include this CDDL Header Notice in each file and include
-  the License file at legal/CDDLv1.0.txt. If applicable, add the following below the CDDL
-  Header, with the fields enclosed by brackets [] replaced by your own identifying
-  information: "Portions Copyright [year] [name of copyright owner]".
-
-  Copyright 2012 ForgeRock AS.
-  ! -->
-<adm:managed-object name="jpeg-attribute-syntax"
-  plural-name="jpeg-attribute-syntaxes"
-  extends="attribute-syntax" package="org.forgerock.opendj.server.config"
-  xmlns:adm="http://opendj.forgerock.org/admin"
-  xmlns:ldap="http://opendj.forgerock.org/admin-ldap">
-  <adm:synopsis>
-    <adm:user-friendly-plural-name />
-    define an attribute syntax for storing JPEG information.
-  </adm:synopsis>
-  <adm:profile name="ldap">
-    <ldap:object-class>
-      <ldap:name>ds-cfg-jpeg-attribute-syntax</ldap:name>
-      <ldap:superior>ds-cfg-attribute-syntax</ldap:superior>
-    </ldap:object-class>
-  </adm:profile>
-  <adm:property-override name="java-class" advanced="true">
-    <adm:default-behavior>
-      <adm:defined>
-        <adm:value>
-          org.opends.server.schema.JPEGSyntax
-        </adm:value>
-      </adm:defined>
-    </adm:default-behavior>
-  </adm:property-override>
-  <adm:property name="strict-format" advanced="true">
-    <adm:synopsis>
-      Indicates whether to require JPEG values to strictly
-      comply with the standard definition for this syntax.
-    </adm:synopsis>
-    <adm:default-behavior>
-      <adm:defined>
-        <adm:value>false</adm:value>
-      </adm:defined>
-    </adm:default-behavior>
-    <adm:syntax>
-      <adm:boolean />
-    </adm:syntax>
-    <adm:profile name="ldap">
-      <ldap:attribute>
-        <ldap:name>ds-cfg-strict-format</ldap:name>
-      </ldap:attribute>
-    </adm:profile>
-  </adm:property>
-</adm:managed-object>
diff --git a/opendj-maven-plugin/src/main/resources/config/xml/org/forgerock/opendj/server/config/MatchingRuleConfiguration.xml b/opendj-maven-plugin/src/main/resources/config/xml/org/forgerock/opendj/server/config/MatchingRuleConfiguration.xml
deleted file mode 100644
index 95c9266..0000000
--- a/opendj-maven-plugin/src/main/resources/config/xml/org/forgerock/opendj/server/config/MatchingRuleConfiguration.xml
+++ /dev/null
@@ -1,75 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-  The contents of this file are subject to the terms of the Common Development and
-  Distribution License (the License). You may not use this file except in compliance with the
-  License.
-
-  You can obtain a copy of the License at legal/CDDLv1.0.txt. See the License for the
-  specific language governing permission and limitations under the License.
-
-  When distributing Covered Software, include this CDDL Header Notice in each file and include
-  the License file at legal/CDDLv1.0.txt. If applicable, add the following below the CDDL
-  Header, with the fields enclosed by brackets [] replaced by your own identifying
-  information: "Portions Copyright [year] [name of copyright owner]".
-
-  Copyright 2007-2008 Sun Microsystems, Inc.
-  ! -->
-<adm:managed-object name="matching-rule" plural-name="matching-rules"
-  package="org.forgerock.opendj.server.config"
-  xmlns:adm="http://opendj.forgerock.org/admin"
-  xmlns:ldap="http://opendj.forgerock.org/admin-ldap">
-  <adm:synopsis>
-    <adm:user-friendly-plural-name />
-    define a set of rules for performing matching operations against
-    assertion values.
-  </adm:synopsis>
-  <adm:description>
-    Matching rules are frequently associated with an attribute syntax 
-    and are used to compare values according to that syntax. For example, 
-    the distinguishedNameEqualityMatch matching rule can be used to 
-    determine whether two DNs are equal and can ignore unnecessary spaces 
-    around commas and equal signs, differences in capitalization in 
-    attribute names, an so on.
-  </adm:description>
-  <adm:tag name="core-server" />
-  <adm:profile name="ldap">
-    <ldap:object-class>
-      <ldap:name>ds-cfg-matching-rule</ldap:name>
-      <ldap:superior>top</ldap:superior>
-    </ldap:object-class>
-  </adm:profile>
-  <adm:property name="enabled" mandatory="true">
-    <adm:synopsis>
-      Indicates whether the
-      <adm:user-friendly-name />
-      is enabled for use.
-    </adm:synopsis>
-    <adm:syntax>
-      <adm:boolean />
-    </adm:syntax>
-    <adm:profile name="ldap">
-      <ldap:attribute>
-        <ldap:name>ds-cfg-enabled</ldap:name>
-      </ldap:attribute>
-    </adm:profile>
-  </adm:property>
-  <adm:property name="java-class" mandatory="true">
-    <adm:synopsis>
-      Specifies the fully-qualified name of the Java class that provides the
-      <adm:user-friendly-name />
-      implementation.
-    </adm:synopsis>
-    <adm:syntax>
-      <adm:java-class>
-        <adm:instance-of>
-          org.opends.server.api.MatchingRuleFactory
-        </adm:instance-of>
-      </adm:java-class>
-    </adm:syntax>
-    <adm:profile name="ldap">
-      <ldap:attribute>
-        <ldap:name>ds-cfg-java-class</ldap:name>
-      </ldap:attribute>
-    </adm:profile>
-  </adm:property>
-</adm:managed-object>
diff --git a/opendj-maven-plugin/src/main/resources/config/xml/org/forgerock/opendj/server/config/RootConfiguration.xml b/opendj-maven-plugin/src/main/resources/config/xml/org/forgerock/opendj/server/config/RootConfiguration.xml
index 4cb8ac8..003307a 100644
--- a/opendj-maven-plugin/src/main/resources/config/xml/org/forgerock/opendj/server/config/RootConfiguration.xml
+++ b/opendj-maven-plugin/src/main/resources/config/xml/org/forgerock/opendj/server/config/RootConfiguration.xml
@@ -346,28 +346,6 @@
       </cli:relation>
     </adm:profile>
   </adm:relation>
-  <adm:relation name="matching-rule">
-    <adm:one-to-many />
-    <adm:profile name="ldap">
-      <ldap:rdn-sequence>cn=Matching Rules,cn=config</ldap:rdn-sequence>
-    </adm:profile>
-    <adm:profile name="cli">
-      <cli:relation>
-        <cli:default-property name="enabled" />
-      </cli:relation>
-    </adm:profile>
-  </adm:relation>
-  <adm:relation name="attribute-syntax">
-    <adm:one-to-many />
-    <adm:profile name="ldap">
-      <ldap:rdn-sequence>cn=Syntaxes,cn=config</ldap:rdn-sequence>
-    </adm:profile>
-    <adm:profile name="cli">
-      <cli:relation>
-        <cli:default-property name="enabled" />
-      </cli:relation>
-    </adm:profile>
-  </adm:relation>
   <adm:relation name="monitor-provider">
     <adm:one-to-many />
     <adm:profile name="ldap">
diff --git a/opendj-maven-plugin/src/main/resources/config/xml/org/forgerock/opendj/server/config/TelephoneNumberAttributeSyntaxConfiguration.xml b/opendj-maven-plugin/src/main/resources/config/xml/org/forgerock/opendj/server/config/TelephoneNumberAttributeSyntaxConfiguration.xml
deleted file mode 100644
index 9fa1653..0000000
--- a/opendj-maven-plugin/src/main/resources/config/xml/org/forgerock/opendj/server/config/TelephoneNumberAttributeSyntaxConfiguration.xml
+++ /dev/null
@@ -1,60 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-  The contents of this file are subject to the terms of the Common Development and
-  Distribution License (the License). You may not use this file except in compliance with the
-  License.
-
-  You can obtain a copy of the License at legal/CDDLv1.0.txt. See the License for the
-  specific language governing permission and limitations under the License.
-
-  When distributing Covered Software, include this CDDL Header Notice in each file and include
-  the License file at legal/CDDLv1.0.txt. If applicable, add the following below the CDDL
-  Header, with the fields enclosed by brackets [] replaced by your own identifying
-  information: "Portions Copyright [year] [name of copyright owner]".
-
-  Copyright 2007-2008 Sun Microsystems, Inc.
-  ! -->
-<adm:managed-object name="telephone-number-attribute-syntax"
-  plural-name="telephone-number-attribute-syntaxes"
-  extends="attribute-syntax" package="org.forgerock.opendj.server.config"
-  xmlns:adm="http://opendj.forgerock.org/admin"
-  xmlns:ldap="http://opendj.forgerock.org/admin-ldap">
-  <adm:synopsis>
-    <adm:user-friendly-plural-name />
-    define an attribute syntax for storing telephone number information.
-  </adm:synopsis>
-  <adm:profile name="ldap">
-    <ldap:object-class>
-      <ldap:name>ds-cfg-telephone-number-attribute-syntax</ldap:name>
-      <ldap:superior>ds-cfg-attribute-syntax</ldap:superior>
-    </ldap:object-class>
-  </adm:profile>
-  <adm:property-override name="java-class" advanced="true">
-    <adm:default-behavior>
-      <adm:defined>
-        <adm:value>
-          org.opends.server.schema.TelephoneNumberSyntax
-        </adm:value>
-      </adm:defined>
-    </adm:default-behavior>
-  </adm:property-override>
-  <adm:property name="strict-format" advanced="true">
-    <adm:synopsis>
-      Indicates whether to require telephone number values to strictly
-      comply with the standard definition for this syntax.
-    </adm:synopsis>
-    <adm:default-behavior>
-      <adm:defined>
-        <adm:value>false</adm:value>
-      </adm:defined>
-    </adm:default-behavior>
-    <adm:syntax>
-      <adm:boolean />
-    </adm:syntax>
-    <adm:profile name="ldap">
-      <ldap:attribute>
-        <ldap:name>ds-cfg-strict-format</ldap:name>
-      </ldap:attribute>
-    </adm:profile>
-  </adm:property>
-</adm:managed-object>
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/api/AttributeSyntax.java b/opendj-server-legacy/src/main/java/org/opends/server/api/AttributeSyntax.java
deleted file mode 100644
index 1fa52f7..0000000
--- a/opendj-server-legacy/src/main/java/org/opends/server/api/AttributeSyntax.java
+++ /dev/null
@@ -1,344 +0,0 @@
-/*
- * The contents of this file are subject to the terms of the Common Development and
- * Distribution License (the License). You may not use this file except in compliance with the
- * License.
- *
- * You can obtain a copy of the License at legal/CDDLv1.0.txt. See the License for the
- * specific language governing permission and limitations under the License.
- *
- * When distributing Covered Software, include this CDDL Header Notice in each file and include
- * the License file at legal/CDDLv1.0.txt. If applicable, add the following below the CDDL
- * Header, with the fields enclosed by brackets [] replaced by your own identifying
- * information: "Portions Copyright [year] [name of copyright owner]".
- *
- * Copyright 2006-2009 Sun Microsystems, Inc.
- * Portions Copyright 2012-2016 ForgeRock AS.
- */
-package org.opends.server.api;
-
-import java.util.List;
-
-import org.forgerock.i18n.LocalizableMessage;
-import org.forgerock.i18n.LocalizableMessageBuilder;
-import org.forgerock.opendj.config.server.ConfigException;
-import org.forgerock.opendj.ldap.ByteSequence;
-import org.forgerock.opendj.ldap.schema.MatchingRule;
-import org.forgerock.opendj.ldap.schema.Schema;
-import org.forgerock.opendj.ldap.schema.Syntax;
-import org.forgerock.opendj.server.config.server.AttributeSyntaxCfg;
-import org.opends.server.core.ServerContext;
-import org.opends.server.types.DirectoryException;
-import org.opends.server.types.InitializationException;
-import org.opends.server.util.RemoveOnceSDKSchemaIsUsed;
-
-/**
- * This class defines the set of methods and structures that must be
- * implemented by a Directory Server module that implements an
- * attribute syntax.
- *
- * @param  <T>  The type of configuration handled by this attribute syntax.
- */
-@org.opends.server.types.PublicAPI(
-     stability=org.opends.server.types.StabilityLevel.VOLATILE,
-     mayInstantiate=false,
-     mayExtend=true,
-     mayInvoke=false)
-@RemoveOnceSDKSchemaIsUsed("All descendants classes can be removed as well")
-public abstract class AttributeSyntax<T extends AttributeSyntaxCfg>
-{
-  /**
-   * Initializes this attribute syntax based on the information in the provided configuration entry.
-   *
-   * @param configuration
-   *          The configuration to use to initialize this attribute syntax.
-   * @param serverContext
-   *          The server context.
-   * @throws ConfigException
-   *           If an unrecoverable problem arises in the process of performing the initialization.
-   * @throws DirectoryException
-   *           If an unrecoverable problem arises in the process of performing the initialization.
-   * @throws InitializationException
-   *           If a problem occurs during initialization that is not related to the server
-   *           configuration.
-   */
-  public void initializeSyntax(T configuration, ServerContext serverContext)
-      throws ConfigException, DirectoryException, InitializationException
-  {
-    // not implemented
-  }
-
-  /**
-   * Returns the SDK Syntax equivalent to this syntax.
-   * <p>
-   * This method allow smooth migration to SDK syntax. It will disappear
-   * once the the migration to SDK schema is complete, together with
-   * this class and all its implementation.
-   *
-   * @param schema
-   *            Schema to use to retrieve the syntax
-   *
-   * @return the equivalent SDK syntax.
-   */
-  public abstract Syntax getSDKSyntax(Schema schema);
-
-  /**
-   * Indicates whether the provided configuration is acceptable for
-   * this attribute syntax.  It should be possible to call this method
-   * on an uninitialized attribute syntax instance in order to
-   * determine whether the syntax would be able to use the provided
-   * configuration.
-   * <BR><BR>
-   * Note that implementations which use a subclass of the provided
-   * configuration class will likely need to cast the configuration
-   * to the appropriate subclass type.
-   *
-   * @param  configuration        The attribute syntax configuration
-   *                              for which to make the determination.
-   * @param  unacceptableReasons  A list that may be used to hold the
-   *                              reasons that the provided
-   *                              configuration is not acceptable.
-   *
-   * @return  {@code true} if the provided configuration is acceptable
-   *          for this attribute syntax, or {@code false} if not.
-   */
-  public boolean isConfigurationAcceptable(
-                      AttributeSyntaxCfg configuration,
-                      List<LocalizableMessage> unacceptableReasons)
-  {
-    // This default implementation does not perform any special
-    // validation.  It should be overridden by attribute syntax
-    // implementations that wish to perform more detailed validation.
-    return true;
-  }
-
-
-
-  /**
-   * Performs any finalization that may be necessary for this
-   * attribute syntax. By default, no finalization is performed.
-   */
-  public void finalizeSyntax()
-  {
-    // No implementation required.
-  }
-
-
-
-  /**
-   * Retrieves the common name for this attribute syntax.
-   *
-   * @return  The common name for this attribute syntax.
-   */
-  public abstract String getName();
-
-
-
-  /**
-   * Retrieves the OID for this attribute syntax.
-   *
-   * @return  The OID for this attribute syntax.
-   */
-  public abstract String getOID();
-
-
-
-  /**
-   * Retrieves a description for this attribute syntax.
-   *
-   * @return  A description for this attribute syntax.
-   */
-  public abstract String getDescription();
-
-
-
-  /**
-   * Retrieves the default equality matching rule that will be used
-   * for attributes with this syntax.
-   *
-   * @return  The default equality matching rule that will be used for
-   *          attributes with this syntax, or {@code null} if equality
-   *          matches will not be allowed for this type by default.
-   */
-  public MatchingRule getEqualityMatchingRule()
-  {
-    return null;
-  }
-
-
-
-  /**
-   * Retrieves the default ordering matching rule that will be used
-   * for attributes with this syntax.
-   *
-   * @return  The default ordering matching rule that will be used for
-   *          attributes with this syntax, or {@code null} if ordering
-   *          matches will not be allowed for this type by default.
-   */
-  public MatchingRule getOrderingMatchingRule()
-  {
-    return null;
-  }
-
-
-  /**
-   * Retrieves the default substring matching rule that will be used
-   * for attributes with this syntax.
-   *
-   * @return  The default substring matching rule that will be used
-   *          for attributes with this syntax, or {@code null} if
-   *          substring matches will not be allowed for this type by
-   *          default.
-   */
-  public MatchingRule getSubstringMatchingRule()
-  {
-    return null;
-  }
-
-
-  /**
-   * Retrieves the default approximate matching rule that will be used
-   * for attributes with this syntax.
-   *
-   * @return  The default approximate matching rule that will be used
-   *          for attributes with this syntax, or {@code null} if
-   *          approximate matches will not be allowed for this type by
-   *          default.
-   */
-  public MatchingRule getApproximateMatchingRule()
-  {
-    return null;
-  }
-
-
-
-  /**
-   * Indicates whether the provided value is acceptable for use in an
-   * attribute with this syntax.  If it is not, then the reason may be
-   * appended to the provided buffer.
-   *
-   * @param  value          The value for which to make the
-   *                        determination.
-   * @param  invalidReason  The buffer to which the invalid reason
-   *                        should be appended.
-   *
-   * @return  {@code true} if the provided value is acceptable for use
-   *          with this syntax, or {@code false} if not.
-   */
-  public boolean valueIsAcceptable(ByteSequence value,
-                               LocalizableMessageBuilder invalidReason)
-  {
-    return true;
-  }
-
-
-
-  /**
-   * Indicates whether this attribute syntax requires BER encoding.
-   *
-   * @return {@code true} if this syntax required BER encoding.
-   */
-  public boolean isBEREncodingRequired()
-  {
-    return true;
-  }
-
-
-
-  /**
-   * Indicates whether this attribute syntax is human readable.
-   *
-   * @return {@code true} if this syntax is human readable.
-   */
-  public boolean isHumanReadable()
-  {
-    return true;
-  }
-
-
-  /**
-   * Retrieves the hash code for this attribute syntax.  It will be
-   * calculated as the sum of the characters in the OID.
-   *
-   * @return  The hash code for this attribute syntax.
-   */
-  @Override
-  public final int hashCode()
-  {
-    int hashCode = 0;
-
-    String oidString = getOID();
-    int    oidLength = oidString.length();
-    for (int i=0; i < oidLength; i++)
-    {
-      hashCode += oidString.charAt(i);
-    }
-
-    return hashCode;
-  }
-
-
-
-  /**
-   * Indicates whether the provided object is equal to this attribute
-   * syntax. The provided object will be considered equal to this
-   * attribute syntax only if it is an attribute syntax with the same
-   * OID.
-   *
-   * @param  o  The object for which to make the determination.
-   *
-   * @return  {@code true} if the provided object is equal to this
-   *          attribute syntax, or {@code false} if it is not.
-   */
-  @Override
-  public final boolean equals(Object o)
-  {
-    if (this == o)
-    {
-      return true;
-    }
-    if (!(o instanceof AttributeSyntax))
-    {
-      return false;
-    }
-    return getOID().equals(((AttributeSyntax<?>) o).getOID());
-  }
-
-
-
-  /**
-   * Retrieves a string representation of this attribute syntax in the
-   * format defined in RFC 2252.
-   *
-   * @return  A string representation of this attribute syntax in the
-   *          format defined in RFC 2252.
-   */
-  @Override
-  public String toString()
-  {
-    StringBuilder buffer = new StringBuilder();
-    toString(buffer);
-    return buffer.toString();
-  }
-
-
-
-  /**
-   * Appends a string representation of this attribute syntax in the
-   * format defined in RFC 2252 to the provided buffer.
-   *
-   * @param  buffer  The buffer to which the information should be
-   *                 appended.
-   */
-  private final void toString(StringBuilder buffer)
-  {
-    buffer.append("( ");
-    buffer.append(getOID());
-
-    String description = getDescription();
-    if (description != null && description.length() != 0)
-    {
-      buffer.append(" DESC '").append(description).append("'");
-    }
-    buffer.append(" )");
-  }
-}
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/api/MatchingRuleFactory.java b/opendj-server-legacy/src/main/java/org/opends/server/api/MatchingRuleFactory.java
deleted file mode 100644
index 0730745..0000000
--- a/opendj-server-legacy/src/main/java/org/opends/server/api/MatchingRuleFactory.java
+++ /dev/null
@@ -1,116 +0,0 @@
-/*
- * The contents of this file are subject to the terms of the Common Development and
- * Distribution License (the License). You may not use this file except in compliance with the
- * License.
- *
- * You can obtain a copy of the License at legal/CDDLv1.0.txt. See the License for the
- * specific language governing permission and limitations under the License.
- *
- * When distributing Covered Software, include this CDDL Header Notice in each file and include
- * the License file at legal/CDDLv1.0.txt. If applicable, add the following below the CDDL
- * Header, with the fields enclosed by brackets [] replaced by your own identifying
- * information: "Portions Copyright [year] [name of copyright owner]".
- *
- * Copyright 2008 Sun Microsystems, Inc.
- * Portions Copyright 2014-2016 ForgeRock AS.
- */
-package org.opends.server.api;
-
-
-import java.util.Collection;
-import java.util.List;
-
-import org.forgerock.opendj.server.config.server.MatchingRuleCfg;
-import org.forgerock.opendj.config.server.ConfigException;
-import org.forgerock.opendj.ldap.schema.MatchingRule;
-import org.forgerock.i18n.LocalizableMessage;
-import org.opends.server.types.InitializationException;
-
-/**
- * This class defines the set of methods and structures that must be
- * implemented by a Directory Server module that implements a matching
- * rule factory.
- *
- * @param  <T>  The type of configuration handled by this matching
- *              rule.
- */
-@org.opends.server.types.PublicAPI(
-     stability=org.opends.server.types.StabilityLevel.VOLATILE,
-     mayInstantiate=false,
-     mayExtend=true,
-     mayInvoke=false)
-public abstract class MatchingRuleFactory<T extends MatchingRuleCfg>
-{
-
-  /**
-   * Initializes the matching rule(s) based on the information in the
-   * provided configuration entry.
-   *
-   * @param  configuration  The configuration to use to intialize this
-   *                        matching rule.
-   *
-   * @throws  ConfigException  If an unrecoverable problem arises in
-   *                           the process of performing the
-   *                           initialization.
-   *
-   * @throws  InitializationException  If a problem that is not
-   *                                   configuration-related occurs
-   *                                   during initialization.
-   */
-  public abstract void initializeMatchingRule(T configuration)
-         throws ConfigException, InitializationException;
-
-
-
-  /**
-   * Performs any finalization that may be needed whenever this
-   * matching rule factory is taken out of service.
-   */
-  public  void finalizeMatchingRule()
-  {
-    //No implementation is required by default.
-  }
-
-
-
-  /**
-   * Indicates whether the provided configuration is acceptable for
-   * this matching rule.  It should be possible to call this method on
-   * an uninitialized matching rule instance in order to determine
-   * whether the matching rule would be able to use the provided
-   * configuration.
-   * <BR><BR>
-   * Note that implementations which use a subclass of the provided
-   * configuration class will likely need to cast the configuration
-   * to the appropriate subclass type.
-   *
-   * @param  configuration        The matching rule configuration for
-   *                              which to make the determination.
-   * @param  unacceptableReasons  A list that may be used to hold the
-   *                              reasons that the provided
-   *                              configuration is not acceptable.
-   *
-   * @return  {@code true} if the provided configuration is acceptable
-   *          for this matching rule, or {@code false} if not.
-   */
-  public  boolean isConfigurationAcceptable(
-                      T configuration,
-                      List<LocalizableMessage> unacceptableReasons)
-  {
-    // This default implementation does not perform any special
-    // validation.  It should be overridden by matching rule
-    // implementations that wish to perform more detailed validation.
-    return true;
-  }
-
-
-
-  /**
-   * Returns an umodifiable view of Collection of associated
-   * MatchingRules.
-   *
-   * @return  An unmodifiable view of Collection of
-   *          MatchingRule instances.
-   */
-  public abstract Collection<MatchingRule> getMatchingRules();
-}
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/backends/BackupBackend.java b/opendj-server-legacy/src/main/java/org/opends/server/backends/BackupBackend.java
index e2f4dca..80c1838 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/backends/BackupBackend.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/backends/BackupBackend.java
@@ -20,7 +20,6 @@
 import static org.opends.messages.BackendMessages.*;
 import static org.opends.server.config.ConfigConstants.*;
 import static org.opends.server.core.DirectoryServer.*;
-import static org.opends.server.schema.BooleanSyntax.*;
 import static org.opends.server.util.ServerConstants.*;
 import static org.opends.server.util.StaticUtils.*;
 
@@ -74,6 +73,7 @@
 import org.opends.server.types.LDIFImportResult;
 import org.opends.server.types.RestoreConfig;
 import org.opends.server.types.SearchFilter;
+import org.opends.server.util.SchemaUtils;
 
 /**
  * This class defines a backend used to present information about Directory
@@ -640,7 +640,7 @@
   private void putBoolean(LinkedHashMap<AttributeType, List<Attribute>> attrsMap, String attrName, boolean value)
   {
     AttributeType t = getSchema().getAttributeType(attrName);
-    attrsMap.put(t, asList(t, createBooleanValue(value)));
+    attrsMap.put(t, asList(t, SchemaUtils.createBooleanValue(value)));
   }
 
   private List<Attribute> asList(AttributeType attrType, ByteString value)
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/replication/plugin/HistoricalCsnOrderingMatchingRuleFactory.java b/opendj-server-legacy/src/main/java/org/opends/server/replication/plugin/HistoricalCsnOrderingMatchingRuleFactory.java
deleted file mode 100644
index c93e1a4..0000000
--- a/opendj-server-legacy/src/main/java/org/opends/server/replication/plugin/HistoricalCsnOrderingMatchingRuleFactory.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * The contents of this file are subject to the terms of the Common Development and
- * Distribution License (the License). You may not use this file except in compliance with the
- * License.
- *
- * You can obtain a copy of the License at legal/CDDLv1.0.txt. See the License for the
- * specific language governing permission and limitations under the License.
- *
- * When distributing Covered Software, include this CDDL Header Notice in each file and include
- * the License file at legal/CDDLv1.0.txt. If applicable, add the following below the CDDL
- * Header, with the fields enclosed by brackets [] replaced by your own identifying
- * information: "Portions Copyright [year] [name of copyright owner]".
- *
- * Copyright 2008 Sun Microsystems, Inc.
- * Portions Copyright 2014-2016 ForgeRock AS.
- */
-package org.opends.server.replication.plugin;
-
-import java.util.Collection;
-import java.util.Collections;
-
-import org.opends.server.api.MatchingRuleFactory;
-import org.forgerock.opendj.server.config.server.MatchingRuleCfg;
-import org.forgerock.opendj.config.server.ConfigException;
-import org.forgerock.opendj.ldap.schema.CoreSchema;
-import org.forgerock.opendj.ldap.schema.MatchingRule;
-import org.forgerock.opendj.ldap.schema.SchemaBuilder;
-import org.opends.server.types.InitializationException;
-
- /**
- * This class is a factory class for
-  * {@link HistoricalCsnOrderingMatchingRule}.
- */
-public final class HistoricalCsnOrderingMatchingRuleFactory
-        extends MatchingRuleFactory<MatchingRuleCfg>
-{
-
-  /** Associated Matching Rule. */
-  private MatchingRule matchingRule;
-
- /** {@inheritDoc} */
- @Override
- public final void initializeMatchingRule(MatchingRuleCfg configuration)
-         throws ConfigException, InitializationException
- {
-   final String oid = "1.3.6.1.4.1.26027.1.4.4";
-   matchingRule = new SchemaBuilder(CoreSchema.getInstance()).buildMatchingRule(oid)
-       .names("historicalCsnOrderingMatch")
-       .syntaxOID("1.3.6.1.4.1.1466.115.121.1.40")
-       .implementation(new HistoricalCsnOrderingMatchingRuleImpl())
-       .addToSchema().toSchema().getMatchingRule(oid);
- }
-
- /** {@inheritDoc} */
- @Override
- public final Collection<MatchingRule> getMatchingRules()
- {
-    return Collections.singleton(matchingRule);
- }
-}
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/replication/plugin/HistoricalCsnOrderingMatchingRuleImpl.java b/opendj-server-legacy/src/main/java/org/opends/server/replication/plugin/HistoricalCsnOrderingMatchingRuleImpl.java
index 8f8c0b8..51ad565 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/replication/plugin/HistoricalCsnOrderingMatchingRuleImpl.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/replication/plugin/HistoricalCsnOrderingMatchingRuleImpl.java
@@ -28,7 +28,6 @@
 import org.forgerock.opendj.ldap.DecodeException;
 import org.forgerock.opendj.ldap.schema.MatchingRuleImpl;
 import org.forgerock.opendj.ldap.schema.Schema;
-import org.forgerock.opendj.ldap.schema.SchemaBuilder;
 import org.forgerock.opendj.ldap.spi.IndexQueryFactory;
 import org.forgerock.opendj.ldap.spi.Indexer;
 import org.forgerock.opendj.ldap.spi.IndexingOptions;
@@ -178,20 +177,4 @@
     return indexers;
   }
 
-  /**
-   * Adds the historical csn ordering matching rule to the provided schema builder.
-   *
-   * @param builder
-   *          where to add the historical csn ordering matching rule
-   * @return the provided builder
-   */
-  public static SchemaBuilder addHistoricalCsnOrderingMatchingRule(SchemaBuilder builder)
-  {
-    return builder
-        .buildMatchingRule("1.3.6.1.4.1.26027.1.4.4")
-        .names("historicalCsnOrderingMatch")
-        .syntaxOID("1.3.6.1.4.1.1466.115.121.1.40")
-        .implementation(new HistoricalCsnOrderingMatchingRuleImpl())
-        .addToSchema();
-  }
 }
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/schema/AciSyntax.java b/opendj-server-legacy/src/main/java/org/opends/server/schema/AciSyntax.java
deleted file mode 100644
index 2f7c173..0000000
--- a/opendj-server-legacy/src/main/java/org/opends/server/schema/AciSyntax.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/*
- * The contents of this file are subject to the terms of the Common Development and
- * Distribution License (the License). You may not use this file except in compliance with the
- * License.
- *
- * You can obtain a copy of the License at legal/CDDLv1.0.txt. See the License for the
- * specific language governing permission and limitations under the License.
- *
- * When distributing Covered Software, include this CDDL Header Notice in each file and include
- * the License file at legal/CDDLv1.0.txt. If applicable, add the following below the CDDL
- * Header, with the fields enclosed by brackets [] replaced by your own identifying
- * information: "Portions Copyright [year] [name of copyright owner]".
- *
- * Copyright 2006-2008 Sun Microsystems, Inc.
- * Portions Copyright 2011-2016 ForgeRock AS.
- */
-package org.opends.server.schema;
-
-import static org.opends.server.schema.SchemaConstants.*;
-
-import org.forgerock.opendj.config.server.ConfigException;
-import org.forgerock.opendj.ldap.schema.SchemaBuilder;
-import org.forgerock.opendj.ldap.schema.Syntax;
-import org.forgerock.opendj.server.config.server.AttributeSyntaxCfg;
-import org.opends.server.api.AttributeSyntax;
-import org.opends.server.core.ServerContext;
-import org.opends.server.schema.SchemaHandler.SchemaUpdater;
-import org.opends.server.types.DirectoryException;
-
-/**
- * This class implements the access control information (aci) attribute syntax.
- */
-public class AciSyntax
-       extends AttributeSyntax<AttributeSyntaxCfg>
-{
-  /**
-   * Creates a new instance of this syntax.  Note that the only thing that
-   * should be done here is to invoke the default constructor for the
-   * superclass.  All initialization should be performed in the
-   * <CODE>initializeSyntax</CODE> method.
-   */
-  public AciSyntax()
-  {
-    super();
-  }
-
-  @Override
-  public void initializeSyntax(AttributeSyntaxCfg configuration, ServerContext serverContext)
-      throws ConfigException, DirectoryException
-  {
-    // Add the Aci syntax to the "new" schema
-    serverContext.getSchemaHandler().updateSchema(new SchemaUpdater()
-    {
-      @Override
-      public void update(SchemaBuilder builder)
-      {
-        addAciSyntax(builder);
-      }
-    });
-  }
-
-  /**
-   * Adds the ACI syntax to the provided schema builder.
-   *
-   * @param builder
-   *          where to add the ACI syntax
-   * @return the provided builder
-   */
-  public static SchemaBuilder addAciSyntax(SchemaBuilder builder)
-  {
-    return builder
-        .buildSyntax(SYNTAX_ACI_OID)
-        .description(SYNTAX_ACI_DESCRIPTION)
-        .implementation(new AciSyntaxImpl())
-        .addToSchema();
-  }
-
-  @Override
-  public Syntax getSDKSyntax(org.forgerock.opendj.ldap.schema.Schema schema)
-  {
-    return schema.getSyntax(SchemaConstants.SYNTAX_ACI_OID);
-  }
-
-  @Override
-  public String getName()
-  {
-    return SYNTAX_ACI_NAME;
-  }
-
-  @Override
-  public String getOID()
-  {
-    return SYNTAX_ACI_OID;
-  }
-
-  @Override
-  public String getDescription()
-  {
-    return SYNTAX_ACI_DESCRIPTION;
-  }
-}
-
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/schema/AuthPasswordEqualityMatchingRule.java b/opendj-server-legacy/src/main/java/org/opends/server/schema/AuthPasswordEqualityMatchingRule.java
index b88952c..b51d4d6 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/schema/AuthPasswordEqualityMatchingRule.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/schema/AuthPasswordEqualityMatchingRule.java
@@ -16,18 +16,15 @@
  */
 package org.opends.server.schema;
 
-import static org.opends.server.schema.SchemaConstants.*;
-
 import static org.opends.server.core.DirectoryServer.*;
 
 import org.forgerock.i18n.slf4j.LocalizedLogger;
 import org.forgerock.opendj.ldap.ByteSequence;
 import org.forgerock.opendj.ldap.ConditionResult;
-import org.forgerock.opendj.ldap.schema.SchemaBuilder;
 import org.opends.server.api.PasswordStorageScheme;
 
 /** This class implements the authPasswordMatch matching rule defined in RFC 3112. */
-public class AuthPasswordEqualityMatchingRule extends AbstractPasswordEqualityMatchingRuleImpl
+final class AuthPasswordEqualityMatchingRule extends AbstractPasswordEqualityMatchingRuleImpl
 {
   private static final LocalizedLogger logger = LocalizedLogger.getLoggerForThisClass();
 
@@ -59,18 +56,4 @@
         assertionValue, authPWComponents[1], authPWComponents[2]));
   }
 
-  /**
-   * Adds the auth password equality matching rule to the provided schema builder.
-   *
-   * @param builder
-   *          where to add the matching rule
-   */
-  public static void addAuthPasswordEqualityMatchingRule(SchemaBuilder builder)
-  {
-    builder.buildMatchingRule(EMR_AUTH_PASSWORD_OID)
-        .names(EMR_AUTH_PASSWORD_NAME)
-        .syntaxOID(SYNTAX_AUTH_PASSWORD_OID).description(EMR_AUTH_PASSWORD_DESCRIPTION)
-        .implementation(new AuthPasswordEqualityMatchingRule())
-        .addToSchema();
-  }
 }
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/schema/AuthPasswordEqualityMatchingRuleFactory.java b/opendj-server-legacy/src/main/java/org/opends/server/schema/AuthPasswordEqualityMatchingRuleFactory.java
deleted file mode 100644
index 700eace..0000000
--- a/opendj-server-legacy/src/main/java/org/opends/server/schema/AuthPasswordEqualityMatchingRuleFactory.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * The contents of this file are subject to the terms of the Common Development and
- * Distribution License (the License). You may not use this file except in compliance with the
- * License.
- *
- * You can obtain a copy of the License at legal/CDDLv1.0.txt. See the License for the
- * specific language governing permission and limitations under the License.
- *
- * When distributing Covered Software, include this CDDL Header Notice in each file and include
- * the License file at legal/CDDLv1.0.txt. If applicable, add the following below the CDDL
- * Header, with the fields enclosed by brackets [] replaced by your own identifying
- * information: "Portions Copyright [year] [name of copyright owner]".
- *
- * Copyright 2008 Sun Microsystems, Inc.
- * Portions Copyright 2014-2016 ForgeRock AS.
- */
-package org.opends.server.schema;
-
-import java.util.Collection;
-import java.util.Collections;
-
-import org.forgerock.opendj.config.server.ConfigException;
-import org.forgerock.opendj.ldap.schema.CoreSchema;
-import org.forgerock.opendj.ldap.schema.SchemaBuilder;
-import org.forgerock.opendj.server.config.server.MatchingRuleCfg;
-import org.opends.server.api.MatchingRuleFactory;
-import org.opends.server.types.InitializationException;
-
-import static org.opends.server.schema.SchemaConstants.*;
-
-/**
- * This class is a factory class for {@link AuthPasswordEqualityMatchingRule}.
- */
-public final class AuthPasswordEqualityMatchingRuleFactory
-        extends MatchingRuleFactory<MatchingRuleCfg>
-{
-  private org.forgerock.opendj.ldap.schema.MatchingRule matchingRule;
-
- /** {@inheritDoc} */
- @Override
- public final void initializeMatchingRule(MatchingRuleCfg configuration)
-         throws ConfigException, InitializationException
- {
-   matchingRule = new SchemaBuilder(CoreSchema.getInstance()).buildMatchingRule(EMR_AUTH_PASSWORD_OID)
-       .names(EMR_AUTH_PASSWORD_NAME)
-       .syntaxOID(SYNTAX_AUTH_PASSWORD_OID).description(EMR_AUTH_PASSWORD_DESCRIPTION)
-       .implementation(new AuthPasswordEqualityMatchingRule())
-       .addToSchema().toSchema().getMatchingRule(EMR_AUTH_PASSWORD_OID);
- }
-
- /** {@inheritDoc} */
- @Override
- public final Collection<org.forgerock.opendj.ldap.schema.MatchingRule> getMatchingRules()
- {
-    return Collections.singleton(matchingRule);
- }
-}
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/schema/AuthPasswordSyntax.java b/opendj-server-legacy/src/main/java/org/opends/server/schema/AuthPasswordSyntax.java
index 3399ab6..38c4948 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/schema/AuthPasswordSyntax.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/schema/AuthPasswordSyntax.java
@@ -16,15 +16,10 @@
  */
 package org.opends.server.schema;
 import static org.opends.messages.SchemaMessages.*;
-import static org.opends.server.schema.SchemaConstants.*;
 
 import org.forgerock.i18n.LocalizableMessage;
 import org.forgerock.opendj.ldap.ByteSequence;
 import org.forgerock.opendj.ldap.ResultCode;
-import org.forgerock.opendj.ldap.schema.Schema;
-import org.forgerock.opendj.ldap.schema.Syntax;
-import org.forgerock.opendj.server.config.server.AttributeSyntaxCfg;
-import org.opends.server.api.AttributeSyntax;
 import org.opends.server.types.DirectoryException;
 
 /**
@@ -33,60 +28,9 @@
  * matching will be allowed by default.
  */
 public class AuthPasswordSyntax
-       extends AttributeSyntax<AttributeSyntaxCfg>
 {
 
   /**
-   * Creates a new instance of this syntax.  Note that the only thing that
-   * should be done here is to invoke the default constructor for the
-   * superclass.  All initialization should be performed in the
-   * <CODE>initializeSyntax</CODE> method.
-   */
-  public AuthPasswordSyntax()
-  {
-    super();
-  }
-
-  @Override
-  public Syntax getSDKSyntax(Schema schema)
-  {
-    return schema.getSyntax(SchemaConstants.SYNTAX_AUTH_PASSWORD_OID);
-  }
-
-  /**
-   * Retrieves the common name for this attribute syntax.
-   *
-   * @return  The common name for this attribute syntax.
-   */
-  @Override
-  public String getName()
-  {
-    return SYNTAX_AUTH_PASSWORD_NAME;
-  }
-
-  /**
-   * Retrieves the OID for this attribute syntax.
-   *
-   * @return  The OID for this attribute syntax.
-   */
-  @Override
-  public String getOID()
-  {
-    return SYNTAX_AUTH_PASSWORD_OID;
-  }
-
-  /**
-   * Retrieves a description for this attribute syntax.
-   *
-   * @return  A description for this attribute syntax.
-   */
-  @Override
-  public String getDescription()
-  {
-    return SYNTAX_AUTH_PASSWORD_DESCRIPTION;
-  }
-
-  /**
    * Decodes the provided authentication password value into its component parts.
    * <p>
    * FIXME this is a duplicate of {@link org.forgerock.opendj.ldap.schema.AuthPasswordSyntaxImpl}
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/schema/BinarySyntax.java b/opendj-server-legacy/src/main/java/org/opends/server/schema/BinarySyntax.java
deleted file mode 100644
index ceb6eb4..0000000
--- a/opendj-server-legacy/src/main/java/org/opends/server/schema/BinarySyntax.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*
- * The contents of this file are subject to the terms of the Common Development and
- * Distribution License (the License). You may not use this file except in compliance with the
- * License.
- *
- * You can obtain a copy of the License at legal/CDDLv1.0.txt. See the License for the
- * specific language governing permission and limitations under the License.
- *
- * When distributing Covered Software, include this CDDL Header Notice in each file and include
- * the License file at legal/CDDLv1.0.txt. If applicable, add the following below the CDDL
- * Header, with the fields enclosed by brackets [] replaced by your own identifying
- * information: "Portions Copyright [year] [name of copyright owner]".
- *
- * Copyright 2006-2008 Sun Microsystems, Inc.
- * Portions Copyright 2012-2016 ForgeRock AS.
- */
-package org.opends.server.schema;
-
-import static org.opends.server.schema.SchemaConstants.*;
-
-import org.forgerock.opendj.ldap.schema.Schema;
-import org.forgerock.opendj.ldap.schema.Syntax;
-import org.forgerock.opendj.server.config.server.AttributeSyntaxCfg;
-import org.opends.server.api.AttributeSyntax;
-
-/**
- * This class defines the binary attribute syntax, which is essentially a byte
- * array using very strict matching.  Equality, ordering, and substring matching
- * will be allowed by default.
- */
-public class BinarySyntax
-       extends AttributeSyntax<AttributeSyntaxCfg>
-{
-
-  /**
-   * Creates a new instance of this syntax.  Note that the only thing that
-   * should be done here is to invoke the default constructor for the
-   * superclass.  All initialization should be performed in the
-   * <CODE>initializeSyntax</CODE> method.
-   */
-  public BinarySyntax()
-  {
-    super();
-  }
-
-  /** {@inheritDoc} */
-  @Override
-  public Syntax getSDKSyntax(Schema schema)
-  {
-    return schema.getSyntax(SchemaConstants.SYNTAX_BINARY_OID);
-  }
-
-  /**
-   * Retrieves the common name for this attribute syntax.
-   *
-   * @return  The common name for this attribute syntax.
-   */
-  @Override
-  public String getName()
-  {
-    return SYNTAX_BINARY_NAME;
-  }
-
-  /**
-   * Retrieves the OID for this attribute syntax.
-   *
-   * @return  The OID for this attribute syntax.
-   */
-  @Override
-  public String getOID()
-  {
-    return SYNTAX_BINARY_OID;
-  }
-
-  /**
-   * Retrieves a description for this attribute syntax.
-   *
-   * @return  A description for this attribute syntax.
-   */
-  @Override
-  public String getDescription()
-  {
-    return SYNTAX_BINARY_DESCRIPTION;
-  }
-}
-
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/schema/BitStringSyntax.java b/opendj-server-legacy/src/main/java/org/opends/server/schema/BitStringSyntax.java
deleted file mode 100644
index e015099..0000000
--- a/opendj-server-legacy/src/main/java/org/opends/server/schema/BitStringSyntax.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
- * The contents of this file are subject to the terms of the Common Development and
- * Distribution License (the License). You may not use this file except in compliance with the
- * License.
- *
- * You can obtain a copy of the License at legal/CDDLv1.0.txt. See the License for the
- * specific language governing permission and limitations under the License.
- *
- * When distributing Covered Software, include this CDDL Header Notice in each file and include
- * the License file at legal/CDDLv1.0.txt. If applicable, add the following below the CDDL
- * Header, with the fields enclosed by brackets [] replaced by your own identifying
- * information: "Portions Copyright [year] [name of copyright owner]".
- *
- * Copyright 2006-2008 Sun Microsystems, Inc.
- * Portions Copyright 2012-2016 ForgeRock AS.
- */
-package org.opends.server.schema;
-
-import static org.opends.server.schema.SchemaConstants.*;
-
-import org.forgerock.opendj.ldap.schema.Schema;
-import org.forgerock.opendj.ldap.schema.Syntax;
-import org.forgerock.opendj.server.config.server.AttributeSyntaxCfg;
-import org.opends.server.api.AttributeSyntax;
-
-
-/**
- * This class defines the bit string attribute syntax, which is comprised of
- * a string of binary digits surrounded by single quotes and followed by a
- * capital letter "B" (e.g., '101001'B).
- */
-public class BitStringSyntax
-       extends AttributeSyntax<AttributeSyntaxCfg>
-{
-
-  /**
-   * Creates a new instance of this syntax.  Note that the only thing that
-   * should be done here is to invoke the default constructor for the
-   * superclass.  All initialization should be performed in the
-   * <CODE>initializeSyntax</CODE> method.
-   */
-  public BitStringSyntax()
-  {
-    super();
-  }
-
-  /** {@inheritDoc} */
-  @Override
-  public Syntax getSDKSyntax(Schema schema)
-  {
-    return schema.getSyntax(SchemaConstants.SYNTAX_BIT_STRING_OID);
-  }
-
-  /**
-   * Retrieves the common name for this attribute syntax.
-   *
-   * @return  The common name for this attribute syntax.
-   */
-  @Override
-  public String getName()
-  {
-    return SYNTAX_BIT_STRING_NAME;
-  }
-
-  /**
-   * Retrieves the OID for this attribute syntax.
-   *
-   * @return  The OID for this attribute syntax.
-   */
-  @Override
-  public String getOID()
-  {
-    return SYNTAX_BIT_STRING_OID;
-  }
-
-  /**
-   * Retrieves a description for this attribute syntax.
-   *
-   * @return  A description for this attribute syntax.
-   */
-  @Override
-  public String getDescription()
-  {
-    return SYNTAX_BIT_STRING_DESCRIPTION;
-  }
-}
-
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/schema/BooleanSyntax.java b/opendj-server-legacy/src/main/java/org/opends/server/schema/BooleanSyntax.java
deleted file mode 100644
index 394a613..0000000
--- a/opendj-server-legacy/src/main/java/org/opends/server/schema/BooleanSyntax.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/*
- * The contents of this file are subject to the terms of the Common Development and
- * Distribution License (the License). You may not use this file except in compliance with the
- * License.
- *
- * You can obtain a copy of the License at legal/CDDLv1.0.txt. See the License for the
- * specific language governing permission and limitations under the License.
- *
- * When distributing Covered Software, include this CDDL Header Notice in each file and include
- * the License file at legal/CDDLv1.0.txt. If applicable, add the following below the CDDL
- * Header, with the fields enclosed by brackets [] replaced by your own identifying
- * information: "Portions Copyright [year] [name of copyright owner]".
- *
- * Copyright 2006-2008 Sun Microsystems, Inc.
- * Portions Copyright 2012-2016 ForgeRock AS.
- */
-package org.opends.server.schema;
-
-import static org.opends.server.schema.SchemaConstants.*;
-
-import org.forgerock.opendj.ldap.ByteString;
-import org.forgerock.opendj.ldap.schema.Schema;
-import org.forgerock.opendj.ldap.schema.Syntax;
-import org.forgerock.opendj.server.config.server.AttributeSyntaxCfg;
-import org.opends.server.api.AttributeSyntax;
-import org.opends.server.util.ServerConstants;
-
-/**
- * This class defines the Boolean attribute syntax, which only allows values of
- * "TRUE" or "FALSE" (although this implementation is more flexible and will
- * also allow "YES", "ON", or "1" instead of "TRUE", or "NO", "OFF", or "0"
- * instead of "FALSE").  Only equality matching is allowed by default for this
- * syntax.
- */
-public class BooleanSyntax
-       extends AttributeSyntax<AttributeSyntaxCfg>
-{
-
-  /**
-   * Creates a new instance of this syntax.  Note that the only thing that
-   * should be done here is to invoke the default constructor for the
-   * superclass.  All initialization should be performed in the
-   * <CODE>initializeSyntax</CODE> method.
-   */
-  public BooleanSyntax()
-  {
-    super();
-  }
-
-  /** {@inheritDoc} */
-  @Override
-  public Syntax getSDKSyntax(Schema schema)
-  {
-    return schema.getSyntax(SchemaConstants.SYNTAX_BOOLEAN_OID);
-  }
-
-  /**
-   * Retrieves the common name for this attribute syntax.
-   *
-   * @return  The common name for this attribute syntax.
-   */
-  @Override
-  public String getName()
-  {
-    return SYNTAX_BOOLEAN_NAME;
-  }
-
-  /**
-   * Retrieves the OID for this attribute syntax.
-   *
-   * @return  The OID for this attribute syntax.
-   */
-  @Override
-  public String getOID()
-  {
-    return SYNTAX_BOOLEAN_OID;
-  }
-
-  /**
-   * Retrieves a description for this attribute syntax.
-   *
-   * @return  A description for this attribute syntax.
-   */
-  @Override
-  public String getDescription()
-  {
-    return SYNTAX_BOOLEAN_DESCRIPTION;
-  }
-
-  /**
-   * Retrieves an attribute value containing a representation of the provided
-   * boolean value.
-   *
-   * @param  b  The boolean value for which to retrieve the attribute value.
-   *
-   * @return  The attribute value created from the provided boolean value.
-   */
-  public static ByteString createBooleanValue(boolean b)
-  {
-    return b ? ServerConstants.TRUE_VALUE : ServerConstants.FALSE_VALUE;
-  }
-}
-
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/schema/CertificateExactAssertionSyntax.java b/opendj-server-legacy/src/main/java/org/opends/server/schema/CertificateExactAssertionSyntax.java
deleted file mode 100644
index a28e327..0000000
--- a/opendj-server-legacy/src/main/java/org/opends/server/schema/CertificateExactAssertionSyntax.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*
- * The contents of this file are subject to the terms of the Common Development and
- * Distribution License (the License). You may not use this file except in compliance with the
- * License.
- *
- * You can obtain a copy of the License at legal/CDDLv1.0.txt. See the License for the
- * specific language governing permission and limitations under the License.
- *
- * When distributing Covered Software, include this CDDL Header Notice in each file and include
- * the License file at legal/CDDLv1.0.txt. If applicable, add the following below the CDDL
- * Header, with the fields enclosed by brackets [] replaced by your own identifying
- * information: "Portions Copyright [year] [name of copyright owner]".
- *
- * Copyright 2006-2008 Sun Microsystems, Inc.
- * Portions Copyright 2012-2016 ForgeRock AS.
- * Portions Copyright 2013-2014 Manuel Gaupp
- */
-package org.opends.server.schema;
-
-import static org.opends.server.schema.SchemaConstants.*;
-
-import org.forgerock.opendj.ldap.schema.Schema;
-import org.forgerock.opendj.ldap.schema.Syntax;
-import org.forgerock.opendj.server.config.server.AttributeSyntaxCfg;
-import org.opends.server.api.AttributeSyntax;
-
-
-/**
- * This class defines the Certificate Exact Assertion attribute syntax,
- * which contains components for matching X.509 certificates.
- */
-public class CertificateExactAssertionSyntax
-       extends AttributeSyntax<AttributeSyntaxCfg>
-{
-
-  /**
-   * Creates a new instance of this syntax.  Note that the only thing that
-   * should be done here is to invoke the default constructor for the
-   * superclass.  All initialization should be performed in the
-   * <CODE>initializeSyntax</CODE> method.
-   */
-  public CertificateExactAssertionSyntax()
-  {
-    super();
-  }
-
-  /** {@inheritDoc} */
-  @Override
-  public Syntax getSDKSyntax(Schema schema)
-  {
-    return schema.getSyntax(SchemaConstants.SYNTAX_CERTIFICATE_EXACT_ASSERTION_OID);
-  }
-
-  /** {@inheritDoc} */
-  @Override
-  public String getName()
-  {
-    return SYNTAX_CERTIFICATE_EXACT_ASSERTION_NAME;
-  }
-
-  /** {@inheritDoc} */
-  @Override
-  public String getOID()
-  {
-    return SYNTAX_CERTIFICATE_EXACT_ASSERTION_OID;
-  }
-
-  /** {@inheritDoc} */
-  @Override
-  public String getDescription()
-  {
-    return SYNTAX_CERTIFICATE_EXACT_ASSERTION_DESCRIPTION;
-  }
-}
-
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/schema/CertificateListSyntax.java b/opendj-server-legacy/src/main/java/org/opends/server/schema/CertificateListSyntax.java
deleted file mode 100644
index 2a792f0..0000000
--- a/opendj-server-legacy/src/main/java/org/opends/server/schema/CertificateListSyntax.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/*
- * The contents of this file are subject to the terms of the Common Development and
- * Distribution License (the License). You may not use this file except in compliance with the
- * License.
- *
- * You can obtain a copy of the License at legal/CDDLv1.0.txt. See the License for the
- * specific language governing permission and limitations under the License.
- *
- * When distributing Covered Software, include this CDDL Header Notice in each file and include
- * the License file at legal/CDDLv1.0.txt. If applicable, add the following below the CDDL
- * Header, with the fields enclosed by brackets [] replaced by your own identifying
- * information: "Portions Copyright [year] [name of copyright owner]".
- *
- * Copyright 2006-2008 Sun Microsystems, Inc.
- * Portions Copyright 2012-2016 ForgeRock AS.
- */
-package org.opends.server.schema;
-
-import static org.opends.server.schema.SchemaConstants.*;
-
-import org.forgerock.opendj.ldap.schema.Schema;
-import org.forgerock.opendj.ldap.schema.Syntax;
-import org.forgerock.opendj.server.config.server.AttributeSyntaxCfg;
-import org.opends.server.api.AttributeSyntax;
-
-
-/**
- * This class implements the certificate list attribute syntax.  This should be
- * restricted to holding only X.509 certificate lists, but we will accept any
- * set of bytes.  It will be treated much like the octet string attribute
- * syntax.
- */
-public class CertificateListSyntax
-       extends AttributeSyntax<AttributeSyntaxCfg>
-{
-
-  /**
-   * Creates a new instance of this syntax.  Note that the only thing that
-   * should be done here is to invoke the default constructor for the
-   * superclass.  All initialization should be performed in the
-   * <CODE>initializeSyntax</CODE> method.
-   */
-  public CertificateListSyntax()
-  {
-    super();
-  }
-
-  /** {@inheritDoc} */
-  @Override
-  public Syntax getSDKSyntax(Schema schema)
-  {
-    return schema.getSyntax(SchemaConstants.SYNTAX_CERTLIST_OID);
-  }
-
-  /**
-   * Retrieves the common name for this attribute syntax.
-   *
-   * @return  The common name for this attribute syntax.
-   */
-  @Override
-  public String getName()
-  {
-    return SYNTAX_CERTLIST_NAME;
-  }
-
-  /**
-   * Retrieves the OID for this attribute syntax.
-   *
-   * @return  The OID for this attribute syntax.
-   */
-  @Override
-  public String getOID()
-  {
-    return SYNTAX_CERTLIST_OID;
-  }
-
-  /**
-   * Retrieves a description for this attribute syntax.
-   *
-   * @return  A description for this attribute syntax.
-   */
-  @Override
-  public String getDescription()
-  {
-    return SYNTAX_CERTLIST_DESCRIPTION;
-  }
-}
-
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/schema/CertificatePairSyntax.java b/opendj-server-legacy/src/main/java/org/opends/server/schema/CertificatePairSyntax.java
deleted file mode 100644
index 8b85963..0000000
--- a/opendj-server-legacy/src/main/java/org/opends/server/schema/CertificatePairSyntax.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/*
- * The contents of this file are subject to the terms of the Common Development and
- * Distribution License (the License). You may not use this file except in compliance with the
- * License.
- *
- * You can obtain a copy of the License at legal/CDDLv1.0.txt. See the License for the
- * specific language governing permission and limitations under the License.
- *
- * When distributing Covered Software, include this CDDL Header Notice in each file and include
- * the License file at legal/CDDLv1.0.txt. If applicable, add the following below the CDDL
- * Header, with the fields enclosed by brackets [] replaced by your own identifying
- * information: "Portions Copyright [year] [name of copyright owner]".
- *
- * Copyright 2006-2008 Sun Microsystems, Inc.
- * Portions Copyright 2012-2016 ForgeRock AS.
- */
-package org.opends.server.schema;
-
-import static org.opends.server.schema.SchemaConstants.*;
-
-import org.forgerock.opendj.ldap.schema.Schema;
-import org.forgerock.opendj.ldap.schema.Syntax;
-import org.forgerock.opendj.server.config.server.AttributeSyntaxCfg;
-import org.opends.server.api.AttributeSyntax;
-
-
-/**
- * This class implements the certificate pair attribute syntax.  This should be
- * restricted to holding only X.509 certificate pairs, but we will accept any
- * set of bytes.  It will be treated much like the octet string attribute
- * syntax.
- */
-public class CertificatePairSyntax
-       extends AttributeSyntax<AttributeSyntaxCfg>
-{
-
-  /**
-   * Creates a new instance of this syntax.  Note that the only thing that
-   * should be done here is to invoke the default constructor for the
-   * superclass.  All initialization should be performed in the
-   * <CODE>initializeSyntax</CODE> method.
-   */
-  public CertificatePairSyntax()
-  {
-    super();
-  }
-
-  /** {@inheritDoc} */
-  @Override
-  public Syntax getSDKSyntax(Schema schema)
-  {
-    return schema.getSyntax(SchemaConstants.SYNTAX_CERTPAIR_OID);
-  }
-
-  /**
-   * Retrieves the common name for this attribute syntax.
-   *
-   * @return  The common name for this attribute syntax.
-   */
-  @Override
-  public String getName()
-  {
-    return SYNTAX_CERTPAIR_NAME;
-  }
-
-  /**
-   * Retrieves the OID for this attribute syntax.
-   *
-   * @return  The OID for this attribute syntax.
-   */
-  @Override
-  public String getOID()
-  {
-    return SYNTAX_CERTPAIR_OID;
-  }
-
-  /**
-   * Retrieves a description for this attribute syntax.
-   *
-   * @return  A description for this attribute syntax.
-   */
-  @Override
-  public String getDescription()
-  {
-    return SYNTAX_CERTPAIR_DESCRIPTION;
-  }
-}
-
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/schema/CollationMatchingRuleFactory.java b/opendj-server-legacy/src/main/java/org/opends/server/schema/CollationMatchingRuleFactory.java
deleted file mode 100644
index fefd76e..0000000
--- a/opendj-server-legacy/src/main/java/org/opends/server/schema/CollationMatchingRuleFactory.java
+++ /dev/null
@@ -1,394 +0,0 @@
-/*
- * The contents of this file are subject to the terms of the Common Development and
- * Distribution License (the License). You may not use this file except in compliance with the
- * License.
- *
- * You can obtain a copy of the License at legal/CDDLv1.0.txt. See the License for the
- * specific language governing permission and limitations under the License.
- *
- * When distributing Covered Software, include this CDDL Header Notice in each file and include
- * the License file at legal/CDDLv1.0.txt. If applicable, add the following below the CDDL
- * Header, with the fields enclosed by brackets [] replaced by your own identifying
- * information: "Portions Copyright [year] [name of copyright owner]".
- *
- * Copyright 2008-2009 Sun Microsystems, Inc.
- * Portions Copyright 2012-2016 ForgeRock AS.
- */
-package org.opends.server.schema;
-
-import static org.opends.messages.ConfigMessages.*;
-import static org.opends.messages.SchemaMessages.*;
-
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Locale;
-import java.util.Map;
-import java.util.Set;
-
-import org.forgerock.i18n.LocalizableMessage;
-import org.forgerock.i18n.slf4j.LocalizedLogger;
-import org.forgerock.opendj.config.server.ConfigChangeResult;
-import org.forgerock.opendj.config.server.ConfigException;
-import org.forgerock.opendj.config.server.ConfigurationChangeListener;
-import org.forgerock.opendj.ldap.schema.ConflictingSchemaElementException;
-import org.forgerock.opendj.ldap.schema.CoreSchema;
-import org.forgerock.opendj.ldap.schema.MatchingRule;
-import org.forgerock.opendj.ldap.schema.Schema;
-import org.forgerock.opendj.ldap.schema.SchemaBuilder;
-import org.forgerock.opendj.server.config.server.CollationMatchingRuleCfg;
-import org.opends.server.api.MatchingRuleFactory;
-import org.opends.server.core.DirectoryServer;
-import org.opends.server.schema.SchemaHandler.SchemaUpdater;
-import org.opends.server.types.DirectoryException;
-import org.opends.server.types.InitializationException;
-import org.opends.server.util.CollectionUtils;
-
-/**
- * This class is a factory class for Collation matching rules. It
- * creates different matching rules based on the configuration entries.
- */
-public final class CollationMatchingRuleFactory extends
-    MatchingRuleFactory<CollationMatchingRuleCfg> implements
-    ConfigurationChangeListener<CollationMatchingRuleCfg>
-{
-  private static final LocalizedLogger logger = LocalizedLogger.getLoggerForThisClass();
-
-  /** Stores the list of available locales on this JVM. */
-  private static final Set<Locale> supportedLocales = CollectionUtils.newHashSet(Locale.getAvailableLocales());
-
-  /** Current Configuration. */
-  private CollationMatchingRuleCfg currentConfig;
-  /** Map of OID and the Matching Rule. */
-  private final Map<String, MatchingRule> matchingRules = new HashMap<>();
-
-  /** Creates a new instance of CollationMatchingRuleFactory. */
-  public CollationMatchingRuleFactory()
-  {
-    super();
-  }
-
-  @Override
-  public final Collection<MatchingRule> getMatchingRules()
-  {
-    return Collections.unmodifiableCollection(matchingRules.values());
-  }
-
-  @Override
-  public void initializeMatchingRule(CollationMatchingRuleCfg configuration)
-      throws ConfigException, InitializationException
-  {
-    // The core schema contains all supported collation matching rules so read it for initialization.
-    // The server's schemaNG may have different things configured slightly differently
-    SchemaHandler schemaHandler = DirectoryServer.getInstance().getServerContext().getSchemaHandler();
-    Schema coreSchema = CoreSchema.getInstance();
-
-    // on startup, the SDK already has existing matching rules
-    // remove them all before letting the server set them all up
-    // according to what this factory decides must be setup
-    final Set<MatchingRule> defaultMatchingRules = getCollationMatchingRules(coreSchema.getMatchingRules());
-    unregisterMatchingRules(schemaHandler, defaultMatchingRules);
-    matchingRules.putAll(collectConfiguredMatchingRules(configuration, coreSchema));
-
-    // Save this configuration.
-    currentConfig = configuration;
-
-    // Register for change events.
-    currentConfig.addCollationChangeListener(this);
-  }
-
-  private void unregisterMatchingRules(SchemaHandler schemaHandler, final Collection<MatchingRule> matchingRules)
-      throws ConfigException
-  {
-    try
-    {
-      schemaHandler.updateSchema(new SchemaUpdater()
-      {
-        @Override
-        public void update(SchemaBuilder builder)
-        {
-          for (final MatchingRule rule : matchingRules)
-          {
-            builder.removeMatchingRule(rule.getNameOrOID());
-          }
-        }
-      });
-    }
-    catch (DirectoryException e)
-    {
-      throw new ConfigException(e.getMessageObject(), e);
-    }
-  }
-
-  private Map<String, MatchingRule> collectConfiguredMatchingRules(CollationMatchingRuleCfg configuration,
-      Schema coreSchema)
-  {
-    final Map<String, MatchingRule> results = new HashMap<>();
-    for (String collation : configuration.getCollation())
-    {
-      CollationMapper mapper = new CollationMapper(collation);
-
-      String nOID = mapper.getNumericOID();
-      String languageTag = mapper.getLanguageTag();
-      if (nOID == null || languageTag == null)
-      {
-        logger.error(WARN_ATTR_INVALID_COLLATION_MATCHING_RULE_FORMAT, collation);
-        continue;
-      }
-      Locale locale = getLocale(languageTag);
-      if (locale == null)
-      {
-        // This locale is not supported by JVM.
-        logger.error(WARN_ATTR_INVALID_COLLATION_MATCHING_RULE_LOCALE, collation, configuration.dn(), languageTag);
-        continue;
-      }
-
-      final int[] numericSuffixes = { 1, 2, 3, 4, 5, 6 };
-      for (int suffix : numericSuffixes)
-      {
-        final String oid = nOID + "." + suffix;
-        final MatchingRule matchingRule = coreSchema.getMatchingRule(oid);
-        results.put(oid, matchingRule);
-      }
-      // the default (equality) matching rule
-      final MatchingRule defaultEqualityMatchingRule = coreSchema.getMatchingRule(nOID);
-      results.put(nOID, defaultEqualityMatchingRule);
-    }
-    return results;
-  }
-
-  private Set<MatchingRule> getCollationMatchingRules(Collection<MatchingRule> matchingRules)
-  {
-    final Set<MatchingRule> results = new HashSet<>();
-    for (MatchingRule matchingRule : matchingRules)
-    {
-      if (matchingRule.getOID().startsWith("1.3.6.1.4.1.42.2.27.9.4."))
-      {
-        results.add(matchingRule);
-      }
-    }
-    return results;
-  }
-
-  @Override
-  public void finalizeMatchingRule()
-  {
-    // De-register the listener.
-    currentConfig.removeCollationChangeListener(this);
-  }
-
-  @Override
-  public ConfigChangeResult applyConfigurationChange(final CollationMatchingRuleCfg configuration)
-  {
-    // validation has already been performed in isConfigurationChangeAcceptable()
-    final ConfigChangeResult ccr = new ConfigChangeResult();
-
-    if (!configuration.isEnabled()
-        || currentConfig.isEnabled() != configuration.isEnabled())
-    {
-      // Don't do anything if:
-      // 1. The configuration is disabled.
-      // 2. There is a change in the enable status
-      // i.e. (disable->enable or enable->disable). In this case, the
-      // ConfigManager will have already created the new Factory object.
-      return ccr;
-    }
-
-    // Since we have come here it means that this Factory is enabled
-    // and there is a change in the CollationMatchingRuleFactory's configuration.
-    SchemaHandler schemaHandler = DirectoryServer.getInstance().getServerContext().getSchemaHandler();
-    final Collection<MatchingRule> existingCollationRules =
-        getCollationMatchingRules(schemaHandler.getSchema().getMatchingRules());
-
-    matchingRules.clear();
-    final Map<String, MatchingRule> configuredMatchingRules =
-        collectConfiguredMatchingRules(configuration, CoreSchema.getInstance());
-    matchingRules.putAll(configuredMatchingRules);
-
-    for (Iterator<MatchingRule> it = existingCollationRules.iterator(); it.hasNext();)
-    {
-      String oid = it.next().getOID();
-      if (configuredMatchingRules.remove(oid) != null)
-      {
-        // no change
-        it.remove();
-      }
-    }
-    try
-    {
-      schemaHandler.updateSchema(new SchemaUpdater()
-      {
-        @Override
-        public void update(SchemaBuilder builder)
-        {
-          Collection<MatchingRule> defaultMatchingRules = CoreSchema.getInstance().getMatchingRules();
-          for (MatchingRule rule : defaultMatchingRules)
-          {
-            if (configuredMatchingRules.containsKey(rule.getOID()))
-            {
-              try
-              {
-                // added
-                builder.buildMatchingRule(rule).addToSchema();
-              }
-              catch (ConflictingSchemaElementException e)
-              {
-                ccr.setAdminActionRequired(true);
-                ccr.addMessage(WARN_CONFIG_SCHEMA_MR_CONFLICTING_MR.get(configuration.dn(), e.getMessageObject()));
-              }
-            }
-          }
-          for (MatchingRule ruleToRemove : existingCollationRules)
-          {
-            // removed
-            builder.removeMatchingRule(ruleToRemove.getOID());
-          }
-        }
-      });
-    }
-    catch (DirectoryException e)
-    {
-      ccr.setResultCode(e.getResultCode());
-      ccr.addMessage(e.getMessageObject());
-    }
-
-    currentConfig = configuration;
-    return ccr;
-  }
-
-  @Override
-  public boolean isConfigurationChangeAcceptable(
-      CollationMatchingRuleCfg configuration,
-      List<LocalizableMessage> unacceptableReasons)
-  {
-    boolean configAcceptable = true;
-
-    // If the new configuration disables this factory, don't do anything.
-    if (!configuration.isEnabled())
-    {
-      return configAcceptable;
-    }
-
-    // If it comes here we don't need to verify MatchingRuleType;
-    // it should be okay as its syntax is verified by the admin framework.
-    // Iterate over the collations and verify if the format is okay.
-    // Also, verify if the locale is allowed by the JVM.
-    for (String collation : configuration.getCollation())
-    {
-      CollationMapper mapper = new CollationMapper(collation);
-
-      String nOID = mapper.getNumericOID();
-      String languageTag = mapper.getLanguageTag();
-      if (nOID == null || languageTag == null)
-      {
-        configAcceptable = false;
-        unacceptableReasons.add(WARN_ATTR_INVALID_COLLATION_MATCHING_RULE_FORMAT.get(collation));
-        continue;
-      }
-
-      Locale locale = getLocale(languageTag);
-      if (locale == null)
-      {
-        configAcceptable = false;
-        unacceptableReasons.add(WARN_ATTR_INVALID_COLLATION_MATCHING_RULE_LOCALE.get(
-                collation, configuration.dn(), languageTag));
-        continue;
-      }
-    }
-    return configAcceptable;
-  }
-
-  /**
-   * Verifies if the locale is supported by the JVM.
-   *
-   * @param lTag
-   *          The language tag specified in the configuration.
-   * @return Locale The locale corresponding to the languageTag.
-   */
-  private Locale getLocale(String lTag)
-  {
-    // Separates the language and the country from the locale.
-    Locale locale;
-
-    int countryIndex = lTag.indexOf("-");
-    int variantIndex = lTag.lastIndexOf("-");
-
-    if (countryIndex > 0)
-    {
-      String lang = lTag.substring(0, countryIndex);
-      String country;
-
-      if (variantIndex > countryIndex)
-      {
-        country = lTag.substring(countryIndex + 1, variantIndex);
-        String variant = lTag.substring(variantIndex + 1, lTag.length());
-        locale = new Locale(lang, country, variant);
-      }
-      else
-      {
-        country = lTag.substring(countryIndex + 1, lTag.length());
-        locale = new Locale(lang, country);
-      }
-    }
-    else
-    {
-      locale = new Locale(lTag);
-    }
-
-    if (!supportedLocales.contains(locale))
-    {
-      // This locale is not supported by this JVM.
-      locale = null;
-    }
-    return locale;
-  }
-
-  /** A utility class for extracting the OID and Language Tag from the configuration entry. */
-  private final class CollationMapper
-  {
-    /** OID of the collation rule. */
-    private String oid;
-
-    /** Language Tag. */
-    private String lTag;
-
-    /**
-     * Creates a new instance of CollationMapper.
-     *
-     * @param collation
-     *          The collation text in the LOCALE:OID format.
-     */
-    private CollationMapper(String collation)
-    {
-      int index = collation.indexOf(":");
-      if (index > 0)
-      {
-        oid = collation.substring(index + 1, collation.length());
-        lTag = collation.substring(0, index);
-      }
-    }
-
-    /**
-     * Returns the OID part of the collation text.
-     *
-     * @return OID part of the collation text.
-     */
-    private String getNumericOID()
-    {
-      return oid;
-    }
-
-    /**
-     * Returns the language Tag of collation text.
-     *
-     * @return Language Tag part of the collation text.
-     */
-    private String getLanguageTag()
-    {
-      return lTag;
-    }
-  }
-}
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/schema/DITContentRuleSyntax.java b/opendj-server-legacy/src/main/java/org/opends/server/schema/DITContentRuleSyntax.java
deleted file mode 100644
index a26c35a..0000000
--- a/opendj-server-legacy/src/main/java/org/opends/server/schema/DITContentRuleSyntax.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * The contents of this file are subject to the terms of the Common Development and
- * Distribution License (the License). You may not use this file except in compliance with the
- * License.
- *
- * You can obtain a copy of the License at legal/CDDLv1.0.txt. See the License for the
- * specific language governing permission and limitations under the License.
- *
- * When distributing Covered Software, include this CDDL Header Notice in each file and include
- * the License file at legal/CDDLv1.0.txt. If applicable, add the following below the CDDL
- * Header, with the fields enclosed by brackets [] replaced by your own identifying
- * information: "Portions Copyright [year] [name of copyright owner]".
- *
- * Copyright 2006-2009 Sun Microsystems, Inc.
- * Portions Copyright 2011-2016 ForgeRock AS.
- */
-package org.opends.server.schema;
-
-import static org.opends.server.schema.SchemaConstants.*;
-
-import org.forgerock.opendj.ldap.schema.Syntax;
-import org.forgerock.opendj.server.config.server.AttributeSyntaxCfg;
-import org.opends.server.api.AttributeSyntax;
-
-/**
- * This class implements the DIT content rule description syntax, which is used
- * to hold DIT content rule definitions in the server schema.  The format of
- * this syntax is defined in RFC 2252.
- */
-public class DITContentRuleSyntax
-       extends AttributeSyntax<AttributeSyntaxCfg>
-{
-  /**
-   * Creates a new instance of this syntax.  Note that the only thing that
-   * should be done here is to invoke the default constructor for the
-   * superclass.  All initialization should be performed in the
-   * <CODE>initializeSyntax</CODE> method.
-   */
-  public DITContentRuleSyntax()
-  {
-    super();
-  }
-
-  @Override
-  public Syntax getSDKSyntax(org.forgerock.opendj.ldap.schema.Schema schema)
-  {
-    return schema.getSyntax(SchemaConstants.SYNTAX_DIT_CONTENT_RULE_OID);
-  }
-
-  @Override
-  public String getName()
-  {
-    return SYNTAX_DIT_CONTENT_RULE_NAME;
-  }
-
-  @Override
-  public String getOID()
-  {
-    return SYNTAX_DIT_CONTENT_RULE_OID;
-  }
-
-  @Override
-  public String getDescription()
-  {
-    return SYNTAX_DIT_CONTENT_RULE_DESCRIPTION;
-  }
-}
-
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/schema/DITStructureRuleSyntax.java b/opendj-server-legacy/src/main/java/org/opends/server/schema/DITStructureRuleSyntax.java
deleted file mode 100644
index 700a807..0000000
--- a/opendj-server-legacy/src/main/java/org/opends/server/schema/DITStructureRuleSyntax.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- * The contents of this file are subject to the terms of the Common Development and
- * Distribution License (the License). You may not use this file except in compliance with the
- * License.
- *
- * You can obtain a copy of the License at legal/CDDLv1.0.txt. See the License for the
- * specific language governing permission and limitations under the License.
- *
- * When distributing Covered Software, include this CDDL Header Notice in each file and include
- * the License file at legal/CDDLv1.0.txt. If applicable, add the following below the CDDL
- * Header, with the fields enclosed by brackets [] replaced by your own identifying
- * information: "Portions Copyright [year] [name of copyright owner]".
- *
- * Copyright 2006-2009 Sun Microsystems, Inc.
- * Portions Copyright 2011-2016 ForgeRock AS.
- */
-package org.opends.server.schema;
-import static org.opends.server.schema.SchemaConstants.*;
-
-import org.forgerock.opendj.ldap.schema.Syntax;
-import org.forgerock.opendj.server.config.server.AttributeSyntaxCfg;
-import org.opends.server.api.AttributeSyntax;
-
-/**
- * This class implements the DIT structure rule description syntax, which is
- * used to hold DIT structure rule definitions in the server schema.  The format
- * of this syntax is defined in RFC 2252.
- */
-public class DITStructureRuleSyntax
-       extends AttributeSyntax<AttributeSyntaxCfg>
-{
-  /**
-   * Creates a new instance of this syntax.  Note that the only thing that
-   * should be done here is to invoke the default constructor for the
-   * superclass.  All initialization should be performed in the
-   * <CODE>initializeSyntax</CODE> method.
-   */
-  public DITStructureRuleSyntax()
-  {
-    super();
-  }
-
-  @Override
-  public Syntax getSDKSyntax(org.forgerock.opendj.ldap.schema.Schema schema)
-  {
-    return schema.getSyntax(SchemaConstants.SYNTAX_DIT_STRUCTURE_RULE_OID);
-  }
-
-  @Override
-  public String getName()
-  {
-    return SYNTAX_DIT_STRUCTURE_RULE_NAME;
-  }
-
-  @Override
-  public String getOID()
-  {
-    return SYNTAX_DIT_STRUCTURE_RULE_OID;
-  }
-
-  @Override
-  public String getDescription()
-  {
-    return SYNTAX_DIT_STRUCTURE_RULE_DESCRIPTION;
-  }
-}
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/schema/DeliveryMethodSyntax.java b/opendj-server-legacy/src/main/java/org/opends/server/schema/DeliveryMethodSyntax.java
deleted file mode 100644
index 134843c..0000000
--- a/opendj-server-legacy/src/main/java/org/opends/server/schema/DeliveryMethodSyntax.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*
- * The contents of this file are subject to the terms of the Common Development and
- * Distribution License (the License). You may not use this file except in compliance with the
- * License.
- *
- * You can obtain a copy of the License at legal/CDDLv1.0.txt. See the License for the
- * specific language governing permission and limitations under the License.
- *
- * When distributing Covered Software, include this CDDL Header Notice in each file and include
- * the License file at legal/CDDLv1.0.txt. If applicable, add the following below the CDDL
- * Header, with the fields enclosed by brackets [] replaced by your own identifying
- * information: "Portions Copyright [year] [name of copyright owner]".
- *
- * Copyright 2006-2008 Sun Microsystems, Inc.
- * Portions Copyright 2012-2016 ForgeRock AS.
- */
-package org.opends.server.schema;
-
-import static org.opends.server.schema.SchemaConstants.*;
-
-import org.forgerock.opendj.ldap.schema.Schema;
-import org.forgerock.opendj.ldap.schema.Syntax;
-import org.forgerock.opendj.server.config.server.AttributeSyntaxCfg;
-import org.opends.server.api.AttributeSyntax;
-
-/**
- * This class defines the delivery method attribute syntax.  This contains one
- * or more of a fixed set of values.  If there are multiple values, then they
- * are separated by spaces with a dollar sign between them.  The allowed values
- * include:
- *
- * <UL>
- *   <LI>any</LI>
- *   <LI>mhs</LI>
- *   <LI>physical</LI>
- *   <LI>telex</LI>
- *   <LI>teletex</LI>
- *   <LI>g3fax</LI>
- *   <LI>g4fax</LI>
- *   <LI>ia5</LI>
- *   <LI>videotex</LI>
- *   <LI>telephone</LI>
- * </UL>
- */
-public class DeliveryMethodSyntax
-       extends AttributeSyntax<AttributeSyntaxCfg>
-{
-
-  /**
-   * Creates a new instance of this syntax.  Note that the only thing that
-   * should be done here is to invoke the default constructor for the
-   * superclass.  All initialization should be performed in the
-   * <CODE>initializeSyntax</CODE> method.
-   */
-  public DeliveryMethodSyntax()
-  {
-    super();
-  }
-
-  /** {@inheritDoc} */
-  @Override
-  public Syntax getSDKSyntax(Schema schema)
-  {
-    return schema.getSyntax(SchemaConstants.SYNTAX_DELIVERY_METHOD_OID);
-  }
-
-  /**
-   * Retrieves the common name for this attribute syntax.
-   *
-   * @return  The common name for this attribute syntax.
-   */
-  @Override
-  public String getName()
-  {
-    return SYNTAX_DELIVERY_METHOD_NAME;
-  }
-
-  /**
-   * Retrieves the OID for this attribute syntax.
-   *
-   * @return  The OID for this attribute syntax.
-   */
-  @Override
-  public String getOID()
-  {
-    return SYNTAX_DELIVERY_METHOD_OID;
-  }
-
-  /**
-   * Retrieves a description for this attribute syntax.
-   *
-   * @return  A description for this attribute syntax.
-   */
-  @Override
-  public String getDescription()
-  {
-    return SYNTAX_DELIVERY_METHOD_DESCRIPTION;
-  }
-}
-
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/schema/DistinguishedNameSyntax.java b/opendj-server-legacy/src/main/java/org/opends/server/schema/DistinguishedNameSyntax.java
deleted file mode 100644
index a3ad3c0..0000000
--- a/opendj-server-legacy/src/main/java/org/opends/server/schema/DistinguishedNameSyntax.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*
- * The contents of this file are subject to the terms of the Common Development and
- * Distribution License (the License). You may not use this file except in compliance with the
- * License.
- *
- * You can obtain a copy of the License at legal/CDDLv1.0.txt. See the License for the
- * specific language governing permission and limitations under the License.
- *
- * When distributing Covered Software, include this CDDL Header Notice in each file and include
- * the License file at legal/CDDLv1.0.txt. If applicable, add the following below the CDDL
- * Header, with the fields enclosed by brackets [] replaced by your own identifying
- * information: "Portions Copyright [year] [name of copyright owner]".
- *
- * Copyright 2006-2008 Sun Microsystems, Inc.
- * Portions Copyright 2012-2016 ForgeRock AS.
- */
-package org.opends.server.schema;
-
-import static org.opends.server.schema.SchemaConstants.*;
-
-import org.forgerock.opendj.ldap.schema.Schema;
-import org.forgerock.opendj.ldap.schema.Syntax;
-import org.forgerock.opendj.server.config.server.AttributeSyntaxCfg;
-import org.opends.server.api.AttributeSyntax;
-
-
-/**
- * This class defines the distinguished name attribute syntax, which is used for
- * attributes that hold distinguished names (DNs).  Equality and substring
- * matching will be allowed by default.
- */
-public class DistinguishedNameSyntax
-       extends AttributeSyntax<AttributeSyntaxCfg>
-{
-  /**
-   * Creates a new instance of this syntax.  Note that the only thing that
-   * should be done here is to invoke the default constructor for the
-   * superclass.  All initialization should be performed in the
-   * <CODE>initializeSyntax</CODE> method.
-   */
-  public DistinguishedNameSyntax()
-  {
-    super();
-  }
-
-  /** {@inheritDoc} */
-  @Override
-  public Syntax getSDKSyntax(Schema schema)
-  {
-    return schema.getSyntax(SchemaConstants.SYNTAX_DN_OID);
-  }
-
-  /**
-   * Retrieves the common name for this attribute syntax.
-   *
-   * @return  The common name for this attribute syntax.
-   */
-  @Override
-  public String getName()
-  {
-    return SYNTAX_DN_NAME;
-  }
-
-  /**
-   * Retrieves the OID for this attribute syntax.
-   *
-   * @return  The OID for this attribute syntax.
-   */
-  @Override
-  public String getOID()
-  {
-    return SYNTAX_DN_OID;
-  }
-
-  /**
-   * Retrieves a description for this attribute syntax.
-   *
-   * @return  A description for this attribute syntax.
-   */
-  @Override
-  public String getDescription()
-  {
-    return SYNTAX_DN_DESCRIPTION;
-  }
-}
-
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/schema/EnhancedGuideSyntax.java b/opendj-server-legacy/src/main/java/org/opends/server/schema/EnhancedGuideSyntax.java
deleted file mode 100644
index 57b1a74..0000000
--- a/opendj-server-legacy/src/main/java/org/opends/server/schema/EnhancedGuideSyntax.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*
- * The contents of this file are subject to the terms of the Common Development and
- * Distribution License (the License). You may not use this file except in compliance with the
- * License.
- *
- * You can obtain a copy of the License at legal/CDDLv1.0.txt. See the License for the
- * specific language governing permission and limitations under the License.
- *
- * When distributing Covered Software, include this CDDL Header Notice in each file and include
- * the License file at legal/CDDLv1.0.txt. If applicable, add the following below the CDDL
- * Header, with the fields enclosed by brackets [] replaced by your own identifying
- * information: "Portions Copyright [year] [name of copyright owner]".
- *
- * Copyright 2006-2008 Sun Microsystems, Inc.
- * Portions Copyright 2012-2016 ForgeRock AS.
- */
-package org.opends.server.schema;
-
-import static org.opends.server.schema.SchemaConstants.*;
-
-import org.forgerock.opendj.ldap.schema.Schema;
-import org.forgerock.opendj.ldap.schema.Syntax;
-import org.forgerock.opendj.server.config.server.AttributeSyntaxCfg;
-import org.opends.server.api.AttributeSyntax;
-
-/**
- * This class implements the enhanced guide attribute syntax, which may be used
- * to provide criteria for generating search filters for entries of a given
- * objectclass.
- */
-public class EnhancedGuideSyntax
-       extends AttributeSyntax<AttributeSyntaxCfg>
-{
-
-  /**
-   * Creates a new instance of this syntax.  Note that the only thing that
-   * should be done here is to invoke the default constructor for the
-   * superclass.  All initialization should be performed in the
-   * <CODE>initializeSyntax</CODE> method.
-   */
-  public EnhancedGuideSyntax()
-  {
-    super();
-  }
-
-  /** {@inheritDoc} */
-  @Override
-  public Syntax getSDKSyntax(Schema schema)
-  {
-    return schema.getSyntax(SchemaConstants.SYNTAX_ENHANCED_GUIDE_OID);
-  }
-
-  /**
-   * Retrieves the common name for this attribute syntax.
-   *
-   * @return  The common name for this attribute syntax.
-   */
-  @Override
-  public String getName()
-  {
-    return SYNTAX_ENHANCED_GUIDE_NAME;
-  }
-
-  /**
-   * Retrieves the OID for this attribute syntax.
-   *
-   * @return  The OID for this attribute syntax.
-   */
-  @Override
-  public String getOID()
-  {
-    return SYNTAX_ENHANCED_GUIDE_OID;
-  }
-
-  /**
-   * Retrieves a description for this attribute syntax.
-   *
-   * @return  A description for this attribute syntax.
-   */
-  @Override
-  public String getDescription()
-  {
-    return SYNTAX_ENHANCED_GUIDE_DESCRIPTION;
-  }
-}
-
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/schema/FaxNumberSyntax.java b/opendj-server-legacy/src/main/java/org/opends/server/schema/FaxNumberSyntax.java
deleted file mode 100644
index 8bb9894..0000000
--- a/opendj-server-legacy/src/main/java/org/opends/server/schema/FaxNumberSyntax.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*
- * The contents of this file are subject to the terms of the Common Development and
- * Distribution License (the License). You may not use this file except in compliance with the
- * License.
- *
- * You can obtain a copy of the License at legal/CDDLv1.0.txt. See the License for the
- * specific language governing permission and limitations under the License.
- *
- * When distributing Covered Software, include this CDDL Header Notice in each file and include
- * the License file at legal/CDDLv1.0.txt. If applicable, add the following below the CDDL
- * Header, with the fields enclosed by brackets [] replaced by your own identifying
- * information: "Portions Copyright [year] [name of copyright owner]".
- *
- * Copyright 2006-2008 Sun Microsystems, Inc.
- * Portions Copyright 2012-2016 ForgeRock AS.
- */
-package org.opends.server.schema;
-
-import static org.opends.server.schema.SchemaConstants.*;
-
-import org.forgerock.opendj.ldap.schema.Schema;
-import org.forgerock.opendj.ldap.schema.Syntax;
-import org.forgerock.opendj.server.config.server.AttributeSyntaxCfg;
-import org.opends.server.api.AttributeSyntax;
-
-/**
- * This class implements the facsimile telephone number attribute syntax, which
- * contains a printable string (the number) followed by zero or more parameters.
- * Those parameters should start with a dollar sign may be any of the following
- * strings:
- * <UL>
- *   <LI>twoDimensional</LI>
- *   <LI>fineResolution</LI>
- *   <LI>unlimitedLength</LI>
- *   <LI>b4Length</LI>
- *   <LI>a3Width</LI>
- *   <LI>b4Width</LI>
- *   <LI>uncompressed</LI>
- * </UL>
- */
-public class FaxNumberSyntax
-       extends AttributeSyntax<AttributeSyntaxCfg>
-{
-
-  /**
-   * Creates a new instance of this syntax.  Note that the only thing that
-   * should be done here is to invoke the default constructor for the
-   * superclass.  All initialization should be performed in the
-   * <CODE>initializeSyntax</CODE> method.
-   */
-  public FaxNumberSyntax()
-  {
-    super();
-  }
-
-  /** {@inheritDoc} */
-  @Override
-  public Syntax getSDKSyntax(Schema schema)
-  {
-    return schema.getSyntax(SchemaConstants.SYNTAX_FAXNUMBER_OID);
-  }
-
-  /**
-   * Retrieves the common name for this attribute syntax.
-   *
-   * @return  The common name for this attribute syntax.
-   */
-  @Override
-  public String getName()
-  {
-    return SYNTAX_FAXNUMBER_NAME;
-  }
-
-  /**
-   * Retrieves the OID for this attribute syntax.
-   *
-   * @return  The OID for this attribute syntax.
-   */
-  @Override
-  public String getOID()
-  {
-    return SYNTAX_FAXNUMBER_OID;
-  }
-
-  /**
-   * Retrieves a description for this attribute syntax.
-   *
-   * @return  A description for this attribute syntax.
-   */
-  @Override
-  public String getDescription()
-  {
-    return SYNTAX_FAXNUMBER_DESCRIPTION;
-  }
-}
-
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/schema/FaxSyntax.java b/opendj-server-legacy/src/main/java/org/opends/server/schema/FaxSyntax.java
deleted file mode 100644
index b5ef45a..0000000
--- a/opendj-server-legacy/src/main/java/org/opends/server/schema/FaxSyntax.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
- * The contents of this file are subject to the terms of the Common Development and
- * Distribution License (the License). You may not use this file except in compliance with the
- * License.
- *
- * You can obtain a copy of the License at legal/CDDLv1.0.txt. See the License for the
- * specific language governing permission and limitations under the License.
- *
- * When distributing Covered Software, include this CDDL Header Notice in each file and include
- * the License file at legal/CDDLv1.0.txt. If applicable, add the following below the CDDL
- * Header, with the fields enclosed by brackets [] replaced by your own identifying
- * information: "Portions Copyright [year] [name of copyright owner]".
- *
- * Copyright 2006-2008 Sun Microsystems, Inc.
- * Portions Copyright 2012-2016 ForgeRock AS.
- */
-package org.opends.server.schema;
-
-import static org.opends.server.schema.SchemaConstants.*;
-
-import org.forgerock.opendj.ldap.schema.Schema;
-import org.forgerock.opendj.ldap.schema.Syntax;
-import org.forgerock.opendj.server.config.server.AttributeSyntaxCfg;
-import org.opends.server.api.AttributeSyntax;
-
-
-/**
- * This class implements the fax attribute syntax.  This should be restricted to
- * holding only fax message contents, but we will accept any set of bytes.  It
- * will be treated much like the octet string attribute syntax.
- */
-public class FaxSyntax
-       extends AttributeSyntax<AttributeSyntaxCfg>
-{
-
-  /**
-   * Creates a new instance of this syntax.  Note that the only thing that
-   * should be done here is to invoke the default constructor for the
-   * superclass.  All initialization should be performed in the
-   * <CODE>initializeSyntax</CODE> method.
-   */
-  public FaxSyntax()
-  {
-    super();
-  }
-
-  /** {@inheritDoc} */
-  @Override
-  public Syntax getSDKSyntax(Schema schema)
-  {
-    return schema.getSyntax(SchemaConstants.SYNTAX_FAX_OID);
-  }
-
-  /**
-   * Retrieves the common name for this attribute syntax.
-   *
-   * @return  The common name for this attribute syntax.
-   */
-  @Override
-  public String getName()
-  {
-    return SYNTAX_FAX_NAME;
-  }
-
-  /**
-   * Retrieves the OID for this attribute syntax.
-   *
-   * @return  The OID for this attribute syntax.
-   */
-  @Override
-  public String getOID()
-  {
-    return SYNTAX_FAX_OID;
-  }
-
-  /**
-   * Retrieves a description for this attribute syntax.
-   *
-   * @return  A description for this attribute syntax.
-   */
-  @Override
-  public String getDescription()
-  {
-    return SYNTAX_FAX_DESCRIPTION;
-  }
-}
-
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/schema/GeneralizedTimeSyntax.java b/opendj-server-legacy/src/main/java/org/opends/server/schema/GeneralizedTimeSyntax.java
index 2852277..4fc037c 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/schema/GeneralizedTimeSyntax.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/schema/GeneralizedTimeSyntax.java
@@ -18,8 +18,7 @@
 package org.opends.server.schema;
 
 import static org.opends.messages.SchemaMessages.*;
-import static org.opends.server.schema.SchemaConstants.*;
-import static org.opends.server.util.ServerConstants.*;
+import static org.opends.server.util.ServerConstants.TIME_ZONE_UTC;
 
 import java.util.Calendar;
 import java.util.Date;
@@ -31,10 +30,6 @@
 import org.forgerock.opendj.ldap.ByteSequence;
 import org.forgerock.opendj.ldap.ByteString;
 import org.forgerock.opendj.ldap.ResultCode;
-import org.forgerock.opendj.ldap.schema.Schema;
-import org.forgerock.opendj.ldap.schema.Syntax;
-import org.forgerock.opendj.server.config.server.AttributeSyntaxCfg;
-import org.opends.server.api.AttributeSyntax;
 import org.opends.server.types.DirectoryException;
 
 /**
@@ -45,7 +40,6 @@
  * offset like "-0500" for representing values that are not in UTC.
  */
 public class GeneralizedTimeSyntax
-       extends AttributeSyntax<AttributeSyntaxCfg>
 {
   private static final LocalizedLogger logger = LocalizedLogger.getLoggerForThisClass();
 
@@ -54,57 +48,6 @@
       TimeZone.getTimeZone(TIME_ZONE_UTC);
 
   /**
-   * Creates a new instance of this syntax.  Note that the only thing that
-   * should be done here is to invoke the default constructor for the
-   * superclass.  All initialization should be performed in the
-   * <CODE>initializeSyntax</CODE> method.
-   */
-  public GeneralizedTimeSyntax()
-  {
-    super();
-  }
-
-  /** {@inheritDoc} */
-  @Override
-  public Syntax getSDKSyntax(Schema schema)
-  {
-    return schema.getSyntax(SchemaConstants.SYNTAX_GENERALIZED_TIME_OID);
-  }
-
-  /**
-   * Retrieves the common name for this attribute syntax.
-   *
-   * @return  The common name for this attribute syntax.
-   */
-  @Override
-  public String getName()
-  {
-    return SYNTAX_GENERALIZED_TIME_NAME;
-  }
-
-  /**
-   * Retrieves the OID for this attribute syntax.
-   *
-   * @return  The OID for this attribute syntax.
-   */
-  @Override
-  public String getOID()
-  {
-    return SYNTAX_GENERALIZED_TIME_OID;
-  }
-
-  /**
-   * Retrieves a description for this attribute syntax.
-   *
-   * @return  A description for this attribute syntax.
-   */
-  @Override
-  public String getDescription()
-  {
-    return SYNTAX_GENERALIZED_TIME_DESCRIPTION;
-  }
-
-  /**
    * Retrieves the generalized time representation of the provided date.
    *
    * @param  d  The date to retrieve in generalized time form.
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/schema/GuideSyntax.java b/opendj-server-legacy/src/main/java/org/opends/server/schema/GuideSyntax.java
deleted file mode 100644
index e9366c8..0000000
--- a/opendj-server-legacy/src/main/java/org/opends/server/schema/GuideSyntax.java
+++ /dev/null
@@ -1,377 +0,0 @@
-/*
- * The contents of this file are subject to the terms of the Common Development and
- * Distribution License (the License). You may not use this file except in compliance with the
- * License.
- *
- * You can obtain a copy of the License at legal/CDDLv1.0.txt. See the License for the
- * specific language governing permission and limitations under the License.
- *
- * When distributing Covered Software, include this CDDL Header Notice in each file and include
- * the License file at legal/CDDLv1.0.txt. If applicable, add the following below the CDDL
- * Header, with the fields enclosed by brackets [] replaced by your own identifying
- * information: "Portions Copyright [year] [name of copyright owner]".
- *
- * Copyright 2006-2008 Sun Microsystems, Inc.
- * Portions Copyright 2012-2016 ForgeRock AS.
- */
-package org.opends.server.schema;
-
-import org.forgerock.opendj.server.config.server.AttributeSyntaxCfg;
-import org.forgerock.opendj.ldap.schema.Schema;
-import org.forgerock.opendj.ldap.schema.Syntax;
-import org.opends.server.api.AttributeSyntax;
-import static org.opends.messages.SchemaMessages.*;
-
-import org.forgerock.i18n.LocalizableMessageBuilder;
-
-import static org.opends.server.schema.SchemaConstants.*;
-import static org.opends.server.util.StaticUtils.*;
-
-/**
- * This class implements the guide attribute syntax, which may be used to
- * provide criteria for generating search filters for entries, optionally tied
- * to a specified objectclass.
- */
-public class GuideSyntax
-       extends AttributeSyntax<AttributeSyntaxCfg>
-{
-
-  /**
-   * Creates a new instance of this syntax.  Note that the only thing that
-   * should be done here is to invoke the default constructor for the
-   * superclass.  All initialization should be performed in the
-   * <CODE>initializeSyntax</CODE> method.
-   */
-  public GuideSyntax()
-  {
-    super();
-  }
-
-  /** {@inheritDoc} */
-  @Override
-  public Syntax getSDKSyntax(Schema schema)
-  {
-    return schema.getSyntax(SchemaConstants.SYNTAX_GUIDE_OID);
-  }
-
-  /**
-   * Retrieves the common name for this attribute syntax.
-   *
-   * @return  The common name for this attribute syntax.
-   */
-  @Override
-  public String getName()
-  {
-    return SYNTAX_GUIDE_NAME;
-  }
-
-  /**
-   * Retrieves the OID for this attribute syntax.
-   *
-   * @return  The OID for this attribute syntax.
-   */
-  @Override
-  public String getOID()
-  {
-    return SYNTAX_GUIDE_OID;
-  }
-
-  /**
-   * Retrieves a description for this attribute syntax.
-   *
-   * @return  A description for this attribute syntax.
-   */
-  @Override
-  public String getDescription()
-  {
-    return SYNTAX_GUIDE_DESCRIPTION;
-  }
-
-  /**
-   * Determines whether the provided string represents a valid criteria
-   * according to the guide syntax.
-   *
-   * @param  criteria       The portion of the criteria for which to make the
-   *                        determination.
-   * @param  valueStr       The complete guide value provided by the client.
-   * @param  invalidReason  The buffer to which to append the reason that the
-   *                        criteria is invalid if a problem is found.
-   *
-   * @return  <CODE>true</CODE> if the provided string does contain a valid
-   *          criteria, or <CODE>false</CODE> if not.
-   */
-  public static boolean criteriaIsValid(String criteria, String valueStr,
-                                        LocalizableMessageBuilder invalidReason)
-  {
-    // See if the criteria starts with a '!'.  If so, then just evaluate
-    // everything after that as a criteria.
-    char c = criteria.charAt(0);
-    if (c == '!')
-    {
-      return criteriaIsValid(criteria.substring(1), valueStr, invalidReason);
-    }
-
-
-    // See if the criteria starts with a '('.  If so, then find the
-    // corresponding ')' and parse what's in between as a criteria.
-    if (c == '(')
-    {
-      int length = criteria.length();
-      int depth  = 1;
-
-      for (int i=1; i < length; i++)
-      {
-        c = criteria.charAt(i);
-        if (c == ')')
-        {
-          depth--;
-          if (depth == 0)
-          {
-            String subCriteria = criteria.substring(1, i);
-            if (! criteriaIsValid(subCriteria, valueStr, invalidReason))
-            {
-              return false;
-            }
-
-            // If we are at the end of the value, then it was valid.  Otherwise,
-            // the next character must be a pipe or an ampersand followed by
-            // another set of criteria.
-            if (i == (length-1))
-            {
-              return true;
-            }
-            else
-            {
-              c = criteria.charAt(i+1);
-              if (c == '|' || c == '&')
-              {
-                return criteriaIsValid(criteria.substring(i+2), valueStr,
-                                       invalidReason);
-              }
-              else
-              {
-                invalidReason.append(
-                        ERR_ATTR_SYNTAX_GUIDE_ILLEGAL_CHAR.get(
-                                valueStr, criteria, c, i+1));
-                return false;
-              }
-            }
-          }
-        }
-        else if (c == '(')
-        {
-          depth++;
-        }
-      }
-
-
-      // If we've gotten here, then we went through the entire value without
-      // finding the appropriate closing parenthesis.
-
-      invalidReason.append(ERR_ATTR_SYNTAX_GUIDE_MISSING_CLOSE_PAREN.get(
-              valueStr, criteria));
-      return false;
-    }
-
-
-    // See if the criteria starts with a '?'.  If so, then it must be either
-    // "?true" or "?false".
-    if (c == '?')
-    {
-      if (criteria.startsWith("?true"))
-      {
-        if (criteria.length() == 5)
-        {
-          return true;
-        }
-        else
-        {
-          // The only characters allowed next are a pipe or an ampersand.
-          c = criteria.charAt(5);
-          if (c == '|' || c == '&')
-          {
-            return criteriaIsValid(criteria.substring(6), valueStr,
-                                   invalidReason);
-          }
-          else
-          {
-            invalidReason.append(ERR_ATTR_SYNTAX_GUIDE_ILLEGAL_CHAR.get(
-                    valueStr, criteria, c, 5));
-            return false;
-          }
-        }
-      }
-      else if (criteria.startsWith("?false"))
-      {
-        if (criteria.length() == 6)
-        {
-          return true;
-        }
-        else
-        {
-          // The only characters allowed next are a pipe or an ampersand.
-          c = criteria.charAt(6);
-          if (c == '|' || c == '&')
-          {
-            return criteriaIsValid(criteria.substring(7), valueStr,
-                                   invalidReason);
-          }
-          else
-          {
-            invalidReason.append(ERR_ATTR_SYNTAX_GUIDE_ILLEGAL_CHAR.get(
-                    valueStr, criteria, c, 6));
-            return false;
-          }
-        }
-      }
-      else
-      {
-        invalidReason.append(ERR_ATTR_SYNTAX_GUIDE_INVALID_QUESTION_MARK.get(
-                valueStr, criteria));
-        return false;
-      }
-    }
-
-
-    // See if the criteria is either "true" or "false".  If so, then it is
-    // valid.
-    if (criteria.equals("true") || criteria.equals("false"))
-    {
-      return true;
-    }
-
-
-    // The only thing that will be allowed is an attribute type name or OID
-    // followed by a dollar sign and a match type.  Find the dollar sign and
-    // verify whether the value before it is a valid attribute type name or OID.
-    int dollarPos = criteria.indexOf('$');
-    if (dollarPos < 0)
-    {
-      invalidReason.append(ERR_ATTR_SYNTAX_GUIDE_NO_DOLLAR.get(
-              valueStr, criteria));
-      return false;
-    }
-    else if (dollarPos == 0)
-    {
-      invalidReason.append(ERR_ATTR_SYNTAX_GUIDE_NO_ATTR.get(
-              valueStr, criteria));
-      return false;
-    }
-    else if (dollarPos == (criteria.length()-1))
-    {
-      invalidReason.append(ERR_ATTR_SYNTAX_GUIDE_NO_MATCH_TYPE.get(
-              valueStr, criteria));
-      return false;
-    }
-    else
-    {
-      if (! isValidSchemaElement(criteria, 0, dollarPos, invalidReason))
-      {
-        return false;
-      }
-    }
-
-
-    // The substring immediately after the dollar sign must be one of "eq",
-    // "substr", "ge", "le", or "approx".  It may be followed by the end of the
-    // value, a pipe, or an ampersand.
-    int endPos;
-    c = criteria.charAt(dollarPos+1);
-    switch (c)
-    {
-      case 'e':
-        if (criteria.startsWith("eq", dollarPos+1))
-        {
-          endPos = dollarPos + 3;
-          break;
-        }
-        else
-        {
-          invalidReason.append(ERR_ATTR_SYNTAX_GUIDE_INVALID_MATCH_TYPE.get(
-                  valueStr, criteria, dollarPos+1));
-          return false;
-        }
-
-      case 's':
-        if (criteria.startsWith("substr", dollarPos+1))
-        {
-          endPos = dollarPos + 7;
-          break;
-        }
-        else
-        {
-          invalidReason.append(ERR_ATTR_SYNTAX_GUIDE_INVALID_MATCH_TYPE.get(
-                  valueStr, criteria, dollarPos+1));
-          return false;
-        }
-
-      case 'g':
-        if (criteria.startsWith("ge", dollarPos+1))
-        {
-          endPos = dollarPos + 3;
-          break;
-        }
-        else
-        {
-          invalidReason.append(ERR_ATTR_SYNTAX_GUIDE_INVALID_MATCH_TYPE.get(
-                  valueStr, criteria, dollarPos+1));
-          return false;
-        }
-
-      case 'l':
-        if (criteria.startsWith("le", dollarPos+1))
-        {
-          endPos = dollarPos + 3;
-          break;
-        }
-        else
-        {
-          invalidReason.append(ERR_ATTR_SYNTAX_GUIDE_INVALID_MATCH_TYPE.get(
-                  valueStr, criteria, dollarPos+1));
-          return false;
-        }
-
-      case 'a':
-        if (criteria.startsWith("approx", dollarPos+1))
-        {
-          endPos = dollarPos + 7;
-          break;
-        }
-        else
-        {
-          invalidReason.append(ERR_ATTR_SYNTAX_GUIDE_INVALID_MATCH_TYPE.get(
-                  valueStr, criteria, dollarPos+1));
-          return false;
-        }
-
-      default:
-        invalidReason.append(ERR_ATTR_SYNTAX_GUIDE_INVALID_MATCH_TYPE.get(
-                valueStr, criteria, dollarPos+1));
-        return false;
-    }
-
-
-    // See if we are at the end of the value.  If so, then it is valid.
-    // Otherwise, the next character must be a pipe or an ampersand.
-    if (endPos >= criteria.length())
-    {
-      return true;
-    }
-    else
-    {
-      c = criteria.charAt(endPos);
-      if (c == '|' || c == '&')
-      {
-        return criteriaIsValid(criteria.substring(endPos+1), valueStr,
-                               invalidReason);
-      }
-      else
-      {
-        invalidReason.append(ERR_ATTR_SYNTAX_GUIDE_ILLEGAL_CHAR.get(
-                valueStr, criteria, c, endPos));
-        return false;
-      }
-    }
-  }
-}
-
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/schema/IA5StringSyntax.java b/opendj-server-legacy/src/main/java/org/opends/server/schema/IA5StringSyntax.java
deleted file mode 100644
index 965186e..0000000
--- a/opendj-server-legacy/src/main/java/org/opends/server/schema/IA5StringSyntax.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
- * The contents of this file are subject to the terms of the Common Development and
- * Distribution License (the License). You may not use this file except in compliance with the
- * License.
- *
- * You can obtain a copy of the License at legal/CDDLv1.0.txt. See the License for the
- * specific language governing permission and limitations under the License.
- *
- * When distributing Covered Software, include this CDDL Header Notice in each file and include
- * the License file at legal/CDDLv1.0.txt. If applicable, add the following below the CDDL
- * Header, with the fields enclosed by brackets [] replaced by your own identifying
- * information: "Portions Copyright [year] [name of copyright owner]".
- *
- * Copyright 2006-2008 Sun Microsystems, Inc.
- * Portions Copyright 2012-2016 ForgeRock AS.
- */
-package org.opends.server.schema;
-
-import static org.opends.server.schema.SchemaConstants.*;
-
-import org.forgerock.opendj.ldap.schema.Schema;
-import org.forgerock.opendj.ldap.schema.Syntax;
-import org.forgerock.opendj.server.config.server.AttributeSyntaxCfg;
-import org.opends.server.api.AttributeSyntax;
-
-/**
- * This class implements the IA5 string attribute syntax, which is simply a
- * set of ASCII characters.  By default, they will be treated in a
- * case-insensitive manner, and equality, ordering, substring, and approximate
- * matching will be allowed.
- */
-public class IA5StringSyntax
-       extends AttributeSyntax<AttributeSyntaxCfg>
-{
-
-  /**
-   * Creates a new instance of this syntax.  Note that the only thing that
-   * should be done here is to invoke the default constructor for the
-   * superclass.  All initialization should be performed in the
-   * <CODE>initializeSyntax</CODE> method.
-   */
-  public IA5StringSyntax()
-  {
-    super();
-  }
-
-  /** {@inheritDoc} */
-  @Override
-  public Syntax getSDKSyntax(Schema schema)
-  {
-    return schema.getSyntax(SchemaConstants.SYNTAX_IA5_STRING_OID);
-  }
-
-  /**
-   * Retrieves the common name for this attribute syntax.
-   *
-   * @return  The common name for this attribute syntax.
-   */
-  @Override
-  public String getName()
-  {
-    return SYNTAX_IA5_STRING_NAME;
-  }
-
-  /**
-   * Retrieves the OID for this attribute syntax.
-   *
-   * @return  The OID for this attribute syntax.
-   */
-  @Override
-  public String getOID()
-  {
-    return SYNTAX_IA5_STRING_OID;
-  }
-
-  /**
-   * Retrieves a description for this attribute syntax.
-   *
-   * @return  A description for this attribute syntax.
-   */
-  @Override
-  public String getDescription()
-  {
-    return SYNTAX_IA5_STRING_DESCRIPTION;
-  }
-}
-
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/schema/IntegerSyntax.java b/opendj-server-legacy/src/main/java/org/opends/server/schema/IntegerSyntax.java
deleted file mode 100644
index 299413b..0000000
--- a/opendj-server-legacy/src/main/java/org/opends/server/schema/IntegerSyntax.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
- * The contents of this file are subject to the terms of the Common Development and
- * Distribution License (the License). You may not use this file except in compliance with the
- * License.
- *
- * You can obtain a copy of the License at legal/CDDLv1.0.txt. See the License for the
- * specific language governing permission and limitations under the License.
- *
- * When distributing Covered Software, include this CDDL Header Notice in each file and include
- * the License file at legal/CDDLv1.0.txt. If applicable, add the following below the CDDL
- * Header, with the fields enclosed by brackets [] replaced by your own identifying
- * information: "Portions Copyright [year] [name of copyright owner]".
- *
- * Copyright 2006-2008 Sun Microsystems, Inc.
- * Portions Copyright 2012-2016 ForgeRock AS.
- */
-package org.opends.server.schema;
-
-import static org.opends.server.schema.SchemaConstants.*;
-
-import org.forgerock.opendj.ldap.schema.Schema;
-import org.forgerock.opendj.ldap.schema.Syntax;
-import org.forgerock.opendj.server.config.server.AttributeSyntaxCfg;
-import org.opends.server.api.AttributeSyntax;
-
-
-/**
- * This class defines the integer attribute syntax, which holds an
- * arbitrarily-long integer value.  Equality, ordering, and substring matching
- * will be allowed by default.
- */
-public class IntegerSyntax
-       extends AttributeSyntax<AttributeSyntaxCfg>
-{
-
-  /**
-   * Creates a new instance of this syntax. Note that the only thing
-   * that should be done here is to invoke the default constructor for
-   * the superclass. All initialization should be performed in the
-   * <CODE>initializeSyntax</CODE> method.
-   */
-  public IntegerSyntax()
-  {
-    super();
-  }
-
-  /** {@inheritDoc} */
-  @Override
-  public Syntax getSDKSyntax(Schema schema)
-  {
-    return schema.getSyntax(SchemaConstants.SYNTAX_INTEGER_OID);
-  }
-
-  /**
-   * Retrieves the common name for this attribute syntax.
-   *
-   * @return  The common name for this attribute syntax.
-   */
-  @Override
-  public String getName()
-  {
-    return SYNTAX_INTEGER_NAME;
-  }
-
-  /**
-   * Retrieves the OID for this attribute syntax.
-   *
-   * @return  The OID for this attribute syntax.
-   */
-  @Override
-  public String getOID()
-  {
-    return SYNTAX_INTEGER_OID;
-  }
-
-  /**
-   * Retrieves a description for this attribute syntax.
-   *
-   * @return  A description for this attribute syntax.
-   */
-  @Override
-  public String getDescription()
-  {
-    return SYNTAX_INTEGER_DESCRIPTION;
-  }
-}
-
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/schema/LDAPSyntaxDescriptionSyntax.java b/opendj-server-legacy/src/main/java/org/opends/server/schema/LDAPSyntaxDescriptionSyntax.java
deleted file mode 100644
index c8d2c6d..0000000
--- a/opendj-server-legacy/src/main/java/org/opends/server/schema/LDAPSyntaxDescriptionSyntax.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * The contents of this file are subject to the terms of the Common Development and
- * Distribution License (the License). You may not use this file except in compliance with the
- * License.
- *
- * You can obtain a copy of the License at legal/CDDLv1.0.txt. See the License for the
- * specific language governing permission and limitations under the License.
- *
- * When distributing Covered Software, include this CDDL Header Notice in each file and include
- * the License file at legal/CDDLv1.0.txt. If applicable, add the following below the CDDL
- * Header, with the fields enclosed by brackets [] replaced by your own identifying
- * information: "Portions Copyright [year] [name of copyright owner]".
- *
- * Copyright 2006-2009 Sun Microsystems, Inc.
- * Portions Copyright 2011-2016 ForgeRock AS.
- */
-package org.opends.server.schema;
-
-import static org.opends.server.schema.SchemaConstants.*;
-
-import org.forgerock.opendj.ldap.schema.Syntax;
-import org.forgerock.opendj.server.config.server.AttributeSyntaxCfg;
-import org.opends.server.api.AttributeSyntax;
-
-/**
- * This class defines the LDAP syntax description syntax, which is used to
- * hold attribute syntax definitions in the server schema.  The format of this
- * syntax is defined in RFC 2252.
- */
-public class LDAPSyntaxDescriptionSyntax
-       extends AttributeSyntax<AttributeSyntaxCfg>
-{
-  /**
-   * Creates a new instance of this syntax.  Note that the only thing that
-   * should be done here is to invoke the default constructor for the
-   * superclass.  All initialization should be performed in the
-   * <CODE>initializeSyntax</CODE> method.
-   */
-  public LDAPSyntaxDescriptionSyntax()
-  {
-    super();
-  }
-
-  @Override
-  public Syntax getSDKSyntax(org.forgerock.opendj.ldap.schema.Schema schema)
-  {
-    return schema.getSyntax(SchemaConstants.SYNTAX_LDAP_SYNTAX_OID);
-  }
-
-  @Override
-  public String getName()
-  {
-    return SYNTAX_LDAP_SYNTAX_NAME;
-  }
-
-  @Override
-  public String getOID()
-  {
-    return SYNTAX_LDAP_SYNTAX_OID;
-  }
-
-  @Override
-  public String getDescription()
-  {
-    return SYNTAX_LDAP_SYNTAX_DESCRIPTION;
-  }
-}
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/schema/MatchingRuleSyntax.java b/opendj-server-legacy/src/main/java/org/opends/server/schema/MatchingRuleSyntax.java
deleted file mode 100644
index c872bcd..0000000
--- a/opendj-server-legacy/src/main/java/org/opends/server/schema/MatchingRuleSyntax.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*
- * The contents of this file are subject to the terms of the Common Development and
- * Distribution License (the License). You may not use this file except in compliance with the
- * License.
- *
- * You can obtain a copy of the License at legal/CDDLv1.0.txt. See the License for the
- * specific language governing permission and limitations under the License.
- *
- * When distributing Covered Software, include this CDDL Header Notice in each file and include
- * the License file at legal/CDDLv1.0.txt. If applicable, add the following below the CDDL
- * Header, with the fields enclosed by brackets [] replaced by your own identifying
- * information: "Portions Copyright [year] [name of copyright owner]".
- *
- * Copyright 2006-2009 Sun Microsystems, Inc.
- * Portions Copyright 2011-2016 ForgeRock AS.
- */
-package org.opends.server.schema;
-import static org.opends.server.schema.SchemaConstants.*;
-
-import org.forgerock.opendj.ldap.schema.Schema;
-import org.forgerock.opendj.ldap.schema.Syntax;
-import org.forgerock.opendj.server.config.server.AttributeSyntaxCfg;
-import org.opends.server.api.AttributeSyntax;
-
-/**
- * This class implements the matching rule description syntax, which is used to
- * hold matching rule definitions in the server schema.  The format of this
- * syntax is defined in RFC 2252.
- */
-public class MatchingRuleSyntax
-       extends AttributeSyntax<AttributeSyntaxCfg>
-{
-  /**
-   * Creates a new instance of this syntax.  Note that the only thing that
-   * should be done here is to invoke the default constructor for the
-   * superclass.  All initialization should be performed in the
-   * <CODE>initializeSyntax</CODE> method.
-   */
-  public MatchingRuleSyntax()
-  {
-    super();
-  }
-
-  /** {@inheritDoc} */
-  @Override
-  public Syntax getSDKSyntax(Schema schema)
-  {
-    return schema.getSyntax(SchemaConstants.SYNTAX_MATCHING_RULE_OID);
-  }
-
-  /**
-   * Retrieves the common name for this attribute syntax.
-   *
-   * @return  The common name for this attribute syntax.
-   */
-  @Override
-  public String getName()
-  {
-    return SYNTAX_MATCHING_RULE_NAME;
-  }
-
-  /**
-   * Retrieves the OID for this attribute syntax.
-   *
-   * @return  The OID for this attribute syntax.
-   */
-  @Override
-  public String getOID()
-  {
-    return SYNTAX_MATCHING_RULE_OID;
-  }
-
-  /**
-   * Retrieves a description for this attribute syntax.
-   *
-   * @return  A description for this attribute syntax.
-   */
-  @Override
-  public String getDescription()
-  {
-    return SYNTAX_MATCHING_RULE_DESCRIPTION;
-  }
-}
-
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/schema/MatchingRuleUseSyntax.java b/opendj-server-legacy/src/main/java/org/opends/server/schema/MatchingRuleUseSyntax.java
deleted file mode 100644
index 07fd607..0000000
--- a/opendj-server-legacy/src/main/java/org/opends/server/schema/MatchingRuleUseSyntax.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * The contents of this file are subject to the terms of the Common Development and
- * Distribution License (the License). You may not use this file except in compliance with the
- * License.
- *
- * You can obtain a copy of the License at legal/CDDLv1.0.txt. See the License for the
- * specific language governing permission and limitations under the License.
- *
- * When distributing Covered Software, include this CDDL Header Notice in each file and include
- * the License file at legal/CDDLv1.0.txt. If applicable, add the following below the CDDL
- * Header, with the fields enclosed by brackets [] replaced by your own identifying
- * information: "Portions Copyright [year] [name of copyright owner]".
- *
- * Copyright 2006-2009 Sun Microsystems, Inc.
- * Portions Copyright 2011-2016 ForgeRock AS.
- */
-package org.opends.server.schema;
-import static org.opends.server.schema.SchemaConstants.*;
-import org.forgerock.opendj.ldap.schema.Syntax;
-import org.forgerock.opendj.server.config.server.AttributeSyntaxCfg;
-import org.opends.server.api.AttributeSyntax;
-
-/**
- * This class implements the matching rule use description syntax, which is used
- * to hold matching rule use definitions in the server schema.  The format of
- * this syntax is defined in RFC 2252.
- */
-public class MatchingRuleUseSyntax
-       extends AttributeSyntax<AttributeSyntaxCfg>
-{
-
-  /**
-   * Creates a new instance of this syntax.  Note that the only thing that
-   * should be done here is to invoke the default constructor for the
-   * superclass.  All initialization should be performed in the
-   * <CODE>initializeSyntax</CODE> method.
-   */
-  public MatchingRuleUseSyntax()
-  {
-    super();
-  }
-
-  /** {@inheritDoc} */
-  @Override
-  public Syntax getSDKSyntax(org.forgerock.opendj.ldap.schema.Schema schema)
-  {
-    return schema.getSyntax(SchemaConstants.SYNTAX_MATCHING_RULE_USE_OID);
-  }
-
-  /** {@inheritDoc} */
-  @Override
-  public String getName()
-  {
-    return SYNTAX_MATCHING_RULE_USE_NAME;
-  }
-
-  /** {@inheritDoc} */
-  @Override
-  public String getOID()
-  {
-    return SYNTAX_MATCHING_RULE_USE_OID;
-  }
-
-  /** {@inheritDoc} */
-  @Override
-  public String getDescription()
-  {
-    return SYNTAX_MATCHING_RULE_USE_DESCRIPTION;
-  }
-}
-
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/schema/NameAndOptionalUIDSyntax.java b/opendj-server-legacy/src/main/java/org/opends/server/schema/NameAndOptionalUIDSyntax.java
deleted file mode 100644
index 188e205..0000000
--- a/opendj-server-legacy/src/main/java/org/opends/server/schema/NameAndOptionalUIDSyntax.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
- * The contents of this file are subject to the terms of the Common Development and
- * Distribution License (the License). You may not use this file except in compliance with the
- * License.
- *
- * You can obtain a copy of the License at legal/CDDLv1.0.txt. See the License for the
- * specific language governing permission and limitations under the License.
- *
- * When distributing Covered Software, include this CDDL Header Notice in each file and include
- * the License file at legal/CDDLv1.0.txt. If applicable, add the following below the CDDL
- * Header, with the fields enclosed by brackets [] replaced by your own identifying
- * information: "Portions Copyright [year] [name of copyright owner]".
- *
- * Copyright 2006-2008 Sun Microsystems, Inc.
- * Portions Copyright 2012-2016 ForgeRock AS.
- */
-package org.opends.server.schema;
-
-import static org.opends.server.schema.SchemaConstants.*;
-
-import org.forgerock.opendj.ldap.schema.Schema;
-import org.forgerock.opendj.ldap.schema.Syntax;
-import org.forgerock.opendj.server.config.server.AttributeSyntaxCfg;
-import org.opends.server.api.AttributeSyntax;
-
-/**
- * This class implements the name and optional UID attribute syntax, which holds
- * values consisting of a DN, optionally followed by an octothorpe (#) and a bit
- * string value.
- */
-public class NameAndOptionalUIDSyntax
-       extends AttributeSyntax<AttributeSyntaxCfg>
-{
-  /**
-   * Creates a new instance of this syntax.  Note that the only thing that
-   * should be done here is to invoke the default constructor for the
-   * superclass.  All initialization should be performed in the
-   * <CODE>initializeSyntax</CODE> method.
-   */
-  public NameAndOptionalUIDSyntax()
-  {
-    super();
-  }
-
-  /** {@inheritDoc} */
-  @Override
-  public Syntax getSDKSyntax(Schema schema)
-  {
-    return schema.getSyntax(SchemaConstants.SYNTAX_NAME_AND_OPTIONAL_UID_OID);
-  }
-
-  /**
-   * Retrieves the common name for this attribute syntax.
-   *
-   * @return  The common name for this attribute syntax.
-   */
-  @Override
-  public String getName()
-  {
-    return SYNTAX_NAME_AND_OPTIONAL_UID_NAME;
-  }
-
-  /**
-   * Retrieves the OID for this attribute syntax.
-   *
-   * @return  The OID for this attribute syntax.
-   */
-  @Override
-  public String getOID()
-  {
-    return SYNTAX_NAME_AND_OPTIONAL_UID_OID;
-  }
-
-  /**
-   * Retrieves a description for this attribute syntax.
-   *
-   * @return  A description for this attribute syntax.
-   */
-  @Override
-  public String getDescription()
-  {
-    return SYNTAX_NAME_AND_OPTIONAL_UID_DESCRIPTION;
-  }
-}
-
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/schema/NameFormSyntax.java b/opendj-server-legacy/src/main/java/org/opends/server/schema/NameFormSyntax.java
deleted file mode 100644
index 6194c15..0000000
--- a/opendj-server-legacy/src/main/java/org/opends/server/schema/NameFormSyntax.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * The contents of this file are subject to the terms of the Common Development and
- * Distribution License (the License). You may not use this file except in compliance with the
- * License.
- *
- * You can obtain a copy of the License at legal/CDDLv1.0.txt. See the License for the
- * specific language governing permission and limitations under the License.
- *
- * When distributing Covered Software, include this CDDL Header Notice in each file and include
- * the License file at legal/CDDLv1.0.txt. If applicable, add the following below the CDDL
- * Header, with the fields enclosed by brackets [] replaced by your own identifying
- * information: "Portions Copyright [year] [name of copyright owner]".
- *
- * Copyright 2006-2009 Sun Microsystems, Inc.
- * Portions Copyright 2011-2016 ForgeRock AS.
- */
-package org.opends.server.schema;
-
-import static org.opends.server.schema.SchemaConstants.*;
-
-import org.forgerock.opendj.ldap.schema.Syntax;
-import org.forgerock.opendj.server.config.server.AttributeSyntaxCfg;
-import org.opends.server.api.AttributeSyntax;
-
-/**
- * This class implements the name form description syntax, which is used to
- * hold name form definitions in the server schema.  The format of this syntax
- * is defined in RFC 2252.
- */
-public class NameFormSyntax
-       extends AttributeSyntax<AttributeSyntaxCfg>
-{
-
-  /**
-   * Creates a new instance of this syntax.  Note that the only thing that
-   * should be done here is to invoke the default constructor for the
-   * superclass.  All initialization should be performed in the
-   * <CODE>initializeSyntax</CODE> method.
-   */
-  public NameFormSyntax()
-  {
-    super();
-  }
-
-  /** {@inheritDoc} */
-  @Override
-  public Syntax getSDKSyntax(org.forgerock.opendj.ldap.schema.Schema schema)
-  {
-    return schema.getSyntax(SchemaConstants.SYNTAX_NAME_FORM_OID);
-  }
-
-  /** {@inheritDoc} */
-  @Override
-  public String getName()
-  {
-    return SYNTAX_NAME_FORM_NAME;
-  }
-
-  /** {@inheritDoc} */
-  @Override
-  public String getOID()
-  {
-    return SYNTAX_NAME_FORM_OID;
-  }
-
-  /** {@inheritDoc} */
-  @Override
-  public String getDescription()
-  {
-    return SYNTAX_NAME_FORM_DESCRIPTION;
-  }
-}
-
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/schema/NumericStringSyntax.java b/opendj-server-legacy/src/main/java/org/opends/server/schema/NumericStringSyntax.java
deleted file mode 100644
index ca26285..0000000
--- a/opendj-server-legacy/src/main/java/org/opends/server/schema/NumericStringSyntax.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*
- * The contents of this file are subject to the terms of the Common Development and
- * Distribution License (the License). You may not use this file except in compliance with the
- * License.
- *
- * You can obtain a copy of the License at legal/CDDLv1.0.txt. See the License for the
- * specific language governing permission and limitations under the License.
- *
- * When distributing Covered Software, include this CDDL Header Notice in each file and include
- * the License file at legal/CDDLv1.0.txt. If applicable, add the following below the CDDL
- * Header, with the fields enclosed by brackets [] replaced by your own identifying
- * information: "Portions Copyright [year] [name of copyright owner]".
- *
- * Copyright 2006-2008 Sun Microsystems, Inc.
- * Portions Copyright 2012-2016 ForgeRock AS.
- */
-package org.opends.server.schema;
-
-import static org.opends.server.schema.SchemaConstants.*;
-
-import org.forgerock.opendj.ldap.schema.Schema;
-import org.forgerock.opendj.ldap.schema.Syntax;
-import org.forgerock.opendj.server.config.server.AttributeSyntaxCfg;
-import org.opends.server.api.AttributeSyntax;
-
-/**
- * This class implements the numeric string attribute syntax, which may be hold
- * one or more numeric digits and/or spaces.  Equality, ordering, and substring
- * matching will be allowed by default.
- */
-public class NumericStringSyntax
-       extends AttributeSyntax<AttributeSyntaxCfg>
-{
-
-  /**
-   * Creates a new instance of this syntax.  Note that the only thing that
-   * should be done here is to invoke the default constructor for the
-   * superclass.  All initialization should be performed in the
-   * <CODE>initializeSyntax</CODE> method.
-   */
-  public NumericStringSyntax()
-  {
-    super();
-  }
-
-  /** {@inheritDoc} */
-  @Override
-  public Syntax getSDKSyntax(Schema schema)
-  {
-    return schema.getSyntax(SchemaConstants.SYNTAX_NUMERIC_STRING_OID);
-  }
-
-  /**
-   * Retrieves the common name for this attribute syntax.
-   *
-   * @return  The common name for this attribute syntax.
-   */
-  @Override
-  public String getName()
-  {
-    return SYNTAX_NUMERIC_STRING_NAME;
-  }
-
-  /**
-   * Retrieves the OID for this attribute syntax.
-   *
-   * @return  The OID for this attribute syntax.
-   */
-  @Override
-  public String getOID()
-  {
-    return SYNTAX_NUMERIC_STRING_OID;
-  }
-
-  /**
-   * Retrieves a description for this attribute syntax.
-   *
-   * @return  A description for this attribute syntax.
-   */
-  @Override
-  public String getDescription()
-  {
-    return SYNTAX_NUMERIC_STRING_DESCRIPTION;
-  }
-}
-
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/schema/OIDSyntax.java b/opendj-server-legacy/src/main/java/org/opends/server/schema/OIDSyntax.java
deleted file mode 100644
index cd3d729..0000000
--- a/opendj-server-legacy/src/main/java/org/opends/server/schema/OIDSyntax.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*
- * The contents of this file are subject to the terms of the Common Development and
- * Distribution License (the License). You may not use this file except in compliance with the
- * License.
- *
- * You can obtain a copy of the License at legal/CDDLv1.0.txt. See the License for the
- * specific language governing permission and limitations under the License.
- *
- * When distributing Covered Software, include this CDDL Header Notice in each file and include
- * the License file at legal/CDDLv1.0.txt. If applicable, add the following below the CDDL
- * Header, with the fields enclosed by brackets [] replaced by your own identifying
- * information: "Portions Copyright [year] [name of copyright owner]".
- *
- * Copyright 2006-2008 Sun Microsystems, Inc.
- * Portions Copyright 2012-2016 ForgeRock AS.
- */
-package org.opends.server.schema;
-
-import static org.opends.server.schema.SchemaConstants.*;
-
-import org.forgerock.opendj.ldap.schema.Schema;
-import org.forgerock.opendj.ldap.schema.Syntax;
-import org.forgerock.opendj.server.config.server.AttributeSyntaxCfg;
-import org.opends.server.api.AttributeSyntax;
-
-
-/**
- * This class defines the OID syntax, which holds either an identifier name or
- * a numeric OID.  Equality and substring matching will be allowed by default.
- */
-public class OIDSyntax
-       extends AttributeSyntax<AttributeSyntaxCfg>
-{
-
-  /**
-   * Creates a new instance of this syntax.  Note that the only thing that
-   * should be done here is to invoke the default constructor for the
-   * superclass.  All initialization should be performed in the
-   * <CODE>initializeSyntax</CODE> method.
-   */
-  public OIDSyntax()
-  {
-    super();
-  }
-
-  /** {@inheritDoc} */
-  @Override
-  public Syntax getSDKSyntax(Schema schema)
-  {
-    return schema.getSyntax(SchemaConstants.SYNTAX_OID_OID);
-  }
-
-  /**
-   * Retrieves the common name for this attribute syntax.
-   *
-   * @return  The common name for this attribute syntax.
-   */
-  @Override
-  public String getName()
-  {
-    return SYNTAX_OID_NAME;
-  }
-
-  /**
-   * Retrieves the OID for this attribute syntax.
-   *
-   * @return  The OID for this attribute syntax.
-   */
-  @Override
-  public String getOID()
-  {
-    return SYNTAX_OID_OID;
-  }
-
-  /**
-   * Retrieves a description for this attribute syntax.
-   *
-   * @return  A description for this attribute syntax.
-   */
-  @Override
-  public String getDescription()
-  {
-    return SYNTAX_OID_DESCRIPTION;
-  }
-}
-
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/schema/ObjectClassSyntax.java b/opendj-server-legacy/src/main/java/org/opends/server/schema/ObjectClassSyntax.java
deleted file mode 100644
index 83d20e1..0000000
--- a/opendj-server-legacy/src/main/java/org/opends/server/schema/ObjectClassSyntax.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- * The contents of this file are subject to the terms of the Common Development and
- * Distribution License (the License). You may not use this file except in compliance with the
- * License.
- *
- * You can obtain a copy of the License at legal/CDDLv1.0.txt. See the License for the
- * specific language governing permission and limitations under the License.
- *
- * When distributing Covered Software, include this CDDL Header Notice in each file and include
- * the License file at legal/CDDLv1.0.txt. If applicable, add the following below the CDDL
- * Header, with the fields enclosed by brackets [] replaced by your own identifying
- * information: "Portions Copyright [year] [name of copyright owner]".
- *
- * Copyright 2006-2010 Sun Microsystems, Inc.
- * Portions Copyright 2012-2016 ForgeRock AS.
- */
-package org.opends.server.schema;
-
-import static org.opends.server.schema.SchemaConstants.*;
-
-import org.forgerock.opendj.ldap.schema.Schema;
-import org.forgerock.opendj.ldap.schema.Syntax;
-import org.forgerock.opendj.server.config.server.AttributeSyntaxCfg;
-import org.opends.server.api.AttributeSyntax;
-
-/**
- * This class implements the object class description syntax, which is used to
- * hold objectclass definitions in the server schema.  The format of this
- * syntax is defined in RFC 2252.
- */
-public class ObjectClassSyntax
-       extends AttributeSyntax<AttributeSyntaxCfg>
-{
-  /**
-   * Creates a new instance of this syntax.  Note that the only thing that
-   * should be done here is to invoke the default constructor for the superclass.
-   */
-  public ObjectClassSyntax()
-  {
-    super();
-  }
-
-  @Override
-  public Syntax getSDKSyntax(Schema schema)
-  {
-    return schema.getSyntax(SchemaConstants.SYNTAX_OBJECTCLASS_OID);
-  }
-
-  @Override
-  public String getName()
-  {
-    return SYNTAX_OBJECTCLASS_NAME;
-  }
-
-  @Override
-  public String getOID()
-  {
-    return SYNTAX_OBJECTCLASS_OID;
-  }
-
-  @Override
-  public String getDescription()
-  {
-    return SYNTAX_OBJECTCLASS_DESCRIPTION;
-  }
-}
\ No newline at end of file
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/schema/OctetStringSyntax.java b/opendj-server-legacy/src/main/java/org/opends/server/schema/OctetStringSyntax.java
deleted file mode 100644
index e3ab988..0000000
--- a/opendj-server-legacy/src/main/java/org/opends/server/schema/OctetStringSyntax.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
- * The contents of this file are subject to the terms of the Common Development and
- * Distribution License (the License). You may not use this file except in compliance with the
- * License.
- *
- * You can obtain a copy of the License at legal/CDDLv1.0.txt. See the License for the
- * specific language governing permission and limitations under the License.
- *
- * When distributing Covered Software, include this CDDL Header Notice in each file and include
- * the License file at legal/CDDLv1.0.txt. If applicable, add the following below the CDDL
- * Header, with the fields enclosed by brackets [] replaced by your own identifying
- * information: "Portions Copyright [year] [name of copyright owner]".
- *
- * Copyright 2006-2008 Sun Microsystems, Inc.
- * Portions Copyright 2012-2016 ForgeRock AS.
- */
-package org.opends.server.schema;
-
-import static org.opends.server.schema.SchemaConstants.*;
-
-import org.forgerock.opendj.ldap.schema.Schema;
-import org.forgerock.opendj.ldap.schema.Syntax;
-import org.forgerock.opendj.server.config.server.AttributeSyntaxCfg;
-import org.opends.server.api.AttributeSyntax;
-
-
-/**
- * This class implements the octet string attribute syntax, which is equivalent
- * to the binary syntax and should be considered a replacement for it.
- * Equality, ordering, and substring matching will be allowed by default.
- */
-public class OctetStringSyntax
-       extends AttributeSyntax<AttributeSyntaxCfg>
-{
-
-  /**
-   * Creates a new instance of this syntax.  Note that the only thing that
-   * should be done here is to invoke the default constructor for the
-   * superclass.  All initialization should be performed in the
-   * <CODE>initializeSyntax</CODE> method.
-   */
-  public OctetStringSyntax()
-  {
-    super();
-  }
-
-  /** {@inheritDoc} */
-  @Override
-  public Syntax getSDKSyntax(Schema schema)
-  {
-    return schema.getSyntax(SchemaConstants.SYNTAX_OCTET_STRING_OID);
-  }
-
-  /**
-   * Retrieves the common name for this attribute syntax.
-   *
-   * @return  The common name for this attribute syntax.
-   */
-  @Override
-  public String getName()
-  {
-    return SYNTAX_OCTET_STRING_NAME;
-  }
-
-  /**
-   * Retrieves the OID for this attribute syntax.
-   *
-   * @return  The OID for this attribute syntax.
-   */
-  @Override
-  public String getOID()
-  {
-    return SYNTAX_OCTET_STRING_OID;
-  }
-
-  /**
-   * Retrieves a description for this attribute syntax.
-   *
-   * @return  A description for this attribute syntax.
-   */
-  @Override
-  public String getDescription()
-  {
-    return SYNTAX_OCTET_STRING_DESCRIPTION;
-  }
-}
-
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/schema/OtherMailboxSyntax.java b/opendj-server-legacy/src/main/java/org/opends/server/schema/OtherMailboxSyntax.java
deleted file mode 100644
index 779a1a3..0000000
--- a/opendj-server-legacy/src/main/java/org/opends/server/schema/OtherMailboxSyntax.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/*
- * The contents of this file are subject to the terms of the Common Development and
- * Distribution License (the License). You may not use this file except in compliance with the
- * License.
- *
- * You can obtain a copy of the License at legal/CDDLv1.0.txt. See the License for the
- * specific language governing permission and limitations under the License.
- *
- * When distributing Covered Software, include this CDDL Header Notice in each file and include
- * the License file at legal/CDDLv1.0.txt. If applicable, add the following below the CDDL
- * Header, with the fields enclosed by brackets [] replaced by your own identifying
- * information: "Portions Copyright [year] [name of copyright owner]".
- *
- * Copyright 2006-2008 Sun Microsystems, Inc.
- * Portions Copyright 2012-2016 ForgeRock AS.
- */
-package org.opends.server.schema;
-
-import static org.opends.server.schema.SchemaConstants.*;
-
-import org.forgerock.opendj.ldap.schema.Schema;
-import org.forgerock.opendj.ldap.schema.Syntax;
-import org.forgerock.opendj.server.config.server.AttributeSyntaxCfg;
-import org.opends.server.api.AttributeSyntax;
-
-
-/**
- * This class implements the other mailbox attribute syntax, which consists of a
- * printable string component (the mailbox type) followed by a dollar sign and
- * an IA5 string component (the mailbox).  Equality and substring matching will
- * be allowed by default.
- */
-public class OtherMailboxSyntax
-       extends AttributeSyntax<AttributeSyntaxCfg>
-{
-
-  /**
-   * Creates a new instance of this syntax.  Note that the only thing that
-   * should be done here is to invoke the default constructor for the
-   * superclass.  All initialization should be performed in the
-   * <CODE>initializeSyntax</CODE> method.
-   */
-  public OtherMailboxSyntax()
-  {
-    super();
-  }
-
-  /** {@inheritDoc} */
-  @Override
-  public Syntax getSDKSyntax(Schema schema)
-  {
-    return schema.getSyntax(SchemaConstants.SYNTAX_OTHER_MAILBOX_OID);
-  }
-
-  /**
-   * Retrieves the common name for this attribute syntax.
-   *
-   * @return  The common name for this attribute syntax.
-   */
-  @Override
-  public String getName()
-  {
-    return SYNTAX_OTHER_MAILBOX_NAME;
-  }
-
-  /**
-   * Retrieves the OID for this attribute syntax.
-   *
-   * @return  The OID for this attribute syntax.
-   */
-  @Override
-  public String getOID()
-  {
-    return SYNTAX_OTHER_MAILBOX_OID;
-  }
-
-  /**
-   * Retrieves a description for this attribute syntax.
-   *
-   * @return  A description for this attribute syntax.
-   */
-  @Override
-  public String getDescription()
-  {
-    return SYNTAX_OTHER_MAILBOX_DESCRIPTION;
-  }
-}
-
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/schema/PostalAddressSyntax.java b/opendj-server-legacy/src/main/java/org/opends/server/schema/PostalAddressSyntax.java
deleted file mode 100644
index 61f159b..0000000
--- a/opendj-server-legacy/src/main/java/org/opends/server/schema/PostalAddressSyntax.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/*
- * The contents of this file are subject to the terms of the Common Development and
- * Distribution License (the License). You may not use this file except in compliance with the
- * License.
- *
- * You can obtain a copy of the License at legal/CDDLv1.0.txt. See the License for the
- * specific language governing permission and limitations under the License.
- *
- * When distributing Covered Software, include this CDDL Header Notice in each file and include
- * the License file at legal/CDDLv1.0.txt. If applicable, add the following below the CDDL
- * Header, with the fields enclosed by brackets [] replaced by your own identifying
- * information: "Portions Copyright [year] [name of copyright owner]".
- *
- * Copyright 2006-2008 Sun Microsystems, Inc.
- * Portions Copyright 2012-2016 ForgeRock AS.
- */
-package org.opends.server.schema;
-
-import static org.opends.server.schema.SchemaConstants.*;
-
-import org.forgerock.opendj.ldap.schema.Schema;
-import org.forgerock.opendj.ldap.schema.Syntax;
-import org.forgerock.opendj.server.config.server.AttributeSyntaxCfg;
-import org.opends.server.api.AttributeSyntax;
-
-
-/**
- * This class implements the postal address attribute syntax, which is a list of
- * UCS (Universal Character Set, as defined in the ISO 10646 specification and
- * includes UTF-8 and UTF-16) strings separated by dollar signs.  By default,
- * they will be treated in a case-insensitive manner, and equality and substring
- * matching will be allowed.
- */
-public class PostalAddressSyntax
-       extends AttributeSyntax<AttributeSyntaxCfg>
-{
-
-  /**
-   * Creates a new instance of this syntax.  Note that the only thing that
-   * should be done here is to invoke the default constructor for the
-   * superclass.  All initialization should be performed in the
-   * <CODE>initializeSyntax</CODE> method.
-   */
-  public PostalAddressSyntax()
-  {
-    super();
-  }
-
-  /** {@inheritDoc} */
-  @Override
-  public Syntax getSDKSyntax(Schema schema)
-  {
-    return schema.getSyntax(SchemaConstants.SYNTAX_POSTAL_ADDRESS_OID);
-  }
-
-  /**
-   * Retrieves the common name for this attribute syntax.
-   *
-   * @return  The common name for this attribute syntax.
-   */
-  @Override
-  public String getName()
-  {
-    return SYNTAX_POSTAL_ADDRESS_NAME;
-  }
-
-  /**
-   * Retrieves the OID for this attribute syntax.
-   *
-   * @return  The OID for this attribute syntax.
-   */
-  @Override
-  public String getOID()
-  {
-    return SYNTAX_POSTAL_ADDRESS_OID;
-  }
-
-  /**
-   * Retrieves a description for this attribute syntax.
-   *
-   * @return  A description for this attribute syntax.
-   */
-  @Override
-  public String getDescription()
-  {
-    return SYNTAX_POSTAL_ADDRESS_DESCRIPTION;
-  }
-}
-
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/schema/PresentationAddressSyntax.java b/opendj-server-legacy/src/main/java/org/opends/server/schema/PresentationAddressSyntax.java
deleted file mode 100644
index 713ff74..0000000
--- a/opendj-server-legacy/src/main/java/org/opends/server/schema/PresentationAddressSyntax.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*
- * The contents of this file are subject to the terms of the Common Development and
- * Distribution License (the License). You may not use this file except in compliance with the
- * License.
- *
- * You can obtain a copy of the License at legal/CDDLv1.0.txt. See the License for the
- * specific language governing permission and limitations under the License.
- *
- * When distributing Covered Software, include this CDDL Header Notice in each file and include
- * the License file at legal/CDDLv1.0.txt. If applicable, add the following below the CDDL
- * Header, with the fields enclosed by brackets [] replaced by your own identifying
- * information: "Portions Copyright [year] [name of copyright owner]".
- *
- * Copyright 2006-2008 Sun Microsystems, Inc.
- * Portions Copyright 2012-2016 ForgeRock AS.
- */
-package org.opends.server.schema;
-
-import static org.opends.server.schema.SchemaConstants.*;
-
-import org.forgerock.opendj.ldap.schema.Schema;
-import org.forgerock.opendj.ldap.schema.Syntax;
-import org.forgerock.opendj.server.config.server.AttributeSyntaxCfg;
-import org.opends.server.api.AttributeSyntax;
-
-/**
- * This class implements the presentation address attribute syntax, which is
- * defined in RFC 1278.  However, because this LDAP syntax is being deprecated,
- * this implementation behaves exactly like the directory string syntax.
- */
-public class PresentationAddressSyntax
-       extends AttributeSyntax<AttributeSyntaxCfg>
-{
-
-  /**
-   * Creates a new instance of this syntax.  Note that the only thing that
-   * should be done here is to invoke the default constructor for the
-   * superclass.  All initialization should be performed in the
-   * <CODE>initializeSyntax</CODE> method.
-   */
-  public PresentationAddressSyntax()
-  {
-    super();
-  }
-
-  /** {@inheritDoc} */
-  @Override
-  public Syntax getSDKSyntax(Schema schema)
-  {
-    return schema.getSyntax(SchemaConstants.SYNTAX_PRESENTATION_ADDRESS_OID);
-  }
-
-  /**
-   * Retrieves the common name for this attribute syntax.
-   *
-   * @return  The common name for this attribute syntax.
-   */
-  @Override
-  public String getName()
-  {
-    return SYNTAX_PRESENTATION_ADDRESS_NAME;
-  }
-
-  /**
-   * Retrieves the OID for this attribute syntax.
-   *
-   * @return  The OID for this attribute syntax.
-   */
-  @Override
-  public String getOID()
-  {
-    return SYNTAX_PRESENTATION_ADDRESS_OID;
-  }
-
-  /**
-   * Retrieves a description for this attribute syntax.
-   *
-   * @return  A description for this attribute syntax.
-   */
-  @Override
-  public String getDescription()
-  {
-    return SYNTAX_PRESENTATION_ADDRESS_DESCRIPTION;
-  }
-}
-
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/schema/PrintableStringSyntax.java b/opendj-server-legacy/src/main/java/org/opends/server/schema/PrintableStringSyntax.java
deleted file mode 100644
index 861b3fc..0000000
--- a/opendj-server-legacy/src/main/java/org/opends/server/schema/PrintableStringSyntax.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/*
- * The contents of this file are subject to the terms of the Common Development and
- * Distribution License (the License). You may not use this file except in compliance with the
- * License.
- *
- * You can obtain a copy of the License at legal/CDDLv1.0.txt. See the License for the
- * specific language governing permission and limitations under the License.
- *
- * When distributing Covered Software, include this CDDL Header Notice in each file and include
- * the License file at legal/CDDLv1.0.txt. If applicable, add the following below the CDDL
- * Header, with the fields enclosed by brackets [] replaced by your own identifying
- * information: "Portions Copyright [year] [name of copyright owner]".
- *
- * Copyright 2006-2008 Sun Microsystems, Inc.
- * Portions Copyright 2012-2016 ForgeRock AS.
- */
-package org.opends.server.schema;
-
-import static org.opends.server.schema.SchemaConstants.*;
-
-import org.forgerock.opendj.ldap.schema.Schema;
-import org.forgerock.opendj.ldap.schema.Syntax;
-import org.forgerock.opendj.server.config.server.AttributeSyntaxCfg;
-import org.opends.server.api.AttributeSyntax;
-
-
-/**
- * This class implements the printable string attribute syntax, which is simply
- * a string of characters from a limited ASCII character set (uppercase and
- * lowercase letters, numeric digits, the space, and a set of various symbols).
- * By default, they will be treated in a case-insensitive manner, and equality,
- * ordering, substring, and approximate matching will be allowed.
- */
-public class PrintableStringSyntax
-       extends AttributeSyntax<AttributeSyntaxCfg>
-{
-
-  /**
-   * Creates a new instance of this syntax.  Note that the only thing that
-   * should be done here is to invoke the default constructor for the
-   * superclass.  All initialization should be performed in the
-   * <CODE>initializeSyntax</CODE> method.
-   */
-  public PrintableStringSyntax()
-  {
-    super();
-  }
-
-  /** {@inheritDoc} */
-  @Override
-  public Syntax getSDKSyntax(Schema schema)
-  {
-    return schema.getSyntax(SchemaConstants.SYNTAX_PRINTABLE_STRING_OID);
-  }
-
-  /**
-   * Retrieves the common name for this attribute syntax.
-   *
-   * @return  The common name for this attribute syntax.
-   */
-  @Override
-  public String getName()
-  {
-    return SYNTAX_PRINTABLE_STRING_NAME;
-  }
-
-  /**
-   * Retrieves the OID for this attribute syntax.
-   *
-   * @return  The OID for this attribute syntax.
-   */
-  @Override
-  public String getOID()
-  {
-    return SYNTAX_PRINTABLE_STRING_OID;
-  }
-
-  /**
-   * Retrieves a description for this attribute syntax.
-   *
-   * @return  A description for this attribute syntax.
-   */
-  @Override
-  public String getDescription()
-  {
-    return SYNTAX_PRINTABLE_STRING_DESCRIPTION;
-  }
-}
-
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/schema/ProtocolInformationSyntax.java b/opendj-server-legacy/src/main/java/org/opends/server/schema/ProtocolInformationSyntax.java
deleted file mode 100644
index ba012be..0000000
--- a/opendj-server-legacy/src/main/java/org/opends/server/schema/ProtocolInformationSyntax.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
- * The contents of this file are subject to the terms of the Common Development and
- * Distribution License (the License). You may not use this file except in compliance with the
- * License.
- *
- * You can obtain a copy of the License at legal/CDDLv1.0.txt. See the License for the
- * specific language governing permission and limitations under the License.
- *
- * When distributing Covered Software, include this CDDL Header Notice in each file and include
- * the License file at legal/CDDLv1.0.txt. If applicable, add the following below the CDDL
- * Header, with the fields enclosed by brackets [] replaced by your own identifying
- * information: "Portions Copyright [year] [name of copyright owner]".
- *
- * Copyright 2006-2008 Sun Microsystems, Inc.
- * Portions Copyright 2012-2016 ForgeRock AS.
- */
-package org.opends.server.schema;
-
-import static org.opends.server.schema.SchemaConstants.*;
-
-import org.forgerock.opendj.ldap.schema.Schema;
-import org.forgerock.opendj.ldap.schema.Syntax;
-import org.forgerock.opendj.server.config.server.AttributeSyntaxCfg;
-import org.opends.server.api.AttributeSyntax;
-
-
-/**
- * This class implements the protocol information attribute syntax, which is
- * being deprecated.  As such, this implementation behaves exactly like the
- * directory string syntax.
- */
-public class ProtocolInformationSyntax
-       extends AttributeSyntax<AttributeSyntaxCfg>
-{
-
-  /**
-   * Creates a new instance of this syntax.  Note that the only thing that
-   * should be done here is to invoke the default constructor for the
-   * superclass.  All initialization should be performed in the
-   * <CODE>initializeSyntax</CODE> method.
-   */
-  public ProtocolInformationSyntax()
-  {
-    super();
-  }
-
-  /** {@inheritDoc} */
-  @Override
-  public Syntax getSDKSyntax(Schema schema)
-  {
-    return schema.getSyntax(SchemaConstants.SYNTAX_PROTOCOL_INFORMATION_OID);
-  }
-
-  /**
-   * Retrieves the common name for this attribute syntax.
-   *
-   * @return  The common name for this attribute syntax.
-   */
-  @Override
-  public String getName()
-  {
-    return SYNTAX_PROTOCOL_INFORMATION_NAME;
-  }
-
-  /**
-   * Retrieves the OID for this attribute syntax.
-   *
-   * @return  The OID for this attribute syntax.
-   */
-  @Override
-  public String getOID()
-  {
-    return SYNTAX_PROTOCOL_INFORMATION_OID;
-  }
-
-  /**
-   * Retrieves a description for this attribute syntax.
-   *
-   * @return  A description for this attribute syntax.
-   */
-  @Override
-  public String getDescription()
-  {
-    return SYNTAX_PROTOCOL_INFORMATION_DESCRIPTION;
-  }
-}
-
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/schema/SchemaWriter.java b/opendj-server-legacy/src/main/java/org/opends/server/schema/SchemaFilesWriter.java
similarity index 99%
rename from opendj-server-legacy/src/main/java/org/opends/server/schema/SchemaWriter.java
rename to opendj-server-legacy/src/main/java/org/opends/server/schema/SchemaFilesWriter.java
index 00c9d87..351111d 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/schema/SchemaWriter.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/schema/SchemaFilesWriter.java
@@ -86,7 +86,7 @@
 /**
  * Provides support to write schema files to disk.
  */
-class SchemaWriter
+class SchemaFilesWriter
 {
   private static final LocalizedLogger logger = LocalizedLogger.getLoggerForThisClass();
 
@@ -106,7 +106,7 @@
    * @param serverContext
    *            The server context.
    */
-  public SchemaWriter(ServerContext serverContext)
+  public SchemaFilesWriter(ServerContext serverContext)
   {
     this.serverContext = serverContext;
   }
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/schema/SchemaHandler.java b/opendj-server-legacy/src/main/java/org/opends/server/schema/SchemaHandler.java
index fa0c313..06f9aa1 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/schema/SchemaHandler.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/schema/SchemaHandler.java
@@ -134,7 +134,7 @@
   private volatile Schema schema;
 
   /** Writer which persists schema to disk. */
-  private SchemaWriter schemaWriter;
+  private SchemaFilesWriter schemaWriter;
 
   /**
    * The list of offline modifications made to the schema.
@@ -207,7 +207,7 @@
   public void initialize(final ServerContext serverContext) throws InitializationException, ConfigException
   {
     this.serverContext = serverContext;
-    this.schemaWriter = new SchemaWriter(serverContext);
+    this.schemaWriter = new SchemaFilesWriter(serverContext);
 
     exclusiveLock.lock();
     try
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/schema/SubstringAssertionSyntax.java b/opendj-server-legacy/src/main/java/org/opends/server/schema/SubstringAssertionSyntax.java
deleted file mode 100644
index 895ea42..0000000
--- a/opendj-server-legacy/src/main/java/org/opends/server/schema/SubstringAssertionSyntax.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/*
- * The contents of this file are subject to the terms of the Common Development and
- * Distribution License (the License). You may not use this file except in compliance with the
- * License.
- *
- * You can obtain a copy of the License at legal/CDDLv1.0.txt. See the License for the
- * specific language governing permission and limitations under the License.
- *
- * When distributing Covered Software, include this CDDL Header Notice in each file and include
- * the License file at legal/CDDLv1.0.txt. If applicable, add the following below the CDDL
- * Header, with the fields enclosed by brackets [] replaced by your own identifying
- * information: "Portions Copyright [year] [name of copyright owner]".
- *
- * Copyright 2006-2008 Sun Microsystems, Inc.
- * Portions Copyright 2012-2016 ForgeRock AS.
- */
-package org.opends.server.schema;
-
-import static org.opends.server.schema.SchemaConstants.*;
-
-import org.forgerock.opendj.ldap.schema.Schema;
-import org.forgerock.opendj.ldap.schema.Syntax;
-import org.forgerock.opendj.server.config.server.AttributeSyntaxCfg;
-import org.opends.server.api.AttributeSyntax;
-
-
-/**
- * This class defines the substring assertion attribute syntax, which contains
- * one or more substring components, as used in a substring search filter.  For
- * the purposes of matching, it will be treated like a Directory String syntax
- * except that approximate matching will not be allowed.
- */
-public class SubstringAssertionSyntax
-       extends AttributeSyntax<AttributeSyntaxCfg>
-{
-
-  /**
-   * Creates a new instance of this syntax.  Note that the only thing that
-   * should be done here is to invoke the default constructor for the
-   * superclass.  All initialization should be performed in the
-   * <CODE>initializeSyntax</CODE> method.
-   */
-  public SubstringAssertionSyntax()
-  {
-    super();
-  }
-
-  /** {@inheritDoc} */
-  @Override
-  public Syntax getSDKSyntax(Schema schema)
-  {
-    return schema.getSyntax(SchemaConstants.SYNTAX_SUBSTRING_ASSERTION_OID);
-  }
-
-  /**
-   * Retrieves the common name for this attribute syntax.
-   *
-   * @return  The common name for this attribute syntax.
-   */
-  @Override
-  public String getName()
-  {
-    return SYNTAX_SUBSTRING_ASSERTION_NAME;
-  }
-
-  /**
-   * Retrieves the OID for this attribute syntax.
-   *
-   * @return  The OID for this attribute syntax.
-   */
-  @Override
-  public String getOID()
-  {
-    return SYNTAX_SUBSTRING_ASSERTION_OID;
-  }
-
-  /**
-   * Retrieves a description for this attribute syntax.
-   *
-   * @return  A description for this attribute syntax.
-   */
-  @Override
-  public String getDescription()
-  {
-    return SYNTAX_SUBSTRING_ASSERTION_DESCRIPTION;
-  }
-}
-
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/schema/SubtreeSpecificationSyntax.java b/opendj-server-legacy/src/main/java/org/opends/server/schema/SubtreeSpecificationSyntax.java
deleted file mode 100644
index 696bbed..0000000
--- a/opendj-server-legacy/src/main/java/org/opends/server/schema/SubtreeSpecificationSyntax.java
+++ /dev/null
@@ -1,135 +0,0 @@
-/*
- * The contents of this file are subject to the terms of the Common Development and
- * Distribution License (the License). You may not use this file except in compliance with the
- * License.
- *
- * You can obtain a copy of the License at legal/CDDLv1.0.txt. See the License for the
- * specific language governing permission and limitations under the License.
- *
- * When distributing Covered Software, include this CDDL Header Notice in each file and include
- * the License file at legal/CDDLv1.0.txt. If applicable, add the following below the CDDL
- * Header, with the fields enclosed by brackets [] replaced by your own identifying
- * information: "Portions Copyright [year] [name of copyright owner]".
- *
- * Copyright 2006-2010 Sun Microsystems, Inc.
- * Portions Copyright 2011-2016 ForgeRock AS.
- */
-package org.opends.server.schema;
-
-import static org.opends.server.schema.SchemaConstants.*;
-
-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.schema.Schema;
-import org.forgerock.opendj.ldap.schema.SchemaBuilder;
-import org.forgerock.opendj.ldap.schema.Syntax;
-import org.forgerock.opendj.server.config.server.AttributeSyntaxCfg;
-import org.opends.server.api.AttributeSyntax;
-import org.opends.server.core.ServerContext;
-import org.forgerock.opendj.ldap.DN;
-import org.opends.server.schema.SchemaHandler.SchemaUpdater;
-import org.opends.server.types.DirectoryException;
-import org.opends.server.types.SubtreeSpecification;
-
-/**
- * This class defines the subtree specification attribute syntax,
- * which is used to specify the scope of sub-entries (RFC 3672).
- */
-public final class SubtreeSpecificationSyntax
-       extends AttributeSyntax<AttributeSyntaxCfg>
-{
-
-  private static final LocalizedLogger logger = LocalizedLogger.getLoggerForThisClass();
-
-  /**
-   * Creates a new instance of this syntax. Note that the only thing
-   * that should be done here is to invoke the default constructor for
-   * the superclass. All initialization should be performed in the
-   * <CODE>initializeSyntax</CODE> method.
-   */
-  public SubtreeSpecificationSyntax() {
-    // No implementation required.
-  }
-
-  @Override
-  public void initializeSyntax(AttributeSyntaxCfg configuration, ServerContext serverContext)
-      throws ConfigException, DirectoryException
-  {
-    // Add the subtree specification syntax to the "new" schema
-    serverContext.getSchemaHandler().updateSchema(new SchemaUpdater()
-    {
-      @Override
-      public void update(SchemaBuilder builder)
-      {
-        addSubtreeSpecificationSyntax(builder);
-      }
-    });
-  }
-
-  /**
-   * Adds the subtree specification syntax to the provided schema builder.
-   *
-   * @param builder
-   *          where to add the subtree specification syntax
-   * @return the provided builder
-   */
-  public static SchemaBuilder addSubtreeSpecificationSyntax(SchemaBuilder builder)
-  {
-    return builder
-        .buildSyntax(SYNTAX_SUBTREE_SPECIFICATION_OID)
-        .description(SYNTAX_SUBTREE_SPECIFICATION_DESCRIPTION)
-        .implementation(new SubtreeSpecificationSyntaxImpl())
-        .addToSchema();
-  }
-
-  @Override
-  public Syntax getSDKSyntax(Schema schema)
-  {
-    return schema.getSyntax(SchemaConstants.SYNTAX_SUBTREE_SPECIFICATION_OID);
-  }
-
-  @Override
-  public String getName() {
-    return SYNTAX_SUBTREE_SPECIFICATION_NAME;
-  }
-
-  @Override
-  public String getOID() {
-    return SYNTAX_SUBTREE_SPECIFICATION_OID;
-  }
-
-  @Override
-  public String getDescription() {
-    return SYNTAX_SUBTREE_SPECIFICATION_DESCRIPTION;
-  }
-
-  @Override
-  public boolean valueIsAcceptable(ByteSequence value,
-                                   LocalizableMessageBuilder invalidReason) {
-    // Use the subtree specification code to make this determination.
-    try {
-      SubtreeSpecification.valueOf(DN.rootDN(), value.toString());
-
-      return true;
-    } catch (DirectoryException e) {
-      logger.traceException(e);
-
-      invalidReason.append(e.getMessageObject());
-      return false;
-    }
-  }
-
-  @Override
-  public boolean isBEREncodingRequired()
-  {
-    return false;
-  }
-
-  @Override
-  public boolean isHumanReadable()
-  {
-    return true;
-  }
-}
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/schema/SupportedAlgorithmSyntax.java b/opendj-server-legacy/src/main/java/org/opends/server/schema/SupportedAlgorithmSyntax.java
deleted file mode 100644
index dd3e69b..0000000
--- a/opendj-server-legacy/src/main/java/org/opends/server/schema/SupportedAlgorithmSyntax.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/*
- * The contents of this file are subject to the terms of the Common Development and
- * Distribution License (the License). You may not use this file except in compliance with the
- * License.
- *
- * You can obtain a copy of the License at legal/CDDLv1.0.txt. See the License for the
- * specific language governing permission and limitations under the License.
- *
- * When distributing Covered Software, include this CDDL Header Notice in each file and include
- * the License file at legal/CDDLv1.0.txt. If applicable, add the following below the CDDL
- * Header, with the fields enclosed by brackets [] replaced by your own identifying
- * information: "Portions Copyright [year] [name of copyright owner]".
- *
- * Copyright 2006-2008 Sun Microsystems, Inc.
- * Portions Copyright 2012-2016 ForgeRock AS.
- */
-package org.opends.server.schema;
-
-import static org.opends.server.schema.SchemaConstants.*;
-
-import org.forgerock.opendj.ldap.schema.Schema;
-import org.forgerock.opendj.ldap.schema.Syntax;
-import org.forgerock.opendj.server.config.server.AttributeSyntaxCfg;
-import org.opends.server.api.AttributeSyntax;
-
-
-/**
- * This class implements the supported algorithm attribute syntax.  This should
- * be restricted to holding only X.509 supported algorithms, but we will accept
- * any set of bytes.  It will be treated much like the octet string attribute
- * syntax.
- */
-public class SupportedAlgorithmSyntax
-       extends AttributeSyntax<AttributeSyntaxCfg>
-{
-
-  /**
-   * Creates a new instance of this syntax.  Note that the only thing that
-   * should be done here is to invoke the default constructor for the
-   * superclass.  All initialization should be performed in the
-   * <CODE>initializeSyntax</CODE> method.
-   */
-  public SupportedAlgorithmSyntax()
-  {
-    super();
-  }
-
-  /** {@inheritDoc} */
-  @Override
-  public Syntax getSDKSyntax(Schema schema)
-  {
-    return schema.getSyntax(SchemaConstants.SYNTAX_SUPPORTED_ALGORITHM_OID);
-  }
-
-  /**
-   * Retrieves the common name for this attribute syntax.
-   *
-   * @return  The common name for this attribute syntax.
-   */
-  @Override
-  public String getName()
-  {
-    return SYNTAX_SUPPORTED_ALGORITHM_NAME;
-  }
-
-  /**
-   * Retrieves the OID for this attribute syntax.
-   *
-   * @return  The OID for this attribute syntax.
-   */
-  @Override
-  public String getOID()
-  {
-    return SYNTAX_SUPPORTED_ALGORITHM_OID;
-  }
-
-  /**
-   * Retrieves a description for this attribute syntax.
-   *
-   * @return  A description for this attribute syntax.
-   */
-  @Override
-  public String getDescription()
-  {
-    return SYNTAX_SUPPORTED_ALGORITHM_DESCRIPTION;
-  }
-}
-
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/schema/TeletexTerminalIdentifierSyntax.java b/opendj-server-legacy/src/main/java/org/opends/server/schema/TeletexTerminalIdentifierSyntax.java
deleted file mode 100644
index 1b9a73f..0000000
--- a/opendj-server-legacy/src/main/java/org/opends/server/schema/TeletexTerminalIdentifierSyntax.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*
- * The contents of this file are subject to the terms of the Common Development and
- * Distribution License (the License). You may not use this file except in compliance with the
- * License.
- *
- * You can obtain a copy of the License at legal/CDDLv1.0.txt. See the License for the
- * specific language governing permission and limitations under the License.
- *
- * When distributing Covered Software, include this CDDL Header Notice in each file and include
- * the License file at legal/CDDLv1.0.txt. If applicable, add the following below the CDDL
- * Header, with the fields enclosed by brackets [] replaced by your own identifying
- * information: "Portions Copyright [year] [name of copyright owner]".
- *
- * Copyright 2006-2008 Sun Microsystems, Inc.
- * Portions Copyright 2012-2016 ForgeRock AS.
- */
-package org.opends.server.schema;
-
-import static org.opends.server.schema.SchemaConstants.*;
-
-import org.forgerock.opendj.ldap.schema.Schema;
-import org.forgerock.opendj.ldap.schema.Syntax;
-import org.forgerock.opendj.server.config.server.AttributeSyntaxCfg;
-import org.opends.server.api.AttributeSyntax;
-
-/**
- * This class implements the teletex terminal identifier attribute syntax, which
- * contains a printable string (the terminal identifier) followed by zero or
- * more parameters, which start with a dollar sign and are followed by a
- * parameter name, a colon, and a value.  The parameter value should consist of
- * any string of bytes (the dollar sign and backslash must be escaped with a
- * preceding backslash), and the parameter name must be one of the following
- * strings:
- * <UL>
- *   <LI>graphic</LI>
- *   <LI>control</LI>
- *   <LI>misc</LI>
- *   <LI>page</LI>
- *   <LI>private</LI>
- * </UL>
- */
-public class TeletexTerminalIdentifierSyntax
-       extends AttributeSyntax<AttributeSyntaxCfg>
-{
-
-  /**
-   * Creates a new instance of this syntax.  Note that the only thing that
-   * should be done here is to invoke the default constructor for the
-   * superclass.  All initialization should be performed in the
-   * <CODE>initializeSyntax</CODE> method.
-   */
-  public TeletexTerminalIdentifierSyntax()
-  {
-    super();
-  }
-
-  /** {@inheritDoc} */
-  @Override
-  public Syntax getSDKSyntax(Schema schema)
-  {
-    return schema.getSyntax(SchemaConstants.SYNTAX_TELETEX_TERM_ID_OID);
-  }
-
-  /**
-   * Retrieves the common name for this attribute syntax.
-   *
-   * @return  The common name for this attribute syntax.
-   */
-  @Override
-  public String getName()
-  {
-    return SYNTAX_TELETEX_TERM_ID_NAME;
-  }
-
-  /**
-   * Retrieves the OID for this attribute syntax.
-   *
-   * @return  The OID for this attribute syntax.
-   */
-  @Override
-  public String getOID()
-  {
-    return SYNTAX_TELETEX_TERM_ID_OID;
-  }
-
-  /**
-   * Retrieves a description for this attribute syntax.
-   *
-   * @return  A description for this attribute syntax.
-   */
-  @Override
-  public String getDescription()
-  {
-    return SYNTAX_TELETEX_TERM_ID_DESCRIPTION;
-  }
-}
-
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/schema/TelexNumberSyntax.java b/opendj-server-legacy/src/main/java/org/opends/server/schema/TelexNumberSyntax.java
deleted file mode 100644
index 9972bd2..0000000
--- a/opendj-server-legacy/src/main/java/org/opends/server/schema/TelexNumberSyntax.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
- * The contents of this file are subject to the terms of the Common Development and
- * Distribution License (the License). You may not use this file except in compliance with the
- * License.
- *
- * You can obtain a copy of the License at legal/CDDLv1.0.txt. See the License for the
- * specific language governing permission and limitations under the License.
- *
- * When distributing Covered Software, include this CDDL Header Notice in each file and include
- * the License file at legal/CDDLv1.0.txt. If applicable, add the following below the CDDL
- * Header, with the fields enclosed by brackets [] replaced by your own identifying
- * information: "Portions Copyright [year] [name of copyright owner]".
- *
- * Copyright 2006-2008 Sun Microsystems, Inc.
- * Portions Copyright 2012-2016 ForgeRock AS.
- */
-package org.opends.server.schema;
-
-import static org.opends.server.schema.SchemaConstants.*;
-
-import org.forgerock.opendj.ldap.schema.Schema;
-import org.forgerock.opendj.ldap.schema.Syntax;
-import org.forgerock.opendj.server.config.server.AttributeSyntaxCfg;
-import org.opends.server.api.AttributeSyntax;
-
-
-/**
- * This class implements the telex number attribute syntax, which contains three
- * printable strings separated by dollar sign characters.  Equality, ordering,
- * and substring matching will be allowed by default.
- */
-public class TelexNumberSyntax
-       extends AttributeSyntax<AttributeSyntaxCfg>
-{
-
-  /**
-   * Creates a new instance of this syntax.  Note that the only thing that
-   * should be done here is to invoke the default constructor for the
-   * superclass.  All initialization should be performed in the
-   * <CODE>initializeSyntax</CODE> method.
-   */
-  public TelexNumberSyntax()
-  {
-    super();
-  }
-
-  /** {@inheritDoc} */
-  @Override
-  public Syntax getSDKSyntax(Schema schema)
-  {
-    return schema.getSyntax(SchemaConstants.SYNTAX_TELEX_OID);
-  }
-
-  /**
-   * Retrieves the common name for this attribute syntax.
-   *
-   * @return  The common name for this attribute syntax.
-   */
-  @Override
-  public String getName()
-  {
-    return SYNTAX_TELEX_NAME;
-  }
-
-  /**
-   * Retrieves the OID for this attribute syntax.
-   *
-   * @return  The OID for this attribute syntax.
-   */
-  @Override
-  public String getOID()
-  {
-    return SYNTAX_TELEX_OID;
-  }
-
-  /**
-   * Retrieves a description for this attribute syntax.
-   *
-   * @return  A description for this attribute syntax.
-   */
-  @Override
-  public String getDescription()
-  {
-    return SYNTAX_TELEX_DESCRIPTION;
-  }
-}
-
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/schema/UTCTimeSyntax.java b/opendj-server-legacy/src/main/java/org/opends/server/schema/UTCTimeSyntax.java
deleted file mode 100644
index f3bef95..0000000
--- a/opendj-server-legacy/src/main/java/org/opends/server/schema/UTCTimeSyntax.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/*
- * The contents of this file are subject to the terms of the Common Development and
- * Distribution License (the License). You may not use this file except in compliance with the
- * License.
- *
- * You can obtain a copy of the License at legal/CDDLv1.0.txt. See the License for the
- * specific language governing permission and limitations under the License.
- *
- * When distributing Covered Software, include this CDDL Header Notice in each file and include
- * the License file at legal/CDDLv1.0.txt. If applicable, add the following below the CDDL
- * Header, with the fields enclosed by brackets [] replaced by your own identifying
- * information: "Portions Copyright [year] [name of copyright owner]".
- *
- * Copyright 2006-2008 Sun Microsystems, Inc.
- * Portions Copyright 2012-2016 ForgeRock AS.
- */
-package org.opends.server.schema;
-
-import static org.opends.server.schema.SchemaConstants.*;
-
-import org.forgerock.opendj.ldap.schema.Schema;
-import org.forgerock.opendj.ldap.schema.Syntax;
-import org.forgerock.opendj.server.config.server.AttributeSyntaxCfg;
-import org.opends.server.api.AttributeSyntax;
-
-/**
- * This class implements the UTC time attribute syntax.  This is very similar to
- * the generalized time syntax (and actually has been deprecated in favor of
- * that), but requires that the minute be provided and does not allow for
- * sub-second times.  All matching will be performed using the generalized time
- * matching rules, and equality, ordering, and substring matching will be
- * allowed.
- */
-public class UTCTimeSyntax
-       extends AttributeSyntax<AttributeSyntaxCfg>
-{
-
-  /**
-   * Creates a new instance of this syntax.  Note that the only thing that
-   * should be done here is to invoke the default constructor for the
-   * superclass.  All initialization should be performed in the
-   * <CODE>initializeSyntax</CODE> method.
-   */
-  public UTCTimeSyntax()
-  {
-    super();
-  }
-
-  /** {@inheritDoc} */
-  @Override
-  public Syntax getSDKSyntax(Schema schema)
-  {
-    return schema.getSyntax(SchemaConstants.SYNTAX_UTC_TIME_OID);
-  }
-
-  /**
-   * Retrieves the common name for this attribute syntax.
-   *
-   * @return  The common name for this attribute syntax.
-   */
-  @Override
-  public String getName()
-  {
-    return SYNTAX_UTC_TIME_NAME;
-  }
-
-  /**
-   * Retrieves the OID for this attribute syntax.
-   *
-   * @return  The OID for this attribute syntax.
-   */
-  @Override
-  public String getOID()
-  {
-    return SYNTAX_UTC_TIME_OID;
-  }
-
-  /**
-   * Retrieves a description for this attribute syntax.
-   *
-   * @return  A description for this attribute syntax.
-   */
-  @Override
-  public String getDescription()
-  {
-    return SYNTAX_UTC_TIME_DESCRIPTION;
-  }
-}
-
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/schema/UUIDSyntax.java b/opendj-server-legacy/src/main/java/org/opends/server/schema/UUIDSyntax.java
deleted file mode 100644
index ef70bec..0000000
--- a/opendj-server-legacy/src/main/java/org/opends/server/schema/UUIDSyntax.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*
- * The contents of this file are subject to the terms of the Common Development and
- * Distribution License (the License). You may not use this file except in compliance with the
- * License.
- *
- * You can obtain a copy of the License at legal/CDDLv1.0.txt. See the License for the
- * specific language governing permission and limitations under the License.
- *
- * When distributing Covered Software, include this CDDL Header Notice in each file and include
- * the License file at legal/CDDLv1.0.txt. If applicable, add the following below the CDDL
- * Header, with the fields enclosed by brackets [] replaced by your own identifying
- * information: "Portions Copyright [year] [name of copyright owner]".
- *
- * Copyright 2006-2008 Sun Microsystems, Inc.
- * Portions Copyright 2012-2016 ForgeRock AS.
- */
-package org.opends.server.schema;
-
-import static org.opends.server.schema.SchemaConstants.*;
-
-import org.forgerock.i18n.slf4j.LocalizedLogger;
-import org.forgerock.opendj.ldap.schema.Schema;
-import org.forgerock.opendj.ldap.schema.Syntax;
-import org.forgerock.opendj.server.config.server.AttributeSyntaxCfg;
-import org.opends.server.api.AttributeSyntax;
-
-
-/**
- * This class implements the UUID syntax, which is defined in RFC 4530.
- * Equality and ordering matching will be allowed by default.
- */
-public class UUIDSyntax
-       extends AttributeSyntax<AttributeSyntaxCfg>
-{
-
-  private static final LocalizedLogger logger = LocalizedLogger.getLoggerForThisClass();
-
-
-  /**
-   * Creates a new instance of this syntax.  Note that the only thing that
-   * should be done here is to invoke the default constructor for the
-   * superclass.  All initialization should be performed in the
-   * <CODE>initializeSyntax</CODE> method.
-   */
-  public UUIDSyntax()
-  {
-    super();
-  }
-
-  /** {@inheritDoc} */
-  @Override
-  public Syntax getSDKSyntax(Schema schema)
-  {
-    return schema.getSyntax(SchemaConstants.SYNTAX_UUID_OID);
-  }
-
-  /**
-   * Retrieves the common name for this attribute syntax.
-   *
-   * @return  The common name for this attribute syntax.
-   */
-  @Override
-  public String getName()
-  {
-    return SYNTAX_UUID_NAME;
-  }
-
-  /**
-   * Retrieves the OID for this attribute syntax.
-   *
-   * @return  The OID for this attribute syntax.
-   */
-  @Override
-  public String getOID()
-  {
-    return SYNTAX_UUID_OID;
-  }
-
-  /**
-   * Retrieves a description for this attribute syntax.
-   *
-   * @return  A description for this attribute syntax.
-   */
-  @Override
-  public String getDescription()
-  {
-    return SYNTAX_UUID_DESCRIPTION;
-  }
-
-}
-
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/schema/UserPasswordEqualityMatchingRule.java b/opendj-server-legacy/src/main/java/org/opends/server/schema/UserPasswordEqualityMatchingRule.java
index d047637..0dd9c7e 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/schema/UserPasswordEqualityMatchingRule.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/schema/UserPasswordEqualityMatchingRule.java
@@ -16,13 +16,10 @@
  */
 package org.opends.server.schema;
 
-import static org.opends.server.schema.SchemaConstants.*;
-
 import org.forgerock.i18n.slf4j.LocalizedLogger;
 import org.forgerock.opendj.ldap.ByteSequence;
 import org.forgerock.opendj.ldap.ByteString;
 import org.forgerock.opendj.ldap.ConditionResult;
-import org.forgerock.opendj.ldap.schema.SchemaBuilder;
 import org.opends.server.api.PasswordStorageScheme;
 
 import static org.opends.server.core.DirectoryServer.*;
@@ -34,7 +31,7 @@
  * This matching rule serves a similar purpose to the equivalent
  * AuthPasswordEqualityMatchingRule defined in RFC 3112 (http://tools.ietf.org/html/rfc3112).
  */
-public class UserPasswordEqualityMatchingRule extends AbstractPasswordEqualityMatchingRuleImpl
+final class UserPasswordEqualityMatchingRule extends AbstractPasswordEqualityMatchingRuleImpl
 {
   private static final LocalizedLogger logger = LocalizedLogger.getLoggerForThisClass();
 
@@ -69,19 +66,4 @@
         storageScheme.passwordMatches(assertionValue, ByteString.valueOfUtf8(userPWComponents[1])));
   }
 
-  /**
-   * Adds the user password equality matching rule to the provided schema builder.
-   *
-   * @param builder
-   *          where to add the matching rule
-   */
-  public static void addUserPasswordEqualityMatchingRule(SchemaBuilder builder)
-  {
-    builder.buildMatchingRule(EMR_USER_PASSWORD_OID)
-      .names(EMR_USER_PASSWORD_NAME)
-      .syntaxOID(SYNTAX_OCTET_STRING_OID).description(EMR_USER_PASSWORD_DESCRIPTION)
-      .implementation(new UserPasswordEqualityMatchingRule())
-      .addToSchema();
-  }
-
 }
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/schema/UserPasswordEqualityMatchingRuleFactory.java b/opendj-server-legacy/src/main/java/org/opends/server/schema/UserPasswordEqualityMatchingRuleFactory.java
deleted file mode 100644
index 920124e..0000000
--- a/opendj-server-legacy/src/main/java/org/opends/server/schema/UserPasswordEqualityMatchingRuleFactory.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
- * The contents of this file are subject to the terms of the Common Development and
- * Distribution License (the License). You may not use this file except in compliance with the
- * License.
- *
- * You can obtain a copy of the License at legal/CDDLv1.0.txt. See the License for the
- * specific language governing permission and limitations under the License.
- *
- * When distributing Covered Software, include this CDDL Header Notice in each file and include
- * the License file at legal/CDDLv1.0.txt. If applicable, add the following below the CDDL
- * Header, with the fields enclosed by brackets [] replaced by your own identifying
- * information: "Portions Copyright [year] [name of copyright owner]".
- *
- * Copyright 2008 Sun Microsystems, Inc.
- * Portions Copyright 2014-2016 ForgeRock AS.
- */
-package org.opends.server.schema;
-
-import java.util.Collection;
-import java.util.Collections;
-
-import org.opends.server.api.MatchingRuleFactory;
-import org.forgerock.opendj.server.config.server.MatchingRuleCfg;
-import org.forgerock.opendj.config.server.ConfigException;
-import org.forgerock.opendj.ldap.schema.CoreSchema;
-import org.forgerock.opendj.ldap.schema.MatchingRule;
-import org.forgerock.opendj.ldap.schema.SchemaBuilder;
-import org.opends.server.types.InitializationException;
-
-import static org.opends.server.schema.SchemaConstants.*;
-
-/**
- * This class is a factory class for UserPasswordExactEqualityMatchingRule.
- */
-public final class UserPasswordEqualityMatchingRuleFactory extends MatchingRuleFactory<MatchingRuleCfg>
-{
-  private MatchingRule matchingRule;
-
- /** {@inheritDoc} */
- @Override
- public final void initializeMatchingRule(MatchingRuleCfg configuration)
-         throws ConfigException, InitializationException
- {
-   matchingRule = new SchemaBuilder(CoreSchema.getInstance())
-       .buildMatchingRule(EMR_USER_PASSWORD_OID)
-         .names(EMR_USER_PASSWORD_NAME)
-         .syntaxOID(SYNTAX_OCTET_STRING_OID).description(EMR_USER_PASSWORD_DESCRIPTION)
-         .implementation(new UserPasswordEqualityMatchingRule())
-         .addToSchema()
-       .toSchema().getMatchingRule(EMR_USER_PASSWORD_OID);
- }
-
- /** {@inheritDoc} */
- @Override
- public final Collection<MatchingRule> getMatchingRules()
- {
-    return Collections.singleton(matchingRule);
- }
-}
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/schema/UserPasswordSyntax.java b/opendj-server-legacy/src/main/java/org/opends/server/schema/UserPasswordSyntax.java
index 2839d14..3c88227 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/schema/UserPasswordSyntax.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/schema/UserPasswordSyntax.java
@@ -15,18 +15,13 @@
  * Portions Copyright 2012-2016 ForgeRock AS.
  */
 package org.opends.server.schema;
+
 import static org.opends.messages.SchemaMessages.*;
-import static org.opends.server.schema.SchemaConstants.*;
-import static org.opends.server.util.StaticUtils.*;
+import static org.opends.server.util.StaticUtils.toLowerCase;
 
 import org.forgerock.i18n.LocalizableMessage;
-import org.forgerock.i18n.slf4j.LocalizedLogger;
 import org.forgerock.opendj.ldap.ByteSequence;
 import org.forgerock.opendj.ldap.ResultCode;
-import org.forgerock.opendj.ldap.schema.Schema;
-import org.forgerock.opendj.ldap.schema.Syntax;
-import org.forgerock.opendj.server.config.server.AttributeSyntaxCfg;
-import org.opends.server.api.AttributeSyntax;
 import org.opends.server.types.DirectoryException;
 
 
@@ -47,64 +42,9 @@
  * </UL>
  */
 public class UserPasswordSyntax
-       extends AttributeSyntax<AttributeSyntaxCfg>
+
 {
 
-  private static final LocalizedLogger logger = LocalizedLogger.getLoggerForThisClass();
-
-
-  /**
-   * Creates a new instance of this syntax.  Note that the only thing that
-   * should be done here is to invoke the default constructor for the
-   * superclass.  All initialization should be performed in the
-   * <CODE>initializeSyntax</CODE> method.
-   */
-  public UserPasswordSyntax()
-  {
-    super();
-  }
-
-  /** {@inheritDoc} */
-  @Override
-  public Syntax getSDKSyntax(Schema schema)
-  {
-    return schema.getSyntax(SchemaConstants.SYNTAX_USER_PASSWORD_OID);
-  }
-
-  /**
-   * Retrieves the common name for this attribute syntax.
-   *
-   * @return  The common name for this attribute syntax.
-   */
-  @Override
-  public String getName()
-  {
-    return SYNTAX_USER_PASSWORD_NAME;
-  }
-
-  /**
-   * Retrieves the OID for this attribute syntax.
-   *
-   * @return  The OID for this attribute syntax.
-   */
-  @Override
-  public String getOID()
-  {
-    return SYNTAX_USER_PASSWORD_OID;
-  }
-
-  /**
-   * Retrieves a description for this attribute syntax.
-   *
-   * @return  A description for this attribute syntax.
-   */
-  @Override
-  public String getDescription()
-  {
-    return SYNTAX_USER_PASSWORD_DESCRIPTION;
-  }
-
-
   /**
    * Decodes the provided user password value into its component parts.
    *
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/util/SchemaUtils.java b/opendj-server-legacy/src/main/java/org/opends/server/util/SchemaUtils.java
index 5b6c3f7..650808d 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/util/SchemaUtils.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/util/SchemaUtils.java
@@ -16,7 +16,6 @@
 package org.opends.server.util;
 
 import static org.opends.messages.SchemaMessages.*;
-
 import static org.opends.server.util.ServerConstants.SCHEMA_PROPERTY_FILENAME;
 import static org.opends.server.schema.SchemaConstants.SYNTAX_AUTH_PASSWORD_OID;
 import static org.opends.server.schema.SchemaConstants.SYNTAX_USER_PASSWORD_OID;
@@ -28,6 +27,7 @@
 
 import org.forgerock.i18n.LocalizableMessage;
 import org.forgerock.i18n.LocalizableMessageDescriptor.Arg1;
+import org.forgerock.opendj.ldap.ByteString;
 import org.forgerock.opendj.ldap.ResultCode;
 import org.forgerock.opendj.ldap.schema.AttributeType;
 import org.forgerock.opendj.ldap.schema.ObjectClass;
@@ -81,6 +81,19 @@
   }
 
   /**
+   * Retrieves an attribute value containing a representation of the provided
+   * boolean value.
+   *
+   * @param  b  The boolean value for which to retrieve the attribute value.
+   *
+   * @return  The attribute value created from the provided boolean value.
+   */
+  public static ByteString createBooleanValue(boolean b)
+  {
+    return b ? ServerConstants.TRUE_VALUE : ServerConstants.FALSE_VALUE;
+  }
+
+  /**
    * Retrieves the definition string used to create the provided schema element and including the
    * X-SCHEMA-FILE extension.
    *
diff --git a/opendj-server-legacy/src/test/java/org/opends/server/schema/AttributeSyntaxTest.java b/opendj-server-legacy/src/test/java/org/opends/server/schema/AttributeSyntaxTest.java
deleted file mode 100644
index 8e19f3b..0000000
--- a/opendj-server-legacy/src/test/java/org/opends/server/schema/AttributeSyntaxTest.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * The contents of this file are subject to the terms of the Common Development and
- * Distribution License (the License). You may not use this file except in compliance with the
- * License.
- *
- * You can obtain a copy of the License at legal/CDDLv1.0.txt. See the License for the
- * specific language governing permission and limitations under the License.
- *
- * When distributing Covered Software, include this CDDL Header Notice in each file and include
- * the License file at legal/CDDLv1.0.txt. If applicable, add the following below the CDDL
- * Header, with the fields enclosed by brackets [] replaced by your own identifying
- * information: "Portions Copyright [year] [name of copyright owner]".
- *
- * Copyright 2006-2008 Sun Microsystems, Inc.
- * Portions Copyright 2012-2016 ForgeRock AS.
- */
-package org.opends.server.schema;
-
-import static org.testng.Assert.*;
-
-import org.forgerock.i18n.LocalizableMessageBuilder;
-import org.forgerock.opendj.ldap.ByteString;
-import org.forgerock.opendj.ldap.schema.Schema;
-import org.forgerock.opendj.ldap.schema.SchemaBuilder;
-import org.forgerock.opendj.ldap.schema.SchemaOptions;
-import org.forgerock.opendj.ldap.schema.Syntax;
-import org.opends.server.api.AttributeSyntax;
-import org.opends.server.util.RemoveOnceSDKSchemaIsUsed;
-import org.testng.annotations.DataProvider;
-import org.testng.annotations.Test;
-
-@SuppressWarnings("javadoc")
-@RemoveOnceSDKSchemaIsUsed
-public abstract class AttributeSyntaxTest extends SchemaTestCase
-{
-  /**
-   * Create data for the testAcceptableValues test.
-   * This should be a table of tables with 2 elements.
-   * The first one should be the value to test, the second the expected
-   * result of the test.
-   *
-   * @return a table containing data for the testAcceptableValues Test.
-   */
-  @DataProvider(name="acceptableValues")
-  public abstract Object[][] createAcceptableValues();
-
-  /**
-   * Get an instance of the attribute syntax that must be tested.
-   *
-   * @return An instance of the attribute syntax that must be tested.
-   * @throws Exception
-   *           if a problem occurs
-   */
-  protected abstract AttributeSyntax<?> getRule() throws Exception;
-
-  /** Test the normalization and the approximate comparison. */
-  @Test(dataProvider= "acceptableValues")
-  public void testAcceptableValues(String value, Boolean result) throws Exception
-  {
-    // Make sure that the specified class can be instantiated as a task.
-
-    SchemaBuilder schemaBuilder = new SchemaBuilder(Schema.getCoreSchema());
-    schemaBuilder.setOption(SchemaOptions.STRICT_FORMAT_FOR_COUNTRY_STRINGS, true);
-    Schema schema = schemaBuilder.toSchema();
-    Syntax syntax = getRule().getSDKSyntax(schema);
-
-    LocalizableMessageBuilder reason = new LocalizableMessageBuilder();
-    // test the valueIsAcceptable method
-    boolean liveResult =
-      syntax.valueIsAcceptable(ByteString.valueOfUtf8(value), reason);
-
-    assertSame(liveResult, result, syntax + ".valueIsAcceptable gave bad result for " + value + " reason : " + reason);
-  }
-}
diff --git a/opendj-server-legacy/src/test/java/org/opends/server/schema/AuthPasswordEqualityMatchingRuleTest.java b/opendj-server-legacy/src/test/java/org/opends/server/schema/AuthPasswordEqualityMatchingRuleTest.java
deleted file mode 100644
index 8e48e2c..0000000
--- a/opendj-server-legacy/src/test/java/org/opends/server/schema/AuthPasswordEqualityMatchingRuleTest.java
+++ /dev/null
@@ -1,125 +0,0 @@
-/*
- * The contents of this file are subject to the terms of the Common Development and
- * Distribution License (the License). You may not use this file except in compliance with the
- * License.
- *
- * You can obtain a copy of the License at legal/CDDLv1.0.txt. See the License for the
- * specific language governing permission and limitations under the License.
- *
- * When distributing Covered Software, include this CDDL Header Notice in each file and include
- * the License file at legal/CDDLv1.0.txt. If applicable, add the following below the CDDL
- * Header, with the fields enclosed by brackets [] replaced by your own identifying
- * information: "Portions Copyright [year] [name of copyright owner]".
- *
- * Copyright 2006-2008 Sun Microsystems, Inc.
- * Portions Copyright 2014-2016 ForgeRock AS.
- */
-package org.opends.server.schema;
-
-import org.forgerock.opendj.server.config.meta.SaltedMD5PasswordStorageSchemeCfgDefn;
-import org.opends.server.types.Entry;
-import org.opends.server.core.DirectoryServer;
-import org.opends.server.extensions.InitializationUtils;
-import org.opends.server.extensions.SaltedMD5PasswordStorageScheme;
-import org.forgerock.opendj.ldap.Assertion;
-import org.forgerock.opendj.ldap.ByteString;
-import org.forgerock.opendj.ldap.ConditionResult;
-import org.forgerock.opendj.ldap.DecodeException;
-import org.forgerock.opendj.ldap.schema.MatchingRule;
-import org.forgerock.opendj.ldap.DN;
-import org.testng.annotations.DataProvider;
-import org.testng.annotations.Test;
-
-import static org.opends.server.extensions.ExtensionsConstants.*;
-import static org.testng.Assert.*;
-
-/** Test the AuthPasswordEqualityMatchingRule. */
-@SuppressWarnings("javadoc")
-public class AuthPasswordEqualityMatchingRuleTest extends SchemaTestCase
-{
-  @DataProvider(name="equalitymatchingrules")
-  public Object[][] createEqualityMatchingRuleTest()
-  {
-    return new Object[][] {
-        {"password", "password", true},
-    };
-  }
-
-  @DataProvider(name="equalityMatchingRuleInvalidValues")
-  public Object[][] createEqualityMatchingRuleInvalidValues()
-  {
-    return new Object[][] {};
-  }
-
-  private Object[] generateValues(String password) throws Exception
-  {
-    ByteString bytePassword = ByteString.valueOfUtf8(password);
-
-    Entry configEntry = DirectoryServer.getEntry(
-           DN.valueOf("cn=Salted MD5,cn=Password Storage Schemes,cn=config"));
-
-    SaltedMD5PasswordStorageScheme scheme = InitializationUtils.initializePasswordStorageScheme(
-        new SaltedMD5PasswordStorageScheme(), configEntry, SaltedMD5PasswordStorageSchemeCfgDefn.getInstance());
-
-    ByteString encodedAuthPassword = scheme.encodeAuthPassword(bytePassword);
-    String[] authPWComponents = AuthPasswordSyntax.decodeAuthPassword(encodedAuthPassword.toString());
-
-     return new Object[] {
-         AUTH_PASSWORD_SCHEME_NAME_SALTED_MD5 + "$"
-                 + authPWComponents[1]
-                 + "$"+ authPWComponents[2],
-         password, true};
-  }
-
-  @DataProvider(name="valuesMatch")
-  public Object[][] createValuesMatch()
-  {
-    try
-    {
-      return new Object[][] {
-          generateValues("password"),
-          {"password", "something else", false},
-          {"password", AUTH_PASSWORD_SCHEME_NAME_SALTED_MD5+"$something$else", false},
-          {"password", "scheme$something$else", false}
-      };
-    }
-    catch (Exception e)
-    {
-      throw new RuntimeException(e);
-    }
-  }
-
-  @Test(dataProvider= "equalityMatchingRuleInvalidValues", expectedExceptions = { DecodeException.class })
-  public void equalityMatchingRulesInvalidValues(String value) throws Exception
-  {
-    getRule().normalizeAttributeValue(ByteString.valueOfUtf8(value));
-  }
-
-  /** Test the valuesMatch method used for extensible filters. */
-  @Test(dataProvider= "valuesMatch")
-  public void testValuesMatch(String value1, String value2, Boolean result) throws Exception
-  {
-    MatchingRule rule = getRule();
-
-    // normalize the 2 provided values and check that they are equals
-    ByteString normalizedValue1 =
-      rule.normalizeAttributeValue(ByteString.valueOfUtf8(value1));
-    Assertion assertion = rule.getAssertion(ByteString.valueOfUtf8(value2));
-
-    ConditionResult liveResult = assertion.matches(normalizedValue1);
-    assertEquals(liveResult, ConditionResult.valueOf(result));
-  }
-
-  private MatchingRule getRule()
-  {
-    AuthPasswordEqualityMatchingRuleFactory factory = new AuthPasswordEqualityMatchingRuleFactory();
-    try
-    {
-      factory.initializeMatchingRule(null);
-    }
-    catch (Exception ex) {
-      throw new RuntimeException(ex);
-    }
-    return factory.getMatchingRules().iterator().next();
-  }
-}
diff --git a/opendj-server-legacy/src/test/java/org/opends/server/schema/BinaryAttributeSyntaxTest.java b/opendj-server-legacy/src/test/java/org/opends/server/schema/BinaryAttributeSyntaxTest.java
deleted file mode 100644
index 0c704da..0000000
--- a/opendj-server-legacy/src/test/java/org/opends/server/schema/BinaryAttributeSyntaxTest.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * The contents of this file are subject to the terms of the Common Development and
- * Distribution License (the License). You may not use this file except in compliance with the
- * License.
- *
- * You can obtain a copy of the License at legal/CDDLv1.0.txt. See the License for the
- * specific language governing permission and limitations under the License.
- *
- * When distributing Covered Software, include this CDDL Header Notice in each file and include
- * the License file at legal/CDDLv1.0.txt. If applicable, add the following below the CDDL
- * Header, with the fields enclosed by brackets [] replaced by your own identifying
- * information: "Portions Copyright [year] [name of copyright owner]".
- *
- * Copyright 2006-2008 Sun Microsystems, Inc.
- * Portions Copyright 2012-2016 ForgeRock AS.
- */
-package org.opends.server.schema;
-
-import static org.testng.Assert.*;
-
-import org.forgerock.i18n.LocalizableMessageBuilder;
-import org.forgerock.opendj.ldap.ByteString;
-import org.forgerock.opendj.ldap.schema.Schema;
-import org.forgerock.opendj.ldap.schema.SchemaBuilder;
-import org.forgerock.opendj.ldap.schema.SchemaOptions;
-import org.forgerock.opendj.ldap.schema.Syntax;
-import org.opends.server.api.AttributeSyntax;
-import org.opends.server.util.RemoveOnceSDKSchemaIsUsed;
-import org.testng.annotations.DataProvider;
-import org.testng.annotations.Test;
-
-@SuppressWarnings("javadoc")
-@RemoveOnceSDKSchemaIsUsed
-public abstract class BinaryAttributeSyntaxTest extends SchemaTestCase
-{
-  /**
-   * Create data for the testAcceptableValues test.
-   * This should be a table of tables with 2 elements.
-   * The first one should be the value to test, the second the expected
-   * result of the test.
-   *
-   * @return a table containing data for the testAcceptableValues Test.
-   */
-  @DataProvider(name="acceptableValues")
-  public abstract Object[][] createAcceptableValues();
-
-  /**
-   * Get an instance of the attribute syntax that must be tested.
-   *
-   * @return An instance of the attribute syntax that must be tested.
-   * @throws Exception if a problem occurs
-   */
-  protected abstract AttributeSyntax<?> getRule() throws Exception;
-
-  /**
-   * Test the normalization and the approximate comparison.
-   */
-  @Test(dataProvider= "acceptableValues")
-  public void testAcceptableValues(ByteString value, boolean expectedResult)
-         throws Exception
-  {
-    // Make sure that the specified class can be instantiated as a task.
-    SchemaBuilder schemaBuilder = new SchemaBuilder(Schema.getCoreSchema());
-    schemaBuilder.setOption(SchemaOptions.ALLOW_MALFORMED_CERTIFICATES, false);
-    Schema schema = schemaBuilder.toSchema();
-    Syntax syntax = getRule().getSDKSyntax(schema);
-
-    LocalizableMessageBuilder reason = new LocalizableMessageBuilder();
-
-    boolean liveResult = syntax.valueIsAcceptable(value, reason);
-    assertEquals(liveResult, expectedResult,
-        syntax + ".valueIsAcceptable gave bad result for " + value + "reason : " + reason);
-  }
-}
diff --git a/opendj-server-legacy/src/test/java/org/opends/server/schema/BitStringSyntaxTest.java b/opendj-server-legacy/src/test/java/org/opends/server/schema/BitStringSyntaxTest.java
deleted file mode 100644
index dbfb4aa..0000000
--- a/opendj-server-legacy/src/test/java/org/opends/server/schema/BitStringSyntaxTest.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * The contents of this file are subject to the terms of the Common Development and
- * Distribution License (the License). You may not use this file except in compliance with the
- * License.
- *
- * You can obtain a copy of the License at legal/CDDLv1.0.txt. See the License for the
- * specific language governing permission and limitations under the License.
- *
- * When distributing Covered Software, include this CDDL Header Notice in each file and include
- * the License file at legal/CDDLv1.0.txt. If applicable, add the following below the CDDL
- * Header, with the fields enclosed by brackets [] replaced by your own identifying
- * information: "Portions Copyright [year] [name of copyright owner]".
- *
- * Copyright 2006-2008 Sun Microsystems, Inc.
- * Portions Copyright 2014-2015 ForgeRock AS.
- */
-package org.opends.server.schema;
-
-import static org.testng.Assert.*;
-
-import org.opends.server.api.AttributeSyntax;
-import org.opends.server.util.RemoveOnceSDKSchemaIsUsed;
-import org.forgerock.opendj.ldap.ByteString;
-import org.forgerock.opendj.ldap.schema.CoreSchema;
-import org.forgerock.opendj.ldap.schema.Syntax;
-import org.forgerock.i18n.LocalizableMessageBuilder;
-import org.testng.annotations.DataProvider;
-import org.testng.annotations.Test;
-
-/**
- * Test the BitStringSyntax.
- */
-@RemoveOnceSDKSchemaIsUsed
-public class BitStringSyntaxTest extends AttributeSyntaxTest
-{
-
-  /** {@inheritDoc} */
-  @Override
-  protected AttributeSyntax getRule()
-  {
-    return new BitStringSyntax();
-  }
-
-  /** {@inheritDoc} */
-  @Override
-  @DataProvider(name="acceptableValues")
-  public Object[][] createAcceptableValues()
-  {
-    return new Object [][] {
-        {"'0101'B",  true},
-        {"'1'B",     true},
-        { "'0'B",    true},
-        { "invalid", false},
-        { "1",       false},
-        {"'010100000111111010101000'B",  true},
-    };
-  }
-
-  /** {@inheritDoc} */
-  @Override
-  @Test(dataProvider= "acceptableValues")
-  public void testAcceptableValues(String value, Boolean result) throws Exception
-  {
-    Syntax syntax = new BitStringSyntax().getSDKSyntax(CoreSchema.getInstance());
-
-    ByteString byteStringValue = ByteString.valueOfUtf8(value);
-
-    LocalizableMessageBuilder reason = new LocalizableMessageBuilder();
-    Boolean liveResult =
-      syntax.valueIsAcceptable(byteStringValue, reason);
-
-    assertSame(liveResult, result, syntax + ".valueIsAcceptable gave bad result for " + value + " reason : " + reason);
-  }
-}
diff --git a/opendj-server-legacy/src/test/java/org/opends/server/schema/DITContentRuleSyntaxTest.java b/opendj-server-legacy/src/test/java/org/opends/server/schema/DITContentRuleSyntaxTest.java
deleted file mode 100644
index 699870f..0000000
--- a/opendj-server-legacy/src/test/java/org/opends/server/schema/DITContentRuleSyntaxTest.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*
- * The contents of this file are subject to the terms of the Common Development and
- * Distribution License (the License). You may not use this file except in compliance with the
- * License.
- *
- * You can obtain a copy of the License at legal/CDDLv1.0.txt. See the License for the
- * specific language governing permission and limitations under the License.
- *
- * When distributing Covered Software, include this CDDL Header Notice in each file and include
- * the License file at legal/CDDLv1.0.txt. If applicable, add the following below the CDDL
- * Header, with the fields enclosed by brackets [] replaced by your own identifying
- * information: "Portions Copyright [year] [name of copyright owner]".
- *
- * Copyright 2006-2008 Sun Microsystems, Inc.
- * Portions Copyright 2015 ForgeRock AS.
- */
-package org.opends.server.schema;
-
-import org.opends.server.api.AttributeSyntax;
-import org.opends.server.util.RemoveOnceSDKSchemaIsUsed;
-import org.testng.annotations.DataProvider;
-import org.testng.annotations.Test;
-
-/**
- * Test the DITContentRuleSyntax.
- */
-@RemoveOnceSDKSchemaIsUsed
-@Test
-public class DITContentRuleSyntaxTest extends AttributeSyntaxTest
-{
-
-  /** {@inheritDoc} */
-  @Override
-  protected AttributeSyntax getRule()
-  {
-    return new DITContentRuleSyntax();
-  }
-
-  @Override
-  @DataProvider(name="acceptableValues")
-  public Object[][] createAcceptableValues()
-  {
-    return new Object [][] {
-        {"( 2.5.6.4 DESC 'content rule for organization' NOT "
-             + "( x121Address $ telexNumber ) )", true},
-        {"( 2.5.6.4 NAME 'fullrule' DESC 'rule with all possible fields' "
-              + " OBSOLETE"
-              + " AUX ( posixAccount )"
-              + " MUST ( cn $ sn )"
-              + " MAY ( dc )"
-              + " NOT ( x121Address $ telexNumber ) )"
-                , true},
-        {"( 2.5.6.4 NAME 'fullrule' DESC 'ommit parenthesis' "
-                  + " OBSOLETE"
-                  + " AUX posixAccount "
-                  + " MUST cn "
-                  + " MAY dc "
-                  + " NOT x121Address )"
-              , true},
-         {"( 2.5.6.4 NAME 'fullrule' DESC 'use numeric OIDs' "
-                + " OBSOLETE"
-                + " AUX 1.3.6.1.1.1.2.0"
-                + " MUST cn "
-                + " MAY dc "
-                + " NOT x121Address )"
-                   , true},
-         {"( 2.5.6.4 NAME 'fullrule' DESC 'illegal OIDs' "
-               + " OBSOLETE"
-               + " AUX 2.5.6.."
-               + " MUST cn "
-               + " MAY dc "
-               + " NOT x121Address )"
-               , false},
-         {"( 2.5.6.4 NAME 'fullrule' DESC 'illegal OIDs' "
-                 + " OBSOLETE"
-                 + " AUX 2.5.6.x"
-                 + " MUST cn "
-                 + " MAY dc "
-                 + " NOT x121Address )"
-                 , false},
-         {"( 2.5.6.4 NAME 'fullrule' DESC 'missing closing parenthesis' "
-                 + " OBSOLETE"
-                 + " AUX posixAccount"
-                 + " MUST cn "
-                 + " MAY dc "
-                 + " NOT x121Address"
-             , false},
-         {"( 2.5.6.4 NAME 'fullrule' DESC 'extra parameterss' "
-                 + " MUST cn "
-                 + " this is an extra parameter )"
-             , false},
-
-    };
-  }
-
-}
diff --git a/opendj-server-legacy/src/test/java/org/opends/server/schema/GeneralizedTimeSyntaxTest.java b/opendj-server-legacy/src/test/java/org/opends/server/schema/GeneralizedTimeSyntaxTest.java
index e90bb9b..19029c2 100644
--- a/opendj-server-legacy/src/test/java/org/opends/server/schema/GeneralizedTimeSyntaxTest.java
+++ b/opendj-server-legacy/src/test/java/org/opends/server/schema/GeneralizedTimeSyntaxTest.java
@@ -12,18 +12,18 @@
  * information: "Portions Copyright [year] [name of copyright owner]".
  *
  * Copyright 2006-2009 Sun Microsystems, Inc.
- * Portions Copyright 2015 ForgeRock AS.
+ * Portions Copyright 2015-2016 ForgeRock AS.
  */
 package org.opends.server.schema;
 
-import static org.opends.server.util.ServerConstants.*;
+import static org.opends.server.util.ServerConstants.TIME_ZONE_UTC;
 
 import java.util.Calendar;
 import java.util.Date;
 import java.util.GregorianCalendar;
 import java.util.TimeZone;
 
-import org.opends.server.api.AttributeSyntax;
+import org.opends.server.DirectoryServerTestCase;
 import org.opends.server.util.RemoveOnceSDKSchemaIsUsed;
 import org.testng.Assert;
 import org.testng.annotations.DataProvider;
@@ -33,54 +33,8 @@
  * Test the GeneralizedTimeSyntax.
  */
 @RemoveOnceSDKSchemaIsUsed
-public class GeneralizedTimeSyntaxTest extends AttributeSyntaxTest
+public class GeneralizedTimeSyntaxTest extends DirectoryServerTestCase
 {
-
-  /** {@inheritDoc} */
-  @Override
-  protected AttributeSyntax getRule()
-  {
-    return new GeneralizedTimeSyntax();
-  }
-
-  @Override
-  @DataProvider(name="acceptableValues")
-  public Object[][] createAcceptableValues()
-  {
-    return new Object [][] {
-        {"2006090613Z", true},
-        {"20060906135030+01", true},
-        {"200609061350Z", true},
-        {"20060906135030Z", true},
-        {"20061116135030Z", true},
-        {"20061126135030Z", true},
-        {"20061231235959Z", true},
-        {"20060906135030+0101", true},
-        {"20060906135030+2359", true},
-        {"20060906135030+3359", false},
-        {"20060906135030+2389", false},
-        {"20060906135030+2361", false},
-        {"20060906135030+", false},
-        {"20060906135030+0", false},
-        {"20060906135030+010", false},
-        {"20061200235959Z", false},
-        {"2006121a235959Z", false},
-        {"2006122a235959Z", false},
-        {"20060031235959Z", false},
-        {"20061331235959Z", false},
-        {"20062231235959Z", false},
-        {"20061232235959Z", false},
-        {"2006123123595aZ", false},
-        {"200a1231235959Z", false},
-        {"2006j231235959Z", false},
-        {"200612-1235959Z", false},
-        {"20061231#35959Z", false},
-        {"2006", false},
-    };
-  }
-
-
-
   /**
    * Create data for format(...) tests.
    *
diff --git a/opendj-server-legacy/src/test/java/org/opends/server/schema/GuideSyntaxTest.java b/opendj-server-legacy/src/test/java/org/opends/server/schema/GuideSyntaxTest.java
deleted file mode 100644
index b5e9fd2..0000000
--- a/opendj-server-legacy/src/test/java/org/opends/server/schema/GuideSyntaxTest.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
- * The contents of this file are subject to the terms of the Common Development and
- * Distribution License (the License). You may not use this file except in compliance with the
- * License.
- *
- * You can obtain a copy of the License at legal/CDDLv1.0.txt. See the License for the
- * specific language governing permission and limitations under the License.
- *
- * When distributing Covered Software, include this CDDL Header Notice in each file and include
- * the License file at legal/CDDLv1.0.txt. If applicable, add the following below the CDDL
- * Header, with the fields enclosed by brackets [] replaced by your own identifying
- * information: "Portions Copyright [year] [name of copyright owner]".
- *
- * Copyright 2006-2008 Sun Microsystems, Inc.
- * Portions Copyright 2015 ForgeRock AS.
- */
-package org.opends.server.schema;
-
-import org.opends.server.api.AttributeSyntax;
-import org.opends.server.util.RemoveOnceSDKSchemaIsUsed;
-import org.testng.annotations.DataProvider;
-
-/**
- * Test the GuideSyntax.
- */
-@RemoveOnceSDKSchemaIsUsed
-public class GuideSyntaxTest extends AttributeSyntaxTest
-{
-
-  /** {@inheritDoc} */
-  @Override
-  protected AttributeSyntax getRule()
-  {
-    return new GuideSyntax();
-  }
-
-  /** {@inheritDoc} */
-  @Override
-  @DataProvider(name="acceptableValues")
-  public Object[][] createAcceptableValues()
-  {
-    return new Object [][] {
-        {"sn$EQ|!(sn$EQ)", true},
-        {"!(sn$EQ)", true},
-        {"person#sn$EQ", true},
-        {"(sn$EQ)", true},
-        {"sn$EQ", true},
-        {"sn$SUBSTR", true},
-        {"sn$GE", true},
-        {"sn$LE", true},
-        {"sn$ME", false},
-        {"?true", true},
-        {"?false", true},
-        {"true|sn$GE", false},
-        {"sn$APPROX", true},
-        {"sn$EQ|(sn$EQ)", true},
-        {"sn$EQ|(sn$EQ", false},
-        {"sn$EQ|(sn$EQ)|sn$EQ", true},
-        {"sn$EQ|(cn$APPROX&?false)", true},
-        {"sn$EQ|(cn$APPROX&|?false)", false},
-    };
-  }
-
-}
diff --git a/opendj-server-legacy/src/test/java/org/opends/server/schema/IA5StringSyntaxTest.java b/opendj-server-legacy/src/test/java/org/opends/server/schema/IA5StringSyntaxTest.java
deleted file mode 100644
index c49794b..0000000
--- a/opendj-server-legacy/src/test/java/org/opends/server/schema/IA5StringSyntaxTest.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * The contents of this file are subject to the terms of the Common Development and
- * Distribution License (the License). You may not use this file except in compliance with the
- * License.
- *
- * You can obtain a copy of the License at legal/CDDLv1.0.txt. See the License for the
- * specific language governing permission and limitations under the License.
- *
- * When distributing Covered Software, include this CDDL Header Notice in each file and include
- * the License file at legal/CDDLv1.0.txt. If applicable, add the following below the CDDL
- * Header, with the fields enclosed by brackets [] replaced by your own identifying
- * information: "Portions Copyright [year] [name of copyright owner]".
- *
- * Copyright 2006-2008 Sun Microsystems, Inc.
- * Portions Copyright 2015 ForgeRock AS.
- */
-package org.opends.server.schema;
-
-import org.opends.server.api.AttributeSyntax;
-import org.opends.server.util.RemoveOnceSDKSchemaIsUsed;
-import org.testng.annotations.DataProvider;
-
-/**
- * Test the IA5StringSyntax.
- */
-@RemoveOnceSDKSchemaIsUsed
-public class IA5StringSyntaxTest extends AttributeSyntaxTest
-{
-
-  /** {@inheritDoc} */
-  @Override
-  protected AttributeSyntax getRule()
-  {
-    return new IA5StringSyntax();
-  }
-
-  /** {@inheritDoc} */
-  @Override
-  @DataProvider(name="acceptableValues")
-  public Object[][] createAcceptableValues()
-  {
-    return new Object [][] {
-        {"12345678", true},
-        {"12345678\u2163", false},
-    };
-  }
-
-}
diff --git a/opendj-server-legacy/src/test/java/org/opends/server/schema/IntegerSyntaxTest.java b/opendj-server-legacy/src/test/java/org/opends/server/schema/IntegerSyntaxTest.java
deleted file mode 100644
index 616721b..0000000
--- a/opendj-server-legacy/src/test/java/org/opends/server/schema/IntegerSyntaxTest.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * The contents of this file are subject to the terms of the Common Development and
- * Distribution License (the License). You may not use this file except in compliance with the
- * License.
- *
- * You can obtain a copy of the License at legal/CDDLv1.0.txt. See the License for the
- * specific language governing permission and limitations under the License.
- *
- * When distributing Covered Software, include this CDDL Header Notice in each file and include
- * the License file at legal/CDDLv1.0.txt. If applicable, add the following below the CDDL
- * Header, with the fields enclosed by brackets [] replaced by your own identifying
- * information: "Portions Copyright [year] [name of copyright owner]".
- *
- * Copyright 2012-2015 ForgeRock AS.
- */
-package org.opends.server.schema;
-
-import org.opends.server.api.AttributeSyntax;
-import org.opends.server.util.RemoveOnceSDKSchemaIsUsed;
-import org.testng.annotations.DataProvider;
-
-/**
- * Test the IA5StringSyntax.
- */
-@RemoveOnceSDKSchemaIsUsed
-public class IntegerSyntaxTest extends AttributeSyntaxTest
-{
-
-  /** {@inheritDoc} */
-  @Override
-  protected AttributeSyntax getRule()
-  {
-    return new IntegerSyntax();
-  }
-
-  /** {@inheritDoc} */
-  @Override
-  @DataProvider(name="acceptableValues")
-  public Object[][] createAcceptableValues()
-  {
-    return new Object [][] {
-        {"123", true},
-        {"987654321", true},
-        {"-1", true},
-        {"10001", true},
-        {"001", false},
-        {"-01", false},
-        {"12345678\u2163", false},
-        {" 123", false},
-        {"123 ", false}
-    };
-  }
-
-}
diff --git a/opendj-server-legacy/src/test/java/org/opends/server/schema/LDAPSyntaxTest.java b/opendj-server-legacy/src/test/java/org/opends/server/schema/LDAPSyntaxTest.java
deleted file mode 100644
index 9c47761..0000000
--- a/opendj-server-legacy/src/test/java/org/opends/server/schema/LDAPSyntaxTest.java
+++ /dev/null
@@ -1,647 +0,0 @@
-/*
- * The contents of this file are subject to the terms of the Common Development and
- * Distribution License (the License). You may not use this file except in compliance with the
- * License.
- *
- * You can obtain a copy of the License at legal/CDDLv1.0.txt. See the License for the
- * specific language governing permission and limitations under the License.
- *
- * When distributing Covered Software, include this CDDL Header Notice in each file and include
- * the License file at legal/CDDLv1.0.txt. If applicable, add the following below the CDDL
- * Header, with the fields enclosed by brackets [] replaced by your own identifying
- * information: "Portions Copyright [year] [name of copyright owner]".
- *
- * Copyright 2006-2009 Sun Microsystems, Inc.
- * Portions Copyright 2011-2016 ForgeRock AS.
- */
-package org.opends.server.schema;
-
-import static org.assertj.core.api.Assertions.*;
-import static org.opends.server.protocols.internal.InternalClientConnection.*;
-import static org.opends.server.protocols.internal.Requests.*;
-import static org.testng.Assert.*;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.forgerock.opendj.ldap.ByteString;
-import org.forgerock.opendj.ldap.DN;
-import org.forgerock.opendj.ldap.ResultCode;
-import org.forgerock.opendj.ldap.SearchScope;
-import org.opends.server.TestCaseUtils;
-import org.opends.server.api.AttributeSyntax;
-import org.opends.server.core.AddOperation;
-import org.opends.server.protocols.internal.InternalSearchOperation;
-import org.opends.server.protocols.internal.SearchRequest;
-import org.opends.server.types.Attribute;
-import org.opends.server.types.Entry;
-import org.opends.server.types.SearchResultEntry;
-import org.opends.server.util.RemoveOnceSDKSchemaIsUsed;
-import org.testng.annotations.DataProvider;
-import org.testng.annotations.Test;
-
-/** Test the LDAPSyntaxDescriptionSyntax. */
-@RemoveOnceSDKSchemaIsUsed
-@SuppressWarnings("javadoc")
-public class LDAPSyntaxTest extends AttributeSyntaxTest
-{
-  @Override
-  protected AttributeSyntax<?> getRule()
-  {
-    return new LDAPSyntaxDescriptionSyntax();
-  }
-
-  @Override
-  @DataProvider(name="acceptableValues")
-  public Object[][] createAcceptableValues()
-  {
-      return new Object [][] {
-              {"( 2.5.4.3 DESC 'full syntax description' " +
-                    "X-9EN ('this' 'is' 'a' 'test'))",
-                    false},
-              {"( 2.5.4.3 DESC 'full syntax description' " +
-                    "(X-name 'this",
-                    false},
-              {"( 2.5.4.3 DESC 'full syntax description' " +
-                    "(X-name 'this'",
-                    false},
-              {"( 2.5.4.3 DESC 'full syntax description' " +
-                    "Y-name 'this')",
-                    false},
-              {"( 2.5.4.3 DESC 'full syntax description' " +
-                    "X-name 'this' 'is')",
-                    false},
-              {"( 2.5.4.3 DESC 'full syntax description' " +
-                    "X-name )",
-                    false},
-              {"( 2.5.4.3 DESC 'full syntax description' " +
-                    "X- ('this' 'is' 'a' 'test'))",
-                    false},
-              {"( 2.5.4.3 DESC 'full syntax description' " +
-                    "X-name ('this' 'is' 'a' 'test') X-name-a 'this' X-name-b ('this')",
-                    false},
-              {"( 2.5.4.3 DESC 'full syntax description' " +
-                    "X-name ('this' 'is' 'a' 'test') X-name-a 'this' X-name-b ('this'",
-                    false},
-              {"( 2.5.4.3 DESC 'full syntax description' " +
-                    "X-name ('this' 'is' 'a' 'test') X-name-a 'this' X-name-b ('this'))))",
-                    false},
-              {"( 2.5.4.3 DESC 'full syntax description' " +
-                    "X-name ('this' 'is' 'a' 'test') X-name-a  X-name-b ('this'))))",
-                    false},
-              {"( 2.5.4.3 DESC 'full syntax description' " +
-                    "X-name ('this' 'is' 'a' 'test') X-name-a  'X-name-b' ('this'))))",
-                    false},
-              {"( 2.5.4.3 DESC 'full syntax description' " +
-                    "X-name ('this' 'is' 'a' 'test') X-name-a 'this' X-name-b ('this'))",
-                    true},
-              {"( 2.5.4.3 DESC 'full syntax description' " +
-                    "X-name ('this' 'is' 'a' 'test') X-name-a 'this' X-name-b ( 'this' ))",
-                    true},
-              {"( 2.5.4.3 DESC 'full syntax description' " +
-                    "X-name ('this' 'is' 'a' 'test') X-name-a 'this' X-name-b ('this' 'that'))",
-                    true},
-              {"( 2.5.4.3 DESC 'full syntax description' " +
-                    "X-name ('this' 'is' 'a' 'test') X-name-a 'this' X-name-b ('this' 'that') )",
-                    true},
-              {"( 2.5.4.3 DESC 'full syntax description' " +
-                    "X-a-_eN_- ('this' 'is' 'a' 'test'))",
-                    true},
-              {"( 2.5.4.3 DESC 'full syntax description' " +
-                    "X-name ('this'))",
-                    true},
-              {"( 2.5.4.3 DESC 'full syntax description' " +
-                    "X-name 'this')",
-                    true},
-              {"( 2.5.4.3 DESC 'full syntax description' " +
-                    "X-name 'this' X-name-a 'test')",
-                    true},
-              {"( 2.5.4.3 DESC 'full syntax description' )", true},
-              {"   (    2.5.4.3    DESC  ' syntax description'    )", true},
-              {"( 2.5.4.3 DESC 'Test syntax' X-SCHEMA-FILE '00-core.ldif' )", true},
-              {"( 2.5.4.3 DESC 'Test X-SUBST Extensions' X-SUBST '1.3.6.1.4.1.1466.115.121.1.15' )", true},
-    {"( 2.5.4.3 DESC 'Test X-SUBST Extensions' X-SUBST '1.3.6.1.4.1.1466.115.121.1.15' X-SCHEMA-FILE '00-core.ldif' )",
-                  true},
-    {"( 2.5.4.3 DESC 'Test X-SUBST Extensions' X-SCHEMA-FILE '00-core.ldif' X-SUBST '1.3.6.1.4.1.1466.115.121.1.15' )",
-                  true},
-              {"( 2.5.4.3 DESC 'Test X-PATTERN Extensions' X-PATTERN '[0-9]+' )", true},
-              {"( 2.5.4.3 DESC 'Test X-PATTERN Extensions' X-PATTERN '[0-9]+' X-SCHEMA-FILE '00-core.ldif' )", true},
-              {"( 2.5.4.3 DESC 'Test X-ENUM Extensions' X-ENUM ( 'black' 'white' ) )", true},
-              {"( 2.5.4.3 DESC 'Test X-ENUM Extensions' X-ENUM ( 'white' 'white' ) )", false},
-              {"( 2.5.4.3 DESC 'Test X-ENUM Extensions' X-ENUM )", false},
-      { "( 2.5.4.3 DESC 'Test X-ENUM Extensions' X-ENUM ( 'black' 'white' ) X-SCHEMA-FILE '00-core.ldif' )", true },
-              {"( 2.5.4.3 DESC syntax description )", false},
-              {"($%^*&!@ DESC 'syntax description' )", false},
-              {"(temp-oid DESC 'syntax description' )", true},
-              {"2.5.4.3 DESC 'syntax description' )", false},
-              {"(2.5.4.3 DESC 'syntax description' ", false},
-      };
-  }
-
-
-
-  /**
-   * Tests whether an implemented syntax can't be substituted by another.
-   */
-  @Test
-  public void testSubstitutionSyntaxForInvalidSubstitution() throws Exception
-  {
-    try
-    {
-      //Test if we can substitute a directory string syntax by itself.
-      int resultCode = TestCaseUtils.applyModifications(true,
-        "dn: cn=schema",
-        "changetype: modify",
-        "add: ldapsyntaxes",
-        "ldapsyntaxes: ( 1.3.6.1.4.1.1466.115.121.1.15 " +
-        "DESC 'Replacing DirectorySyntax'   " +
-        " X-SUBST '1.3.6.1.4.1.1466.115.121.1.15' )");
-
-      //This is not expected to happen
-      assertThat(resultCode).isNotEqualTo(0);
-
-      //Test if we can substitute a directory string syntax by an undefined.
-      resultCode = TestCaseUtils.applyModifications(true,
-        "dn: cn=schema",
-        "changetype: modify",
-        "add: ldapsyntaxes",
-        "ldapsyntaxes: ( 1.3.6.1.4.1.1466.115.121.1.15 " +
-        "DESC 'Replacing DirectorySyntax'   " +
-        " X-SUBST '1.1.1' )");
-
-      //This is not expected to happen
-      assertThat(resultCode).isNotEqualTo(0);
-
-
-      //Test if we can substitute a core syntax with a user-defined syntax
-      addSubtitutionSyntax();
-      //Replace the IA5Stringsyntax with the custom syntax we just created.
-      resultCode = TestCaseUtils.applyModifications(true,
-        "dn: cn=schema",
-        "changetype: modify",
-        "add: ldapsyntaxes",
-        "ldapsyntaxes: ( 1.3.6.1.4.1.1466.115.121.1.26 " +
-        "DESC 'Replacing DirectorySyntax'   " +
-        " X-SUBST '9.9.9' )");
-
-      //This is not expected to happen
-      assertThat(resultCode).isNotEqualTo(0);
-    }
-    finally
-    {
-      deleteSubstitutionSyntax();
-    }
-  }
-
-
-
-  /**
-   * Tests whether both the virtual and the newly added real substitution syntax are available when
-   * a search is made for ldapsyntaxes attribute.
-   */
-  @Test
-  public void testSubstitutionSyntaxSearch() throws Exception
-  {
-    try
-    {
-      addSubtitutionSyntax();
-
-      SearchRequest request = newSearchRequest("cn=schema", SearchScope.WHOLE_SUBTREE, "objectclass=ldapsubentry")
-          .addAttribute("ldapsyntaxes");
-      InternalSearchOperation searchOperation = getRootConnection().processSearch(request);
-
-      assertEquals(searchOperation.getResultCode(), ResultCode.SUCCESS);
-      List<SearchResultEntry> entries = searchOperation.getSearchEntries();
-      assertThat(entries).isNotEmpty();
-      SearchResultEntry e = entries.get(0);
-      assertNotNull(e);
-      Attribute attr = e.getAllAttributes("ldapsyntaxes").iterator().next();
-
-      //There are other ways of doing it but we will extract the OID
-      //from the attribute values and then check to see if our
-      //OID is found in the result set or not.
-      List<String> syntaxList = new ArrayList<>();
-      for (ByteString attrValue : attr)
-      {
-        //parse the OIDs.
-        syntaxList.add(getOIDFromLdapSyntax(attrValue.toString()));
-      }
-
-      //Check if we find our OID.
-      assertThat(syntaxList).contains("9.9.9");
-      assertThat(syntaxList).contains(SchemaConstants.SYNTAX_DIRECTORY_STRING_OID);
-      assertThat(syntaxList).contains(SchemaConstants.SYNTAX_IA5_STRING_OID);
-    }
-    finally
-    {
-      deleteSubstitutionSyntax();
-    }
-  }
-
-
-
-   /**
-   * Tests whether it is possible to add values after an unimplemented syntax has been substituted
-   * by DirectoryString syntax.
-   */
-  @Test
-   public void testSubsitutionSyntaxAddValues() throws Exception
-   {
-     try
-     {
-       addSubtitutionSyntax();
-       //Add an attribute with undefined syntax.
-       int  resultCode = TestCaseUtils.applyModifications(true,
-          "dn: cn=schema",
-          "changetype: modify",
-          "add: attributetypes",
-          "attributetypes: ( test-oid NAME 'test-attr' SYNTAX 9.9.9 )",
-          "-",
-          "add: objectclasses",
-          "objectclasses: ( oc-oid NAME 'testOC' SUP top AUXILIARY MUST test-attr)"
-        );
-      assertThat(resultCode).isEqualTo(0);
-      TestCaseUtils.initializeTestBackend(true);
-
-      TestCaseUtils.addEntry(
-      "dn: cn=syntax-test,o=test",
-      "objectclass: person",
-      "objectclass: testOC",
-      "cn: syntax-test",
-      "sn: xyz",
-      "test-attr: test value for unimplemented syntax");
-     }
-     finally
-     {
-       int resultCode = TestCaseUtils.applyModifications(true,
-         "dn: cn=schema",
-         "changetype: modify",
-         "delete: objectclasses",
-         "objectclasses: ( oc-oid NAME 'testOC' SUP top AUXILIARY MUST test-attr)",
-         "-",
-         "delete: attributetypes",
-         "attributetypes: ( test-oid NAME 'test-attr' SYNTAX 9.9.9 )"
-       );
-       assertThat(resultCode).isEqualTo(0);
-
-       deleteSubstitutionSyntax();
-     }
-   }
-
-
-
-  /**
-    * Tests whether it is possible to add values after a regex syntax
-    * has been added.
-    *
-    * @throws java.lang.Exception
-    */
-  @Test
-  public void testRegexSyntaxAddValues() throws Exception
-  {
-    try
-    {
-      addRegexSyntax();
-      TestCaseUtils.initializeTestBackend(true);
-
-      //This addition should fail because it doesn't match the pattern.
-      Entry entry = TestCaseUtils.makeEntry(
-      "dn: cn=syntax-test,o=test",
-      "objectclass: person",
-      "objectclass: testOC",
-      "cn: syntax-test",
-      "sn: xyz",
-      "test-attr-regex: invalid regex");
-      AddOperation addOperation = getRootConnection().processAdd(entry);
-    assertEquals(addOperation.getResultCode(),
-            ResultCode.INVALID_ATTRIBUTE_SYNTAX);
-
-      //This addition should go through.
-      TestCaseUtils.addEntry(
-        "dn: cn=syntax-test,o=test",
-        "objectclass: person",
-        "objectclass: testOC",
-        "cn: syntax-test",
-        "sn: xyz",
-        "test-attr-regex: host:0.0.0");
-    }
-    finally
-    {
-     deleteRegexSyntax();
-    }
-  }
-
-
-
-  /**
-   * Tests the search using regex syntax.
-   *
-   * @throws java.lang.Exception
-   */
-  @Test
-  public void testRegexSyntaxSearch() throws Exception
-  {
-    try
-    {
-      addRegexSyntax();
-      TestCaseUtils.initializeTestBackend(true);
-      //This addition should go through.
-      TestCaseUtils.addEntry(
-        "dn: cn=test,o=test",
-        "objectclass: person",
-        "objectclass: testOC",
-        "cn: test",
-        "sn: xyz",
-        "test-attr-regex: host:0.0.0");
-
-      SearchRequest request =
-          newSearchRequest("cn=test,o=test", SearchScope.WHOLE_SUBTREE, "test-attr-regex=host:0.0.0");
-      InternalSearchOperation searchOperation = getRootConnection().processSearch(request);
-      assertEquals(searchOperation.getResultCode(), ResultCode.SUCCESS);
-      List<SearchResultEntry> entries = searchOperation.getSearchEntries();
-      assertThat(entries).isNotEmpty();
-      assertNotNull(entries.get(0));
-    }
-    finally
-    {
-      deleteRegexSyntax();
-    }
-  }
-
-  /**
-    * Tests whether it is possible to add values after an enum syntax
-    * has been added.
-    *
-    * @throws java.lang.Exception
-    */
-  @Test
-  public void testEnumSyntaxAddValues() throws Exception
-  {
-    try
-    {
-      addEnumSyntax();
-      TestCaseUtils.initializeTestBackend(true);
-
-      //This addition should fail because it doesn't match the pattern.
-      Entry entry = TestCaseUtils.makeEntry(
-      "dn: cn=syntax-test,o=test",
-      "objectclass: person",
-      "objectclass: testOC",
-      "cn: syntax-test",
-      "sn: xyz",
-      "test-attr-enum: arbit-day");
-      AddOperation addOperation = getRootConnection().processAdd(entry);
-    assertEquals(addOperation.getResultCode(),
-            ResultCode.INVALID_ATTRIBUTE_SYNTAX);
-
-      //This addition should go through.
-      TestCaseUtils.addEntry(
-        "dn: cn=syntax-test,o=test",
-        "objectclass: person",
-        "objectclass: testOC",
-        "cn: syntax-test",
-        "sn: xyz",
-        "test-attr-enum: sunday");
-    }
-    finally
-    {
-      deleteEnumSyntax();
-    }
-  }
-
-
-
-  /**
-   * Tests the equality-based search using enum syntax.
-   */
-  @Test
-  public void testEnumSyntaxEqualitySearch() throws Exception
-  {
-    try
-    {
-      addEnumSyntax();
-      //This addition should go through.
-      TestCaseUtils.initializeTestBackend(true);
-      TestCaseUtils.addEntry(
-        "dn: cn=test,o=test",
-        "objectclass: person",
-        "objectclass: testOC",
-        "cn: test",
-        "sn: xyz",
-        "test-attr-enum: wednesday");
-
-      SearchRequest request = newSearchRequest("cn=test,o=test", SearchScope.WHOLE_SUBTREE, "test-attr-enum=wednesday");
-      InternalSearchOperation searchOperation = getRootConnection().processSearch(request);
-      assertEquals(searchOperation.getResultCode(), ResultCode.SUCCESS);
-      List<SearchResultEntry> entries = searchOperation.getSearchEntries();
-      assertThat(entries).isNotEmpty();
-      SearchResultEntry e = entries.get(0);
-      //An entry must be returned.
-      assertNotNull(e);
-    }
-    finally
-    {
-      deleteEnumSyntax();
-    }
-  }
-
-  /**
-   * Tests the ordering-based search using enum syntax.
-   */
-  @Test
-  public void testEnumSyntaxOrderingSearch() throws Exception
-  {
-    try
-    {
-      addEnumSyntax();
-      TestCaseUtils.initializeTestBackend(true);
-      //This addition should go through.
-      TestCaseUtils.addEntries(
-        "dn: cn=test1,o=test",
-        "objectclass: person",
-        "objectclass: testOC",
-        "cn: test1",
-        "sn: xyz",
-        "test-attr-enum: sunday",
-        "",
-        "dn: cn=test2,o=test",
-        "objectclass: person",
-        "objectclass: testOC",
-        "cn: test2",
-        "sn: xyz",
-        "test-attr-enum: monday",
-        "",
-        "dn: cn=test3,o=test",
-        "objectclass: person",
-        "objectclass: testOC",
-        "cn: test3",
-        "sn: xyz",
-        "test-attr-enum: tuesday");
-
-      SearchRequest request = newSearchRequest("o=test", SearchScope.WHOLE_SUBTREE, "test-attr-enum>=wednesday");
-      InternalSearchOperation searchOperation = getRootConnection().processSearch(request);
-      assertEquals(searchOperation.getResultCode(), ResultCode.SUCCESS);
-      List<SearchResultEntry> entries = searchOperation.getSearchEntries();
-      assertThat(entries).hasSize(1);
-      assertThat((Object) entries.get(0).getName()).isEqualTo(DN.valueOf("cn=test1,o=test"));
-    }
-    finally
-    {
-      deleteEnumSyntax();
-    }
-  }
-
-
-
-  /** Parses the OID from the syntax defitions. */
-  private String getOIDFromLdapSyntax(String valueStr)
-  {
-    int pos    = 0;
-    int length = valueStr.length();
-
-    while (pos < length && valueStr.charAt(pos) == ' ')
-    {
-      pos++;
-    }
-    // The next character must be an open parenthesis.  If it is not, then that
-    // is an error.
-    assertEquals(valueStr.charAt(pos++), '(');
-
-    // Skip over any spaces immediately following the opening parenthesis.
-    while (pos < length && valueStr.charAt(pos) == ' ')
-    {
-      pos++;
-    }
-    int oidStartPos = pos;
-
-    while (pos < length
-        && valueStr.charAt(pos) != ' '
-        && valueStr.charAt(pos) != ')')
-    {
-      pos++;
-    }
-    return valueStr.substring(oidStartPos, pos);
-  }
-
-
-  /** Adds a substitutionsyntax to the schema. */
-  private void addSubtitutionSyntax() throws Exception
-  {
-    //Add the substitution syntax for an unimplemented syntax.
-    int resultCode = TestCaseUtils.applyModifications(true,
-    "dn: cn=schema",
-    "changetype: modify",
-    "add: ldapsyntaxes",
-    "ldapsyntaxes: ( 9.9.9 DESC 'Unimplemented Syntax'   " +
-    " X-SUBST '1.3.6.1.4.1.1466.115.121.1.15' )");
-    assertThat(resultCode).isEqualTo(0);
-  }
-
-  /** Deletes the substitutionSyntax from the schema. */
-  private void deleteSubstitutionSyntax() throws Exception
-  {
-    //delete the substitution syntax.
-    int resultCode = TestCaseUtils.applyModifications(true,
-    "dn: cn=schema",
-    "changetype: modify",
-    "delete: ldapsyntaxes",
-    "ldapsyntaxes: ( 9.9.9 DESC 'Unimplemented Syntax'   " +
-    " X-SUBST '1.3.6.1.4.1.1466.115.121.1.15' )");
-    assertThat(resultCode).isEqualTo(0);
-  }
-
-  /** Adds a regex syntax to the schema. */
-  private void addRegexSyntax() throws Exception
-  {
-    //Add the substitution syntax for an unimplemented syntax.
-    int resultCode = TestCaseUtils.applyModifications(true,
-    "dn: cn=schema",
-    "changetype: modify",
-    "add: ldapsyntaxes",
-    "ldapSyntaxes: ( 1.1.1 DESC 'Host and Port in the format of HOST:PORT'  " +
-            "X-PATTERN '^[a-z-A-Z]+:[0-9.]+\\d$' )");
-    assertThat(resultCode).isEqualTo(0);
-
-    resultCode = TestCaseUtils.applyModifications(true,
-          "dn: cn=schema",
-          "changetype: modify",
-          "add: attributetypes",
-          "attributetypes: ( test-attr-oid NAME 'test-attr-regex' SYNTAX 1.1.1 )",
-          "-",
-          "add: objectclasses",
-          "objectclasses: ( oc-oid NAME 'testOC' SUP top AUXILIARY MUST test-attr-regex)"
-        );
-    assertThat(resultCode).isEqualTo(0);
-  }
-
-  /** Deletes the regex syntax from the schema. */
-  private void deleteRegexSyntax() throws Exception
-  {
-    //delete the substitution syntax.
-    int resultCode = TestCaseUtils.applyModifications(true,
-      "dn: cn=schema",
-      "changetype: modify",
-      "delete: objectclasses",
-      "objectclasses: ( oc-oid NAME 'testOC' SUP top AUXILIARY MUST test-attr-regex)",
-      "-",
-      "delete: attributetypes",
-      "attributetypes: ( test-attr-oid NAME 'test-attr-regex' SYNTAX 1.1.1 )"
-    );
-    assertThat(resultCode).isEqualTo(0);
-
-    resultCode = TestCaseUtils.applyModifications(true,
-    "dn: cn=schema",
-    "changetype: modify",
-    "delete: ldapsyntaxes",
-    "ldapSyntaxes: ( 1.1.1 DESC 'Host and Port in the format of HOST:PORT'  " +
-            "X-PATTERN '^[a-z-A-Z]+:[0-9.]+\\d$' )");
-    assertThat(resultCode).isEqualTo(0);
-  }
-
-  /** Adds an enum syntax to the schema. */
-  private void addEnumSyntax() throws Exception
-  {
-    //Add the enum syntax.
-    int resultCode = TestCaseUtils.applyModifications(true,
-    "dn: cn=schema",
-    "changetype: modify",
-    "add: ldapsyntaxes",
-    "ldapSyntaxes: ( 3.3.3  DESC 'Day Of The Week'  " +
-            "X-ENUM  ( 'monday' 'tuesday'   'wednesday'  'thursday'  'friday'  'saturday' 'sunday') )");
-    assertThat(resultCode).isEqualTo(0);
-
-    resultCode = TestCaseUtils.applyModifications(true,
-          "dn: cn=schema",
-          "changetype: modify",
-          "add: attributetypes",
-          "attributetypes: ( test-attr-oid NAME 'test-attr-enum' SYNTAX 3.3.3 )",
-          "-",
-          "add: objectclasses",
-          "objectclasses: ( oc-oid NAME 'testOC' SUP top AUXILIARY MUST test-attr-enum)"
-        );
-    assertThat(resultCode).isEqualTo(0);
-  }
-
-  /** Deletes the enum syntax from the schema. */
-  private void deleteEnumSyntax() throws Exception
-  {
-    int resultCode = TestCaseUtils.applyModifications(true,
-      "dn: cn=schema",
-      "changetype: modify",
-      "delete: objectclasses",
-      "objectclasses: ( oc-oid NAME 'testOC' SUP top AUXILIARY MUST test-attr-enum)",
-      "-",
-      "delete: attributetypes",
-      "attributetypes: ( test-attr-oid NAME 'test-attr-enum' SYNTAX 3.3.3 )"
-    );
-    assertThat(resultCode).isEqualTo(0);
-
-    resultCode = TestCaseUtils.applyModifications(true,
-    "dn: cn=schema",
-    "changetype: modify",
-    "delete: ldapsyntaxes",
-    "ldapSyntaxes: ( 3.3.3  DESC 'Day Of The Week'  " +
-            "X-ENUM  ( 'monday' 'tuesday'   'wednesday'  'thursday'  'friday'  'saturday' 'sunday') )");
-    assertThat(resultCode).isEqualTo(0);
-  }
-}
diff --git a/opendj-server-legacy/src/test/java/org/opends/server/schema/MatchingRuleSyntaxTest.java b/opendj-server-legacy/src/test/java/org/opends/server/schema/MatchingRuleSyntaxTest.java
deleted file mode 100644
index a69d30a..0000000
--- a/opendj-server-legacy/src/test/java/org/opends/server/schema/MatchingRuleSyntaxTest.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * The contents of this file are subject to the terms of the Common Development and
- * Distribution License (the License). You may not use this file except in compliance with the
- * License.
- *
- * You can obtain a copy of the License at legal/CDDLv1.0.txt. See the License for the
- * specific language governing permission and limitations under the License.
- *
- * When distributing Covered Software, include this CDDL Header Notice in each file and include
- * the License file at legal/CDDLv1.0.txt. If applicable, add the following below the CDDL
- * Header, with the fields enclosed by brackets [] replaced by your own identifying
- * information: "Portions Copyright [year] [name of copyright owner]".
- *
- * Copyright 2006-2008 Sun Microsystems, Inc.
- * Portions Copyright 2015 ForgeRock AS.
- */
-package org.opends.server.schema;
-
-import org.opends.server.api.AttributeSyntax;
-import org.opends.server.util.RemoveOnceSDKSchemaIsUsed;
-import org.testng.annotations.DataProvider;
-import org.testng.annotations.Test;
-
-/**
- * Test the MatchingRuleSyntax.
- */
-@RemoveOnceSDKSchemaIsUsed
-@Test
-public class MatchingRuleSyntaxTest extends AttributeSyntaxTest
-{
-
-  /** {@inheritDoc} */
-  @Override
-  protected AttributeSyntax getRule()
-  {
-    return new MatchingRuleSyntax();
-  }
-
-  /** {@inheritDoc} */
-  @Override
-  @DataProvider(name="acceptableValues")
-  public Object[][] createAcceptableValues()
-  {
-    return new Object [][] {
-          {"( 1.2.3.4 NAME 'fullMatchingRule' "
-              + " DESC 'description of matching rule' OBSOLETE "
-              + " SYNTAX 1.3.6.1.4.1.1466.115.121.1.17 )", true},
-          {"( 1.2.3.4 NAME 'missing closing parenthesis' "
-                + " DESC 'description of matching rule' "
-                + " SYNTAX 1.3.6.1.4.1.1466.115.121.1.17 ", false},
-    };
-  }
-
-}
diff --git a/opendj-server-legacy/src/test/java/org/opends/server/schema/MatchingRuleUseSyntaxTest.java b/opendj-server-legacy/src/test/java/org/opends/server/schema/MatchingRuleUseSyntaxTest.java
deleted file mode 100644
index f53ef30..0000000
--- a/opendj-server-legacy/src/test/java/org/opends/server/schema/MatchingRuleUseSyntaxTest.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * The contents of this file are subject to the terms of the Common Development and
- * Distribution License (the License). You may not use this file except in compliance with the
- * License.
- *
- * You can obtain a copy of the License at legal/CDDLv1.0.txt. See the License for the
- * specific language governing permission and limitations under the License.
- *
- * When distributing Covered Software, include this CDDL Header Notice in each file and include
- * the License file at legal/CDDLv1.0.txt. If applicable, add the following below the CDDL
- * Header, with the fields enclosed by brackets [] replaced by your own identifying
- * information: "Portions Copyright [year] [name of copyright owner]".
- *
- * Copyright 2006-2008 Sun Microsystems, Inc.
- * Portions Copyright 2015 ForgeRock AS.
- */
-package org.opends.server.schema;
-
-import org.opends.server.api.AttributeSyntax;
-import org.opends.server.util.RemoveOnceSDKSchemaIsUsed;
-import org.testng.annotations.DataProvider;
-import org.testng.annotations.Test;
-
-/**
- * Test the MatchingRuleUseSyntax.
- */
-@RemoveOnceSDKSchemaIsUsed
-@Test
-public class MatchingRuleUseSyntaxTest extends AttributeSyntaxTest
-{
-
-  /** {@inheritDoc} */
-  @Override
-  protected AttributeSyntax getRule()
-  {
-    return new MatchingRuleUseSyntax();
-  }
-
-  /** {@inheritDoc} */
-  @Override
-  @DataProvider(name="acceptableValues")
-  public Object[][] createAcceptableValues()
-  {
-    return new Object [][] {
-        {"( 2.5.13.10 NAME 'fullMatchingRule' "
-            + " DESC 'description of matching rule' OBSOLETE "
-            + " APPLIES 2.5.4.3 )", true},
-        {"( 2.5.13.10 NAME 'missingClosingParenthesis' "
-            + " DESC 'description of matching rule' "
-            + " SYNTAX 2.5.4.3 "
-            + " ( this is an extension ) ", false},
-    };
-  }
-
-}
diff --git a/opendj-server-legacy/src/test/java/org/opends/server/schema/OtherMailboxSyntaxTest.java b/opendj-server-legacy/src/test/java/org/opends/server/schema/OtherMailboxSyntaxTest.java
deleted file mode 100644
index bb91e60..0000000
--- a/opendj-server-legacy/src/test/java/org/opends/server/schema/OtherMailboxSyntaxTest.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * The contents of this file are subject to the terms of the Common Development and
- * Distribution License (the License). You may not use this file except in compliance with the
- * License.
- *
- * You can obtain a copy of the License at legal/CDDLv1.0.txt. See the License for the
- * specific language governing permission and limitations under the License.
- *
- * When distributing Covered Software, include this CDDL Header Notice in each file and include
- * the License file at legal/CDDLv1.0.txt. If applicable, add the following below the CDDL
- * Header, with the fields enclosed by brackets [] replaced by your own identifying
- * information: "Portions Copyright [year] [name of copyright owner]".
- *
- * Copyright 2006-2008 Sun Microsystems, Inc.
- * Portions Copyright 2015 ForgeRock AS.
- */
-package org.opends.server.schema;
-
-import org.opends.server.api.AttributeSyntax;
-import org.opends.server.util.RemoveOnceSDKSchemaIsUsed;
-import org.testng.annotations.DataProvider;
-
-/**
- * Test the OtherMailboxSyntax.
- */
-@RemoveOnceSDKSchemaIsUsed
-public class OtherMailboxSyntaxTest extends AttributeSyntaxTest
-{
-
-  /** {@inheritDoc} */
-  @Override
-  protected AttributeSyntax getRule()
-  {
-    return new OtherMailboxSyntax();
-  }
-
-  /** {@inheritDoc} */
-  @Override
-  @DataProvider(name="acceptableValues")
-  public Object[][] createAcceptableValues()
-  {
-    return new Object [][] {
-        {"MyMail$Mymailbox", true},
-        {"MyMailMymailbox", false},
-    };
-  }
-
-}
diff --git a/opendj-server-legacy/src/test/java/org/opends/server/schema/TelexSyntaxTest.java b/opendj-server-legacy/src/test/java/org/opends/server/schema/TelexSyntaxTest.java
deleted file mode 100644
index 7daf571..0000000
--- a/opendj-server-legacy/src/test/java/org/opends/server/schema/TelexSyntaxTest.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * The contents of this file are subject to the terms of the Common Development and
- * Distribution License (the License). You may not use this file except in compliance with the
- * License.
- *
- * You can obtain a copy of the License at legal/CDDLv1.0.txt. See the License for the
- * specific language governing permission and limitations under the License.
- *
- * When distributing Covered Software, include this CDDL Header Notice in each file and include
- * the License file at legal/CDDLv1.0.txt. If applicable, add the following below the CDDL
- * Header, with the fields enclosed by brackets [] replaced by your own identifying
- * information: "Portions Copyright [year] [name of copyright owner]".
- *
- * Copyright 2006-2008 Sun Microsystems, Inc.
- * Portions Copyright 2015 ForgeRock AS.
- */
-package org.opends.server.schema;
-
-import org.opends.server.api.AttributeSyntax;
-import org.opends.server.util.RemoveOnceSDKSchemaIsUsed;
-import org.testng.annotations.DataProvider;
-
-/**
- * Test the TelexNumberSyntax.
- */
-@RemoveOnceSDKSchemaIsUsed
-public class TelexSyntaxTest extends AttributeSyntaxTest
-{
-
-  /** {@inheritDoc} */
-  @Override
-  protected AttributeSyntax getRule()
-  {
-    return new TelexNumberSyntax();
-  }
-
-  /** {@inheritDoc} */
-  @Override
-  @DataProvider(name="acceptableValues")
-  public Object[][] createAcceptableValues()
-  {
-    return new Object [][] {
-        {"123$france$456", true},
-        {"abcdefghijk$lmnopqr$stuvwxyz", true},
-        {"12345$67890$()+,-./:? ", true},
-    };
-  }
-
-}
diff --git a/opendj-server-legacy/src/test/java/org/opends/server/schema/UUIDSyntaxTest.java b/opendj-server-legacy/src/test/java/org/opends/server/schema/UUIDSyntaxTest.java
deleted file mode 100644
index 857498f..0000000
--- a/opendj-server-legacy/src/test/java/org/opends/server/schema/UUIDSyntaxTest.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * The contents of this file are subject to the terms of the Common Development and
- * Distribution License (the License). You may not use this file except in compliance with the
- * License.
- *
- * You can obtain a copy of the License at legal/CDDLv1.0.txt. See the License for the
- * specific language governing permission and limitations under the License.
- *
- * When distributing Covered Software, include this CDDL Header Notice in each file and include
- * the License file at legal/CDDLv1.0.txt. If applicable, add the following below the CDDL
- * Header, with the fields enclosed by brackets [] replaced by your own identifying
- * information: "Portions Copyright [year] [name of copyright owner]".
- *
- * Copyright 2006-2008 Sun Microsystems, Inc.
- * Portions Copyright 2015 ForgeRock AS.
- */
-package org.opends.server.schema;
-
-import org.opends.server.api.AttributeSyntax;
-import org.opends.server.util.RemoveOnceSDKSchemaIsUsed;
-import org.testng.annotations.DataProvider;
-
-/**
- * Test the UUIDSyntax.
- */
-@RemoveOnceSDKSchemaIsUsed
-public class UUIDSyntaxTest extends AttributeSyntaxTest
-{
-
-  /** {@inheritDoc} */
-  @Override
-  protected AttributeSyntax getRule()
-  {
-    return new UUIDSyntax();
-  }
-
-  /** {@inheritDoc} */
-  @Override
-  @DataProvider(name="acceptableValues")
-  public Object[][] createAcceptableValues()
-  {
-    return new Object [][] {
-        {"12345678-9ABC-DEF0-1234-1234567890ab", true},
-        {"12345678-9abc-def0-1234-1234567890ab", true},
-        {"12345678-9abc-def0-1234-1234567890ab", true},
-        {"12345678-9abc-def0-1234-1234567890ab", true},
-        {"02345678-9abc-def0-1234-1234567890ab", true},
-        {"12345678-9abc-def0-1234-1234567890ab", true},
-        {"12345678-9abc-def0-1234-1234567890ab", true},
-        {"02345678-9abc-def0-1234-1234567890ab", true},
-        {"G2345678-9abc-def0-1234-1234567890ab", false},
-        {"g2345678-9abc-def0-1234-1234567890ab", false},
-        {"12345678/9abc/def0/1234/1234567890ab", false},
-        {"12345678-9abc-def0-1234-1234567890a", false},
-    };
-  }
-
-}
diff --git a/opendj-server-legacy/src/test/java/org/opends/server/schema/UserPasswordEqualityMatchingRuleTest.java b/opendj-server-legacy/src/test/java/org/opends/server/schema/UserPasswordEqualityMatchingRuleTest.java
index 5bcfe15..6403f75 100644
--- a/opendj-server-legacy/src/test/java/org/opends/server/schema/UserPasswordEqualityMatchingRuleTest.java
+++ b/opendj-server-legacy/src/test/java/org/opends/server/schema/UserPasswordEqualityMatchingRuleTest.java
@@ -21,11 +21,14 @@
 import org.opends.server.core.DirectoryServer;
 import org.opends.server.extensions.InitializationUtils;
 import org.opends.server.extensions.SaltedMD5PasswordStorageScheme;
+import org.forgerock.opendj.config.server.ConfigException;
 import org.forgerock.opendj.ldap.Assertion;
 import org.forgerock.opendj.ldap.ByteString;
 import org.forgerock.opendj.ldap.ConditionResult;
 import org.forgerock.opendj.ldap.DecodeException;
 import org.forgerock.opendj.ldap.schema.MatchingRule;
+import org.forgerock.opendj.ldap.schema.Schema;
+import org.forgerock.opendj.ldap.schema.SchemaBuilder;
 import org.forgerock.opendj.ldap.DN;
 import org.testng.annotations.DataProvider;
 import org.testng.annotations.Test;
@@ -105,17 +108,11 @@
     assertEquals(liveResult, ConditionResult.valueOf(result));
   }
 
-  private MatchingRule getRule()
+  private MatchingRule getRule() throws ConfigException
   {
-    UserPasswordEqualityMatchingRuleFactory factory = new UserPasswordEqualityMatchingRuleFactory();
-    try
-    {
-      factory.initializeMatchingRule(null);
-    }
-    catch (Exception ex) {
-      throw new RuntimeException(ex);
-    }
-    return factory.getMatchingRules().iterator().next();
+    SchemaBuilder schemaBuilder = new SchemaBuilder(Schema.getCoreSchema());
+    SchemaHandler.addServerSyntaxesAndMatchingRules(schemaBuilder);
+    return schemaBuilder.toSchema().getMatchingRule(SchemaConstants.EMR_USER_PASSWORD_OID);
   }
 }
 

--
Gitblit v1.10.0