mirror of https://github.com/OpenIdentityPlatform/OpenDJ.git

Jean-Noël Rouvignac
25.17.2016 33047cc2802d7174ad06bc62e972bc9a876abe99
Inlined DirectoryServer.getSchema()
134 files modified
940 ■■■■ changed files
opendj-server-legacy/src/main/java/org/forgerock/opendj/adapter/server3x/Converters.java 2 ●●● patch | view | raw | blame | history
opendj-server-legacy/src/main/java/org/opends/server/admin/AdministrationDataSync.java 6 ●●●● patch | view | raw | blame | history
opendj-server-legacy/src/main/java/org/opends/server/api/AuthenticationPolicy.java 2 ●●● patch | view | raw | blame | history
opendj-server-legacy/src/main/java/org/opends/server/api/AuthenticationPolicyState.java 2 ●●● patch | view | raw | blame | history
opendj-server-legacy/src/main/java/org/opends/server/api/ClientConnection.java 2 ●●● patch | view | raw | blame | history
opendj-server-legacy/src/main/java/org/opends/server/api/CompressedSchema.java 4 ●●●● patch | view | raw | blame | history
opendj-server-legacy/src/main/java/org/opends/server/api/LocalBackend.java 2 ●●● patch | view | raw | blame | history
opendj-server-legacy/src/main/java/org/opends/server/api/MonitorData.java 2 ●●● patch | view | raw | blame | history
opendj-server-legacy/src/main/java/org/opends/server/authorization/dseecompat/AciEffectiveRights.java 12 ●●●● patch | view | raw | blame | history
opendj-server-legacy/src/main/java/org/opends/server/authorization/dseecompat/AciHandler.java 10 ●●●● patch | view | raw | blame | history
opendj-server-legacy/src/main/java/org/opends/server/authorization/dseecompat/AciListenerManager.java 2 ●●● patch | view | raw | blame | history
opendj-server-legacy/src/main/java/org/opends/server/authorization/dseecompat/ParentInheritance.java 2 ●●● patch | view | raw | blame | history
opendj-server-legacy/src/main/java/org/opends/server/authorization/dseecompat/PatternRDN.java 4 ●●●● patch | view | raw | blame | history
opendj-server-legacy/src/main/java/org/opends/server/authorization/dseecompat/TargAttrFilterList.java 2 ●●● patch | view | raw | blame | history
opendj-server-legacy/src/main/java/org/opends/server/authorization/dseecompat/TargetAttr.java 2 ●●● patch | view | raw | blame | history
opendj-server-legacy/src/main/java/org/opends/server/authorization/dseecompat/UserAttr.java 4 ●●●● patch | view | raw | blame | history
opendj-server-legacy/src/main/java/org/opends/server/backends/BackupBackend.java 34 ●●●● patch | view | raw | blame | history
opendj-server-legacy/src/main/java/org/opends/server/backends/ChangelogBackend.java 8 ●●●● patch | view | raw | blame | history
opendj-server-legacy/src/main/java/org/opends/server/backends/MonitorBackend.java 4 ●●●● patch | view | raw | blame | history
opendj-server-legacy/src/main/java/org/opends/server/backends/RootDSEBackend.java 2 ●●● patch | view | raw | blame | history
opendj-server-legacy/src/main/java/org/opends/server/backends/TrustStoreBackend.java 16 ●●●● patch | view | raw | blame | history
opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/AttributeIndex.java 4 ●●●● patch | view | raw | blame | history
opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/DN2URI.java 2 ●●● patch | view | raw | blame | history
opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/VLVIndex.java 2 ●●● patch | view | raw | blame | history
opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/VerifyJob.java 2 ●●● patch | view | raw | blame | history
opendj-server-legacy/src/main/java/org/opends/server/backends/task/RecurringTask.java 4 ●●●● patch | view | raw | blame | history
opendj-server-legacy/src/main/java/org/opends/server/backends/task/Task.java 2 ●●● patch | view | raw | blame | history
opendj-server-legacy/src/main/java/org/opends/server/backends/task/TaskScheduler.java 2 ●●● patch | view | raw | blame | history
opendj-server-legacy/src/main/java/org/opends/server/config/JMXMBean.java 2 ●●● patch | view | raw | blame | history
opendj-server-legacy/src/main/java/org/opends/server/controls/GetEffectiveRightsRequestControl.java 2 ●●● patch | view | raw | blame | history
opendj-server-legacy/src/main/java/org/opends/server/controls/MatchedValuesFilter.java 4 ●●●● patch | view | raw | blame | history
opendj-server-legacy/src/main/java/org/opends/server/controls/ServerSideSortRequestControl.java 8 ●●●● patch | view | raw | blame | history
opendj-server-legacy/src/main/java/org/opends/server/core/AddOperationBasis.java 2 ●●● patch | view | raw | blame | history
opendj-server-legacy/src/main/java/org/opends/server/core/CompareOperationBasis.java 2 ●●● patch | view | raw | blame | history
opendj-server-legacy/src/main/java/org/opends/server/core/DirectoryServer.java 14 ●●●● patch | view | raw | blame | history
opendj-server-legacy/src/main/java/org/opends/server/core/PasswordPolicyState.java 24 ●●●● patch | view | raw | blame | history
opendj-server-legacy/src/main/java/org/opends/server/core/SubentryPasswordPolicy.java 10 ●●●● patch | view | raw | blame | history
opendj-server-legacy/src/main/java/org/opends/server/crypto/CryptoManagerImpl.java 24 ●●●● patch | view | raw | blame | history
opendj-server-legacy/src/main/java/org/opends/server/crypto/CryptoManagerSync.java 12 ●●●● patch | view | raw | blame | history
opendj-server-legacy/src/main/java/org/opends/server/extensions/DynamicGroup.java 4 ●●●● patch | view | raw | blame | history
opendj-server-legacy/src/main/java/org/opends/server/extensions/ExternalSASLMechanismHandler.java 4 ●●●● patch | view | raw | blame | history
opendj-server-legacy/src/main/java/org/opends/server/extensions/GoverningStructureRuleVirtualAttributeProvider.java 2 ●●● patch | view | raw | blame | history
opendj-server-legacy/src/main/java/org/opends/server/extensions/LDAPPassThroughAuthenticationPolicyFactory.java 4 ●●●● patch | view | raw | blame | history
opendj-server-legacy/src/main/java/org/opends/server/extensions/SMTPAccountStatusNotificationHandler.java 2 ●●● patch | view | raw | blame | history
opendj-server-legacy/src/main/java/org/opends/server/extensions/StaticGroup.java 2 ●●● patch | view | raw | blame | history
opendj-server-legacy/src/main/java/org/opends/server/extensions/SubjectAttributeToUserAttributeCertificateMapper.java 4 ●●●● patch | view | raw | blame | history
opendj-server-legacy/src/main/java/org/opends/server/extensions/VirtualStaticGroup.java 4 ●●●● patch | view | raw | blame | history
opendj-server-legacy/src/main/java/org/opends/server/monitors/ConnectionHandlerMonitor.java 2 ●●● patch | view | raw | blame | history
opendj-server-legacy/src/main/java/org/opends/server/monitors/LocalBackendMonitor.java 2 ●●● patch | view | raw | blame | history
opendj-server-legacy/src/main/java/org/opends/server/plugins/AttributeCleanupPlugin.java 2 ●●● patch | view | raw | blame | history
opendj-server-legacy/src/main/java/org/opends/server/plugins/LDAPADListPlugin.java 2 ●●● patch | view | raw | blame | history
opendj-server-legacy/src/main/java/org/opends/server/plugins/PasswordPolicyImportPlugin.java 4 ●●●● patch | view | raw | blame | history
opendj-server-legacy/src/main/java/org/opends/server/plugins/ReferentialIntegrityPlugin.java 4 ●●●● patch | view | raw | blame | history
opendj-server-legacy/src/main/java/org/opends/server/plugins/SambaPasswordPlugin.java 2 ●●● patch | view | raw | blame | history
opendj-server-legacy/src/main/java/org/opends/server/protocols/internal/InternalClientConnection.java 8 ●●●● patch | view | raw | blame | history
opendj-server-legacy/src/main/java/org/opends/server/protocols/ldap/LDAPFilter.java 2 ●●● patch | view | raw | blame | history
opendj-server-legacy/src/main/java/org/opends/server/protocols/ldap/LDAPStatistics.java 2 ●●● patch | view | raw | blame | history
opendj-server-legacy/src/main/java/org/opends/server/protocols/ldap/SearchResultEntryProtocolOp.java 2 ●●● patch | view | raw | blame | history
opendj-server-legacy/src/main/java/org/opends/server/replication/plugin/EntryHistorical.java 2 ●●● patch | view | raw | blame | history
opendj-server-legacy/src/main/java/org/opends/server/replication/plugin/FractionalLDIFImportPlugin.java 2 ●●● patch | view | raw | blame | history
opendj-server-legacy/src/main/java/org/opends/server/replication/plugin/LDAPReplicationDomain.java 16 ●●●● patch | view | raw | blame | history
opendj-server-legacy/src/main/java/org/opends/server/replication/plugin/PersistentServerState.java 4 ●●●● patch | view | raw | blame | history
opendj-server-legacy/src/main/java/org/opends/server/replication/server/ReplicationServer.java 2 ●●● patch | view | raw | blame | history
opendj-server-legacy/src/main/java/org/opends/server/tasks/BackupTask.java 20 ●●●● patch | view | raw | blame | history
opendj-server-legacy/src/main/java/org/opends/server/tasks/DisconnectClientTask.java 6 ●●●● patch | view | raw | blame | history
opendj-server-legacy/src/main/java/org/opends/server/tasks/ExportTask.java 10 ●●●● patch | view | raw | blame | history
opendj-server-legacy/src/main/java/org/opends/server/tasks/ImportTask.java 40 ●●●● patch | view | raw | blame | history
opendj-server-legacy/src/main/java/org/opends/server/tasks/InitializeTargetTask.java 4 ●●●● patch | view | raw | blame | history
opendj-server-legacy/src/main/java/org/opends/server/tasks/InitializeTask.java 4 ●●●● patch | view | raw | blame | history
opendj-server-legacy/src/main/java/org/opends/server/tasks/PurgeConflictsHistoricalTask.java 4 ●●●● patch | view | raw | blame | history
opendj-server-legacy/src/main/java/org/opends/server/tasks/RebuildTask.java 4 ●●●● patch | view | raw | blame | history
opendj-server-legacy/src/main/java/org/opends/server/tasks/ResetChangeNumberTask.java 2 ●●● patch | view | raw | blame | history
opendj-server-legacy/src/main/java/org/opends/server/tasks/RestoreTask.java 6 ●●●● patch | view | raw | blame | history
opendj-server-legacy/src/main/java/org/opends/server/tasks/SetGenerationIdTask.java 4 ●●●● patch | view | raw | blame | history
opendj-server-legacy/src/main/java/org/opends/server/tasks/ShutdownTask.java 4 ●●●● patch | view | raw | blame | history
opendj-server-legacy/src/main/java/org/opends/server/tools/ConfigureDS.java 2 ●●● patch | view | raw | blame | history
opendj-server-legacy/src/main/java/org/opends/server/tools/ExportLDIF.java 2 ●●● patch | view | raw | blame | history
opendj-server-legacy/src/main/java/org/opends/server/tools/ImportLDIF.java 4 ●●●● patch | view | raw | blame | history
opendj-server-legacy/src/main/java/org/opends/server/tools/makeldif/AttributeValueTag.java 4 ●●●● patch | view | raw | blame | history
opendj-server-legacy/src/main/java/org/opends/server/tools/makeldif/IfAbsentTag.java 4 ●●●● patch | view | raw | blame | history
opendj-server-legacy/src/main/java/org/opends/server/tools/makeldif/IfPresentTag.java 4 ●●●● patch | view | raw | blame | history
opendj-server-legacy/src/main/java/org/opends/server/tools/makeldif/TemplateEntry.java 2 ●●● patch | view | raw | blame | history
opendj-server-legacy/src/main/java/org/opends/server/tools/makeldif/TemplateFile.java 4 ●●●● patch | view | raw | blame | history
opendj-server-legacy/src/main/java/org/opends/server/types/Attributes.java 4 ●●●● patch | view | raw | blame | history
opendj-server-legacy/src/main/java/org/opends/server/types/Entry.java 30 ●●●● patch | view | raw | blame | history
opendj-server-legacy/src/main/java/org/opends/server/types/SearchFilter.java 8 ●●●● patch | view | raw | blame | history
opendj-server-legacy/src/main/java/org/opends/server/types/SubEntry.java 8 ●●●● patch | view | raw | blame | history
opendj-server-legacy/src/main/java/org/opends/server/types/SubtreeSpecification.java 2 ●●● patch | view | raw | blame | history
opendj-server-legacy/src/main/java/org/opends/server/util/LDIFReader.java 2 ●●● patch | view | raw | blame | history
opendj-server-legacy/src/main/java/org/opends/server/util/StaticUtils.java 2 ●●● patch | view | raw | blame | history
opendj-server-legacy/src/main/java/org/opends/server/workflowelement/localbackend/LocalBackendAddOperation.java 2 ●●● patch | view | raw | blame | history
opendj-server-legacy/src/main/java/org/opends/server/workflowelement/localbackend/LocalBackendBindOperation.java 2 ●●● patch | view | raw | blame | history
opendj-server-legacy/src/main/java/org/opends/server/workflowelement/localbackend/LocalBackendModifyOperation.java 4 ●●●● patch | view | raw | blame | history
opendj-server-legacy/src/test/java/org/forgerock/opendj/adapter/server3x/ConvertersTestCase.java 2 ●●● patch | view | raw | blame | history
opendj-server-legacy/src/test/java/org/opends/server/TestCaseUtils.java 2 ●●● patch | view | raw | blame | history
opendj-server-legacy/src/test/java/org/opends/server/authorization/dseecompat/TargetAttrTestCase.java 2 ●●● patch | view | raw | blame | history
opendj-server-legacy/src/test/java/org/opends/server/backends/SchemaBackendTestCase.java 220 ●●●● patch | view | raw | blame | history
opendj-server-legacy/src/test/java/org/opends/server/backends/pluggable/OnDiskMergeImporterTest.java 2 ●●● patch | view | raw | blame | history
opendj-server-legacy/src/test/java/org/opends/server/backends/pluggable/PluggableBackendImplTestCase.java 6 ●●●● patch | view | raw | blame | history
opendj-server-legacy/src/test/java/org/opends/server/backends/pluggable/TestDnKeyFormat.java 2 ●●● patch | view | raw | blame | history
opendj-server-legacy/src/test/java/org/opends/server/controls/MatchedValuesControlTest.java 16 ●●●● patch | view | raw | blame | history
opendj-server-legacy/src/test/java/org/opends/server/core/AddOperationTestCase.java 12 ●●●● patch | view | raw | blame | history
opendj-server-legacy/src/test/java/org/opends/server/core/ModifyOperationTestCase.java 12 ●●●● patch | view | raw | blame | history
opendj-server-legacy/src/test/java/org/opends/server/core/PasswordPolicyTestCase.java 2 ●●● patch | view | raw | blame | history
opendj-server-legacy/src/test/java/org/opends/server/core/SubentryManagerTestCase.java 8 ●●●● patch | view | raw | blame | history
opendj-server-legacy/src/test/java/org/opends/server/core/SubentryPasswordPolicyTestCase.java 2 ●●● patch | view | raw | blame | history
opendj-server-legacy/src/test/java/org/opends/server/core/TestModifyDNOperation.java 6 ●●●● patch | view | raw | blame | history
opendj-server-legacy/src/test/java/org/opends/server/extensions/EntityTagVirtualAttributeProviderTestCase.java 4 ●●●● patch | view | raw | blame | history
opendj-server-legacy/src/test/java/org/opends/server/extensions/ExactMatchIdentityMapperTestCase.java 2 ●●● patch | view | raw | blame | history
opendj-server-legacy/src/test/java/org/opends/server/extensions/HasSubordinatesVirtualAttributeProviderTestCase.java 2 ●●● patch | view | raw | blame | history
opendj-server-legacy/src/test/java/org/opends/server/extensions/IsMemberOfVirtualAttributeProviderTestCase.java 2 ●●● patch | view | raw | blame | history
opendj-server-legacy/src/test/java/org/opends/server/extensions/LDAPPassThroughAuthenticationPolicyTestCase.java 2 ●●● patch | view | raw | blame | history
opendj-server-legacy/src/test/java/org/opends/server/extensions/NumSubordinatesVirtualAttributeProviderTestCase.java 2 ●●● patch | view | raw | blame | history
opendj-server-legacy/src/test/java/org/opends/server/extensions/PasswordModifyExtendedOperationTestCase.java 6 ●●●● patch | view | raw | blame | history
opendj-server-legacy/src/test/java/org/opends/server/plugins/ReferentialIntegrityPluginTestCase.java 2 ●●● patch | view | raw | blame | history
opendj-server-legacy/src/test/java/org/opends/server/plugins/UniqueAttributePluginTestCase.java 2 ●●● patch | view | raw | blame | history
opendj-server-legacy/src/test/java/org/opends/server/protocols/ldap/TestLDAPConnectionHandler.java 24 ●●●● patch | view | raw | blame | history
opendj-server-legacy/src/test/java/org/opends/server/replication/GenerationIdTest.java 2 ●●● patch | view | raw | blame | history
opendj-server-legacy/src/test/java/org/opends/server/replication/UpdateOperationTest.java 2 ●●● patch | view | raw | blame | history
opendj-server-legacy/src/test/java/org/opends/server/replication/plugin/AttrHistoricalMultipleTest.java 2 ●●● patch | view | raw | blame | history
opendj-server-legacy/src/test/java/org/opends/server/replication/plugin/FractionalReplicationTest.java 18 ●●●● patch | view | raw | blame | history
opendj-server-legacy/src/test/java/org/opends/server/replication/plugin/HistoricalCsnOrderingTest.java 2 ●●● patch | view | raw | blame | history
opendj-server-legacy/src/test/java/org/opends/server/replication/plugin/HistoricalTest.java 2 ●●● patch | view | raw | blame | history
opendj-server-legacy/src/test/java/org/opends/server/replication/plugin/ModifyConflictTest.java 4 ●●●● patch | view | raw | blame | history
opendj-server-legacy/src/test/java/org/opends/server/replication/protocol/ProtocolCompatibilityTest.java 2 ●●● patch | view | raw | blame | history
opendj-server-legacy/src/test/java/org/opends/server/schema/FakeByteStringIndex.java 2 ●●● patch | view | raw | blame | history
opendj-server-legacy/src/test/java/org/opends/server/schema/FakeEntryIndex.java 4 ●●●● patch | view | raw | blame | history
opendj-server-legacy/src/test/java/org/opends/server/schema/GenericSchemaTestCase.java 4 ●●●● patch | view | raw | blame | history
opendj-server-legacy/src/test/java/org/opends/server/schema/TimeBasedMatchingRuleTest.java 8 ●●●● patch | view | raw | blame | history
opendj-server-legacy/src/test/java/org/opends/server/tasks/TestBackupAndRestore.java 2 ●●● patch | view | raw | blame | history
opendj-server-legacy/src/test/java/org/opends/server/tasks/TestImportAndExport.java 2 ●●● patch | view | raw | blame | history
opendj-server-legacy/src/test/java/org/opends/server/types/SearchFilterTests.java 4 ●●●● patch | view | raw | blame | history
opendj-server-legacy/src/test/java/org/opends/server/types/TestEntry.java 8 ●●●● patch | view | raw | blame | history
opendj-server-legacy/src/test/java/org/opends/server/util/TestLDIFWriter.java 2 ●●● patch | view | raw | blame | history
opendj-server-legacy/src/main/java/org/forgerock/opendj/adapter/server3x/Converters.java
@@ -97,7 +97,7 @@
                if (attribute.getAttributeDescription().getAttributeType().isObjectClass()) {
                    for (ByteString attrName : attribute) {
                        try {
                            entry.addObjectClass(DirectoryServer.getSchema().getObjectClass(attrName.toString()));
                            entry.addObjectClass(DirectoryServer.getInstance().getServerContext().getSchema().getObjectClass(attrName.toString()));
                        } catch (DirectoryException e) {
                            throw new IllegalStateException(e.getMessage(), e);
                        }
opendj-server-legacy/src/main/java/org/opends/server/admin/AdministrationDataSync.java
@@ -98,8 +98,8 @@
      return;
    }
    AttributeType attrType1 = DirectoryServer.getSchema().getAttributeType("adminport");
    AttributeType attrType2 = DirectoryServer.getSchema().getAttributeType("adminEnabled");
    AttributeType attrType1 = DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType("adminport");
    AttributeType attrType2 = DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType("adminEnabled");
    LinkedList<Modification> mods = new LinkedList<>();
    mods.add(new Modification(ModificationType.REPLACE, Attributes.create(attrType1, adminPort)));
@@ -222,7 +222,7 @@
    if (!result.isEmpty())
    {
      SearchResultEntry adminConnectorEntry = result.getFirst();
      AttributeType attrType = DirectoryServer.getSchema().getAttributeType(attrName);
      AttributeType attrType = DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType(attrName);
      List<Attribute> attrs = adminConnectorEntry.getAllAttributes(attrType);
      if (!attrs.isEmpty())
      {
opendj-server-legacy/src/main/java/org/opends/server/api/AuthenticationPolicy.java
@@ -69,7 +69,7 @@
  {
    // First check to see if the ds-pwp-password-policy-dn is present.
    String userDNString = userEntry.getName().toString();
    AttributeType type = DirectoryServer.getSchema().getAttributeType(OP_ATTR_PWPOLICY_POLICY_DN);
    AttributeType type = DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType(OP_ATTR_PWPOLICY_POLICY_DN);
    for (Attribute a : userEntry.getAllAttributes(type))
    {
      if (a.isEmpty())
opendj-server-legacy/src/main/java/org/opends/server/api/AuthenticationPolicyState.java
@@ -267,7 +267,7 @@
   */
  public boolean isDisabled()
  {
    final AttributeType type = DirectoryServer.getSchema().getAttributeType(OP_ATTR_ACCOUNT_DISABLED);
    final AttributeType type = DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType(OP_ATTR_ACCOUNT_DISABLED);
    try
    {
      isDisabled = getBoolean(userEntry, type);
opendj-server-legacy/src/main/java/org/opends/server/api/ClientConnection.java
@@ -1058,7 +1058,7 @@
      newPrivileges.addAll(DirectoryServer.getRootPrivileges());
    }
    AttributeType privType = DirectoryServer.getSchema().getAttributeType(OP_ATTR_PRIVILEGE_NAME);
    AttributeType privType = DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType(OP_ATTR_PRIVILEGE_NAME);
    for (Attribute a : entry.getAllAttributes(privType))
    {
      for (ByteString v : a)
opendj-server-legacy/src/main/java/org/opends/server/api/CompressedSchema.java
@@ -513,7 +513,7 @@
  private AttributeDescription loadAttributeToMaps(final int id, final String attributeName,
      final Iterable<String> attributeOptions, final Mappings mappings)
  {
    final AttributeType type = DirectoryServer.getSchema().getAttributeType(attributeName);
    final AttributeType type = DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType(attributeName);
    final Set<String> options = getOptions(attributeOptions);
    final AttributeDescription ad = AttributeDescription.create(type, options);
    exclusiveLock.lock();
@@ -603,7 +603,7 @@
    final LinkedHashMap<ObjectClass, String> ocMap = new LinkedHashMap<>(objectClassNames.size());
    for (final String name : objectClassNames)
    {
      ocMap.put(DirectoryServer.getSchema().getObjectClass(name), name);
      ocMap.put(DirectoryServer.getInstance().getServerContext().getSchema().getObjectClass(name), name);
    }
    if (sync)
    {
opendj-server-legacy/src/main/java/org/opends/server/api/LocalBackend.java
@@ -262,7 +262,7 @@
    try
    {
      return DirectoryServer.getSchema().getMatchingRule(matchingRuleID);
      return DirectoryServer.getInstance().getServerContext().getSchema().getMatchingRule(matchingRuleID);
    }
    catch (UnknownSchemaElementException e)
    {
opendj-server-legacy/src/main/java/org/opends/server/api/MonitorData.java
@@ -132,7 +132,7 @@
  private void add(String attrName, Syntax syntax, Object attrValue)
  {
    AttributeType attrType = getSchema().getAttributeType(attrName, syntax);
    AttributeType attrType = getInstance().getServerContext().getSchema().getAttributeType(attrName, syntax);
    attrs.add(Attributes.create(attrType, String.valueOf(attrValue)));
  }
opendj-server-legacy/src/main/java/org/opends/server/authorization/dseecompat/AciEffectiveRights.java
@@ -204,15 +204,15 @@
  {
    if (aclRights == null)
    {
      aclRights = DirectoryServer.getSchema().getAttributeType(aclRightsAttrStr);
      aclRights = DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType(aclRightsAttrStr);
    }
    if (aclRightsInfo == null)
    {
      aclRightsInfo = DirectoryServer.getSchema().getAttributeType(aclRightsInfoAttrStr);
      aclRightsInfo = DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType(aclRightsInfoAttrStr);
    }
    if (dnAttributeType == null)
    {
      dnAttributeType = DirectoryServer.getSchema().getAttributeType(dnAttrStr);
      dnAttributeType = DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType(dnAttrStr);
    }
    // Check if the attributes aclRights and aclRightsInfo were requested and
@@ -244,7 +244,7 @@
        }
        else
        {
          nonRightsAttrs.add(DirectoryServer.getSchema().getAttributeType(a));
          nonRightsAttrs.add(DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType(a));
        }
      }
    }
@@ -374,7 +374,7 @@
      // Only add the aclRights information if the aclRights attribute type was seen.
      if(hasAttrMask(mask, ACL_RIGHTS))  {
        String typeStr = aclRightsAttributeLevelStr + ";" + a.getNameOrOID();
        AttributeType attributeType = DirectoryServer.getSchema().getAttributeType(typeStr);
        AttributeType attributeType = DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType(typeStr);
        Attribute attr = Attributes.create(attributeType, evalInfo.toString());
        //It is possible that the user might have specified the same attributes
        //in both the search and the specific attribute part of the control.
@@ -604,7 +604,7 @@
    if(hasAttrMask(mask,ACL_RIGHTS_INFO)) {
      //Build the attribute type.
      String typeStr = aclRightsInfoAttrLogsStr + ";" + rightStr + ";" + aType.getNameOrOID();
      AttributeType attributeType = DirectoryServer.getSchema().getAttributeType(typeStr);
      AttributeType attributeType = DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType(typeStr);
      Attribute attr = Attributes.create(attributeType, container.getEvalSummary());
      // The attribute type might have already been added, probably
      // not but it is possible.
opendj-server-legacy/src/main/java/org/opends/server/authorization/dseecompat/AciHandler.java
@@ -123,10 +123,10 @@
   */
  private static void initStatics()
  {
    aciType = getSchema().getAttributeType("aci");
    globalAciType = getSchema().getAttributeType(ATTR_AUTHZ_GLOBAL_ACI);
    debugSearchIndex = getSchema().getAttributeType(SuffixContainer.ATTR_DEBUG_SEARCH_INDEX);
    refAttrType = getSchema().getAttributeType(ATTR_REFERRAL_URL);
    aciType = getInstance().getServerContext().getSchema().getAttributeType("aci");
    globalAciType = getInstance().getServerContext().getSchema().getAttributeType(ATTR_AUTHZ_GLOBAL_ACI);
    debugSearchIndex = getInstance().getServerContext().getSchema().getAttributeType(SuffixContainer.ATTR_DEBUG_SEARCH_INDEX);
    refAttrType = getInstance().getServerContext().getSchema().getAttributeType(ATTR_REFERRAL_URL);
    try
    {
@@ -299,7 +299,7 @@
      baseName = toLowerCase(rawAttributeType);
    }
    container.setCurrentAttributeType(getSchema().getAttributeType(baseName));
    container.setCurrentAttributeType(getInstance().getServerContext().getSchema().getAttributeType(baseName));
    container.setCurrentAttributeValue(operation.getAssertionValue());
    return isAllowed(container, operation);
  }
opendj-server-legacy/src/main/java/org/opends/server/authorization/dseecompat/AciListenerManager.java
@@ -344,7 +344,7 @@
    // Check to make sure that the backend has a presence index defined
    // for the ACI attribute. If it does not, then log a warning message
    // because this processing could be very expensive.
    AttributeType aciType = DirectoryServer.getSchema().getAttributeType("aci");
    AttributeType aciType = DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType("aci");
    if (backend.getEntryCount() > 0
        && !backend.isIndexed(aciType, IndexType.PRESENCE))
    {
opendj-server-legacy/src/main/java/org/opends/server/authorization/dseecompat/ParentInheritance.java
@@ -209,7 +209,7 @@
     * @return The attribute type.
     */
    public AttributeType getAttributeType() {
      return DirectoryServer.getSchema().getAttributeType(attrTypeStr);
      return DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType(attrTypeStr);
    }
    /**
opendj-server-legacy/src/main/java/org/opends/server/authorization/dseecompat/PatternRDN.java
@@ -160,7 +160,7 @@
      AVA ava = rdn.getFirstAVA();
      if (!typePatterns[0].equals("*"))
      {
        AttributeType thisType = DirectoryServer.getSchema().getAttributeType(typePatterns[0]);
        AttributeType thisType = DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType(typePatterns[0]);
        if (thisType.isPlaceHolder() || !thisType.equals(ava.getAttributeType()))
        {
          return false;
@@ -179,7 +179,7 @@
    TreeMap<String, List<ByteString>> patternMap = new TreeMap<>();
    for (int i = 0; i < typePatterns.length; i++)
    {
      AttributeType type = DirectoryServer.getSchema().getAttributeType(typePatterns[i]);
      AttributeType type = DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType(typePatterns[i]);
      if (type.isPlaceHolder())
      {
        return false;
opendj-server-legacy/src/main/java/org/opends/server/authorization/dseecompat/TargAttrFilterList.java
@@ -108,7 +108,7 @@
              attributeName=attributeName.substring(0, semicolon);
            }
            String filterString=matcher.group(filterPos);
            AttributeType attrType = DirectoryServer.getSchema().getAttributeType(attributeName);
            AttributeType attrType = DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType(attributeName);
            SearchFilter filter;
            //Check if it is a valid filter and add it to the list map if ok.
            try {
opendj-server-legacy/src/main/java/org/opends/server/authorization/dseecompat/TargetAttr.java
@@ -122,7 +122,7 @@
                    throw new AciException(message);
                }
            } else {
                AttributeType attrType = DirectoryServer.getSchema().getAttributeType(attribute);
                AttributeType attrType = DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType(attribute);
                if(attrType.isOperational())
                {
                  opAttributes.add(attrType);
opendj-server-legacy/src/main/java/org/opends/server/authorization/dseecompat/UserAttr.java
@@ -186,7 +186,7 @@
    private EnumEvalResult evalVAL(AciEvalContext evalCtx) {
        EnumEvalResult matched= EnumEvalResult.FALSE;
        boolean undefined=false;
        AttributeType attrType = DirectoryServer.getSchema().getAttributeType(attrStr);
        AttributeType attrType = DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType(attrStr);
        final SearchRequest request = newSearchRequest(evalCtx.getClientDN(), SearchScope.BASE_OBJECT);
        InternalSearchOperation op = getRootConnection().processSearch(request);
        LinkedList<SearchResultEntry> result = op.getSearchEntries();
@@ -213,7 +213,7 @@
     */
    private EnumEvalResult evalURL(AciEvalContext evalCtx) {
        EnumEvalResult matched= EnumEvalResult.FALSE;
        AttributeType attrType = DirectoryServer.getSchema().getAttributeType(attrStr);
        AttributeType attrType = DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType(attrStr);
        List<Attribute> attrs=evalCtx.getResourceEntry().getAllAttributes(attrType);
        for(Attribute a : attrs) {
            for(ByteString v : a) {
opendj-server-legacy/src/main/java/org/opends/server/backends/BackupBackend.java
@@ -218,7 +218,7 @@
    // Construct the backup base entry.
    LinkedHashMap<ObjectClass,String> objectClasses = new LinkedHashMap<>(2);
    objectClasses.put(CoreSchema.getTopObjectClass(), OC_TOP);
    objectClasses.put(getSchema().getObjectClass(OC_UNTYPED_OBJECT_LC), OC_UNTYPED_OBJECT);
    objectClasses.put(getInstance().getServerContext().getSchema().getObjectClass(OC_UNTYPED_OBJECT_LC), OC_UNTYPED_OBJECT);
    LinkedHashMap<AttributeType,List<Attribute>> opAttrs = new LinkedHashMap<>(0);
    LinkedHashMap<AttributeType,List<Attribute>> userAttrs = new LinkedHashMap<>(1);
@@ -274,7 +274,7 @@
  {
    int numEntries = 1;
    AttributeType backupPathType = getSchema().getAttributeType(ATTR_BACKUP_DIRECTORY_PATH);
    AttributeType backupPathType = getInstance().getServerContext().getSchema().getAttributeType(ATTR_BACKUP_DIRECTORY_PATH);
    for (File dir : backupDirectories.keySet())
    {
@@ -383,7 +383,7 @@
      long count = 0;
      Entry backupDirEntry = getBackupDirectoryEntry(entryDN);
      AttributeType t = getSchema().getAttributeType(ATTR_BACKUP_DIRECTORY_PATH);
      AttributeType t = getInstance().getServerContext().getSchema().getAttributeType(ATTR_BACKUP_DIRECTORY_PATH);
      List<Attribute> attrList = backupDirEntry.getAllAttributes(t);
      for (ByteString v : attrList.get(0))
      {
@@ -470,7 +470,7 @@
         throws DirectoryException
  {
    // Make sure that the DN specifies a backup directory.
    AttributeType t = getSchema().getAttributeType(ATTR_BACKUP_DIRECTORY_PATH);
    AttributeType t = getInstance().getServerContext().getSchema().getAttributeType(ATTR_BACKUP_DIRECTORY_PATH);
    ByteString v = entryDN.rdn().getAttributeValue(t);
    if (v == null)
    {
@@ -508,13 +508,13 @@
    // Construct the backup directory entry to return.
    LinkedHashMap<ObjectClass,String> ocMap = new LinkedHashMap<>(2);
    ocMap.put(CoreSchema.getTopObjectClass(), OC_TOP);
    ocMap.put(getSchema().getObjectClass(OC_BACKUP_DIRECTORY), OC_BACKUP_DIRECTORY);
    ocMap.put(getInstance().getServerContext().getSchema().getObjectClass(OC_BACKUP_DIRECTORY), OC_BACKUP_DIRECTORY);
    LinkedHashMap<AttributeType,List<Attribute>> opAttrs = new LinkedHashMap<>(0);
    LinkedHashMap<AttributeType,List<Attribute>> userAttrs = new LinkedHashMap<>(3);
    userAttrs.put(t, asList(t, v));
    t = getSchema().getAttributeType(ATTR_BACKUP_BACKEND_DN);
    t = getInstance().getServerContext().getSchema().getAttributeType(ATTR_BACKUP_BACKEND_DN);
    userAttrs.put(t, asList(t, ByteString.valueOfUtf8(backupDirectory.getConfigEntryDN().toString())));
    Entry e = new Entry(entryDN, ocMap, userAttrs, opAttrs);
@@ -538,7 +538,7 @@
          throws DirectoryException
  {
    // First, get the backup ID from the entry DN.
    AttributeType idType = getSchema().getAttributeType(ATTR_BACKUP_ID);
    AttributeType idType = getInstance().getServerContext().getSchema().getAttributeType(ATTR_BACKUP_ID);
    ByteString idValue = entryDN.rdn().getAttributeValue(idType);
    if (idValue == null) {
      throw newConstraintViolation(ERR_BACKUP_NO_BACKUP_ID_IN_DN.get(entryDN));
@@ -551,7 +551,7 @@
      throw newConstraintViolation(ERR_BACKUP_NO_BACKUP_PARENT_DN.get(entryDN));
    }
    AttributeType t = getSchema().getAttributeType(ATTR_BACKUP_DIRECTORY_PATH);
    AttributeType t = getInstance().getServerContext().getSchema().getAttributeType(ATTR_BACKUP_DIRECTORY_PATH);
    ByteString v = parentDN.rdn().getAttributeValue(t);
    if (v == null) {
      throw newConstraintViolation(ERR_BACKUP_NO_BACKUP_DIR_IN_DN.get(entryDN));
@@ -584,7 +584,7 @@
    // Construct the backup entry to return.
    LinkedHashMap<ObjectClass, String> ocMap = new LinkedHashMap<>(3);
    ocMap.put(CoreSchema.getTopObjectClass(), OC_TOP);
    ocMap.put(getSchema().getObjectClass(OC_BACKUP_INFO), OC_BACKUP_INFO);
    ocMap.put(getInstance().getServerContext().getSchema().getObjectClass(OC_BACKUP_INFO), OC_BACKUP_INFO);
    ocMap.put(CoreSchema.getExtensibleObjectObjectClass(), OC_EXTENSIBLE_OBJECT);
    LinkedHashMap<AttributeType, List<Attribute>> opAttrs = new LinkedHashMap<>(0);
@@ -596,7 +596,7 @@
    Date backupDate = backupInfo.getBackupDate();
    if (backupDate != null) {
      t = getSchema().getAttributeType(ATTR_BACKUP_DATE);
      t = getInstance().getServerContext().getSchema().getAttributeType(ATTR_BACKUP_DATE);
      userAttrs.put(t,
          asList(t, ByteString.valueOfUtf8(GeneralizedTimeSyntax.format(backupDate))));
    }
@@ -607,7 +607,7 @@
    Set<String> dependencies = backupInfo.getDependencies();
    if (dependencies != null && !dependencies.isEmpty()) {
      t = getSchema().getAttributeType(ATTR_BACKUP_DEPENDENCY);
      t = getInstance().getServerContext().getSchema().getAttributeType(ATTR_BACKUP_DEPENDENCY);
      AttributeBuilder builder = new AttributeBuilder(t);
      builder.addAllStrings(dependencies);
      userAttrs.put(t, builder.toAttributeList());
@@ -626,7 +626,7 @@
    Map<String, String> properties = backupInfo.getBackupProperties();
    if (properties != null && !properties.isEmpty()) {
      for (Map.Entry<String, String> e : properties.entrySet()) {
        t = getSchema().getAttributeType(toLowerCase(e.getKey()));
        t = getInstance().getServerContext().getSchema().getAttributeType(toLowerCase(e.getKey()));
        userAttrs.put(t, asList(t, ByteString.valueOfUtf8(e.getValue())));
      }
    }
@@ -638,13 +638,13 @@
  private void putByteString(LinkedHashMap<AttributeType, List<Attribute>> userAttrs, String attrName, byte[] value)
  {
    AttributeType t = getSchema().getAttributeType(attrName);
    AttributeType t = getInstance().getServerContext().getSchema().getAttributeType(attrName);
    userAttrs.put(t, asList(t, ByteString.wrap(value)));
  }
  private void putBoolean(LinkedHashMap<AttributeType, List<Attribute>> attrsMap, String attrName, boolean value)
  {
    AttributeType t = getSchema().getAttributeType(attrName);
    AttributeType t = getInstance().getServerContext().getSchema().getAttributeType(attrName);
    attrsMap.put(t, asList(t, SchemaUtils.createBooleanValue(value)));
  }
@@ -715,7 +715,7 @@
      if (scope != SearchScope.BASE_OBJECT && !backupDirectories.isEmpty())
      {
        AttributeType backupPathType = getSchema().getAttributeType(ATTR_BACKUP_DIRECTORY_PATH);
        AttributeType backupPathType = getInstance().getServerContext().getSchema().getAttributeType(ATTR_BACKUP_DIRECTORY_PATH);
        for (File dir : backupDirectories.keySet())
        {
          // Check to see if the descriptor file exists.  If not, then skip this
@@ -766,7 +766,7 @@
      if (scope != SearchScope.BASE_OBJECT)
      {
        AttributeType t = getSchema().getAttributeType(ATTR_BACKUP_DIRECTORY_PATH);
        AttributeType t = getInstance().getServerContext().getSchema().getAttributeType(ATTR_BACKUP_DIRECTORY_PATH);
        List<Attribute> attrList = backupDirEntry.getAllAttributes(t);
        returnEntries(searchOperation, baseDN, filter, attrList);
      }
@@ -806,7 +806,7 @@
      {
        File dir = new File(v.toString());
        BackupDirectory backupDirectory = backupDirectories.get(dir).getBackupDirectory();
        AttributeType idType = getSchema().getAttributeType(ATTR_BACKUP_ID);
        AttributeType idType = getInstance().getServerContext().getSchema().getAttributeType(ATTR_BACKUP_ID);
        for (String backupID : backupDirectory.getBackups().keySet())
        {
opendj-server-legacy/src/main/java/org/opends/server/backends/ChangelogBackend.java
@@ -178,7 +178,7 @@
  static
  {
    CHANGELOG_ROOT_OBJECT_CLASSES.put(CoreSchema.getTopObjectClass(), OC_TOP);
    CHANGELOG_ROOT_OBJECT_CLASSES.put(DirectoryServer.getSchema().getObjectClass("container"), "container");
    CHANGELOG_ROOT_OBJECT_CLASSES.put(DirectoryServer.getInstance().getServerContext().getSchema().getObjectClass("container"), "container");
  }
  /** The set of objectclasses that will be used in ECL entries. */
@@ -187,7 +187,7 @@
  static
  {
    CHANGELOG_ENTRY_OBJECT_CLASSES.put(CoreSchema.getTopObjectClass(), OC_TOP);
    CHANGELOG_ENTRY_OBJECT_CLASSES.put(getSchema().getObjectClass(OC_CHANGELOG_ENTRY), OC_CHANGELOG_ENTRY);
    CHANGELOG_ENTRY_OBJECT_CLASSES.put(getInstance().getServerContext().getSchema().getObjectClass(OC_CHANGELOG_ENTRY), OC_CHANGELOG_ENTRY);
  }
  /** The base DN for the external change log. */
@@ -695,7 +695,7 @@
  private SearchFilter buildSearchFilterFrom(final DN baseDN, final String attrName)
  {
    final RDN rdn = baseDN.rdn();
    AttributeType attrType = DirectoryServer.getSchema().getAttributeType(attrName);
    AttributeType attrType = DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType(attrName);
    final ByteString attrValue = rdn.getAttributeValue(attrType);
    if (attrValue != null)
    {
@@ -1472,7 +1472,7 @@
      final Map<AttributeType, List<Attribute>> operationalAttrs, final boolean addByType)
  {
    final Attribute a = addByType
        ? Attributes.create(getSchema().getAttributeType(attrName), attrValue)
        ? Attributes.create(getInstance().getServerContext().getSchema().getAttributeType(attrName), attrValue)
        : Attributes.create(attrName, attrValue);
    final AttributeType attrType = a.getAttributeDescription().getAttributeType();
    final List<Attribute> attrList = Collections.singletonList(a);
opendj-server-legacy/src/main/java/org/opends/server/backends/MonitorBackend.java
@@ -192,7 +192,7 @@
    // Construct the set of objectclasses to include in the base monitor entry.
    monitorObjectClasses.put(CoreSchema.getTopObjectClass(), OC_TOP);
    monitorObjectClasses.put(DirectoryServer.getSchema().getObjectClass(OC_MONITOR_ENTRY), OC_MONITOR_ENTRY);
    monitorObjectClasses.put(DirectoryServer.getInstance().getServerContext().getSchema().getObjectClass(OC_MONITOR_ENTRY), OC_MONITOR_ENTRY);
    // Create the set of base DNs that we will handle. In this case, it's just
    // the DN of the base monitor entry.
@@ -624,7 +624,7 @@
   */
  private Entry getBranchMonitorEntry(final DN dn)
  {
    final ObjectClass monitorOC = DirectoryServer.getSchema().getObjectClass(OC_MONITOR_BRANCH);
    final ObjectClass monitorOC = DirectoryServer.getInstance().getServerContext().getSchema().getObjectClass(OC_MONITOR_BRANCH);
    final HashMap<ObjectClass, String> monitorClasses = newObjectClasses(monitorOC, OC_MONITOR_BRANCH);
    final HashMap<AttributeType, List<Attribute>> monitorUserAttrs = new LinkedHashMap<>();
opendj-server-legacy/src/main/java/org/opends/server/backends/RootDSEBackend.java
@@ -190,7 +190,7 @@
    // Construct the set of objectclasses to include in the root DSE entry.
    dseObjectClasses = new HashMap<>(2);
    dseObjectClasses.put(getTopObjectClass(), OC_TOP);
    dseObjectClasses.put(DirectoryServer.getSchema().getObjectClass(OC_ROOT_DSE), OC_ROOT_DSE);
    dseObjectClasses.put(DirectoryServer.getInstance().getServerContext().getSchema().getObjectClass(OC_ROOT_DSE), OC_ROOT_DSE);
    // Set the backend ID for this backend. The identifier needs to be
    // specific enough to avoid conflict with user backend identifiers.
opendj-server-legacy/src/main/java/org/opends/server/backends/TrustStoreBackend.java
@@ -190,7 +190,7 @@
    // Construct the trust store base entry.
    LinkedHashMap<ObjectClass,String> objectClasses = new LinkedHashMap<>(2);
    objectClasses.put(CoreSchema.getTopObjectClass(), OC_TOP);
    objectClasses.put(DirectoryServer.getSchema().getObjectClass("ds-cfg-branch"), "ds-cfg-branch");
    objectClasses.put(DirectoryServer.getInstance().getServerContext().getSchema().getObjectClass("ds-cfg-branch"), "ds-cfg-branch");
    LinkedHashMap<AttributeType,List<Attribute>> userAttrs = new LinkedHashMap<>(1);
    for (AVA ava : getBaseDN().rdn())
@@ -396,7 +396,7 @@
         throws DirectoryException
  {
    // Make sure that the DN specifies a certificate alias.
    AttributeType t = DirectoryServer.getSchema().getAttributeType(ATTR_CRYPTO_KEY_ID);
    AttributeType t = DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType(ATTR_CRYPTO_KEY_ID);
    ByteString v = entryDN.rdn().getAttributeValue(t);
    if (v == null)
    {
@@ -428,14 +428,14 @@
    // Construct the certificate entry to return.
    LinkedHashMap<ObjectClass,String> ocMap = new LinkedHashMap<>(2);
    ocMap.put(CoreSchema.getTopObjectClass(), OC_TOP);
    ocMap.put(DirectoryServer.getSchema().getObjectClass(OC_CRYPTO_INSTANCE_KEY), OC_CRYPTO_INSTANCE_KEY);
    ocMap.put(DirectoryServer.getInstance().getServerContext().getSchema().getObjectClass(OC_CRYPTO_INSTANCE_KEY), OC_CRYPTO_INSTANCE_KEY);
    LinkedHashMap<AttributeType,List<Attribute>> opAttrs = new LinkedHashMap<>(0);
    LinkedHashMap<AttributeType,List<Attribute>> userAttrs = new LinkedHashMap<>(3);
    userAttrs.put(t, Attributes.createAsList(t, v));
    t = DirectoryServer.getSchema().getAttributeType(ATTR_CRYPTO_PUBLIC_KEY_CERTIFICATE);
    t = DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType(ATTR_CRYPTO_PUBLIC_KEY_CERTIFICATE);
    AttributeBuilder builder = new AttributeBuilder(t);
    builder.setOption("binary");
    builder.add(certValue);
@@ -551,7 +551,7 @@
      if (scope != SearchScope.BASE_OBJECT && aliases.length != 0)
      {
        AttributeType certAliasType = DirectoryServer.getSchema().getAttributeType(ATTR_CRYPTO_KEY_ID);
        AttributeType certAliasType = DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType(ATTR_CRYPTO_KEY_ID);
        for (String alias : aliases)
        {
          DN certDN = makeChildDN(getBaseDN(), certAliasType, alias);
@@ -908,7 +908,7 @@
    DN entryDN = entry.getName();
    // Make sure that the DN specifies a certificate alias.
    AttributeType t = DirectoryServer.getSchema().getAttributeType(ATTR_CRYPTO_KEY_ID);
    AttributeType t = DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType(ATTR_CRYPTO_KEY_ID);
    ByteString v = entryDN.rdn().getAttributeValue(t);
    if (v == null)
    {
@@ -925,7 +925,7 @@
        throw new DirectoryException(ResultCode.ENTRY_ALREADY_EXISTS, message);
      }
      if (entry.hasObjectClass(DirectoryServer.getSchema().getObjectClass(OC_SELF_SIGNED_CERT_REQUEST)))
      if (entry.hasObjectClass(DirectoryServer.getInstance().getServerContext().getSchema().getObjectClass(OC_SELF_SIGNED_CERT_REQUEST)))
      {
        try
        {
@@ -1024,7 +1024,7 @@
       throws DirectoryException
  {
    // Make sure that the DN specifies a certificate alias.
    AttributeType t = DirectoryServer.getSchema().getAttributeType(ATTR_CRYPTO_KEY_ID);
    AttributeType t = DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType(ATTR_CRYPTO_KEY_ID);
    ByteString v = entryDN.rdn().getAttributeValue(t);
    if (v == null)
    {
opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/AttributeIndex.java
@@ -411,7 +411,7 @@
    {
      try
      {
        final MatchingRule rule = DirectoryServer.getSchema().getMatchingRule(ruleName);
        final MatchingRule rule = DirectoryServer.getInstance().getServerContext().getSchema().getMatchingRule(ruleName);
        for (Indexer indexer : rule.createIndexers(options))
        {
          indexers.put(indexer, false);
@@ -1098,7 +1098,7 @@
      return evaluateFilter(indexQueryFactory, IndexFilterType.EQUALITY, filter, debugBuffer, monitor);
    }
    MatchingRule rule = DirectoryServer.getSchema().getMatchingRule(matchRuleOID);
    MatchingRule rule = DirectoryServer.getInstance().getServerContext().getSchema().getMatchingRule(matchRuleOID);
    if (!ruleHasAtLeastOneIndex(rule))
    {
      if (monitor.isFilterUseEnabled())
opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/DN2URI.java
@@ -77,7 +77,7 @@
   * The standard attribute type that is used to specify the set of referral
   * URLs in a referral entry.
   */
  private final AttributeType referralType = DirectoryServer.getSchema().getAttributeType(ATTR_REFERRAL_URL);
  private final AttributeType referralType = DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType(ATTR_REFERRAL_URL);
  /**
   * A flag that indicates whether there are any referrals contained in this
opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/VLVIndex.java
@@ -837,7 +837,7 @@
    {
      try
      {
        return getSchema().getMatchingRule(mrOid);
        return getInstance().getServerContext().getSchema().getMatchingRule(mrOid);
      }
      catch (UnknownSchemaElementException e)
      {
opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/VerifyJob.java
@@ -210,7 +210,7 @@
          }
          else
          {
            AttributeType attrType = DirectoryServer.getSchema().getAttributeType(lowerName);
            AttributeType attrType = DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType(lowerName);
            if (attrType.isPlaceHolder())
            {
              throw new StorageRuntimeException(ERR_ATTRIBUTE_INDEX_NOT_CONFIGURED.get(index).toString());
opendj-server-legacy/src/main/java/org/opends/server/backends/task/RecurringTask.java
@@ -233,7 +233,7 @@
  private Attribute getSingleAttribute(Entry taskEntry, String attrName, Arg1<Object> noEntryErrorMsg,
      Arg1<Object> multipleEntriesErrorMsg, Arg1<Object> noAttrValueErrorMsg) throws DirectoryException
  {
    AttributeType attrType = DirectoryServer.getSchema().getAttributeType(attrName);
    AttributeType attrType = DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType(attrName);
    List<Attribute> attrList = taskEntry.getAllAttributes(attrType);
    if (attrList.isEmpty())
    {
@@ -341,7 +341,7 @@
      String nextTaskIDName = NAME_PREFIX_TASK + "id";
      nextTaskEntry.replaceAttribute(Attributes.create(nextTaskIDName, nextTaskID));
      RDN nextTaskRDN = new RDN(DirectoryServer.getSchema().getAttributeType(nextTaskIDName), nextTaskID);
      RDN nextTaskRDN = new RDN(DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType(nextTaskIDName), nextTaskID);
      DN nextTaskDN = taskScheduler.getTaskBackend().getScheduledTasksParentDN().child(nextTaskRDN);
      nextTaskEntry.setDN(nextTaskDN);
opendj-server-legacy/src/main/java/org/opends/server/backends/task/Task.java
@@ -823,7 +823,7 @@
      String messageString = buildLogMessage(severity, message, exception);
      logMessages.add(messageString);
      final AttributeType type = DirectoryServer.getSchema().getAttributeType(ATTR_TASK_LOG_MESSAGES);
      final AttributeType type = DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType(ATTR_TASK_LOG_MESSAGES);
      final Attribute attr = taskEntry.getAttribute(AttributeDescription.create(type));
      final AttributeBuilder builder = attr != null ? new AttributeBuilder(attr) : new AttributeBuilder(type);
      builder.add(messageString);
opendj-server-legacy/src/main/java/org/opends/server/backends/task/TaskScheduler.java
@@ -1808,7 +1808,7 @@
         throws DirectoryException
  {
    // Get the name of the class that implements the task logic.
    AttributeType attrType = DirectoryServer.getSchema().getAttributeType(ATTR_TASK_CLASS);
    AttributeType attrType = DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType(ATTR_TASK_CLASS);
    List<Attribute> attrList = entry.getAllAttributes(attrType);
    if (attrList.isEmpty())
    {
opendj-server-legacy/src/main/java/org/opends/server/config/JMXMBean.java
@@ -323,7 +323,7 @@
  {
    // It's possible that this is a monitor attribute rather than a configurable
    // one. Check all of those.
    AttributeType attrType = DirectoryServer.getSchema().getAttributeType(name);
    AttributeType attrType = DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType(name);
    for (MonitorProvider<? extends MonitorProviderCfg> monitor : monitorProviders)
    {
      for (org.opends.server.types.Attribute a : monitor.getMonitorData())
opendj-server-legacy/src/main/java/org/opends/server/controls/GetEffectiveRightsRequestControl.java
@@ -110,7 +110,7 @@
            reader.readStartSequence();
            while(reader.hasNextElement()) {
              String attrStr = reader.readOctetStringAsString();
              attrs.add(DirectoryServer.getSchema().getAttributeType(attrStr));
              attrs.add(DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType(attrStr));
            }
            reader.readEndSequence();
          }
opendj-server-legacy/src/main/java/org/opends/server/controls/MatchedValuesFilter.java
@@ -830,7 +830,7 @@
  {
    if (attributeType == null && rawAttributeType != null)
    {
      attributeType = DirectoryServer.getSchema().getAttributeType(rawAttributeType);
      attributeType = DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType(rawAttributeType);
    }
    return attributeType;
  }
@@ -947,7 +947,7 @@
    {
      try
      {
        matchingRule = DirectoryServer.getSchema().getMatchingRule(matchingRuleID);
        matchingRule = DirectoryServer.getInstance().getServerContext().getSchema().getMatchingRule(matchingRuleID);
      }
      catch (UnknownSchemaElementException e)
      {
opendj-server-legacy/src/main/java/org/opends/server/controls/ServerSideSortRequestControl.java
@@ -98,7 +98,7 @@
        {
          reader.readStartSequence();
          String attrName = reader.readOctetStringAsString();
          AttributeType attrType = DirectoryServer.getSchema().getAttributeType(attrName);
          AttributeType attrType = DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType(attrName);
          if (attrType.isPlaceHolder())
          {
            //This attribute is not defined in the schema. There is no point
@@ -114,7 +114,7 @@
            String orderingRuleID = reader.readOctetStringAsString();
            try
            {
              orderingRule = DirectoryServer.getSchema().getMatchingRule(orderingRuleID);
              orderingRule = DirectoryServer.getInstance().getServerContext().getSchema().getMatchingRule(orderingRuleID);
            }
            catch (UnknownSchemaElementException e)
            {
@@ -421,7 +421,7 @@
    List<SortKey> sortKeys = new ArrayList<>();
    for(String[] decodedKey : decodedKeyList)
    {
      AttributeType attrType = DirectoryServer.getSchema().getAttributeType(decodedKey[0]);
      AttributeType attrType = DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType(decodedKey[0]);
      if (attrType.isPlaceHolder())
      {
        //This attribute is not defined in the schema. There is no point
@@ -434,7 +434,7 @@
      {
        try
        {
          orderingRule = DirectoryServer.getSchema().getMatchingRule(decodedKey[1]);
          orderingRule = DirectoryServer.getInstance().getServerContext().getSchema().getMatchingRule(decodedKey[1]);
        }
        catch (UnknownSchemaElementException e)
        {
opendj-server-legacy/src/main/java/org/opends/server/core/AddOperationBasis.java
@@ -319,7 +319,7 @@
            for (ByteString os : a.getValues())
            {
              String ocName = os.toString();
              objectClasses.put(getSchema().getObjectClass(ocName), ocName);
              objectClasses.put(getInstance().getServerContext().getSchema().getObjectClass(ocName), ocName);
            }
          }
          else if (attrType.isOperational())
opendj-server-legacy/src/main/java/org/opends/server/core/CompareOperationBasis.java
@@ -232,7 +232,7 @@
      baseName = toLowerCase(rawAttributeType);
      attributeOptions  = null;
    }
    return AttributeDescription.create(DirectoryServer.getSchema().getAttributeType(baseName), attributeOptions);
    return AttributeDescription.create(DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType(baseName), attributeOptions);
  }
  @Override
opendj-server-legacy/src/main/java/org/opends/server/core/DirectoryServer.java
@@ -17,6 +17,7 @@
package org.opends.server.core;
import static com.forgerock.opendj.cli.CommonArguments.*;
import static org.opends.messages.CoreMessages.*;
import static org.opends.messages.ToolMessages.*;
import static org.opends.server.config.ConfigConstants.*;
@@ -81,7 +82,6 @@
import org.opends.server.api.AlertHandler;
import org.opends.server.api.AuthenticationPolicy;
import org.opends.server.api.Backend;
import org.opends.server.api.LocalBackend;
import org.opends.server.api.BackupTaskListener;
import org.opends.server.api.CertificateMapper;
import org.opends.server.api.ClientConnection;
@@ -95,6 +95,7 @@
import org.opends.server.api.ImportTaskListener;
import org.opends.server.api.InitializationCompletedListener;
import org.opends.server.api.KeyManagerProvider;
import org.opends.server.api.LocalBackend;
import org.opends.server.api.MonitorProvider;
import org.opends.server.api.PasswordGenerator;
import org.opends.server.api.PasswordStorageScheme;
@@ -153,6 +154,7 @@
import org.opends.server.util.RuntimeInformation;
import org.opends.server.util.SetupUtils;
import org.opends.server.util.TimeThread;
import com.forgerock.opendj.cli.ArgumentConstants;
import com.forgerock.opendj.cli.ArgumentException;
import com.forgerock.opendj.cli.ArgumentParser;
@@ -1948,16 +1950,6 @@
  }
  /**
   * Retrieves a reference to the Directory Server schema.
   *
   * @return  A reference to the Directory Server schema.
   */
  public static Schema getSchema()
  {
    return directoryServer.schemaHandler.getSchema();
  }
  /**
   * Retrieves the set of virtual attribute rules registered with the Directory
   * Server.
   *
opendj-server-legacy/src/main/java/org/opends/server/core/PasswordPolicyState.java
@@ -321,7 +321,7 @@
  private long getGeneralizedTime0(Entry userEntry, String attrName) throws DirectoryException
  {
    return getGeneralizedTime(userEntry, DirectoryServer.getSchema().getAttributeType(attrName));
    return getGeneralizedTime(userEntry, DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType(attrName));
  }
  /**
@@ -551,7 +551,7 @@
      return authFailureTimes;
    }
    AttributeType type = DirectoryServer.getSchema().getAttributeType(OP_ATTR_PWPOLICY_FAILURE_TIME);
    AttributeType type = DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType(OP_ATTR_PWPOLICY_FAILURE_TIME);
    try
    {
      authFailureTimes = getGeneralizedTimes(type);
@@ -642,7 +642,7 @@
    failureTimes.add(highestFailureTime);
    // And the attribute in the user entry
    AttributeType type = DirectoryServer.getSchema().getAttributeType(OP_ATTR_PWPOLICY_FAILURE_TIME);
    AttributeType type = DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType(OP_ATTR_PWPOLICY_FAILURE_TIME);
    Attribute addAttr = Attributes.create(type, GeneralizedTimeSyntax.format(highestFailureTime));
    modifications.add(new Modification(ModificationType.ADD, addAttr, true));
@@ -723,7 +723,7 @@
      return failureLockedTime;
    }
    AttributeType type = DirectoryServer.getSchema().getAttributeType(OP_ATTR_PWPOLICY_LOCKED_TIME);
    AttributeType type = DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType(OP_ATTR_PWPOLICY_LOCKED_TIME);
    try
    {
      failureLockedTime = getGeneralizedTime(userEntry, type);
@@ -1174,7 +1174,7 @@
      return false;
    }
    AttributeType type = DirectoryServer.getSchema().getAttributeType(OP_ATTR_PWPOLICY_RESET_REQUIRED);
    AttributeType type = DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType(OP_ATTR_PWPOLICY_RESET_REQUIRED);
    try
    {
      mustChangePassword = getBoolean(userEntry, type);
@@ -1234,7 +1234,7 @@
  private void clearAttribute(String attrName)
  {
    clearAttribute(DirectoryServer.getSchema().getAttributeType(attrName));
    clearAttribute(DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType(attrName));
  }
  private void clearAttribute(AttributeType type)
@@ -1734,7 +1734,7 @@
    }
    this.warnedTime = warnedTime;
    AttributeType type = DirectoryServer.getSchema().getAttributeType(OP_ATTR_PWPOLICY_WARNED_TIME);
    AttributeType type = DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType(OP_ATTR_PWPOLICY_WARNED_TIME);
    replaceAttribute(Attributes.create(type, GeneralizedTimeSyntax.createGeneralizedTimeValue(currentTime)));
    if (logger.isTraceEnabled())
@@ -1766,7 +1766,7 @@
  {
    if (graceLoginTimes == null)
    {
      AttributeType type = DirectoryServer.getSchema().getAttributeType(OP_ATTR_PWPOLICY_GRACE_LOGIN_TIME);
      AttributeType type = DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType(OP_ATTR_PWPOLICY_GRACE_LOGIN_TIME);
      try
      {
        graceLoginTimes = getGeneralizedTimes(type);
@@ -1813,7 +1813,7 @@
    long highestGraceTime = computeHighestTime(graceTimes);
    graceTimes.add(highestGraceTime); // graceTimes == this.graceLoginTimes
    AttributeType type = DirectoryServer.getSchema().getAttributeType(OP_ATTR_PWPOLICY_GRACE_LOGIN_TIME);
    AttributeType type = DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType(OP_ATTR_PWPOLICY_GRACE_LOGIN_TIME);
    Attribute addAttr = Attributes.create(type, GeneralizedTimeSyntax.format(highestGraceTime));
    modifications.add(new Modification(ModificationType.ADD, addAttr, true));
  }
@@ -2347,7 +2347,7 @@
  private TreeMap<Long,ByteString> getSortedHistoryValues(List<Attribute> removeAttrs)
  {
    TreeMap<Long, ByteString> historyMap = new TreeMap<>();
    AttributeType historyType = DirectoryServer.getSchema().getAttributeType(OP_ATTR_PWPOLICY_HISTORY_LC);
    AttributeType historyType = DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType(OP_ATTR_PWPOLICY_HISTORY_LC);
    for (Attribute a : userEntry.getAllAttributes(historyType))
    {
      for (ByteString v : a)
@@ -2561,7 +2561,7 @@
    // If there is a maximum number of values to retain and we would be over the limit with the new value,
    // then get rid of enough values (oldest first) to satisfy the count.
    AttributeType historyType = DirectoryServer.getSchema().getAttributeType(OP_ATTR_PWPOLICY_HISTORY_LC);
    AttributeType historyType = DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType(OP_ATTR_PWPOLICY_HISTORY_LC);
    int historyCount = passwordPolicy.getPasswordHistoryCount();
    if  (historyCount > 0 && historyMap.size() >= historyCount)
    {
@@ -2659,7 +2659,7 @@
  public String[] getPasswordHistoryValues()
  {
    ArrayList<String> historyValues = new ArrayList<>();
    AttributeType historyType = DirectoryServer.getSchema().getAttributeType(OP_ATTR_PWPOLICY_HISTORY_LC);
    AttributeType historyType = DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType(OP_ATTR_PWPOLICY_HISTORY_LC);
    for (Attribute a : userEntry.getAllAttributes(historyType))
    {
      for (ByteString v : a)
opendj-server-legacy/src/main/java/org/opends/server/core/SubentryPasswordPolicy.java
@@ -140,7 +140,7 @@
  public SubentryPasswordPolicy(SubEntry subentry) throws DirectoryException
  {
    // Determine if this is a password policy subentry.
    ObjectClass pwdPolicyOC = DirectoryServer.getSchema().getObjectClass(PWD_OC_POLICY);
    ObjectClass pwdPolicyOC = DirectoryServer.getInstance().getServerContext().getSchema().getObjectClass(PWD_OC_POLICY);
    Entry entry = subentry.getEntry();
    Map<ObjectClass, String> objectClasses = entry.getObjectClasses();
    if (pwdPolicyOC.isPlaceHolder())
@@ -177,7 +177,7 @@
    String value = getAttrValue(entry, PWD_ATTR_ATTRIBUTE);
    if (value != null && value.length() > 0)
    {
      this.pPasswordAttribute = DirectoryServer.getSchema().getAttributeType(value);
      this.pPasswordAttribute = DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType(value);
      if (this.pPasswordAttribute.isPlaceHolder())
      {
        throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM,
@@ -245,12 +245,12 @@
    // Now check for the pwdValidatorPolicy OC and its attribute.
    // Determine if this is a password validator policy object class.
    ObjectClass pwdValidatorPolicyOC = DirectoryServer.getSchema().getObjectClass(PWD_OC_VALIDATORPOLICY);
    ObjectClass pwdValidatorPolicyOC = DirectoryServer.getInstance().getServerContext().getSchema().getObjectClass(PWD_OC_VALIDATORPOLICY);
    if (!pwdValidatorPolicyOC.isPlaceHolder() &&
        objectClasses.containsKey(pwdValidatorPolicyOC))
    {
      AttributeType pwdAttrType =
          DirectoryServer.getSchema().getAttributeType(PWD_ATTR_VALIDATOR);
          DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType(PWD_ATTR_VALIDATOR);
      for (Attribute attr : entry.getAllAttributes(pwdAttrType))
      {
        for (ByteString val : attr)
@@ -369,7 +369,7 @@
   */
  private String getAttrValue(Entry entry, String pwdAttrName)
  {
    AttributeType pwdAttrType = DirectoryServer.getSchema().getAttributeType(pwdAttrName);
    AttributeType pwdAttrType = DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType(pwdAttrName);
    for (Attribute attr : entry.getAllAttributes(pwdAttrType))
    {
      for (ByteString value : attr)
opendj-server-legacy/src/main/java/org/opends/server/crypto/CryptoManagerImpl.java
@@ -243,19 +243,19 @@
    this.serverContext = serverContext;
    if (!schemaInitDone) {
      // Initialize various schema references.
      attrKeyID = DirectoryServer.getSchema().getAttributeType(ATTR_CRYPTO_KEY_ID);
      attrPublicKeyCertificate = DirectoryServer.getSchema().getAttributeType(ATTR_CRYPTO_PUBLIC_KEY_CERTIFICATE);
      attrTransformation = DirectoryServer.getSchema().getAttributeType(ATTR_CRYPTO_CIPHER_TRANSFORMATION_NAME);
      attrMacAlgorithm = DirectoryServer.getSchema().getAttributeType(ATTR_CRYPTO_MAC_ALGORITHM_NAME);
      attrSymmetricKey = DirectoryServer.getSchema().getAttributeType(ATTR_CRYPTO_SYMMETRIC_KEY);
      attrInitVectorLength = DirectoryServer.getSchema().getAttributeType(ATTR_CRYPTO_INIT_VECTOR_LENGTH_BITS);
      attrKeyLength = DirectoryServer.getSchema().getAttributeType(ATTR_CRYPTO_KEY_LENGTH_BITS);
      attrCompromisedTime = DirectoryServer.getSchema().getAttributeType(ATTR_CRYPTO_KEY_COMPROMISED_TIME);
      attrKeyID = DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType(ATTR_CRYPTO_KEY_ID);
      attrPublicKeyCertificate = DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType(ATTR_CRYPTO_PUBLIC_KEY_CERTIFICATE);
      attrTransformation = DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType(ATTR_CRYPTO_CIPHER_TRANSFORMATION_NAME);
      attrMacAlgorithm = DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType(ATTR_CRYPTO_MAC_ALGORITHM_NAME);
      attrSymmetricKey = DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType(ATTR_CRYPTO_SYMMETRIC_KEY);
      attrInitVectorLength = DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType(ATTR_CRYPTO_INIT_VECTOR_LENGTH_BITS);
      attrKeyLength = DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType(ATTR_CRYPTO_KEY_LENGTH_BITS);
      attrCompromisedTime = DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType(ATTR_CRYPTO_KEY_COMPROMISED_TIME);
      // TODO: ConfigConstants
      ocCertRequest = DirectoryServer.getSchema().getObjectClass("ds-cfg-self-signed-cert-request");
      ocInstanceKey = DirectoryServer.getSchema().getObjectClass(OC_CRYPTO_INSTANCE_KEY);
      ocCipherKey = DirectoryServer.getSchema().getObjectClass(OC_CRYPTO_CIPHER_KEY);
      ocMacKey = DirectoryServer.getSchema().getObjectClass(OC_CRYPTO_MAC_KEY);
      ocCertRequest = DirectoryServer.getInstance().getServerContext().getSchema().getObjectClass("ds-cfg-self-signed-cert-request");
      ocInstanceKey = DirectoryServer.getInstance().getServerContext().getSchema().getObjectClass(OC_CRYPTO_INSTANCE_KEY);
      ocCipherKey = DirectoryServer.getInstance().getServerContext().getSchema().getObjectClass(OC_CRYPTO_CIPHER_KEY);
      ocMacKey = DirectoryServer.getInstance().getServerContext().getSchema().getObjectClass(OC_CRYPTO_MAC_KEY);
      localTruststoreDN = DN.valueOf(DN_TRUST_STORE_ROOT);
      DN adminSuffixDN = ADSContext.getAdministrationSuffixDN();
opendj-server-legacy/src/main/java/org/opends/server/crypto/CryptoManagerSync.java
@@ -156,13 +156,13 @@
    {
    }
    ocInstanceKey = DirectoryServer.getSchema().getObjectClass(OC_CRYPTO_INSTANCE_KEY);
    ocCipherKey = DirectoryServer.getSchema().getObjectClass(OC_CRYPTO_CIPHER_KEY);
    ocMacKey = DirectoryServer.getSchema().getObjectClass(OC_CRYPTO_MAC_KEY);
    ocInstanceKey = DirectoryServer.getInstance().getServerContext().getSchema().getObjectClass(OC_CRYPTO_INSTANCE_KEY);
    ocCipherKey = DirectoryServer.getInstance().getServerContext().getSchema().getObjectClass(OC_CRYPTO_CIPHER_KEY);
    ocMacKey = DirectoryServer.getInstance().getServerContext().getSchema().getObjectClass(OC_CRYPTO_MAC_KEY);
    attrCert = getSchema().getAttributeType(ATTR_CRYPTO_PUBLIC_KEY_CERTIFICATE);
    attrAlias = getSchema().getAttributeType(ATTR_CRYPTO_KEY_ID);
    attrCompromisedTime = getSchema().getAttributeType(ATTR_CRYPTO_KEY_COMPROMISED_TIME);
    attrCert = getInstance().getServerContext().getSchema().getAttributeType(ATTR_CRYPTO_PUBLIC_KEY_CERTIFICATE);
    attrAlias = getInstance().getServerContext().getSchema().getAttributeType(ATTR_CRYPTO_KEY_ID);
    attrCompromisedTime = getInstance().getServerContext().getSchema().getAttributeType(ATTR_CRYPTO_KEY_COMPROMISED_TIME);
    if (DirectoryServer.getInstance().getServerContext()
          .getBackendConfigManager().getLocalBackendWithBaseDN(adminSuffixDN) != null)
opendj-server-legacy/src/main/java/org/opends/server/extensions/DynamicGroup.java
@@ -113,7 +113,7 @@
    // Get the memberURL attribute from the entry, if there is one, and parse
    // out the LDAP URLs that it contains.
    LinkedHashSet<LDAPURL> memberURLs = new LinkedHashSet<>();
    AttributeType memberURLType = DirectoryServer.getSchema().getAttributeType(ATTR_MEMBER_URL_LC);
    AttributeType memberURLType = DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType(ATTR_MEMBER_URL_LC);
    for (Attribute a : groupEntry.getAllAttributes(memberURLType))
    {
      for (ByteString v : a)
@@ -149,7 +149,7 @@
    ifNull(entry);
    // FIXME -- This needs to exclude enhanced groups once we have support for them.
    return entry.hasObjectClass(DirectoryServer.getSchema().getObjectClass(OC_GROUP_OF_URLS_LC));
    return entry.hasObjectClass(DirectoryServer.getInstance().getServerContext().getSchema().getObjectClass(OC_GROUP_OF_URLS_LC));
  }
  @Override
opendj-server-legacy/src/main/java/org/opends/server/extensions/ExternalSASLMechanismHandler.java
@@ -107,7 +107,7 @@
    certificateAttributeType = configuration.getCertificateAttribute();
    if (certificateAttributeType == null)
    {
      certificateAttributeType = DirectoryServer.getSchema().getAttributeType(DEFAULT_VALIDATION_CERT_ATTRIBUTE);
      certificateAttributeType = DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType(DEFAULT_VALIDATION_CERT_ATTRIBUTE);
    }
@@ -346,7 +346,7 @@
    AttributeType newCertificateType = configuration.getCertificateAttribute();
    if (newCertificateType == null)
    {
      newCertificateType = DirectoryServer.getSchema().getAttributeType(DEFAULT_VALIDATION_CERT_ATTRIBUTE);
      newCertificateType = DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType(DEFAULT_VALIDATION_CERT_ATTRIBUTE);
    }
opendj-server-legacy/src/main/java/org/opends/server/extensions/GoverningStructureRuleVirtualAttributeProvider.java
@@ -178,7 +178,7 @@
    if (oc == null) {
      return null;
    }
    Schema schema = DirectoryServer.getSchema();
    Schema schema = DirectoryServer.getInstance().getServerContext().getSchema();
    Collection<NameForm> listForms = schema.getNameForms(oc);
    NameForm nameForm = null;
    DITStructureRule ditRule = null;
opendj-server-legacy/src/main/java/org/opends/server/extensions/LDAPPassThroughAuthenticationPolicyFactory.java
@@ -1367,8 +1367,8 @@
      {
        super(userEntry);
        this.cachedPasswordAttribute = getSchema().getAttributeType(OP_ATTR_PTAPOLICY_CACHED_PASSWORD);
        this.cachedPasswordTimeAttribute = getSchema().getAttributeType(OP_ATTR_PTAPOLICY_CACHED_PASSWORD_TIME);
        this.cachedPasswordAttribute = getInstance().getServerContext().getSchema().getAttributeType(OP_ATTR_PTAPOLICY_CACHED_PASSWORD);
        this.cachedPasswordTimeAttribute = getInstance().getServerContext().getSchema().getAttributeType(OP_ATTR_PTAPOLICY_CACHED_PASSWORD_TIME);
      }
      @Override
opendj-server-legacy/src/main/java/org/opends/server/extensions/SMTPAccountStatusNotificationHandler.java
@@ -366,7 +366,7 @@
              else if (lowerTokenStr.startsWith("notification-user-attr:"))
              {
                String attrName = lowerTokenStr.substring(23);
                AttributeType attrType = DirectoryServer.getSchema().getAttributeType(attrName);
                AttributeType attrType = DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType(attrName);
                if (attrType.isPlaceHolder())
                {
                  throw new ConfigException(
opendj-server-legacy/src/main/java/org/opends/server/extensions/StaticGroup.java
@@ -268,7 +268,7 @@
  private boolean hasObjectClass(Entry entry, String ocName)
  {
    return entry.hasObjectClass(DirectoryServer.getSchema().getObjectClass(ocName));
    return entry.hasObjectClass(DirectoryServer.getInstance().getServerContext().getSchema().getObjectClass(ocName));
  }
  @Override
opendj-server-legacy/src/main/java/org/opends/server/extensions/SubjectAttributeToUserAttributeCertificateMapper.java
@@ -372,7 +372,7 @@
        return null;
      }
      AttributeType userAttrType = DirectoryServer.getSchema().getAttributeType(userAttrName);
      AttributeType userAttrType = DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType(userAttrName);
      if (userAttrType.isPlaceHolder())
      {
        ccr.setResultCodeIfSuccess(ResultCode.CONSTRAINT_VIOLATION);
@@ -393,6 +393,6 @@
  private static String normalizeAttributeName(String attrName)
  {
    return toLowerCase(DirectoryServer.getSchema().getAttributeType(attrName).getNameOrOID());
    return toLowerCase(DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType(attrName).getNameOrOID());
  }
}
opendj-server-legacy/src/main/java/org/opends/server/extensions/VirtualStaticGroup.java
@@ -109,7 +109,7 @@
    // Get the target group DN attribute from the entry, if there is one.
    DN targetDN = null;
    AttributeType targetType = DirectoryServer.getSchema().getAttributeType(ATTR_TARGET_GROUP_DN);
    AttributeType targetType = DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType(ATTR_TARGET_GROUP_DN);
    for (Attribute a : groupEntry.getAllAttributes(targetType))
    {
      for (ByteString v : a)
@@ -160,7 +160,7 @@
    ifNull(entry);
    // FIXME -- This needs to exclude enhanced groups once we have support for them.
    return entry.hasObjectClass(DirectoryServer.getSchema().getObjectClass(OC_VIRTUAL_STATIC_GROUP));
    return entry.hasObjectClass(DirectoryServer.getInstance().getServerContext().getSchema().getObjectClass(OC_VIRTUAL_STATIC_GROUP));
  }
  @Override
opendj-server-legacy/src/main/java/org/opends/server/monitors/ConnectionHandlerMonitor.java
@@ -91,7 +91,7 @@
  @Override
  public ObjectClass getMonitorObjectClass()
  {
    return DirectoryServer.getSchema().getObjectClass(OC_MONITOR_CONNHANDLER);
    return DirectoryServer.getInstance().getServerContext().getSchema().getObjectClass(OC_MONITOR_CONNHANDLER);
  }
opendj-server-legacy/src/main/java/org/opends/server/monitors/LocalBackendMonitor.java
@@ -80,7 +80,7 @@
  @Override
  public ObjectClass getMonitorObjectClass()
  {
    return DirectoryServer.getSchema().getObjectClass(OC_MONITOR_BACKEND);
    return DirectoryServer.getInstance().getServerContext().getSchema().getObjectClass(OC_MONITOR_BACKEND);
  }
  @Override
opendj-server-legacy/src/main/java/org/opends/server/plugins/AttributeCleanupPlugin.java
@@ -277,7 +277,7 @@
          ? toAttr
          : toAttr.substring(semicolonPos + 1);
      if (DirectoryServer.getSchema().getAttributeType(toAttrType).isPlaceHolder())
      if (DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType(toAttrType).isPlaceHolder())
      {
        messages.add(ERR_PLUGIN_ATTR_CLEANUP_ATTRIBUTE_MISSING.get(toAttr));
        isValid = false;
opendj-server-legacy/src/main/java/org/opends/server/plugins/LDAPADListPlugin.java
@@ -89,7 +89,7 @@
        if (attrName.startsWith("@"))
        {
          final String ocName = attrName.substring(1);
          final ObjectClass oc = getSchema().getObjectClass(ocName);
          final ObjectClass oc = getInstance().getServerContext().getSchema().getObjectClass(ocName);
          if (oc.isPlaceHolder())
          {
            logger.trace("Cannot replace unknown objectclass %s", ocName);
opendj-server-legacy/src/main/java/org/opends/server/plugins/PasswordPolicyImportPlugin.java
@@ -106,7 +106,7 @@
  {
    configuration.addPasswordPolicyImportChangeListener(this);
    customPolicyAttribute = DirectoryServer.getSchema().getAttributeType(OP_ATTR_PWPOLICY_POLICY_DN);
    customPolicyAttribute = DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType(OP_ATTR_PWPOLICY_POLICY_DN);
    // Make sure that the plugin has been enabled for the appropriate types.
    for (PluginType t : pluginTypes)
@@ -227,7 +227,7 @@
    // syntax defined in the schema.
    HashSet<AttributeType> authPWTypes = new HashSet<>();
    HashSet<AttributeType> userPWTypes = new HashSet<>();
    for (AttributeType t : DirectoryServer.getSchema().getAttributeTypes())
    for (AttributeType t : DirectoryServer.getInstance().getServerContext().getSchema().getAttributeTypes())
    {
      switch (SchemaUtils.checkPasswordType(t))
      {
opendj-server-legacy/src/main/java/org/opends/server/plugins/ReferentialIntegrityPlugin.java
@@ -209,7 +209,7 @@
      String attr = attrFilt.substring(0, sepInd);
      String filtStr = attrFilt.substring(sepInd + 1);
      AttributeType attrType = DirectoryServer.getSchema().getAttributeType(attr);
      AttributeType attrType = DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType(attr);
      try
      {
        newAttrFiltMap.put(attrType, SearchFilter.createFilterFromString(filtStr));
@@ -329,7 +329,7 @@
       * type has to be present in the attributeType list.
       */
      AttributeType attrType = DirectoryServer.getSchema().getAttributeType(attr);
      AttributeType attrType = DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType(attr);
      if (attrType.isPlaceHolder() || !theAttributeTypes.contains(attrType))
      {
        isAcceptable = false;
opendj-server-legacy/src/main/java/org/opends/server/plugins/SambaPasswordPlugin.java
@@ -968,7 +968,7 @@
   */
  private boolean isSynchronizable(final Entry entry)
  {
    final Schema schema = DirectoryServer.getSchema();
    final Schema schema = DirectoryServer.getInstance().getServerContext().getSchema();
    final ObjectClass sambaOc = schema.getObjectClass(SAMBA_SAM_ACCOUNT_OC_NAME);
    return !sambaOc.isPlaceHolder() && entry.hasObjectClass(sambaOc);
  }
opendj-server-legacy/src/main/java/org/opends/server/protocols/internal/InternalClientConnection.java
@@ -155,14 +155,14 @@
      LinkedHashMap<ObjectClass,String> objectClasses = new LinkedHashMap<>();
      put(objectClasses, getTopObjectClass());
      put(objectClasses, getPersonObjectClass());
      put(objectClasses, DirectoryServer.getSchema().getObjectClass(OC_ROOT_DN));
      put(objectClasses, DirectoryServer.getInstance().getServerContext().getSchema().getObjectClass(OC_ROOT_DN));
      LinkedHashMap<AttributeType,List<Attribute>> userAttrs = new LinkedHashMap<>();
      put(userAttrs, ATTR_COMMON_NAME, commonName);
      put(userAttrs, ATTR_SN, commonName);
      put(userAttrs, ATTR_ROOTDN_ALTERNATE_BIND_DN, shortDNString);
      AttributeType privType = DirectoryServer.getSchema().getAttributeType(OP_ATTR_PRIVILEGE_NAME);
      AttributeType privType = DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType(OP_ATTR_PRIVILEGE_NAME);
      AttributeBuilder builder = new AttributeBuilder(privType);
      for (Privilege p : Privilege.getDefaultRootPrivileges())
      {
@@ -201,7 +201,7 @@
  private void put(Map<AttributeType, List<Attribute>> Attrs, String attrName, String value)
  {
    List<Attribute> attrs = newLinkedList(Attributes.create(attrName, value));
    Attrs.put(DirectoryServer.getSchema().getAttributeType(attrName), attrs);
    Attrs.put(DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType(attrName), attrs);
  }
  /**
@@ -811,7 +811,7 @@
        for (ByteString v : a)
        {
          String ocName = v.toString();
          e.getObjectClasses().put(DirectoryServer.getSchema().getObjectClass(ocName), ocName);
          e.getObjectClasses().put(DirectoryServer.getInstance().getServerContext().getSchema().getObjectClass(ocName), ocName);
        }
      }
      else
opendj-server-legacy/src/main/java/org/opends/server/protocols/ldap/LDAPFilter.java
@@ -1912,7 +1912,7 @@
      try
      {
        DirectoryServer.getSchema().getMatchingRule(matchingRuleID);
        DirectoryServer.getInstance().getServerContext().getSchema().getMatchingRule(matchingRuleID);
      }
      catch (UnknownSchemaElementException e)
      {
opendj-server-legacy/src/main/java/org/opends/server/protocols/ldap/LDAPStatistics.java
@@ -156,7 +156,7 @@
  @Override
  public ObjectClass getMonitorObjectClass()
  {
    return DirectoryServer.getSchema().getObjectClass(OC_MONITOR_CONNHANDLERSTATS);
    return DirectoryServer.getInstance().getServerContext().getSchema().getObjectClass(OC_MONITOR_CONNHANDLERSTATS);
  }
  @Override
opendj-server-legacy/src/main/java/org/opends/server/protocols/ldap/SearchResultEntryProtocolOp.java
@@ -511,7 +511,7 @@
        for (ByteString os : a.getValues())
        {
          String ocName = os.toString();
          ObjectClass oc = DirectoryServer.getSchema().getObjectClass(ocName);
          ObjectClass oc = DirectoryServer.getInstance().getServerContext().getSchema().getObjectClass(ocName);
          objectClasses.put(oc, ocName);
        }
      }
opendj-server-legacy/src/main/java/org/opends/server/replication/plugin/EntryHistorical.java
@@ -259,7 +259,7 @@
   */
  public static void setHistoricalAttrToOperation(PreOperationAddOperation addOperation)
  {
    AttributeType attrType = DirectoryServer.getSchema().getAttributeType(HISTORICAL_ATTRIBUTE_NAME);
    AttributeType attrType = DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType(HISTORICAL_ATTRIBUTE_NAME);
    String attrValue = encodeHistorical(OperationContext.getCSN(addOperation), "add");
    List<Attribute> attrs = Attributes.createAsList(attrType, attrValue);
    addOperation.setAttribute(attrType, attrs);
opendj-server-legacy/src/main/java/org/opends/server/replication/plugin/FractionalLDIFImportPlugin.java
@@ -401,7 +401,7 @@
  private Attribute getAttribute(String attributeName, Entry entry)
  {
    List<Attribute> attrs = entry.getAllAttributes(DirectoryServer.getSchema().getAttributeType(attributeName));
    List<Attribute> attrs = entry.getAllAttributes(DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType(attributeName));
    return !attrs.isEmpty() ? attrs.get(0) : null;
  }
opendj-server-legacy/src/main/java/org/opends/server/replication/plugin/LDAPReplicationDomain.java
@@ -764,7 +764,7 @@
    final SearchResultEntry resultEntry = getFirstResult(searchOperation);
    if (resultEntry != null)
    {
      AttributeType synchronizationGenIDType = DirectoryServer.getSchema().getAttributeType(REPLICATION_GENERATION_ID);
      AttributeType synchronizationGenIDType = DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType(REPLICATION_GENERATION_ID);
      List<Attribute> attrs = resultEntry.getAllAttributes(synchronizationGenIDType);
      if (!attrs.isEmpty())
      {
@@ -785,7 +785,7 @@
  private Iterator<ByteString> getAttributeValueIterator(SearchResultEntry resultEntry, String attrName)
  {
    AttributeType attrType = DirectoryServer.getSchema().getAttributeType(attrName);
    AttributeType attrType = DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType(attrName);
    List<Attribute> exclAttrs = resultEntry.getAllAttributes(attrType);
    if (!exclAttrs.isEmpty())
    {
@@ -887,7 +887,7 @@
    }
    // Check consistency of all classes attributes
    Schema schema = DirectoryServer.getSchema();
    Schema schema = DirectoryServer.getInstance().getServerContext().getSchema();
    /*
     * For each attribute in attributes1, check there is the matching
     * one in attributes2.
@@ -965,7 +965,7 @@
     */
    // Check consistency of specific classes attributes
    Schema schema = DirectoryServer.getSchema();
    Schema schema = DirectoryServer.getInstance().getServerContext().getSchema();
    int fractionalMode = newFractionalConfig.fractionalConfigToInt();
    for (Map.Entry<String, Set<String>> entry : newFractionalSpecificClassesAttributes.entrySet())
    {
@@ -1363,7 +1363,7 @@
    Set<AttributeType> results = new HashSet<>();
    for (String attrName : fractionalConcernedAttributes)
    {
      results.add(DirectoryServer.getSchema().getAttributeType(attrName));
      results.add(DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType(attrName));
    }
    return results;
  }
@@ -3442,7 +3442,7 @@
      Set<AttributeType> includeAttributes = new HashSet<>();
      for (String attrName : includeAttributeStrings)
      {
        includeAttributes.add(DirectoryServer.getSchema().getAttributeType(attrName));
        includeAttributes.add(DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType(attrName));
      }
      exportConfig.setIncludeAttributes(includeAttributes);
    }
@@ -4432,7 +4432,7 @@
      if (name.startsWith("@"))
      {
        String ocName = name.substring(1);
        ObjectClass objectClass = DirectoryServer.getSchema().getObjectClass(ocName);
        ObjectClass objectClass = DirectoryServer.getInstance().getServerContext().getSchema().getObjectClass(ocName);
        if (!objectClass.isPlaceHolder())
        {
          for (AttributeType at : objectClass.getRequiredAttributes())
@@ -4829,7 +4829,7 @@
       * For each class in specificClassesAttributes1, check that the attribute
       * list is equivalent to specificClassesAttributes2 attribute list
       */
      Schema schema = DirectoryServer.getSchema();
      Schema schema = DirectoryServer.getInstance().getServerContext().getSchema();
      for (Map.Entry<String, Set<String>> entry : specificClassesAttrs1.entrySet())
      {
        String className1 = entry.getKey();
opendj-server-legacy/src/main/java/org/opends/server/replication/plugin/PersistentServerState.java
@@ -211,7 +211,7 @@
   */
  private void updateStateFromEntry(SearchResultEntry resultEntry)
  {
    AttributeType synchronizationStateType = DirectoryServer.getSchema().getAttributeType(REPLICATION_STATE);
    AttributeType synchronizationStateType = DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType(REPLICATION_STATE);
    List<Attribute> attrs = resultEntry.getAllAttributes(synchronizationStateType);
    if (!attrs.isEmpty())
    {
@@ -310,7 +310,7 @@
   */
  private final void checkAndUpdateServerState()
  {
    final AttributeType histType = DirectoryServer.getSchema().getAttributeType(HISTORICAL_ATTRIBUTE_NAME);
    final AttributeType histType = DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType(HISTORICAL_ATTRIBUTE_NAME);
    // Retrieves the entries that have changed since the
    // maxCsn stored in the serverState
opendj-server-legacy/src/main/java/org/opends/server/replication/server/ReplicationServer.java
@@ -560,7 +560,7 @@
      // create a rule and register it into the DirectoryServer
      provider.initializeVirtualAttributeProvider(null);
      AttributeType attributeType = DirectoryServer.getSchema().getAttributeType(attrName);
      AttributeType attributeType = DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType(attrName);
      return new VirtualAttributeRule(attributeType, provider,
            baseDNs, SearchScope.BASE_OBJECT,
            groupDNs, filters, conflictBehavior);
opendj-server-legacy/src/main/java/org/opends/server/tasks/BackupTask.java
@@ -137,16 +137,16 @@
    Entry taskEntry = getTaskEntry();
    AttributeType typeBackupAll = getSchema().getAttributeType(ATTR_TASK_BACKUP_ALL);
    AttributeType typeCompress = getSchema().getAttributeType(ATTR_TASK_BACKUP_COMPRESS);
    AttributeType typeEncrypt = getSchema().getAttributeType(ATTR_TASK_BACKUP_ENCRYPT);
    AttributeType typeHash = getSchema().getAttributeType(ATTR_TASK_BACKUP_HASH);
    AttributeType typeIncremental = getSchema().getAttributeType(ATTR_TASK_BACKUP_INCREMENTAL);
    AttributeType typeSignHash = getSchema().getAttributeType(ATTR_TASK_BACKUP_SIGN_HASH);
    AttributeType typeBackendID = getSchema().getAttributeType(ATTR_TASK_BACKUP_BACKEND_ID);
    AttributeType typeBackupID = getSchema().getAttributeType(ATTR_BACKUP_ID);
    AttributeType typeBackupDirectory = getSchema().getAttributeType(ATTR_BACKUP_DIRECTORY_PATH);
    AttributeType typeIncrementalBaseID = getSchema().getAttributeType(ATTR_TASK_BACKUP_INCREMENTAL_BASE_ID);
    AttributeType typeBackupAll = getInstance().getServerContext().getSchema().getAttributeType(ATTR_TASK_BACKUP_ALL);
    AttributeType typeCompress = getInstance().getServerContext().getSchema().getAttributeType(ATTR_TASK_BACKUP_COMPRESS);
    AttributeType typeEncrypt = getInstance().getServerContext().getSchema().getAttributeType(ATTR_TASK_BACKUP_ENCRYPT);
    AttributeType typeHash = getInstance().getServerContext().getSchema().getAttributeType(ATTR_TASK_BACKUP_HASH);
    AttributeType typeIncremental = getInstance().getServerContext().getSchema().getAttributeType(ATTR_TASK_BACKUP_INCREMENTAL);
    AttributeType typeSignHash = getInstance().getServerContext().getSchema().getAttributeType(ATTR_TASK_BACKUP_SIGN_HASH);
    AttributeType typeBackendID = getInstance().getServerContext().getSchema().getAttributeType(ATTR_TASK_BACKUP_BACKEND_ID);
    AttributeType typeBackupID = getInstance().getServerContext().getSchema().getAttributeType(ATTR_BACKUP_ID);
    AttributeType typeBackupDirectory = getInstance().getServerContext().getSchema().getAttributeType(ATTR_BACKUP_DIRECTORY_PATH);
    AttributeType typeIncrementalBaseID = getInstance().getServerContext().getSchema().getAttributeType(ATTR_TASK_BACKUP_INCREMENTAL_BASE_ID);
    backUpAll = TaskUtils.getBoolean(taskEntry.getAllAttributes(typeBackupAll), false);
    compress = TaskUtils.getBoolean(taskEntry.getAllAttributes(typeCompress), false);
opendj-server-legacy/src/main/java/org/opends/server/tasks/DisconnectClientTask.java
@@ -93,7 +93,7 @@
  private long getConnectionID(Entry taskEntry) throws DirectoryException
  {
    final AttributeType attrType = DirectoryServer.getSchema().getAttributeType(ATTR_TASK_DISCONNECT_CONN_ID);
    final AttributeType attrType = DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType(ATTR_TASK_DISCONNECT_CONN_ID);
    for (Attribute a : taskEntry.getAllAttributes(attrType))
    {
      for (ByteString v : a)
@@ -114,7 +114,7 @@
  private boolean mustNotifyClient(Entry taskEntry) throws DirectoryException
  {
    final AttributeType attrType = DirectoryServer.getSchema().getAttributeType(ATTR_TASK_DISCONNECT_NOTIFY_CLIENT);
    final AttributeType attrType = DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType(ATTR_TASK_DISCONNECT_NOTIFY_CLIENT);
    for (Attribute a : taskEntry.getAllAttributes(attrType))
    {
      for (ByteString v : a)
@@ -140,7 +140,7 @@
  private LocalizableMessage getDisconnectMessage(Entry taskEntry)
  {
    AttributeType attrType = DirectoryServer.getSchema().getAttributeType(ATTR_TASK_DISCONNECT_MESSAGE);
    AttributeType attrType = DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType(ATTR_TASK_DISCONNECT_MESSAGE);
    for (Attribute a : taskEntry.getAllAttributes(attrType))
    {
      for (ByteString v : a)
opendj-server-legacy/src/main/java/org/opends/server/tasks/ExportTask.java
@@ -123,7 +123,7 @@
    }
    Entry taskEntry = getTaskEntry();
    AttributeType typeWrapColumn = getSchema().getAttributeType(ATTR_TASK_EXPORT_WRAP_COLUMN);
    AttributeType typeWrapColumn = getInstance().getServerContext().getSchema().getAttributeType(ATTR_TASK_EXPORT_WRAP_COLUMN);
    ldifFile = toString(taskEntry, ATTR_TASK_EXPORT_LDIF_FILE);
    File f = new File (ldifFile);
@@ -160,21 +160,21 @@
  private boolean toBoolean(Entry entry, boolean defaultValue, String attrName)
  {
    final AttributeType attrType = getSchema().getAttributeType(attrName);
    final AttributeType attrType = getInstance().getServerContext().getSchema().getAttributeType(attrName);
    final List<Attribute> attrs = entry.getAllAttributes(attrType);
    return TaskUtils.getBoolean(attrs, defaultValue);
  }
  private ArrayList<String> toListOfString(Entry entry, String attrName)
  {
    final AttributeType attrType = getSchema().getAttributeType(attrName);
    final AttributeType attrType = getInstance().getServerContext().getSchema().getAttributeType(attrName);
    final List<Attribute> attrs = entry.getAllAttributes(attrType);
    return TaskUtils.getMultiValueString(attrs);
  }
  private String toString(Entry entry, String attrName)
  {
    final AttributeType attrType = getSchema().getAttributeType(attrName);
    final AttributeType attrType = getInstance().getServerContext().getSchema().getAttributeType(attrName);
    final List<Attribute> attrs = entry.getAllAttributes(attrType);
    return TaskUtils.getSingleValueString(attrs);
  }
@@ -456,7 +456,7 @@
    HashSet<AttributeType> attributes = new HashSet<>();
    for (String attrName : attributeStrings)
    {
      attributes.add(DirectoryServer.getSchema().getAttributeType(attrName));
      attributes.add(DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType(attrName));
    }
    return attributes;
  }
opendj-server-legacy/src/main/java/org/opends/server/tasks/ImportTask.java
@@ -135,25 +135,25 @@
    Entry taskEntry = getTaskEntry();
    AttributeType typeLdifFile = getSchema().getAttributeType(ATTR_IMPORT_LDIF_FILE);
    AttributeType typeTemplateFile = getSchema().getAttributeType(ATTR_IMPORT_TEMPLATE_FILE);
    AttributeType typeBackendID = getSchema().getAttributeType(ATTR_IMPORT_BACKEND_ID);
    AttributeType typeIncludeBranch = getSchema().getAttributeType(ATTR_IMPORT_INCLUDE_BRANCH);
    AttributeType typeExcludeBranch = getSchema().getAttributeType(ATTR_IMPORT_EXCLUDE_BRANCH);
    AttributeType typeIncludeAttribute = getSchema().getAttributeType(ATTR_IMPORT_INCLUDE_ATTRIBUTE);
    AttributeType typeExcludeAttribute = getSchema().getAttributeType(ATTR_IMPORT_EXCLUDE_ATTRIBUTE);
    AttributeType typeIncludeFilter = getSchema().getAttributeType(ATTR_IMPORT_INCLUDE_FILTER);
    AttributeType typeExcludeFilter = getSchema().getAttributeType(ATTR_IMPORT_EXCLUDE_FILTER);
    AttributeType typeRejectFile = getSchema().getAttributeType(ATTR_IMPORT_REJECT_FILE);
    AttributeType typeSkipFile = getSchema().getAttributeType(ATTR_IMPORT_SKIP_FILE);
    AttributeType typeOverwrite = getSchema().getAttributeType(ATTR_IMPORT_OVERWRITE);
    AttributeType typeSkipSchemaValidation = getSchema().getAttributeType(ATTR_IMPORT_SKIP_SCHEMA_VALIDATION);
    AttributeType typeIsCompressed = getSchema().getAttributeType(ATTR_IMPORT_IS_COMPRESSED);
    AttributeType typeIsEncrypted = getSchema().getAttributeType(ATTR_IMPORT_IS_ENCRYPTED);
    AttributeType typeClearBackend = getSchema().getAttributeType(ATTR_IMPORT_CLEAR_BACKEND);
    AttributeType typeRandomSeed = getSchema().getAttributeType(ATTR_IMPORT_RANDOM_SEED);
    AttributeType typeThreadCount = getSchema().getAttributeType(ATTR_IMPORT_THREAD_COUNT);
    AttributeType typeTmpDirectory = getSchema().getAttributeType(ATTR_IMPORT_TMP_DIRECTORY);
    AttributeType typeLdifFile = getInstance().getServerContext().getSchema().getAttributeType(ATTR_IMPORT_LDIF_FILE);
    AttributeType typeTemplateFile = getInstance().getServerContext().getSchema().getAttributeType(ATTR_IMPORT_TEMPLATE_FILE);
    AttributeType typeBackendID = getInstance().getServerContext().getSchema().getAttributeType(ATTR_IMPORT_BACKEND_ID);
    AttributeType typeIncludeBranch = getInstance().getServerContext().getSchema().getAttributeType(ATTR_IMPORT_INCLUDE_BRANCH);
    AttributeType typeExcludeBranch = getInstance().getServerContext().getSchema().getAttributeType(ATTR_IMPORT_EXCLUDE_BRANCH);
    AttributeType typeIncludeAttribute = getInstance().getServerContext().getSchema().getAttributeType(ATTR_IMPORT_INCLUDE_ATTRIBUTE);
    AttributeType typeExcludeAttribute = getInstance().getServerContext().getSchema().getAttributeType(ATTR_IMPORT_EXCLUDE_ATTRIBUTE);
    AttributeType typeIncludeFilter = getInstance().getServerContext().getSchema().getAttributeType(ATTR_IMPORT_INCLUDE_FILTER);
    AttributeType typeExcludeFilter = getInstance().getServerContext().getSchema().getAttributeType(ATTR_IMPORT_EXCLUDE_FILTER);
    AttributeType typeRejectFile = getInstance().getServerContext().getSchema().getAttributeType(ATTR_IMPORT_REJECT_FILE);
    AttributeType typeSkipFile = getInstance().getServerContext().getSchema().getAttributeType(ATTR_IMPORT_SKIP_FILE);
    AttributeType typeOverwrite = getInstance().getServerContext().getSchema().getAttributeType(ATTR_IMPORT_OVERWRITE);
    AttributeType typeSkipSchemaValidation = getInstance().getServerContext().getSchema().getAttributeType(ATTR_IMPORT_SKIP_SCHEMA_VALIDATION);
    AttributeType typeIsCompressed = getInstance().getServerContext().getSchema().getAttributeType(ATTR_IMPORT_IS_COMPRESSED);
    AttributeType typeIsEncrypted = getInstance().getServerContext().getSchema().getAttributeType(ATTR_IMPORT_IS_ENCRYPTED);
    AttributeType typeClearBackend = getInstance().getServerContext().getSchema().getAttributeType(ATTR_IMPORT_CLEAR_BACKEND);
    AttributeType typeRandomSeed = getInstance().getServerContext().getSchema().getAttributeType(ATTR_IMPORT_RANDOM_SEED);
    AttributeType typeThreadCount = getInstance().getServerContext().getSchema().getAttributeType(ATTR_IMPORT_THREAD_COUNT);
    AttributeType typeTmpDirectory = getInstance().getServerContext().getSchema().getAttributeType(ATTR_IMPORT_TMP_DIRECTORY);
    ArrayList<String> ldifFilestmp = asListOfStrings(taskEntry, typeLdifFile);
    ldifFiles = new ArrayList<>(ldifFilestmp.size());
@@ -726,7 +726,7 @@
    final HashSet<AttributeType> attrTypes = new HashSet<>(attrNames.size());
    for (String attrName : attrNames)
    {
      attrTypes.add(DirectoryServer.getSchema().getAttributeType(attrName));
      attrTypes.add(DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType(attrName));
    }
    return attrTypes;
  }
opendj-server-legacy/src/main/java/org/opends/server/tasks/InitializeTargetTask.java
@@ -69,8 +69,8 @@
    // FIXME -- Do we need any special authorization here?
    Entry taskEntry = getTaskEntry();
    AttributeType typeDomainBase = getSchema().getAttributeType(ATTR_TASK_INITIALIZE_TARGET_DOMAIN_DN);
    AttributeType typeScope = getSchema().getAttributeType(ATTR_TASK_INITIALIZE_TARGET_SCOPE);
    AttributeType typeDomainBase = getInstance().getServerContext().getSchema().getAttributeType(ATTR_TASK_INITIALIZE_TARGET_DOMAIN_DN);
    AttributeType typeScope = getInstance().getServerContext().getSchema().getAttributeType(ATTR_TASK_INITIALIZE_TARGET_SCOPE);
    List<Attribute> attrList = taskEntry.getAllAttributes(typeDomainBase);
    domainString = TaskUtils.getSingleValueString(attrList);
opendj-server-legacy/src/main/java/org/opends/server/tasks/InitializeTask.java
@@ -72,8 +72,8 @@
    // FIXME -- Do we need any special authorization here?
    Entry taskEntry = getTaskEntry();
    AttributeType typeDomainBase = getSchema().getAttributeType(ATTR_TASK_INITIALIZE_DOMAIN_DN);
    AttributeType typeSourceScope = getSchema().getAttributeType(ATTR_TASK_INITIALIZE_SOURCE);
    AttributeType typeDomainBase = getInstance().getServerContext().getSchema().getAttributeType(ATTR_TASK_INITIALIZE_DOMAIN_DN);
    AttributeType typeSourceScope = getInstance().getServerContext().getSchema().getAttributeType(ATTR_TASK_INITIALIZE_SOURCE);
    List<Attribute> attrList;
    attrList = taskEntry.getAllAttributes(typeDomainBase);
opendj-server-legacy/src/main/java/org/opends/server/tasks/PurgeConflictsHistoricalTask.java
@@ -86,7 +86,7 @@
    // FIXME -- Do we need any special authorization here?
    Entry taskEntry = getTaskEntry();
    AttributeType typeDomainBase = getSchema().getAttributeType(ATTR_TASK_CONFLICTS_HIST_PURGE_DOMAIN_DN);
    AttributeType typeDomainBase = getInstance().getServerContext().getSchema().getAttributeType(ATTR_TASK_CONFLICTS_HIST_PURGE_DOMAIN_DN);
    List<Attribute> attrList = taskEntry.getAllAttributes(typeDomainBase);
    domainString = TaskUtils.getSingleValueString(attrList);
@@ -104,7 +104,7 @@
      throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM, mb.toMessage());
    }
    AttributeType typeMaxDuration = getSchema().getAttributeType(ATTR_TASK_CONFLICTS_HIST_PURGE_MAX_DURATION);
    AttributeType typeMaxDuration = getInstance().getServerContext().getSchema().getAttributeType(ATTR_TASK_CONFLICTS_HIST_PURGE_MAX_DURATION);
    attrList = taskEntry.getAllAttributes(typeMaxDuration);
    String maxDurationStringInSec = TaskUtils.getSingleValueString(attrList);
opendj-server-legacy/src/main/java/org/opends/server/tasks/RebuildTask.java
@@ -95,7 +95,7 @@
    final String val = asString(taskEntry, ATTR_REBUILD_INDEX_CLEARDEGRADEDSTATE);
    isClearDegradedState = Boolean.parseBoolean(val);
    AttributeType typeIndex = getSchema().getAttributeType(ATTR_REBUILD_INDEX);
    AttributeType typeIndex = getInstance().getServerContext().getSchema().getAttributeType(ATTR_REBUILD_INDEX);
    List<Attribute> attrList = taskEntry.getAllAttributes(typeIndex);
    indexes = TaskUtils.getMultiValueString(attrList);
@@ -113,7 +113,7 @@
  private String asString(Entry taskEntry, String attrName)
  {
    final AttributeType attrType = getSchema().getAttributeType(attrName);
    final AttributeType attrType = getInstance().getServerContext().getSchema().getAttributeType(attrName);
    final List<Attribute> attrList = taskEntry.getAllAttributes(attrType);
    return TaskUtils.getSingleValueString(attrList);
  }
opendj-server-legacy/src/main/java/org/opends/server/tasks/ResetChangeNumberTask.java
@@ -96,7 +96,7 @@
  private List<Attribute> getTaskParameter(Entry taskEntry, String attrTaskResetChangeNumberTo)
  {
    AttributeType taskAttr = getSchema().getAttributeType(attrTaskResetChangeNumberTo);
    AttributeType taskAttr = getInstance().getServerContext().getSchema().getAttributeType(attrTaskResetChangeNumberTo);
    return taskEntry.getAllAttributes(taskAttr);
  }
opendj-server-legacy/src/main/java/org/opends/server/tasks/RestoreTask.java
@@ -108,9 +108,9 @@
    Entry taskEntry = getTaskEntry();
    AttributeType typeBackupDirectory = getSchema().getAttributeType(ATTR_BACKUP_DIRECTORY_PATH);
    AttributeType typebackupID = getSchema().getAttributeType(ATTR_BACKUP_ID);
    AttributeType typeVerifyOnly = getSchema().getAttributeType(ATTR_TASK_RESTORE_VERIFY_ONLY);
    AttributeType typeBackupDirectory = getInstance().getServerContext().getSchema().getAttributeType(ATTR_BACKUP_DIRECTORY_PATH);
    AttributeType typebackupID = getInstance().getServerContext().getSchema().getAttributeType(ATTR_BACKUP_ID);
    AttributeType typeVerifyOnly = getInstance().getServerContext().getSchema().getAttributeType(ATTR_TASK_RESTORE_VERIFY_ONLY);
    List<Attribute> attrList;
opendj-server-legacy/src/main/java/org/opends/server/tasks/SetGenerationIdTask.java
@@ -67,7 +67,7 @@
    Entry taskEntry = getTaskEntry();
    // Retrieves the eventual generation-ID
    AttributeType typeNewValue = getSchema().getAttributeType(ATTR_TASK_SET_GENERATION_ID_NEW_VALUE);
    AttributeType typeNewValue = getInstance().getServerContext().getSchema().getAttributeType(ATTR_TASK_SET_GENERATION_ID_NEW_VALUE);
    List<Attribute> attrList = taskEntry.getAllAttributes(typeNewValue);
    if (!attrList.isEmpty())
    {
@@ -85,7 +85,7 @@
    }
    // Retrieves the replication domain
    AttributeType typeDomainBase = getSchema().getAttributeType(ATTR_TASK_SET_GENERATION_ID_DOMAIN_DN);
    AttributeType typeDomainBase = getInstance().getServerContext().getSchema().getAttributeType(ATTR_TASK_SET_GENERATION_ID_DOMAIN_DN);
    attrList = taskEntry.getAllAttributes(typeDomainBase);
    domainString = TaskUtils.getSingleValueString(attrList);
opendj-server-legacy/src/main/java/org/opends/server/tasks/ShutdownTask.java
@@ -74,7 +74,7 @@
    restart         = false;
    shutdownMessage = INFO_TASK_SHUTDOWN_DEFAULT_MESSAGE.get(taskEntry.getName());
    AttributeType attrType = DirectoryServer.getSchema().getAttributeType(ATTR_SHUTDOWN_MESSAGE);
    AttributeType attrType = DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType(ATTR_SHUTDOWN_MESSAGE);
    List<Attribute> attrList = taskEntry.getAllAttributes(attrType);
    if (!attrList.isEmpty())
    {
@@ -86,7 +86,7 @@
      }
    }
    attrType = DirectoryServer.getSchema().getAttributeType(ATTR_RESTART_SERVER);
    attrType = DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType(ATTR_RESTART_SERVER);
    attrList = taskEntry.getAllAttributes(attrType);
    if (!attrList.isEmpty())
    {
opendj-server-legacy/src/main/java/org/opends/server/tools/ConfigureDS.java
@@ -1137,7 +1137,7 @@
      org.forgerock.opendj.ldap.Entry configEntry, String attrName, Syntax syntax, Object...values)
  {
    org.forgerock.opendj.ldap.Entry newEntry = LinkedHashMapEntry.deepCopyOfEntry(configEntry);
    AttributeType attrType = DirectoryServer.getSchema().getAttributeType(attrName, syntax);
    AttributeType attrType = DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType(attrName, syntax);
    newEntry.replaceAttribute(new LinkedAttribute(AttributeDescription.create(attrType), values));
    return newEntry;
  }
opendj-server-legacy/src/main/java/org/opends/server/tools/ExportLDIF.java
@@ -647,7 +647,7 @@
    Set<AttributeType> results = new HashSet<>();
    for (String attrName : attributeArg.getValues())
    {
      results.add(DirectoryServer.getSchema().getAttributeType(attrName));
      results.add(DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType(attrName));
    }
    return results;
  }
opendj-server-legacy/src/main/java/org/opends/server/tools/ImportLDIF.java
@@ -494,7 +494,7 @@
        }
        else
        {
          excludeAttributes.add(DirectoryServer.getSchema().getAttributeType(attrName));
          excludeAttributes.add(DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType(attrName));
        }
      }
    }
@@ -522,7 +522,7 @@
        }
        else
        {
          includeAttributes.add(DirectoryServer.getSchema().getAttributeType(attrName));
          includeAttributes.add(DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType(attrName));
        }
      }
    }
opendj-server-legacy/src/main/java/org/opends/server/tools/makeldif/AttributeValueTag.java
@@ -72,7 +72,7 @@
      throw new InitializationException(message);
    }
    attributeType = DirectoryServer.getSchema().getAttributeType(arguments[0]);
    attributeType = DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType(arguments[0]);
    if (! branch.hasAttribute(attributeType))
    {
      LocalizableMessage message =
@@ -118,7 +118,7 @@
      throw new InitializationException(message);
    }
    attributeType = DirectoryServer.getSchema().getAttributeType(arguments[0]);
    attributeType = DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType(arguments[0]);
    if (! template.hasAttribute(attributeType))
    {
      LocalizableMessage message =
opendj-server-legacy/src/main/java/org/opends/server/tools/makeldif/IfAbsentTag.java
@@ -72,7 +72,7 @@
      throw new InitializationException(message);
    }
    AttributeType t = DirectoryServer.getSchema().getAttributeType(arguments[0]);
    AttributeType t = DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType(arguments[0]);
    if (! branch.hasAttribute(t))
    {
      LocalizableMessage message =
@@ -103,7 +103,7 @@
      throw new InitializationException(message);
    }
    attributeType = DirectoryServer.getSchema().getAttributeType(arguments[0]);
    attributeType = DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType(arguments[0]);
    if (! template.hasAttribute(attributeType))
    {
      LocalizableMessage message =
opendj-server-legacy/src/main/java/org/opends/server/tools/makeldif/IfPresentTag.java
@@ -105,7 +105,7 @@
      throw new InitializationException(message);
    }
    AttributeType t = DirectoryServer.getSchema().getAttributeType(arguments[0]);
    AttributeType t = DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType(arguments[0]);
    if (! branch.hasAttribute(t))
    {
      LocalizableMessage message =
@@ -153,7 +153,7 @@
      throw new InitializationException(message);
    }
    attributeType = DirectoryServer.getSchema().getAttributeType(arguments[0]);
    attributeType = DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType(arguments[0]);
    if (! template.hasAttribute(attributeType))
    {
      LocalizableMessage message =
opendj-server-legacy/src/main/java/org/opends/server/tools/makeldif/TemplateEntry.java
@@ -250,7 +250,7 @@
        for (TemplateValue v : valueList)
        {
          String ocName = v.getValue().toString();
          objectClasses.put(DirectoryServer.getSchema().getObjectClass(ocName), ocName);
          objectClasses.put(DirectoryServer.getInstance().getServerContext().getSchema().getObjectClass(ocName), ocName);
        }
      }
      else if (t.isOperational())
opendj-server-legacy/src/main/java/org/opends/server/tools/makeldif/TemplateFile.java
@@ -833,7 +833,7 @@
        StringTokenizer tokenizer = new StringTokenizer(rdnAttrNames, "+");
        while (tokenizer.hasMoreTokens())
        {
          attrList.add(DirectoryServer.getSchema().getAttributeType(tokenizer.nextToken()));
          attrList.add(DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType(tokenizer.nextToken()));
        }
        rdnAttributes = new AttributeType[attrList.size()];
@@ -995,7 +995,7 @@
      }
    }
    AttributeType attributeType = DirectoryServer.getSchema().getAttributeType(lowerLine.substring(0, colonPos));
    AttributeType attributeType = DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType(lowerLine.substring(0, colonPos));
    // First, check whether the value is an URL value: <attrName>:< <url>
    int length = line.length();
opendj-server-legacy/src/main/java/org/opends/server/types/Attributes.java
@@ -176,7 +176,7 @@
   */
  public static Attribute create(String attributeName, String valueString)
  {
    return create(getSchema().getAttributeType(attributeName), attributeName, valueString);
    return create(getInstance().getServerContext().getSchema().getAttributeType(attributeName), attributeName, valueString);
  }
  /**
@@ -278,7 +278,7 @@
   */
  public static Attribute empty(String attributeName)
  {
    return empty(getSchema().getAttributeType(attributeName), attributeName);
    return empty(getInstance().getServerContext().getSchema().getAttributeType(attributeName), attributeName);
  }
opendj-server-legacy/src/main/java/org/opends/server/types/Entry.java
@@ -1372,7 +1372,7 @@
    for (ByteString v : a)
    {
      String ocName = v.toString();
      ocs.put(DirectoryServer.getSchema().getObjectClass(ocName), ocName);
      ocs.put(DirectoryServer.getInstance().getServerContext().getSchema().getObjectClass(ocName), ocName);
    }
    AttributeDescription attrDesc = a.getAttributeDescription();
@@ -1619,7 +1619,7 @@
    }
    else
    {
      ditContentRule = DirectoryServer.getSchema().getDITContentRule(structuralClass);
      ditContentRule = DirectoryServer.getInstance().getServerContext().getSchema().getDITContentRule(structuralClass);
      if (ditContentRule != null && ditContentRule.isObsolete())
      {
        ditContentRule = null;
@@ -1642,7 +1642,7 @@
         * DITStructureRules corresponding to other non-acceptable
         * nameforms are not applied.
         */
        Collection<NameForm> forms = DirectoryServer.getSchema().getNameForms(structuralClass);
        Collection<NameForm> forms = DirectoryServer.getInstance().getServerContext().getSchema().getNameForms(structuralClass);
        if (forms != null)
        {
          List<NameForm> listForms = new ArrayList<>(forms);
@@ -1678,7 +1678,7 @@
        if (validateStructureRules && nameForm != null)
        {
          for (DITStructureRule ditRule : DirectoryServer.getSchema().getDITStructureRules(nameForm))
          for (DITStructureRule ditRule : DirectoryServer.getInstance().getServerContext().getSchema().getDITStructureRules(nameForm))
          {
            if (!ditRule.isObsolete())
            {
@@ -1731,7 +1731,7 @@
    // all attributes required by the object classes are present.
    for (ObjectClass o : objectClasses.keySet())
    {
      if (DirectoryServer.getSchema().getObjectClass(o.getOID()).isPlaceHolder())
      if (DirectoryServer.getInstance().getServerContext().getSchema().getObjectClass(o.getOID()).isPlaceHolder())
      {
        invalidReason.append(ERR_ENTRY_SCHEMA_UNKNOWN_OC.get(dn, o.getNameOrOID()));
        return false;
@@ -2191,14 +2191,14 @@
        }
        else
        {
          Collection<NameForm> allNFs = DirectoryServer.getSchema().getNameForms(parentStructuralClass);
          Collection<NameForm> allNFs = DirectoryServer.getInstance().getServerContext().getSchema().getNameForms(parentStructuralClass);
          if(allNFs != null)
          {
            for(NameForm parentNF : allNFs)
            {
              if (!parentNF.isObsolete())
              {
                for (DITStructureRule parentDSR : DirectoryServer.getSchema().getDITStructureRules(parentNF))
                for (DITStructureRule parentDSR : DirectoryServer.getInstance().getServerContext().getSchema().getDITStructureRules(parentNF))
                {
                  if (!parentDSR.isObsolete())
                  {
@@ -2494,7 +2494,7 @@
   */
  private boolean hasObjectClassOrAttribute(String objectClassName, String attrTypeName)
  {
    ObjectClass oc = DirectoryServer.getSchema().getObjectClass(objectClassName);
    ObjectClass oc = DirectoryServer.getInstance().getServerContext().getSchema().getObjectClass(objectClassName);
    if (oc.isPlaceHolder())
    {
      // This should not happen
@@ -2507,7 +2507,7 @@
      return false;
    }
    AttributeType attrType = DirectoryServer.getSchema().getAttributeType(attrTypeName);
    AttributeType attrType = DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType(attrTypeName);
    if (attrType.isPlaceHolder())
    {
      // This should not happen
@@ -2549,7 +2549,7 @@
   */
  public Set<String> getReferralURLs()
  {
    AttributeType referralType = DirectoryServer.getSchema().getAttributeType(ATTR_REFERRAL_URL);
    AttributeType referralType = DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType(ATTR_REFERRAL_URL);
    if (referralType.isPlaceHolder())
    {
      // This should not happen -- The server doesn't have a ref attribute type defined.
@@ -2610,7 +2610,7 @@
   */
  public DN getAliasedDN() throws DirectoryException
  {
    AttributeType aliasType = DirectoryServer.getSchema().getAttributeType(ATTR_REFERRAL_URL);
    AttributeType aliasType = DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType(ATTR_REFERRAL_URL);
    if (aliasType.isPlaceHolder())
    {
      // This should not happen -- The server doesn't have an aliasedObjectName attribute type defined.
@@ -2668,7 +2668,7 @@
   */
  private boolean hasObjectClass(String objectClassLowerCase)
  {
    ObjectClass oc = DirectoryServer.getSchema().getObjectClass(objectClassLowerCase);
    ObjectClass oc = DirectoryServer.getInstance().getServerContext().getSchema().getObjectClass(objectClassLowerCase);
    if (oc.isPlaceHolder())
    {
      // This should not happen
@@ -2829,7 +2829,7 @@
    }
    // Get collective attribute exclusions.
    AttributeType exclusionsType = DirectoryServer.getSchema().getAttributeType(ATTR_COLLECTIVE_EXCLUSIONS_LC);
    AttributeType exclusionsType = DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType(ATTR_COLLECTIVE_EXCLUSIONS_LC);
    List<Attribute> exclusionsAttrList = operationalAttributes.get(exclusionsType);
    List<String> excludedAttrNames = new ArrayList<>();
    if (exclusionsAttrList != null && !exclusionsAttrList.isEmpty())
@@ -3506,7 +3506,7 @@
  {
    entryBuffer.position(startPos);
    final String ocName = entryBuffer.readStringUtf8(endPos - startPos);
    objectClasses.put(DirectoryServer.getSchema().getObjectClass(ocName), ocName);
    objectClasses.put(DirectoryServer.getInstance().getServerContext().getSchema().getObjectClass(ocName), ocName);
  }
  /**
@@ -4224,7 +4224,7 @@
      String lowerName = toLowerName(rule, v);
      // Create a default object class if necessary.
      ObjectClass oc = DirectoryServer.getSchema().getObjectClass(lowerName);
      ObjectClass oc = DirectoryServer.getInstance().getServerContext().getSchema().getObjectClass(lowerName);
      if (replace)
      {
opendj-server-legacy/src/main/java/org/opends/server/types/SearchFilter.java
@@ -1984,7 +1984,7 @@
      try
      {
        DirectoryServer.getSchema().getMatchingRule(matchingRuleID);
        DirectoryServer.getInstance().getServerContext().getSchema().getMatchingRule(matchingRuleID);
      }
      catch (UnknownSchemaElementException e)
      {
@@ -3115,7 +3115,7 @@
    {
      try
      {
        matchingRule = DirectoryServer.getSchema().getMatchingRule(matchingRuleID);
        matchingRule = DirectoryServer.getInstance().getServerContext().getSchema().getMatchingRule(matchingRuleID);
      }
      catch (UnknownSchemaElementException e)
      {
@@ -3159,7 +3159,7 @@
    {
      try
      {
        MatchingRuleUse mru = DirectoryServer.getSchema().getMatchingRuleUse(matchingRule);
        MatchingRuleUse mru = DirectoryServer.getInstance().getServerContext().getSchema().getMatchingRuleUse(matchingRule);
        if (!mru.hasAttribute(getAttributeType()))
        {
          logger.trace("Attribute type %s is not allowed for use with "
@@ -3508,7 +3508,7 @@
      {
        try
        {
          MatchingRule mrule = DirectoryServer.getSchema().getMatchingRule(matchingRuleID);
          MatchingRule mrule = DirectoryServer.getInstance().getServerContext().getSchema().getMatchingRule(matchingRuleID);
          Assertion assertion = mrule.getAssertion(f.assertionValue);
          return assertion.matches(mrule.normalizeAttributeValue(assertionValue)).toBoolean();
        }
opendj-server-legacy/src/main/java/org/opends/server/types/SubEntry.java
@@ -193,7 +193,7 @@
        {
          for (ByteString value : attr)
          {
            this.inheritFromDNType = DirectoryServer.getSchema().getAttributeType(value.toString());
            this.inheritFromDNType = DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType(value.toString());
            this.inheritFromDNAttrValue = value;
            break;
          }
@@ -206,7 +206,7 @@
        {
          for (ByteString value : attr)
          {
            this.inheritFromRDNAttrType = DirectoryServer.getSchema().getAttributeType(value.toString());
            this.inheritFromRDNAttrType = DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType(value.toString());
            this.inheritFromRDNAttrValue = value;
            break;
          }
@@ -215,7 +215,7 @@
        {
          for (ByteString value : attr)
          {
            this.inheritFromRDNType = DirectoryServer.getSchema().getAttributeType(value.toString());
            this.inheritFromRDNType = DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType(value.toString());
            break;
          }
        }
@@ -265,7 +265,7 @@
  {
    String specString = null;
    boolean isValidSpec = true;
    AttributeType specAttrType = DirectoryServer.getSchema().getAttributeType(ATTR_SUBTREE_SPEC_LC);
    AttributeType specAttrType = DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType(ATTR_SUBTREE_SPEC_LC);
    for (Attribute attr : entry.getAllAttributes(specAttrType))
    {
      for (ByteString value : attr)
opendj-server-legacy/src/main/java/org/opends/server/types/SubtreeSpecification.java
@@ -271,7 +271,7 @@
    @Override
    public boolean matches(final Entry entry)
    {
      final ObjectClass oc = DirectoryServer.getSchema().getObjectClass(normalizedObjectClass);
      final ObjectClass oc = DirectoryServer.getInstance().getServerContext().getSchema().getObjectClass(normalizedObjectClass);
      return !oc.isPlaceHolder() && entry.hasObjectClass(oc);
    }
opendj-server-legacy/src/main/java/org/opends/server/util/LDIFReader.java
@@ -737,7 +737,7 @@
      }
      String ocName      = value.toString().trim();
      ObjectClass objectClass = DirectoryServer.getSchema().getObjectClass(ocName);
      ObjectClass objectClass = DirectoryServer.getInstance().getServerContext().getSchema().getObjectClass(ocName);
      if (objectClasses.containsKey(objectClass))
      {
        logger.warn(WARN_LDIF_DUPLICATE_OBJECTCLASS, entryDN, lastEntryLineNumber, ocName);
opendj-server-legacy/src/main/java/org/opends/server/util/StaticUtils.java
@@ -1997,7 +1997,7 @@
    RDN rdn = dn.rdn();
    // If there is only one RDN attribute, then see which objectclass we should use.
    ObjectClass structuralClass = DirectoryServer.getSchema().getObjectClass(getObjectClassName(rdn));
    ObjectClass structuralClass = DirectoryServer.getInstance().getServerContext().getSchema().getObjectClass(getObjectClassName(rdn));
    // Get the top and untypedObject classes to include in the entry.
    LinkedHashMap<ObjectClass,String> objectClasses = new LinkedHashMap<>(3);
opendj-server-legacy/src/main/java/org/opends/server/workflowelement/localbackend/LocalBackendAddOperation.java
@@ -353,7 +353,7 @@
      // Check to see if the entry includes a privilege specification. If so,
      // then the requester must have the PRIVILEGE_CHANGE privilege.
      AttributeType privType = DirectoryServer.getSchema().getAttributeType(OP_ATTR_PRIVILEGE_NAME);
      AttributeType privType = DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType(OP_ATTR_PRIVILEGE_NAME);
      if (entry.hasAttribute(privType)
          && !clientConnection.hasPrivilege(Privilege.PRIVILEGE_CHANGE, this))
      {
opendj-server-legacy/src/main/java/org/opends/server/workflowelement/localbackend/LocalBackendBindOperation.java
@@ -1010,7 +1010,7 @@
      Arg1<Object> nonUniqueAttributeMessage,
      Arg2<Object, Object> cannotProcessAttributeMessage)
  {
    AttributeType attrType = DirectoryServer.getSchema().getAttributeType(attributeTypeName);
    AttributeType attrType = DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType(attributeTypeName);
    List<Attribute> attrList = userEntry.getAllAttributes(attrType);
    if (attrList.size() == 1)
    {
opendj-server-legacy/src/main/java/org/opends/server/workflowelement/localbackend/LocalBackendModifyOperation.java
@@ -800,7 +800,7 @@
        processModification(m);
      }
      else if (!isInternalOrSynchro(m)
          && t.equals(getSchema().getAttributeType(OP_ATTR_ACCOUNT_DISABLED)))
          && t.equals(getInstance().getServerContext().getSchema().getAttributeType(OP_ATTR_ACCOUNT_DISABLED)))
      {
        enabledStateChanged = true;
        isEnabled = !pwPolicyState.isDisabled();
@@ -1242,7 +1242,7 @@
    for (ByteString v : attr)
    {
      String name = v.toString();
      ObjectClass oc = DirectoryServer.getSchema().getObjectClass(name);
      ObjectClass oc = DirectoryServer.getInstance().getServerContext().getSchema().getObjectClass(name);
      if (oc.isPlaceHolder())
      {
        throw newDirectoryException(currentEntry,
opendj-server-legacy/src/test/java/org/forgerock/opendj/adapter/server3x/ConvertersTestCase.java
@@ -147,7 +147,7 @@
        assertThat(result.getName().toString()).isEqualTo(entry.getName().toString());
        List<ObjectClass> ocs = new ArrayList<>(result.getObjectClasses().keySet());
        assertThat(ocs).hasSize(2);
        assertThat(ocs.get(0).getOID()).isEqualTo(getSchema().getObjectClass("ds-cfg-backend").getOID());
        assertThat(ocs.get(0).getOID()).isEqualTo(getInstance().getServerContext().getSchema().getObjectClass("ds-cfg-backend").getOID());
        assertThat(ocs.get(1).getOID()).as("This should be a placeholder").endsWith("-oid");
    }
opendj-server-legacy/src/test/java/org/opends/server/TestCaseUtils.java
@@ -250,7 +250,7 @@
   */
  public static void startFakeServer() throws Exception
  {
    schemaBeforeStartingFakeServer = DirectoryServer.getSchema();
    schemaBeforeStartingFakeServer = DirectoryServer.getInstance().getServerContext().getSchema();
    DirectoryServer.getInstance().getServerContext().getSchemaHandler().updateSchema(Schema.getDefaultSchema());
  }
opendj-server-legacy/src/test/java/org/opends/server/authorization/dseecompat/TargetAttrTestCase.java
@@ -486,7 +486,7 @@
  {
    EnumTargetOperator op = EnumTargetOperator.createOperator(eqOperator);
    TargetAttr targetAttr = TargetAttr.decode(op, targetAttrString);
    AttributeType attrType = DirectoryServer.getSchema().getAttributeType(attribute);
    AttributeType attrType = DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType(attribute);
    assertEquals(TargetAttr.isApplicable(attrType, targetAttr), expectedResult);
  }
}
opendj-server-legacy/src/test/java/org/opends/server/backends/SchemaBackendTestCase.java
@@ -506,10 +506,10 @@
              "X-ORGIN 'SchemaBackendTestCase' )");
    String attrName = "testaddattributetypesuccessful";
    assertFalse(DirectoryServer.getSchema().hasAttributeType(attrName));
    assertFalse(DirectoryServer.getInstance().getServerContext().getSchema().hasAttributeType(attrName));
    runModify(argsNotPermissive(), ldif, System.err, SUCCESS);
    assertTrue(DirectoryServer.getSchema().hasAttributeType(attrName));
    assertTrue(DirectoryServer.getInstance().getServerContext().getSchema().hasAttributeType(attrName));
  }
  /**
@@ -533,10 +533,10 @@
              "X-ORGIN 'SchemaBackendTestCase' )");
    String attrName = "testaddattributetypesuccessfulnooid";
    assertFalse(DirectoryServer.getSchema().hasAttributeType(attrName));
    assertFalse(DirectoryServer.getInstance().getServerContext().getSchema().hasAttributeType(attrName));
    runModify(argsNotPermissive(), ldif, System.err, SUCCESS);
    assertTrue(DirectoryServer.getSchema().hasAttributeType(attrName));
    assertTrue(DirectoryServer.getInstance().getServerContext().getSchema().hasAttributeType(attrName));
  }
  /**
@@ -560,10 +560,10 @@
              "SINGLE-VALUE)");
    String attrName = "testaddattributetypenospacebeforeparenthesis";
    assertFalse(DirectoryServer.getSchema().hasAttributeType(attrName));
    assertFalse(DirectoryServer.getInstance().getServerContext().getSchema().hasAttributeType(attrName));
    runModify(argsNotPermissive(), ldif, System.err, SUCCESS);
    assertTrue(DirectoryServer.getSchema().hasAttributeType(attrName));
    assertTrue(DirectoryServer.getInstance().getServerContext().getSchema().hasAttributeType(attrName));
  }
  /**
@@ -587,12 +587,12 @@
              "X-SCHEMA-FILE '98-schema-test-attrtype.ldif' )");
    String attrName = "testaddattributetypetoaltschemafile";
    assertFalse(DirectoryServer.getSchema().hasAttributeType(attrName));
    assertFalse(DirectoryServer.getInstance().getServerContext().getSchema().hasAttributeType(attrName));
    assertSchemaFileExists("98-schema-test-attrtype.ldif", false);
    runModify(argsNotPermissive(), ldif, System.err, SUCCESS);
    assertTrue(DirectoryServer.getSchema().hasAttributeType(attrName));
    assertTrue(DirectoryServer.getInstance().getServerContext().getSchema().hasAttributeType(attrName));
    assertSchemaFileExists("98-schema-test-attrtype.ldif", true);
  }
@@ -699,11 +699,11 @@
             "NAME '" + initialName + "' " +
              "SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE " +
              "X-ORIGIN 'SchemaBackendTestCase' )");
      assertFalse(DirectoryServer.getSchema().hasAttributeType(initialOid));
      assertFalse(DirectoryServer.getSchema().hasAttributeType(initialName));
      assertFalse(DirectoryServer.getInstance().getServerContext().getSchema().hasAttributeType(initialOid));
      assertFalse(DirectoryServer.getInstance().getServerContext().getSchema().hasAttributeType(initialName));
      runModify(argsNotPermissive(), ldifAdd1, System.err, SUCCESS);
      assertTrue(DirectoryServer.getSchema().hasAttributeType(initialOid));
      assertTrue(DirectoryServer.getSchema().hasAttributeType(initialName));
      assertTrue(DirectoryServer.getInstance().getServerContext().getSchema().hasAttributeType(initialOid));
      assertTrue(DirectoryServer.getInstance().getServerContext().getSchema().hasAttributeType(initialName));
      // try to add the attribute again, with its new definition
      String ldifAdd2 = toLdif(
@@ -717,7 +717,7 @@
    finally
    {
      // clean the attribute to put back the schema in its initial state before the test
      if (DirectoryServer.getSchema().hasAttributeType(initialOid))
      if (DirectoryServer.getInstance().getServerContext().getSchema().hasAttributeType(initialOid))
      {
        String removalLdif = toLdif(
          "dn: cn=schema",
@@ -759,12 +759,12 @@
              "X-ORIGIN 'SchemaBackendTestCase' )");
    String attrName = "testreplaceattributetypeinaltschemafile";
    assertFalse(DirectoryServer.getSchema().hasAttributeType(attrName));
    assertFalse(DirectoryServer.getInstance().getServerContext().getSchema().hasAttributeType(attrName));
    assertSchemaFileExists("98-schema-test-replaceattrtype.ldif", false);
    runModify(argsPermissive(), ldif, System.err, SUCCESS);
    assertTrue(DirectoryServer.getSchema().hasAttributeType(attrName));
    assertTrue(DirectoryServer.getInstance().getServerContext().getSchema().hasAttributeType(attrName));
    assertSchemaFileExists("98-schema-test-replaceattrtype.ldif", true);
  }
@@ -1053,10 +1053,10 @@
              "'SchemaBackendTestCase' )");
    String attrName = "testremoveattributetypesuccessful";
    assertFalse(DirectoryServer.getSchema().hasAttributeType(attrName));
    assertFalse(DirectoryServer.getInstance().getServerContext().getSchema().hasAttributeType(attrName));
    runModify(argsNotPermissive(), ldif, System.err, SUCCESS);
    assertFalse(DirectoryServer.getSchema().hasAttributeType(attrName));
    assertFalse(DirectoryServer.getInstance().getServerContext().getSchema().hasAttributeType(attrName));
  }
  /**
@@ -1093,10 +1093,10 @@
              "X-ORIGIN 'SchemaBackendTestCase' )");
    String attrName = "testremoveattributetypesuccessful";
    assertFalse(DirectoryServer.getSchema().hasAttributeType(attrName));
    assertFalse(DirectoryServer.getInstance().getServerContext().getSchema().hasAttributeType(attrName));
    runModify(argsNotPermissive(), ldif, System.err, SUCCESS);
    assertFalse(DirectoryServer.getSchema().hasAttributeType(attrName));
    assertFalse(DirectoryServer.getInstance().getServerContext().getSchema().hasAttributeType(attrName));
  }
  /**
@@ -1119,7 +1119,7 @@
              "X-ORIGIN 'SchemaBackendTestCase' )");
    String attrName = "testremoveattributetypeundefined";
    assertFalse(DirectoryServer.getSchema().hasAttributeType(attrName));
    assertFalse(DirectoryServer.getInstance().getServerContext().getSchema().hasAttributeType(attrName));
    runModify(argsNotPermissive(), ldif, NO_SUCH_ATTRIBUTE);
  }
@@ -1145,10 +1145,10 @@
              "X-ORIGIN 'RFC 2256' )");
    String attrName = "name";
    assertTrue(DirectoryServer.getSchema().hasAttributeType(attrName));
    assertTrue(DirectoryServer.getInstance().getServerContext().getSchema().hasAttributeType(attrName));
    runModify(argsNotPermissive(), ldif, CONSTRAINT_VIOLATION);
    assertTrue(DirectoryServer.getSchema().hasAttributeType(attrName));
    assertTrue(DirectoryServer.getInstance().getServerContext().getSchema().hasAttributeType(attrName));
  }
  /**
@@ -1171,10 +1171,10 @@
              "X-ORIGIN 'RFC 1274' )");
    String attrName = "uid";
    assertTrue(DirectoryServer.getSchema().hasAttributeType(attrName));
    assertTrue(DirectoryServer.getInstance().getServerContext().getSchema().hasAttributeType(attrName));
    runModify(argsNotPermissive(), ldif, CONSTRAINT_VIOLATION);
    assertTrue(DirectoryServer.getSchema().hasAttributeType(attrName));
    assertTrue(DirectoryServer.getInstance().getServerContext().getSchema().hasAttributeType(attrName));
  }
  /**
@@ -1232,16 +1232,16 @@
    try
    {
      assertFalse(DirectoryServer.getSchema().hasAttributeType(attrName));
      assertFalse(DirectoryServer.getInstance().getServerContext().getSchema().hasAttributeType(attrName));
      runModify(argsNotPermissive(), ldif, SUCCESS);
      runModify(argsNotPermissive(), ldif1, CONSTRAINT_VIOLATION);
      assertTrue(DirectoryServer.getSchema().hasAttributeType(attrName));
      assertTrue(DirectoryServer.getInstance().getServerContext().getSchema().hasAttributeType(attrName));
    }
    finally
    {
      runModify(argsNotPermissive(), ldif2, SUCCESS);
      assertFalse(DirectoryServer.getSchema().hasAttributeType(attrName));
      assertFalse(DirectoryServer.getInstance().getServerContext().getSchema().hasAttributeType(attrName));
    }
  }
@@ -1284,10 +1284,10 @@
              "X-ORIGIN 'SchemaBackendTestCase' )");
    String attrName = "testremoveattributetypereferencedbydcr";
    assertFalse(DirectoryServer.getSchema().hasAttributeType(attrName));
    assertFalse(DirectoryServer.getInstance().getServerContext().getSchema().hasAttributeType(attrName));
    runModify(argsNotPermissive(), ldif, CONSTRAINT_VIOLATION);
    assertTrue(DirectoryServer.getSchema().hasAttributeType(attrName));
    assertTrue(DirectoryServer.getInstance().getServerContext().getSchema().hasAttributeType(attrName));
  }
  /**
@@ -1327,17 +1327,17 @@
              "X-ORIGIN 'SchemaBackendTestCase' )");
      String attrName = "testremoveatrefbymruat";
      assertFalse(DirectoryServer.getSchema().hasAttributeType(attrName));
      assertFalse(DirectoryServer.getInstance().getServerContext().getSchema().hasAttributeType(attrName));
      runModify(argsNotPermissive(), ldif, CONSTRAINT_VIOLATION);
      assertMatchingRuleUseExistsWithName(matchingRule, "testremoveatrefbymrumru");
      assertTrue(DirectoryServer.getSchema().hasAttributeType(attrName));
      assertTrue(DirectoryServer.getInstance().getServerContext().getSchema().hasAttributeType(attrName));
    }
    finally
    {
      DirectoryServer.getSchema();
      DirectoryServer.getInstance().getServerContext().getSchema();
      deregisterMatchingRuleUse(matchingRule);
      deregisterAttributeType("testremoveatrefbymruat-oid");
      deregisterMatchingRule(matchingRule);
@@ -1406,10 +1406,10 @@
              "X-ORIGIN 'SchemaBackendTestCase' )");
    String ocName = "testaddobjectclasssuccessful";
    assertFalse(DirectoryServer.getSchema().hasObjectClass(ocName));
    assertFalse(DirectoryServer.getInstance().getServerContext().getSchema().hasObjectClass(ocName));
    runModify(argsNotPermissive(), ldif, System.err, SUCCESS);
    assertTrue(DirectoryServer.getSchema().hasObjectClass(ocName));
    assertTrue(DirectoryServer.getInstance().getServerContext().getSchema().hasObjectClass(ocName));
  }
  /**
@@ -1433,10 +1433,10 @@
              "MUST cn X-ORIGIN 'SchemaBackendTestCase' )");
    String ocName = "testaddobjectclasssuccessfulnooid";
    assertFalse(DirectoryServer.getSchema().hasObjectClass(ocName));
    assertFalse(DirectoryServer.getInstance().getServerContext().getSchema().hasObjectClass(ocName));
    runModify(argsNotPermissive(), ldif, System.err, SUCCESS);
    assertTrue(DirectoryServer.getSchema().hasObjectClass(ocName));
    assertTrue(DirectoryServer.getInstance().getServerContext().getSchema().hasObjectClass(ocName));
  }
  /**
@@ -1459,12 +1459,12 @@
              "X-SCHEMA-FILE '98-schema-test-oc.ldif' )");
    String ocName = "testaddobjectclasstoaltschemafile";
    assertFalse(DirectoryServer.getSchema().hasObjectClass(ocName));
    assertFalse(DirectoryServer.getInstance().getServerContext().getSchema().hasObjectClass(ocName));
    assertSchemaFileExists("98-schema-test-oc.ldif", false);
    runModify(argsNotPermissive(), ldif, System.err, SUCCESS);
    assertTrue(DirectoryServer.getSchema().hasObjectClass(ocName));
    assertTrue(DirectoryServer.getInstance().getServerContext().getSchema().hasObjectClass(ocName));
    assertSchemaFileExists("98-schema-test-oc.ldif", true);
  }
@@ -1538,11 +1538,11 @@
                "NAME '" + initialName + "' " +
                "SUP top STRUCTURAL " +
                "MUST cn X-ORIGIN 'SchemaBackendTestCase' )");
      assertFalse(DirectoryServer.getSchema().hasObjectClass(initialOid));
      assertFalse(DirectoryServer.getSchema().hasObjectClass(initialName));
      assertFalse(DirectoryServer.getInstance().getServerContext().getSchema().hasObjectClass(initialOid));
      assertFalse(DirectoryServer.getInstance().getServerContext().getSchema().hasObjectClass(initialName));
      runModify(argsNotPermissive(), ldifAdd1, System.err, SUCCESS);
      assertTrue(DirectoryServer.getSchema().hasObjectClass(initialOid));
      assertTrue(DirectoryServer.getSchema().hasObjectClass(initialName));
      assertTrue(DirectoryServer.getInstance().getServerContext().getSchema().hasObjectClass(initialOid));
      assertTrue(DirectoryServer.getInstance().getServerContext().getSchema().hasObjectClass(initialName));
      // try to add the attribute again, with its new definition
      String ldifAdd2 = toLdif(
@@ -1556,7 +1556,7 @@
    finally
    {
      // clean the object class to put back the schema in its initial state before the test
      if (DirectoryServer.getSchema().hasObjectClass(initialOid))
      if (DirectoryServer.getInstance().getServerContext().getSchema().hasObjectClass(initialOid))
      {
        String removalLdif = toLdif(
          "dn: cn=schema",
@@ -1588,10 +1588,10 @@
              "X-ORIGIN 'SchemaBackendTestCase' )");
    String ocName = "testaddobjectclassmultipleconflicts";
    assertFalse(DirectoryServer.getSchema().hasObjectClass(ocName));
    assertFalse(DirectoryServer.getInstance().getServerContext().getSchema().hasObjectClass(ocName));
    runModify(argsNotPermissive(), ldif, CONSTRAINT_VIOLATION);
    assertFalse(DirectoryServer.getSchema().hasObjectClass(ocName));
    assertFalse(DirectoryServer.getInstance().getServerContext().getSchema().hasObjectClass(ocName));
  }
  /**
@@ -1627,10 +1627,10 @@
              "X-ORIGIN 'SchemaBackendTestCase' )");
    String ocName = "testremovethenaddobjectclasssuccessful";
    assertFalse(DirectoryServer.getSchema().hasObjectClass(ocName));
    assertFalse(DirectoryServer.getInstance().getServerContext().getSchema().hasObjectClass(ocName));
    runModify(argsNotPermissive(), ldif, System.err, SUCCESS);
    assertTrue(DirectoryServer.getSchema().hasObjectClass(ocName));
    assertTrue(DirectoryServer.getInstance().getServerContext().getSchema().hasObjectClass(ocName));
  }
  /**
@@ -1932,10 +1932,10 @@
              "X-ORIGIN 'SchemaBackendTestCase' )");
    String ocName = "testremoveobjectclasssuccessful";
    assertFalse(DirectoryServer.getSchema().hasObjectClass(ocName));
    assertFalse(DirectoryServer.getInstance().getServerContext().getSchema().hasObjectClass(ocName));
    runModify(argsNotPermissive(), ldif, System.err, SUCCESS);
    assertFalse(DirectoryServer.getSchema().hasObjectClass(ocName));
    assertFalse(DirectoryServer.getInstance().getServerContext().getSchema().hasObjectClass(ocName));
  }
  /**
@@ -1957,10 +1957,10 @@
              "seeAlso $ description ) X-ORIGIN 'RFC 2256' )");
    String ocName = "person";
    assertTrue(DirectoryServer.getSchema().hasObjectClass(ocName));
    assertTrue(DirectoryServer.getInstance().getServerContext().getSchema().hasObjectClass(ocName));
    runModify(argsNotPermissive(), ldif, CONSTRAINT_VIOLATION);
    assertTrue(DirectoryServer.getSchema().hasObjectClass(ocName));
    assertTrue(DirectoryServer.getInstance().getServerContext().getSchema().hasObjectClass(ocName));
  }
  /**
@@ -2005,16 +2005,16 @@
    try
    {
      assertFalse(DirectoryServer.getSchema().hasObjectClass(ocName));
      assertFalse(DirectoryServer.getInstance().getServerContext().getSchema().hasObjectClass(ocName));
      runModify(argsPermissive(), addOCThenNF, SUCCESS);
      runModify(argsPermissive(), deleteOC, CONSTRAINT_VIOLATION);
      assertTrue(DirectoryServer.getSchema().hasObjectClass(ocName));
      assertTrue(DirectoryServer.getInstance().getServerContext().getSchema().hasObjectClass(ocName));
    }
    finally
    {
      runModify(argsPermissive(), deleteNFThenOC, SUCCESS);
      assertFalse(DirectoryServer.getSchema().hasObjectClass(ocName));
      assertFalse(DirectoryServer.getInstance().getServerContext().getSchema().hasObjectClass(ocName));
    }
  }
@@ -2049,10 +2049,10 @@
              "STRUCTURAL MUST cn X-ORIGIN 'SchemaBackendTestCase')");
    String ocName = "testremoveobjectclassreferencedbydcr";
    assertFalse(DirectoryServer.getSchema().hasObjectClass(ocName));
    assertFalse(DirectoryServer.getInstance().getServerContext().getSchema().hasObjectClass(ocName));
    runModify(argsNotPermissive(), ldif, CONSTRAINT_VIOLATION);
    assertTrue(DirectoryServer.getSchema().hasObjectClass(ocName));
    assertTrue(DirectoryServer.getInstance().getServerContext().getSchema().hasObjectClass(ocName));
  }
  private static String[] argsNotPermissive()
@@ -2104,10 +2104,10 @@
              "X-ORIGIN 'SchemaBackendTestCase' )");
    String nameFormName = "testaddnameformsuccessful";
    assertFalse(DirectoryServer.getSchema().hasNameForm(nameFormName));
    assertFalse(DirectoryServer.getInstance().getServerContext().getSchema().hasNameForm(nameFormName));
    runModify(argsNotPermissive(), ldif, System.err, SUCCESS);
    assertTrue(DirectoryServer.getSchema().hasNameForm(nameFormName));
    assertTrue(DirectoryServer.getInstance().getServerContext().getSchema().hasNameForm(nameFormName));
  }
  /**
@@ -2136,12 +2136,12 @@
              "X-SCHEMA-FILE '98-schema-test-nameform.ldif' )");
    String nameFormName = "testaddnameformtoaltschemafile";
    assertFalse(DirectoryServer.getSchema().hasNameForm(nameFormName));
    assertFalse(DirectoryServer.getInstance().getServerContext().getSchema().hasNameForm(nameFormName));
    assertSchemaFileExists("98-schema-test-nameform.ldif", false);
    runModify(argsNotPermissive(), ldif, System.err, SUCCESS);
    assertTrue(DirectoryServer.getSchema().hasNameForm(nameFormName));
    assertTrue(DirectoryServer.getInstance().getServerContext().getSchema().hasNameForm(nameFormName));
    assertSchemaFileExists("98-schema-test-nameform.ldif", true);
  }
@@ -2171,10 +2171,10 @@
              "X-ORIGIN 'SchemaBackendTestCase' )");
    String nameFormName = "testaddnameformwithundefinedreqat";
    assertFalse(DirectoryServer.getSchema().hasNameForm(nameFormName));
    assertFalse(DirectoryServer.getInstance().getServerContext().getSchema().hasNameForm(nameFormName));
    runModify(argsNotPermissive(), ldif, CONSTRAINT_VIOLATION);
    assertFalse(DirectoryServer.getSchema().hasNameForm(nameFormName));
    assertFalse(DirectoryServer.getInstance().getServerContext().getSchema().hasNameForm(nameFormName));
  }
  /**
@@ -2204,10 +2204,10 @@
              "X-ORIGIN 'SchemaBackendTestCase' )");
    String nameFormName = "testaddnameformwithmultipleundefinedreqat";
    assertFalse(DirectoryServer.getSchema().hasNameForm(nameFormName));
    assertFalse(DirectoryServer.getInstance().getServerContext().getSchema().hasNameForm(nameFormName));
    runModify(argsNotPermissive(), ldif, CONSTRAINT_VIOLATION);
    assertFalse(DirectoryServer.getSchema().hasNameForm(nameFormName));
    assertFalse(DirectoryServer.getInstance().getServerContext().getSchema().hasNameForm(nameFormName));
  }
  /**
@@ -2236,10 +2236,10 @@
              "MAY xxxundefinedxxx X-ORIGIN 'SchemaBackendTestCase' )");
    String nameFormName = "testaddnameformwithundefinedoptat";
    assertFalse(DirectoryServer.getSchema().hasNameForm(nameFormName));
    assertFalse(DirectoryServer.getInstance().getServerContext().getSchema().hasNameForm(nameFormName));
    runModify(argsNotPermissive(), ldif, CONSTRAINT_VIOLATION);
    assertFalse(DirectoryServer.getSchema().hasNameForm(nameFormName));
    assertFalse(DirectoryServer.getInstance().getServerContext().getSchema().hasNameForm(nameFormName));
  }
  /**
@@ -2269,10 +2269,10 @@
              "X-ORIGIN 'SchemaBackendTestCase' )");
    String nameFormName = "testaddnameformwithmultipleundefinedoptat";
    assertFalse(DirectoryServer.getSchema().hasNameForm(nameFormName));
    assertFalse(DirectoryServer.getInstance().getServerContext().getSchema().hasNameForm(nameFormName));
    runModify(argsNotPermissive(), ldif, CONSTRAINT_VIOLATION);
    assertFalse(DirectoryServer.getSchema().hasNameForm(nameFormName));
    assertFalse(DirectoryServer.getInstance().getServerContext().getSchema().hasNameForm(nameFormName));
  }
  /**
@@ -2294,10 +2294,10 @@
              "OC xxxundefinedxxx MUST cn X-ORIGIN 'SchemaBackendTestCase' )");
    String nameFormName = "testaddnameformwithundefinedoc";
    assertFalse(DirectoryServer.getSchema().hasNameForm(nameFormName));
    assertFalse(DirectoryServer.getInstance().getServerContext().getSchema().hasNameForm(nameFormName));
    runModify(argsNotPermissive(), ldif, CONSTRAINT_VIOLATION);
    assertFalse(DirectoryServer.getSchema().hasNameForm(nameFormName));
    assertFalse(DirectoryServer.getInstance().getServerContext().getSchema().hasNameForm(nameFormName));
  }
  /**
@@ -2325,10 +2325,10 @@
              "X-ORIGIN 'SchemaBackendTestCase' )");
    String nameFormName = "testaddnameformwithauxiliaryoc";
    assertFalse(DirectoryServer.getSchema().hasNameForm(nameFormName));
    assertFalse(DirectoryServer.getInstance().getServerContext().getSchema().hasNameForm(nameFormName));
    runModify(argsNotPermissive(), ldif, CONSTRAINT_VIOLATION);
    assertFalse(DirectoryServer.getSchema().hasNameForm(nameFormName));
    assertFalse(DirectoryServer.getInstance().getServerContext().getSchema().hasNameForm(nameFormName));
  }
  /**
@@ -2356,10 +2356,10 @@
              "X-ORIGIN 'SchemaBackendTestCase' )");
    String nameFormName = "testaddnameformwithobsoleteoc";
    assertFalse(DirectoryServer.getSchema().hasNameForm(nameFormName));
    assertFalse(DirectoryServer.getInstance().getServerContext().getSchema().hasNameForm(nameFormName));
    runModify(argsNotPermissive(), ldif, CONSTRAINT_VIOLATION);
    assertFalse(DirectoryServer.getSchema().hasNameForm(nameFormName));
    assertFalse(DirectoryServer.getInstance().getServerContext().getSchema().hasNameForm(nameFormName));
  }
  /**
@@ -2462,10 +2462,10 @@
              "X-ORIGIN 'SchemaBackendTestCase' )");
    String nameFormName = "testaddnameformocconflict2";
    assertFalse(DirectoryServer.getSchema().hasNameForm(nameFormName));
    assertFalse(DirectoryServer.getInstance().getServerContext().getSchema().hasNameForm(nameFormName));
    runModify(argsNotPermissive(), ldif, SUCCESS);
    assertTrue(DirectoryServer.getSchema().hasNameForm(nameFormName));
    assertTrue(DirectoryServer.getInstance().getServerContext().getSchema().hasNameForm(nameFormName));
  }
  /**
@@ -2501,10 +2501,10 @@
              "X-ORIGIN 'SchemaBackendTestCase' )");
    String nameFormName = "testremovenameformsuccessful";
    assertFalse(DirectoryServer.getSchema().hasNameForm(nameFormName));
    assertFalse(DirectoryServer.getInstance().getServerContext().getSchema().hasNameForm(nameFormName));
    runModify(argsNotPermissive(), ldif, System.err, SUCCESS);
    assertFalse(DirectoryServer.getSchema().hasNameForm(nameFormName));
    assertFalse(DirectoryServer.getInstance().getServerContext().getSchema().hasNameForm(nameFormName));
  }
  /**
@@ -2546,10 +2546,10 @@
              "X-ORIGIN 'SchemaBackendTestCase' )");
    String nameFormName = "testremovethenaddnameformsuccessful";
    assertFalse(DirectoryServer.getSchema().hasNameForm(nameFormName));
    assertFalse(DirectoryServer.getInstance().getServerContext().getSchema().hasNameForm(nameFormName));
    runModify(argsNotPermissive(), ldif, System.err, SUCCESS);
    assertTrue(DirectoryServer.getSchema().hasNameForm(nameFormName));
    assertTrue(DirectoryServer.getInstance().getServerContext().getSchema().hasNameForm(nameFormName));
  }
  /**
@@ -2591,10 +2591,10 @@
              "X-ORIGIN 'SchemaBackendTestCase' )");
    String nameFormName = "testremovenameformreferencedbydsrnf";
    assertFalse(DirectoryServer.getSchema().hasNameForm(nameFormName));
    assertFalse(DirectoryServer.getInstance().getServerContext().getSchema().hasNameForm(nameFormName));
    runModify(argsNotPermissive(), ldif, CONSTRAINT_VIOLATION);
    assertTrue(DirectoryServer.getSchema().hasNameForm(nameFormName));
    assertTrue(DirectoryServer.getInstance().getServerContext().getSchema().hasNameForm(nameFormName));
  }
  /**
@@ -2621,14 +2621,14 @@
              "X-ORIGIN 'SchemaBackendTestCase' )");
    String ocName = "testaddditcontentrulesuccessfuloc";
    assertFalse(DirectoryServer.getSchema().hasObjectClass(ocName));
    assertFalse(DirectoryServer.getInstance().getServerContext().getSchema().hasObjectClass(ocName));
    runModify(argsNotPermissive(), ldif, System.err, SUCCESS);
    ObjectClass oc = DirectoryServer.getSchema().getObjectClass(ocName);
    ObjectClass oc = DirectoryServer.getInstance().getServerContext().getSchema().getObjectClass(ocName);
    assertFalse(oc.isPlaceHolder());
    DITContentRule dcr = DirectoryServer.getSchema().getDITContentRule(oc);
    DITContentRule dcr = DirectoryServer.getInstance().getServerContext().getSchema().getDITContentRule(oc);
    assertNotNull(dcr);
    assertTrue(dcr.hasName("testaddditcontentrulesuccessful"));
  }
@@ -2664,14 +2664,14 @@
              "NOT description X-ORIGIN 'SchemaBackendTestCase' )");
    String ocName = "testreplaceditcontentrulesuccessfuloc";
    assertFalse(DirectoryServer.getSchema().hasObjectClass(ocName));
    assertFalse(DirectoryServer.getInstance().getServerContext().getSchema().hasObjectClass(ocName));
    runModify(argsPermissive(), ldif, System.err, SUCCESS);
    ObjectClass oc = DirectoryServer.getSchema().getObjectClass(ocName);
    ObjectClass oc = DirectoryServer.getInstance().getServerContext().getSchema().getObjectClass(ocName);
    assertFalse(oc.isPlaceHolder());
    DITContentRule dcr = DirectoryServer.getSchema().getDITContentRule(oc);
    DITContentRule dcr = DirectoryServer.getInstance().getServerContext().getSchema().getDITContentRule(oc);
    assertNotNull(dcr);
    assertTrue(dcr.hasName("testreplaceditcontentrulesuccessful"));
  }
@@ -2702,15 +2702,15 @@
              "X-ORIGIN 'SchemaBackendTestCase' )");
    String ocName = "testadddcrtoaltschemafileoc";
    assertFalse(DirectoryServer.getSchema().hasObjectClass(ocName));
    assertFalse(DirectoryServer.getInstance().getServerContext().getSchema().hasObjectClass(ocName));
    assertSchemaFileExists("98-schema-test-dcr.ldif", false);
    runModify(argsNotPermissive(), ldif, System.err, SUCCESS);
    ObjectClass oc = DirectoryServer.getSchema().getObjectClass(ocName);
    ObjectClass oc = DirectoryServer.getInstance().getServerContext().getSchema().getObjectClass(ocName);
    assertFalse(oc.isPlaceHolder());
    DITContentRule dcr = DirectoryServer.getSchema().getDITContentRule(oc);
    DITContentRule dcr = DirectoryServer.getInstance().getServerContext().getSchema().getDITContentRule(oc);
    assertNotNull(dcr);
    assertTrue(dcr.hasName("testadddcrtoaltschemafile"));
@@ -2753,14 +2753,14 @@
              "NOT description X-ORIGIN 'SchemaBackendTestCase' )");
    String ocName = "testremovethenaddditcontentruleoc";
    assertFalse(DirectoryServer.getSchema().hasObjectClass(ocName));
    assertFalse(DirectoryServer.getInstance().getServerContext().getSchema().hasObjectClass(ocName));
    runModify(argsNotPermissive(), ldif, System.err, SUCCESS);
    ObjectClass oc = DirectoryServer.getSchema().getObjectClass(ocName);
    ObjectClass oc = DirectoryServer.getInstance().getServerContext().getSchema().getObjectClass(ocName);
    assertFalse(oc.isPlaceHolder());
    DITContentRule dcr = DirectoryServer.getSchema().getDITContentRule(oc);
    DITContentRule dcr = DirectoryServer.getInstance().getServerContext().getSchema().getDITContentRule(oc);
    assertNotNull(dcr);
    assertTrue(dcr.hasName("testremovethenaddditcontentrule"));
  }
@@ -3353,14 +3353,14 @@
              "X-ORIGIN 'SchemaBackendTestCase' )");
    String ocName = "testremoveditcontentrulesuccessfuloc";
    assertFalse(DirectoryServer.getSchema().hasObjectClass(ocName));
    assertFalse(DirectoryServer.getInstance().getServerContext().getSchema().hasObjectClass(ocName));
    runModify(argsNotPermissive(), ldif, System.err, SUCCESS);
    ObjectClass oc = DirectoryServer.getSchema().getObjectClass(ocName);
    ObjectClass oc = DirectoryServer.getInstance().getServerContext().getSchema().getObjectClass(ocName);
    assertFalse(oc.isPlaceHolder());
    DITContentRule dcr = DirectoryServer.getSchema().getDITContentRule(oc);
    DITContentRule dcr = DirectoryServer.getInstance().getServerContext().getSchema().getDITContentRule(oc);
    assertNull(dcr);
  }
@@ -3430,7 +3430,7 @@
  private void assertSchemaHasDITStructureRule(int ruleID, boolean expected)
  {
    boolean hasDITStructureRule = DirectoryServer.getSchema().hasDITStructureRule(ruleID);
    boolean hasDITStructureRule = DirectoryServer.getInstance().getServerContext().getSchema().hasDITStructureRule(ruleID);
    assertEquals(hasDITStructureRule, expected, "Expected to find a DITStructureRule with ruleID " + ruleID);
  }
@@ -4089,7 +4089,7 @@
  private void assertMatchingRuleUseExistsWithName(MatchingRule matchingRule, String mruName)
  {
    MatchingRuleUse mru = DirectoryServer.getSchema().getMatchingRuleUse(matchingRule);
    MatchingRuleUse mru = DirectoryServer.getInstance().getServerContext().getSchema().getMatchingRuleUse(matchingRule);
    assertNotNull(mru);
    assertTrue(mru.hasName(mruName));
  }
@@ -4183,7 +4183,7 @@
  private void assertSchemaDoesNotHaveMatchingRuleUse(MatchingRule matchingRule)
  {
    for (MatchingRuleUse matchingRuleUse : DirectoryServer.getSchema().getMatchingRuleUses())
    for (MatchingRuleUse matchingRuleUse : DirectoryServer.getInstance().getServerContext().getSchema().getMatchingRuleUses())
    {
      assertFalse(matchingRuleUse.getMatchingRule().equals(matchingRule));
    }
@@ -4381,7 +4381,7 @@
              "X-ORIGIN 'SchemaBackendTestCase' )");
    String attrName = "testattributetypesmatchingrule";
    assertFalse(DirectoryServer.getSchema().hasAttributeType(attrName));
    assertFalse(DirectoryServer.getInstance().getServerContext().getSchema().hasAttributeType(attrName));
    runModify(argsNotPermissive(), ldif, System.err, ATTRIBUTE_OR_VALUE_EXISTS);
  }
@@ -4415,7 +4415,7 @@
              "X-ORIGIN 'SchemaBackendTestCase' )");
    String objectClassName = "testobjectclassesmatchingrule";
    assertFalse(DirectoryServer.getSchema().hasObjectClass(objectClassName));
    assertFalse(DirectoryServer.getInstance().getServerContext().getSchema().hasObjectClass(objectClassName));
    runModify(argsNotPermissive(), ldif, System.err, ATTRIBUTE_OR_VALUE_EXISTS);
  }
@@ -4457,7 +4457,7 @@
              "X-ORIGIN 'SchemaBackendTestCase' )");
    String nameFormName = "testnameformsmatchingrule";
    assertFalse(DirectoryServer.getSchema().hasNameForm(nameFormName));
    assertFalse(DirectoryServer.getInstance().getServerContext().getSchema().hasNameForm(nameFormName));
    runModify(argsNotPermissive(), ldif, System.err, ATTRIBUTE_OR_VALUE_EXISTS);
  }
@@ -4499,7 +4499,7 @@
              "X-ORIGIN 'SchemaBackendTestCase' )");
    String objectClassName = "testditcontentrulesmatchingruleoc";
    assertTrue(DirectoryServer.getSchema().getObjectClass(objectClassName).isPlaceHolder());
    assertTrue(DirectoryServer.getInstance().getServerContext().getSchema().getObjectClass(objectClassName).isPlaceHolder());
    runModify(argsNotPermissive(), ldif, System.err, ATTRIBUTE_OR_VALUE_EXISTS);
  }
@@ -4565,7 +4565,7 @@
              "X-ORIGIN 'SchemaBackendTestCase' )");
    String objectClassName = "testditcontentrulesmatchingruleoc1";
    assertTrue(DirectoryServer.getSchema().getObjectClass(objectClassName).isPlaceHolder());
    assertTrue(DirectoryServer.getInstance().getServerContext().getSchema().getObjectClass(objectClassName).isPlaceHolder());
    runModify(argsNotPermissive(), ldif, System.err, ATTRIBUTE_OR_VALUE_EXISTS);
  }
@@ -4616,7 +4616,7 @@
    String attrName = "testmatchingruleusematchingruleat1";
    assertFalse(DirectoryServer.getSchema().hasAttributeType(attrName));
    assertFalse(DirectoryServer.getInstance().getServerContext().getSchema().hasAttributeType(attrName));
    runModify(argsNotPermissive(), ldif, System.err, ATTRIBUTE_OR_VALUE_EXISTS);
  }
@@ -4742,8 +4742,8 @@
      "  MAY ( street $ c) X-ORIGIN 'user defined' )");
    assertEquals(resultCode, 0);
    assertFalse(getSchema().getObjectClass("testaddanddeletedefinitionwithextraspaces").isPlaceHolder());
    assertFalse(getSchema().getObjectClass("testaddanddeletedefinitionwithextraspaces-oid").isPlaceHolder());
    assertFalse(getInstance().getServerContext().getSchema().getObjectClass("testaddanddeletedefinitionwithextraspaces").isPlaceHolder());
    assertFalse(getInstance().getServerContext().getSchema().getObjectClass("testaddanddeletedefinitionwithextraspaces-oid").isPlaceHolder());
    resultCode = TestCaseUtils.applyModifications(false,
      "dn: cn=schema",
@@ -4754,8 +4754,8 @@
      "  MAY ( street $ c) X-ORIGIN 'user defined' )");
    assertEquals(resultCode, 0);
    assertTrue(getSchema().getObjectClass("testaddanddeletedefinitionwithextraspaces").isPlaceHolder());
    assertTrue(getSchema().getObjectClass("testaddanddeletedefinitionwithextraspaces-oid").isPlaceHolder());
    assertTrue(getInstance().getServerContext().getSchema().getObjectClass("testaddanddeletedefinitionwithextraspaces").isPlaceHolder());
    assertTrue(getInstance().getServerContext().getSchema().getObjectClass("testaddanddeletedefinitionwithextraspaces-oid").isPlaceHolder());
  }
  /**
opendj-server-legacy/src/test/java/org/opends/server/backends/pluggable/OnDiskMergeImporterTest.java
@@ -136,7 +136,7 @@
    for (Map.Entry<String, IndexType[]> index : backendIndexes.entrySet())
    {
      final String attributeName = index.getKey();
      final AttributeType attribute = DirectoryServer.getSchema().getAttributeType(attributeName);
      final AttributeType attribute = DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType(attributeName);
      Reject.ifNull(attribute, "Attribute type '" + attributeName + "' doesn't exists.");
      BackendIndexCfg indexCfg = mock(BackendIndexCfg.class);
opendj-server-legacy/src/test/java/org/opends/server/backends/pluggable/PluggableBackendImplTestCase.java
@@ -159,7 +159,7 @@
    for (Map.Entry<String, IndexType[]> index : backendIndexes.entrySet())
    {
      final String attributeName = index.getKey();
      final AttributeType attribute = DirectoryServer.getSchema().getAttributeType(attributeName);
      final AttributeType attribute = DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType(attributeName);
      Reject.ifNull(attribute, "Attribute type '" + attributeName + "' doesn't exists.");
      BackendIndexCfg indexCfg = mock(BackendIndexCfg.class);
@@ -621,7 +621,7 @@
    {
      for (IndexType type : index.getValue())
      {
        final AttributeType attributeType = DirectoryServer.getSchema().getAttributeType(index.getKey());
        final AttributeType attributeType = DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType(index.getKey());
        assertTrue(backend.isIndexed(attributeType,
            org.opends.server.types.IndexType.valueOf(type.toString().toUpperCase())));
      }
@@ -672,7 +672,7 @@
    Entry oldEntry = workEntries.get(0);
    Entry newEntry = oldEntry.duplicate(false);
    modifyAttribute = DirectoryServer.getSchema().getAttributeType("jpegphoto");
    modifyAttribute = DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType("jpegphoto");
    List<Modification> mods = Arrays.asList(
        // unindexed
        new Modification(ADD, create(modifyAttribute, modifyValue)),
opendj-server-legacy/src/test/java/org/opends/server/backends/pluggable/TestDnKeyFormat.java
@@ -341,7 +341,7 @@
        // check the object classes were not changed
        for (String ocBefore : entryBefore.getObjectClasses().values()) {
          ObjectClass objectClass = DirectoryServer.getSchema().getObjectClass(ocBefore);
          ObjectClass objectClass = DirectoryServer.getInstance().getServerContext().getSchema().getObjectClass(ocBefore);
          String ocAfter = entryAfter.getObjectClasses().get(objectClass);
          assertEquals(ocBefore, ocAfter);
        }
opendj-server-legacy/src/test/java/org/opends/server/controls/MatchedValuesControlTest.java
@@ -110,7 +110,7 @@
    }
    AttributeType attType = DirectoryServer.getSchema().getAttributeType(type);
    AttributeType attType = DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType(type);
    ByteString attVal = null;
    if (attType != null)
    {
@@ -189,7 +189,7 @@
    // input parameter
    String             rawAttTypeTest = type;
    AttributeType         attTypeTest = DirectoryServer.getSchema().getAttributeType(type);
    AttributeType         attTypeTest = DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType(type);
    ByteString            subInitialTest = ByteString.valueOfUtf8(subInitial);
    List<ByteString> subAnyTest = new ArrayList<>(subAny.size());
    for (String s : subAny)
@@ -367,7 +367,7 @@
    }
    // ( AttributeType attributeType, ByteString assertionValue
    AttributeType attType = DirectoryServer.getSchema().getAttributeType(type);
    AttributeType attType = DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType(type);
    ByteString attVal = null;
    if (attType != null)
    {
@@ -463,7 +463,7 @@
    }
    AttributeType attType = DirectoryServer.getSchema().getAttributeType(type);
    AttributeType attType = DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType(type);
    ByteString attVal = null ;
    if (attType != null)
    {
@@ -539,7 +539,7 @@
    assertEquals(mvf.getMatchType(), MatchedValuesFilter.PRESENT_TYPE);
    // ( AttributeType attributeType
    AttributeType attType = DirectoryServer.getSchema().getAttributeType(type);
    AttributeType attType = DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType(type);
    try
    {
@@ -608,7 +608,7 @@
    }
    // ( AttributeType attributeType, ByteString assertionValue
    AttributeType attType = DirectoryServer.getSchema().getAttributeType(type);
    AttributeType attType = DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType(type);
    ByteString attVal = null ;
    if (attType != null)
    {
@@ -680,7 +680,7 @@
    // input value
    String          rawAttTypeTest = type ;
    AttributeType      attTypeTest = DirectoryServer.getSchema().getAttributeType(type) ;
    AttributeType      attTypeTest = DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType(type) ;
    String             matchingRuleIdTest = matchingRule.getOID() ;
    ByteString    attValueTest = (attTypeTest == null) ? null : ByteString.valueOfUtf8(value);
    // parameter used for the test.
@@ -790,7 +790,7 @@
  public void testDifferentNormalization(String type, ByteString value,
                                         String assertion)
  {
    AttributeType attrType = DirectoryServer.getSchema().getAttributeType("usercertificate");
    AttributeType attrType = DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType("usercertificate");
    MatchedValuesFilter mvf = MatchedValuesFilter.createEqualityFilter(type, ByteString.valueOfUtf8(assertion));
    assertTrue(mvf.valueMatches(attrType, value));
  }
opendj-server-legacy/src/test/java/org/opends/server/core/AddOperationTestCase.java
@@ -1594,7 +1594,7 @@
              "X-ORGIN 'SchemaBackendTestCase' )");
    String attrName = "testaddobsoleteuserattribute";
    assertFalse(DirectoryServer.getSchema().hasAttributeType(attrName));
    assertFalse(DirectoryServer.getInstance().getServerContext().getSchema().hasAttributeType(attrName));
    String[] args =
    {
@@ -1606,7 +1606,7 @@
    };
    assertEquals(LDAPModify.run(nullPrintStream(), System.err, args), 0);
    assertTrue(DirectoryServer.getSchema().hasAttributeType(attrName));
    assertTrue(DirectoryServer.getInstance().getServerContext().getSchema().hasAttributeType(attrName));
    path = TestCaseUtils.createTempFile(
         "dn: o=test",
@@ -1650,7 +1650,7 @@
              "USAGE directoryOperation X-ORGIN 'SchemaBackendTestCase' )");
    String attrName = "testaddobsoleteoperationalattribute";
    assertFalse(DirectoryServer.getSchema().hasAttributeType(attrName));
    assertFalse(DirectoryServer.getInstance().getServerContext().getSchema().hasAttributeType(attrName));
    String[] args =
    {
@@ -1662,7 +1662,7 @@
    };
    assertEquals(LDAPModify.run(nullPrintStream(), System.err, args), 0);
    assertTrue(DirectoryServer.getSchema().hasAttributeType(attrName));
    assertTrue(DirectoryServer.getInstance().getServerContext().getSchema().hasAttributeType(attrName));
    path = TestCaseUtils.createTempFile(
         "dn: o=test",
@@ -1705,7 +1705,7 @@
              "MAY description X-ORGIN 'SchemaBackendTestCase' )");
    String ocName = "testaddobsoleteobjectclass";
    assertFalse(DirectoryServer.getSchema().hasObjectClass(ocName));
    assertFalse(DirectoryServer.getInstance().getServerContext().getSchema().hasObjectClass(ocName));
    String[] args =
    {
@@ -1717,7 +1717,7 @@
    };
    assertEquals(LDAPModify.run(nullPrintStream(), System.err, args), 0);
    assertTrue(DirectoryServer.getSchema().hasObjectClass(ocName));
    assertTrue(DirectoryServer.getInstance().getServerContext().getSchema().hasObjectClass(ocName));
    path = TestCaseUtils.createTempFile(
         "dn: o=test",
opendj-server-legacy/src/test/java/org/opends/server/core/ModifyOperationTestCase.java
@@ -1887,7 +1887,7 @@
  private AttributeType getEmployeeNumberAttributeType()
  {
    return DirectoryServer.getSchema().getAttributeType("employeenumber");
    return DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType("employeenumber");
  }
  private void assertIntegerValueExists(List<Attribute> attrList, int expectedValue)
@@ -2166,7 +2166,7 @@
    Entry e = DirectoryServer.getEntry(DN.valueOf("uid=test.user," + baseDN));
    assertTrue(e.hasObjectClass(getExtensibleObjectObjectClass()));
    assertTrue(e.hasObjectClass(DirectoryServer.getSchema().getObjectClass("inetOrgPerson")));
    assertTrue(e.hasObjectClass(DirectoryServer.getInstance().getServerContext().getSchema().getObjectClass("inetOrgPerson")));
    assertTrue(e.hasObjectClass(getOrganizationalPersonObjectClass()));
    assertTrue(e.hasObjectClass(getPersonObjectClass()));
    assertTrue(e.hasObjectClass(getTopObjectClass()));
@@ -2849,7 +2849,7 @@
              "X-ORGIN 'SchemaBackendTestCase' )");
    String attrName = "testmodifyobsoleteattribute";
    assertFalse(DirectoryServer.getSchema().hasAttributeType(attrName));
    assertFalse(DirectoryServer.getInstance().getServerContext().getSchema().hasAttributeType(attrName));
    String[] args =
    {
@@ -2861,7 +2861,7 @@
    };
    assertEquals(LDAPModify.run(nullPrintStream(), System.err, args), 0);
    assertTrue(DirectoryServer.getSchema().hasAttributeType(attrName));
    assertTrue(DirectoryServer.getInstance().getServerContext().getSchema().hasAttributeType(attrName));
    path = TestCaseUtils.createTempFile(
         "dn: " + baseDN,
@@ -2907,7 +2907,7 @@
              "AUXILIARY MAY description X-ORGIN 'SchemaBackendTestCase' )");
    String ocName = "testmodifyaddobsoleteobjectclass";
    assertFalse(DirectoryServer.getSchema().hasObjectClass(ocName));
    assertFalse(DirectoryServer.getInstance().getServerContext().getSchema().hasObjectClass(ocName));
    String[] args =
    {
@@ -2919,7 +2919,7 @@
    };
    assertEquals(LDAPModify.run(nullPrintStream(), System.err, args), 0);
    assertTrue(DirectoryServer.getSchema().hasObjectClass(ocName));
    assertTrue(DirectoryServer.getInstance().getServerContext().getSchema().hasObjectClass(ocName));
    path = TestCaseUtils.createTempFile(
         "dn: " + baseDN,
opendj-server-legacy/src/test/java/org/opends/server/core/PasswordPolicyTestCase.java
@@ -4299,7 +4299,7 @@
  {
    Entry entry = DirectoryServer.getEntry(DN.valueOf(dn));
    assertNotNull(entry);
    AttributeType pwdHistory = DirectoryServer.getSchema().getAttributeType("pwdhistory");
    AttributeType pwdHistory = DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType("pwdhistory");
    assertNotNull(pwdHistory);
    Attribute historyAttr = entry.getAttribute(AttributeDescription.create(pwdHistory));
    assertNotNull(historyAttr);
opendj-server-legacy/src/test/java/org/opends/server/core/SubentryManagerTestCase.java
@@ -319,7 +319,7 @@
  private void hasValues(DN dn, String attrName, String... values) throws DirectoryException
  {
    Entry entry = DirectoryServer.getEntry(dn);
    AttributeType attrType = DirectoryServer.getSchema().getAttributeType(attrName);
    AttributeType attrType = DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType(attrName);
    assertTrue(entry.hasAttribute(attrType));
    for (String value : values)
    {
@@ -330,7 +330,7 @@
  private void doesNotHaveValues(DN dn, String attrName, String... values) throws DirectoryException
  {
    Entry entry = DirectoryServer.getEntry(dn);
    AttributeType attrType = DirectoryServer.getSchema().getAttributeType(attrName);
    AttributeType attrType = DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType(attrName);
    assertTrue(entry.hasAttribute(attrType));
    for (String value : values)
    {
@@ -341,7 +341,7 @@
  private void hasNoAttribute(DN dn, String attrName) throws Exception
  {
    Entry entry = DirectoryServer.getEntry(dn);
    AttributeType attrType = DirectoryServer.getSchema().getAttributeType(attrName);
    AttributeType attrType = DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType(attrName);
    assertFalse(entry.hasAttribute(attrType));
  }
@@ -354,7 +354,7 @@
    assertEquals(searchOperation.getResultCode(), ResultCode.SUCCESS);
    assertEquals(searchOperation.getEntriesSent(), 1);
    AttributeType attrType = DirectoryServer.getSchema().getAttributeType("collectiveattributesubentries");
    AttributeType attrType = DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType("collectiveattributesubentries");
    Entry e = searchOperation.getSearchEntries().getFirst();
    assertTrue(e.hasValue(attrType, ByteString.valueOfObject(collectiveSubentry.getName())));
  }
opendj-server-legacy/src/test/java/org/opends/server/core/SubentryPasswordPolicyTestCase.java
@@ -405,7 +405,7 @@
    Entry testEntry = DirectoryServer.getEntry(DN.valueOf("uid=rogasawara," + BASE));
    assertNotNull(testEntry);
    AttributeType attrType = DirectoryServer.getSchema().getAttributeType("pwdpolicysubentry");
    AttributeType attrType = DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType("pwdpolicysubentry");
    // Make sure that default policy is in effect
    // for the user entry.
opendj-server-legacy/src/test/java/org/opends/server/core/TestModifyDNOperation.java
@@ -417,7 +417,7 @@
  private void assertAttrValue(Entry newEntry, String attrName, String expectedAttrValue)
  {
    AttributeType at = DirectoryServer.getSchema().getAttributeType(attrName);
    AttributeType at = DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType(attrName);
    List<Attribute> attrList = newEntry.getAllAttributes(at);
    assertThat(attrList).hasSize(1);
@@ -834,7 +834,7 @@
              "X-ORGIN 'SchemaBackendTestCase' )");
    String attrName = "testmodifydnwithobsoleteattribute";
    assertFalse(DirectoryServer.getSchema().hasAttributeType(attrName));
    assertFalse(DirectoryServer.getInstance().getServerContext().getSchema().hasAttributeType(attrName));
    String[] args =
    {
@@ -846,7 +846,7 @@
    };
    assertEquals(LDAPModify.run(nullPrintStream(), System.err, args), 0);
    assertTrue(DirectoryServer.getSchema().hasAttributeType(attrName));
    assertTrue(DirectoryServer.getInstance().getServerContext().getSchema().hasAttributeType(attrName));
    path = TestCaseUtils.createTempFile(
         "dn: cn=oldrdn,o=test",
opendj-server-legacy/src/test/java/org/opends/server/extensions/EntityTagVirtualAttributeProviderTestCase.java
@@ -447,7 +447,7 @@
    final SearchOperation searchOp = mock(SearchOperation.class);
    VirtualAttributeRule rule = new VirtualAttributeRule(
        DirectoryServer.getSchema().getAttributeType(ETAG), provider,
        DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType(ETAG), provider,
        Collections.<DN> emptySet(), SearchScope.WHOLE_SUBTREE,
        Collections.<DN> emptySet(), Collections.<SearchFilter> emptySet(),
        VirtualAttributeCfgDefn.ConflictBehavior.REAL_OVERRIDES_VIRTUAL);
@@ -734,7 +734,7 @@
  private VirtualAttributeRule getRule()
  {
    AttributeType type = DirectoryServer.getSchema().getAttributeType(ETAG);
    AttributeType type = DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType(ETAG);
    return new VirtualAttributeRule(type, provider,
        Collections.<DN>emptySet(), SearchScope.WHOLE_SUBTREE,
        Collections.<DN>emptySet(),
opendj-server-legacy/src/test/java/org/opends/server/extensions/ExactMatchIdentityMapperTestCase.java
@@ -134,7 +134,7 @@
         "ds-cfg-enabled: true",
         "ds-cfg-match-attribute: uid");
    AttributeType t = DirectoryServer.getSchema().getAttributeType("ds-cfg-match-base-dn");
    AttributeType t = DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType("ds-cfg-match-base-dn");
    e.addAttribute(Attributes.empty(t), new ArrayList<ByteString>());
    entries.add(e);
opendj-server-legacy/src/test/java/org/opends/server/extensions/HasSubordinatesVirtualAttributeProviderTestCase.java
@@ -62,7 +62,7 @@
  {
    TestCaseUtils.startServer();
    hasSubordinatesType = DirectoryServer.getSchema().getAttributeType("hassubordinates");
    hasSubordinatesType = DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType("hassubordinates");
    entries = TestCaseUtils.makeEntries(
        "dn: dc=example,dc=com",
opendj-server-legacy/src/test/java/org/opends/server/extensions/IsMemberOfVirtualAttributeProviderTestCase.java
@@ -70,7 +70,7 @@
  {
    TestCaseUtils.restartServer();
    isMemberOfType = DirectoryServer.getSchema().getAttributeType("ismemberof");
    isMemberOfType = DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType("ismemberof");
  }
opendj-server-legacy/src/test/java/org/opends/server/extensions/LDAPPassThroughAuthenticationPolicyTestCase.java
@@ -497,7 +497,7 @@
    MockPolicyCfg withMappedAttribute(final String attrName)
    {
      mappedAttributes.add(DirectoryServer.getSchema().getAttributeType(attrName));
      mappedAttributes.add(DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType(attrName));
      return this;
    }
opendj-server-legacy/src/test/java/org/opends/server/extensions/NumSubordinatesVirtualAttributeProviderTestCase.java
@@ -57,7 +57,7 @@
  {
    TestCaseUtils.restartServer();
    numSubordinatesType = DirectoryServer.getSchema().getAttributeType("numsubordinates");
    numSubordinatesType = DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType("numsubordinates");
    entries = TestCaseUtils.makeEntries(
        "dn: dc=example,dc=com",
opendj-server-legacy/src/test/java/org/opends/server/extensions/PasswordModifyExtendedOperationTestCase.java
@@ -1669,7 +1669,7 @@
    try
    {
      AttributeType lastLoginTimeAttr = DirectoryServer.getSchema().getAttributeType("ds-pwp-last-login-time");
      AttributeType lastLoginTimeAttr = DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType("ds-pwp-last-login-time");
      assertNotNull(lastLoginTimeAttr);
      DN userDN = DN.valueOf("uid=test.user,o=test");
@@ -1725,7 +1725,7 @@
    try
    {
      AttributeType authFailureTimesAttr = DirectoryServer.getSchema().getAttributeType("pwdfailuretime");
      AttributeType authFailureTimesAttr = DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType("pwdfailuretime");
      assertNotNull(authFailureTimesAttr);
      DN userDN = DN.valueOf("uid=test.user,o=test");
@@ -1774,7 +1774,7 @@
    try
    {
      AttributeType pwdHistoryAttr = DirectoryServer.getSchema().getAttributeType("pwdhistory");
      AttributeType pwdHistoryAttr = DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType("pwdhistory");
      assertNotNull(pwdHistoryAttr);
      DN userDN = DN.valueOf("uid=test.user,o=test");
opendj-server-legacy/src/test/java/org/opends/server/plugins/ReferentialIntegrityPluginTestCase.java
@@ -1099,7 +1099,7 @@
                                     String attr,
                                     String... dns)
          throws Exception {
    AttributeType type = getSchema().getAttributeType(attr);
    AttributeType type = getInstance().getServerContext().getSchema().getAttributeType(attr);
    final SearchRequest request = newSearchRequest(entryDN, SearchScope.BASE_OBJECT, "(" + attr + "=*)");
    InternalSearchOperation operation = getRootConnection().processSearch(request);
    for (SearchResultEntry entry : operation.getSearchEntries()) {
opendj-server-legacy/src/test/java/org/opends/server/plugins/UniqueAttributePluginTestCase.java
@@ -733,7 +733,7 @@
  }
  private void delAttribute(Entry entry, String attrTypeString) {
    entry.removeAttribute(getSchema().getAttributeType(attrTypeString));
    entry.removeAttribute(getInstance().getServerContext().getSchema().getAttributeType(attrTypeString));
  }
  private void addAttribute(Entry entry, String attrName, String... attrValues) {
opendj-server-legacy/src/test/java/org/opends/server/protocols/ldap/TestLDAPConnectionHandler.java
@@ -229,21 +229,21 @@
        "ds-cfg-trust-manager-provider: cn=JKS,cn=Trust Manager Providers,cn=config");
    LDAPConnectionHandler2 LDAPConnHandler=getLDAPHandlerInstance(GoodHandlerEntry);
    //Make attrTypes to remove
    AttributeType at0=DirectoryServer.getSchema().getAttributeType(ATTR_LISTEN_PORT);
    AttributeType at0=DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType(ATTR_LISTEN_PORT);
//    AttributeType at1=DirectoryServer.getAttributeType(ATTR_LISTEN_ADDRESS, true);
//    Attribute rAttr1=new Attribute(at1);
//    GoodHandlerEntry.removeAttribute(rAttr1, null);
    AttributeType at2=DirectoryServer.getSchema().getAttributeType(ATTR_ALLOW_LDAPV2);
    AttributeType at3=DirectoryServer.getSchema().getAttributeType(ATTR_ALLOW_LDAPV2);
    AttributeType at4=DirectoryServer.getSchema().getAttributeType(ATTR_KEEP_LDAP_STATS);
    AttributeType at5=DirectoryServer.getSchema().getAttributeType(ATTR_SEND_REJECTION_NOTICE);
    AttributeType at6=DirectoryServer.getSchema().getAttributeType(ATTR_USE_TCP_KEEPALIVE);
    AttributeType at7=DirectoryServer.getSchema().getAttributeType(ATTR_USE_TCP_NODELAY);
    AttributeType at8=DirectoryServer.getSchema().getAttributeType(ATTR_ALLOW_REUSE_ADDRESS);
    AttributeType at9=DirectoryServer.getSchema().getAttributeType(ATTR_USE_SSL);
    AttributeType at10=DirectoryServer.getSchema().getAttributeType(ATTR_ALLOW_STARTTLS);
    AttributeType at11=DirectoryServer.getSchema().getAttributeType(ATTR_MAX_REQUEST_SIZE);
    AttributeType at12=DirectoryServer.getSchema().getAttributeType(ATTR_ACCEPT_BACKLOG);
    AttributeType at2=DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType(ATTR_ALLOW_LDAPV2);
    AttributeType at3=DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType(ATTR_ALLOW_LDAPV2);
    AttributeType at4=DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType(ATTR_KEEP_LDAP_STATS);
    AttributeType at5=DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType(ATTR_SEND_REJECTION_NOTICE);
    AttributeType at6=DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType(ATTR_USE_TCP_KEEPALIVE);
    AttributeType at7=DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType(ATTR_USE_TCP_NODELAY);
    AttributeType at8=DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType(ATTR_ALLOW_REUSE_ADDRESS);
    AttributeType at9=DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType(ATTR_USE_SSL);
    AttributeType at10=DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType(ATTR_ALLOW_STARTTLS);
    AttributeType at11=DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType(ATTR_MAX_REQUEST_SIZE);
    AttributeType at12=DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType(ATTR_ACCEPT_BACKLOG);
    //Remove them
    Attribute rAttr0=Attributes.empty(at0);
    GoodHandlerEntry.removeAttribute(rAttr0, null);
opendj-server-legacy/src/test/java/org/opends/server/replication/GenerationIdTest.java
@@ -466,7 +466,7 @@
    {
      debugInfo("Entry found <" + baseDN + ">");
      AttributeType synchronizationGenIDType = DirectoryServer.getSchema().getAttributeType(REPLICATION_GENERATION_ID);
      AttributeType synchronizationGenIDType = DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType(REPLICATION_GENERATION_ID);
      Attribute attr = resultEntry.getAttribute(AttributeDescription.create(synchronizationGenIDType));
      return Long.valueOf(attr.iterator().next().toString());
    }
opendj-server-legacy/src/test/java/org/opends/server/replication/UpdateOperationTest.java
@@ -433,7 +433,7 @@
  {
    testSetUp("modifyConflicts");
    final DN dn1 = DN.valueOf("cn=test1," + baseDN);
    final AttributeType attrType = DirectoryServer.getSchema().getAttributeType("displayname");
    final AttributeType attrType = DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType("displayname");
    final AttributeType entryuuidType = getEntryUUIDAttributeType();
    String monitorAttr = "resolved-modify-conflicts";
opendj-server-legacy/src/test/java/org/opends/server/replication/plugin/AttrHistoricalMultipleTest.java
@@ -148,7 +148,7 @@
    assertEquals(attrInfo4.getValuesHistorical().size(), 1);
    // Check
    AttributeType type = DirectoryServer.getSchema().getAttributeType(ATTRIBUTE_NAME);
    AttributeType type = DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType(ATTRIBUTE_NAME);
    attrInfo3.delete(Attributes.create(type, attrValue), updateTime);
    assertEquals(attrInfo3.getValuesHistorical().size(), 1);
opendj-server-legacy/src/test/java/org/opends/server/replication/plugin/FractionalReplicationTest.java
@@ -539,7 +539,7 @@
      debugInfo("Entry found <" + rootDn + ">");
      AttributeType synchronizationGenIDType =
          DirectoryServer.getSchema().getAttributeType(REPLICATION_GENERATION_ID);
          DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType(REPLICATION_GENERATION_ID);
      List<Attribute> attrs = resultEntry.getAllAttributes(synchronizationGenIDType);
      if (!attrs.isEmpty())
      {
@@ -647,7 +647,7 @@
      String objectClassStr = fractionalConf[0];
      if (!objectClassStr.equals("*"))
      {
        ObjectClass objectClass = DirectoryServer.getSchema().getObjectClass(objectClassStr);
        ObjectClass objectClass = DirectoryServer.getInstance().getServerContext().getSchema().getObjectClass(objectClassStr);
        assertTrue(newEntry.hasObjectClass(objectClass));
      }
@@ -662,7 +662,7 @@
          {
            if (!first)
            {
              assertFalse(newEntry.hasAttribute(DirectoryServer.getSchema().getAttributeType(fracAttr)));
              assertFalse(newEntry.hasAttribute(DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType(fracAttr)));
            }
            first = false;
          }
@@ -679,7 +679,7 @@
            }
            first = false;
          }
          assertFalse(newEntry.hasAttribute(DirectoryServer.getSchema().getAttributeType(OPTIONAL_ATTR)));
          assertFalse(newEntry.hasAttribute(DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType(OPTIONAL_ATTR)));
          break;
        default:
          fail("Unexpected fractional mode.");
@@ -700,7 +700,7 @@
      String objectClassStr = fractionalConf[0];
      if (!objectClassStr.equals("*"))
      {
        ObjectClass objectClass = DirectoryServer.getSchema().getObjectClass(objectClassStr);
        ObjectClass objectClass = DirectoryServer.getInstance().getServerContext().getSchema().getObjectClass(objectClassStr);
        assertTrue(entry.hasObjectClass(objectClass));
      }
@@ -716,7 +716,7 @@
          {
            if (!first)
            {
              assertFalse(entry.hasAttribute(DirectoryServer.getSchema().getAttributeType(fracAttr)));
              assertFalse(entry.hasAttribute(DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType(fracAttr)));
            }
            first = false;
          }
@@ -733,7 +733,7 @@
            }
            first = false;
          }
          assertFalse(entry.hasAttribute(DirectoryServer.getSchema().getAttributeType(OPTIONAL_ATTR)));
          assertFalse(entry.hasAttribute(DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType(OPTIONAL_ATTR)));
          break;
        default:
          fail("Unexpected fractional mode.");
@@ -954,7 +954,7 @@
  private Entry waitTillEntryHasSynchroAttribute(String entryDN)
      throws Exception
  {
    AttributeType synchroAttrType = DirectoryServer.getSchema().getAttributeType(SYNCHRO_OPTIONAL_ATTR);
    AttributeType synchroAttrType = DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType(SYNCHRO_OPTIONAL_ATTR);
    DN dn = DN.valueOf(entryDN);
    Entry entry = null;
@@ -1523,6 +1523,6 @@
  private ObjectClass getInetOrgPersonObjectClass()
  {
    return DirectoryServer.getSchema().getObjectClass("inetOrgPerson");
    return DirectoryServer.getInstance().getServerContext().getSchema().getObjectClass("inetOrgPerson");
  }
}
opendj-server-legacy/src/test/java/org/opends/server/replication/plugin/HistoricalCsnOrderingTest.java
@@ -141,7 +141,7 @@
      long startTime = TimeThread.getTime();
      final DN dn1 = DN.valueOf("cn=test1," + baseDN);
    final AttributeType histType =
      DirectoryServer.getSchema().getAttributeType(EntryHistorical.HISTORICAL_ATTRIBUTE_NAME);
      DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType(EntryHistorical.HISTORICAL_ATTRIBUTE_NAME);
    logger.error(LocalizableMessage.raw("Starting replication test : changesCmpTest"));
opendj-server-legacy/src/test/java/org/opends/server/replication/plugin/HistoricalTest.java
@@ -231,7 +231,7 @@
    final DN dn1 = DN.valueOf("cn=test1," + TEST_ROOT_DN_STRING);
    final DN dn2 = DN.valueOf("cn=test2," + TEST_ROOT_DN_STRING);
    final DN baseDN = DN.valueOf(TEST_ROOT_DN_STRING);
    final AttributeType attrType = DirectoryServer.getSchema().getAttributeType("displayname");
    final AttributeType attrType = DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType("displayname");
    final AttributeDescription attrDesc = AttributeDescription.create(attrType);
    final AttributeDescription entryuuidDesc = AttributeDescription.create(getEntryUUIDAttributeType());
opendj-server-legacy/src/test/java/org/opends/server/replication/plugin/ModifyConflictTest.java
@@ -1165,7 +1165,7 @@
   */
  private void assertEntryHistoricalEncodingDecoding(Entry entry, EntryHistorical hist)
  {
    entry.removeAttribute(getSchema().getAttributeType(HISTORICAL_ATTRIBUTE_NAME));
    entry.removeAttribute(getInstance().getServerContext().getSchema().getAttributeType(HISTORICAL_ATTRIBUTE_NAME));
    entry.addAttribute(hist.encodeAndPurge(), null);
    EntryHistorical hist2 = EntryHistorical.newInstanceFromEntry(entry);
    assertEquals(hist2.encodeAndPurge(), hist.encodeAndPurge());
@@ -1197,7 +1197,7 @@
  private void assertContainsOnlyValues(Entry entry, String attrName, String... expectedValues)
  {
    Attribute attr = entry.getAttribute(AttributeDescription.create(getSchema().getAttributeType(attrName)));
    Attribute attr = entry.getAttribute(AttributeDescription.create(getInstance().getServerContext().getSchema().getAttributeType(attrName)));
    assertThat(attr).hasSize(expectedValues.length);
    for (String value : expectedValues)
    {
opendj-server-legacy/src/test/java/org/opends/server/replication/protocol/ProtocolCompatibilityTest.java
@@ -604,7 +604,7 @@
  @DataProvider(name = "createModifyDnData")
  public Object[][] createModifyDnData() {
    AttributeType type = DirectoryServer.getSchema().getAttributeType("description");
    AttributeType type = DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType("description");
    Modification mod1 = new Modification(REPLACE, Attributes.create("description", "new value"));
    List<Modification> mods1 = newArrayList(mod1);
opendj-server-legacy/src/test/java/org/opends/server/schema/FakeByteStringIndex.java
@@ -46,7 +46,7 @@
  FakeByteStringIndex(String mrName) throws DecodeException
  {
    matchingRule = DirectoryServer.getSchema().getMatchingRule(mrName);
    matchingRule = DirectoryServer.getInstance().getServerContext().getSchema().getMatchingRule(mrName);
    IndexingOptions options = mock(IndexingOptions.class);
    indexer = matchingRule.createIndexers(options).iterator().next();
  }
opendj-server-legacy/src/test/java/org/opends/server/schema/FakeEntryIndex.java
@@ -52,7 +52,7 @@
  FakeEntryIndex(String attrName) throws DecodeException
  {
    attrType = DirectoryServer.getSchema().getAttributeType(attrName);
    attrType = DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType(attrName);
    if (attrType == null)
    {
      throw new IllegalArgumentException("Cannot find attribute with name \"" + attrName + "\"");
@@ -125,7 +125,7 @@
      return matchingRule.getGreaterOrEqualAssertion(filter.getAssertionValue());
    case EXTENSIBLE_MATCH:
      MatchingRule rule = DirectoryServer.getSchema().getMatchingRule(filter.getMatchingRuleID());
      MatchingRule rule = DirectoryServer.getInstance().getServerContext().getSchema().getMatchingRule(filter.getMatchingRuleID());
      return rule.getAssertion(filter.getAssertionValue());
    default:
opendj-server-legacy/src/test/java/org/opends/server/schema/GenericSchemaTestCase.java
@@ -63,7 +63,7 @@
  {
    TreeSet<String> invalidOIDs = new TreeSet<>();
    Schema schema = DirectoryServer.getSchema();
    Schema schema = DirectoryServer.getInstance().getServerContext().getSchema();
    for (Syntax as : schema.getSyntaxes())
    {
      if (! isNumericOID(as.getOID()))
@@ -81,7 +81,7 @@
  {
    TreeSet<String> invalidOIDs = new TreeSet<>();
    Schema schema = DirectoryServer.getSchema();
    Schema schema = DirectoryServer.getInstance().getServerContext().getSchema();
    for (MatchingRule mr : schema.getMatchingRules())
    {
      if (! isNumericOID(mr.getOID()))
opendj-server-legacy/src/test/java/org/opends/server/schema/TimeBasedMatchingRuleTest.java
@@ -152,7 +152,7 @@
  private Collection<DN> getMatchingEntryDNs(SearchFilter filter) throws Exception
  {
    AttributeType attrType = filter.getAttributeType();
    MatchingRule rule = DirectoryServer.getSchema().getMatchingRule(filter.getMatchingRuleID());
    MatchingRule rule = DirectoryServer.getInstance().getServerContext().getSchema().getMatchingRule(filter.getMatchingRuleID());
    Assertion assertion = rule.getAssertion(filter.getAssertionValue());
    Collection<DN> results = new ArrayList<>();
@@ -199,7 +199,7 @@
  public void testPartialDateNTimeMatch(long timeInMillis, String generalizedTime, String assertionValue)
      throws Exception
  {
    MatchingRule partialTimeRule = DirectoryServer.getSchema().getMatchingRule(EXT_PARTIAL_DATE_TIME_NAME);
    MatchingRule partialTimeRule = DirectoryServer.getInstance().getServerContext().getSchema().getMatchingRule(EXT_PARTIAL_DATE_TIME_NAME);
    Assertion assertion = partialTimeRule.getAssertion(ByteString.valueOfUtf8(assertionValue));
    assertEquals(assertion.matches(ByteString.valueOfLong(timeInMillis)), ConditionResult.TRUE);
  }
@@ -223,7 +223,7 @@
  @Test(dataProvider= "relativeTimeValues")
  public void testRelativeTimeMatchingRuleAssertionSyntax(String assertion,boolean isValid)
  {
    MatchingRule relativeTimeLTRule = DirectoryServer.getSchema().getMatchingRule(EXT_OMR_RELATIVE_TIME_LT_ALT_NAME);
    MatchingRule relativeTimeLTRule = DirectoryServer.getInstance().getServerContext().getSchema().getMatchingRule(EXT_OMR_RELATIVE_TIME_LT_ALT_NAME);
    try
    {
      relativeTimeLTRule.getAssertion(ByteString.valueOfUtf8(assertion));
@@ -243,7 +243,7 @@
  @Test(dataProvider= "partialDateTimeSyntaxes")
  public void testPartialDateTimeMatchingRuleAssertionSyntax(String assertion,boolean isValid)
  {
    MatchingRule partialDTRule = DirectoryServer.getSchema().getMatchingRule(EXT_PARTIAL_DATE_TIME_OID);
    MatchingRule partialDTRule = DirectoryServer.getInstance().getServerContext().getSchema().getMatchingRule(EXT_PARTIAL_DATE_TIME_OID);
    try
    {
      partialDTRule.getAssertion(ByteString.valueOfUtf8(assertion));
opendj-server-legacy/src/test/java/org/opends/server/tasks/TestBackupAndRestore.java
@@ -188,7 +188,7 @@
    final int restoreBeginCountStart = restoreBeginCount.get();
    final int restoreEndCountStart = restoreEndCount.get();
    ObjectClass backupClass = DirectoryServer.getSchema().getObjectClass("ds-task-backup");
    ObjectClass backupClass = DirectoryServer.getInstance().getServerContext().getSchema().getObjectClass("ds-task-backup");
    testTask(taskEntry, expectedState, 30);
    if (expectedState == TaskState.COMPLETED_SUCCESSFULLY ||
opendj-server-legacy/src/test/java/org/opends/server/tasks/TestImportAndExport.java
@@ -356,7 +356,7 @@
    int importBeginCount = TestTaskListener.importBeginCount.get();
    int importEndCount   = TestTaskListener.importEndCount.get();
    ObjectClass exportClass = DirectoryServer.getSchema().getObjectClass("ds-task-export");
    ObjectClass exportClass = DirectoryServer.getInstance().getServerContext().getSchema().getObjectClass("ds-task-export");
    // Use a big timeout since this test is sensitive to host environment (e.g.
    // low memory, etc). See issue OPENDJ-256.
opendj-server-legacy/src/test/java/org/opends/server/types/SearchFilterTests.java
@@ -567,7 +567,7 @@
    FilterDescription description = new FilterDescription();
    description.filterType = filterType;
    description.attributeType = DirectoryServer.getSchema().getAttributeType(attributeType);
    description.attributeType = DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType(attributeType);
    description.assertionValue = ByteString.valueOfUtf8(attributeValue);
    if (filterType == FilterType.EQUALITY) {
@@ -629,7 +629,7 @@
    FilterDescription description = new FilterDescription();
    description.filterType = FilterType.SUBSTRING;
    description.attributeType = DirectoryServer.getSchema().getAttributeType(attributeType);
    description.attributeType = DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType(attributeType);
    description.subInitialElement = ByteString.valueOfUtf8(subInitial);
    description.subAnyElements = new ArrayList<>();
opendj-server-legacy/src/test/java/org/opends/server/types/TestEntry.java
@@ -114,7 +114,7 @@
  @Test
  public void testParseAttributeNotFound() throws Exception {
    AttributeType type1 = getDescriptionAttributeType();
    AttributeType type2 = DirectoryServer.getSchema().getAttributeType("inheritable");
    AttributeType type2 = DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType("inheritable");
    Entry entry = createTestEntry(type1, "hello world");
@@ -126,7 +126,7 @@
   */
  @Test
  public void testParseAttributeBooleanTrue() throws Exception {
    AttributeType type = DirectoryServer.getSchema().getAttributeType("inheritable");
    AttributeType type = DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType("inheritable");
    Entry entry = createTestEntry(type, "true");
@@ -139,7 +139,7 @@
  @Test
  public void testParseAttributeBooleanFalse() throws Exception
  {
    AttributeType type = DirectoryServer.getSchema().getAttributeType("inheritable");
    AttributeType type = DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType("inheritable");
    Entry entry = createTestEntry(type, "false");
@@ -152,7 +152,7 @@
  @Test(expectedExceptions = LocalizedIllegalArgumentException.class)
  public void testParseAttributeBooleanBad() throws Exception
  {
    AttributeType type = DirectoryServer.getSchema().getAttributeType("inheritable");
    AttributeType type = DirectoryServer.getInstance().getServerContext().getSchema().getAttributeType("inheritable");
    Entry entry = createTestEntry(type, "bad-value");
    entry.parseAttribute(type.getNameOrOID()).asBoolean();
opendj-server-legacy/src/test/java/org/opends/server/util/TestLDIFWriter.java
@@ -304,7 +304,7 @@
        String avalue = toLowerCase(s[i+1]);
        if (atype.equals("objectclass")) {
          entry.addObjectClass(DirectoryServer.getSchema().getObjectClass(avalue));
          entry.addObjectClass(DirectoryServer.getInstance().getServerContext().getSchema().getObjectClass(avalue));
        } else {
          Attribute attr = Attributes.create(atype, avalue);