From 8b3cd28204e15e0a98ce038b355f100cd7c44e3c Mon Sep 17 00:00:00 2001
From: Nicolas Capponi <capponi.nicolas@gmail.com>
Date: Thu, 28 Jan 2016 08:28:20 +0000
Subject: [PATCH] OPENDJ-1632 (PR-201) Migrate AttributeType in one shot
---
opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/util/RemoteSchemaLoader.java | 24 ++++++++++--------------
1 files changed, 10 insertions(+), 14 deletions(-)
diff --git a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/util/RemoteSchemaLoader.java b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/util/RemoteSchemaLoader.java
index f93adb9..c38b477 100644
--- a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/util/RemoteSchemaLoader.java
+++ b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/util/RemoteSchemaLoader.java
@@ -22,7 +22,7 @@
*
*
* Copyright 2009-2010 Sun Microsystems, Inc.
- * Portions Copyright 2013-2015 ForgeRock AS
+ * Portions Copyright 2013-2016 ForgeRock AS
*/
package org.opends.guitools.controlpanel.util;
@@ -38,7 +38,6 @@
import org.forgerock.opendj.config.server.ConfigException;
import org.forgerock.opendj.ldap.ByteStringBuilder;
import org.forgerock.opendj.ldap.ResultCode;
-import org.forgerock.opendj.ldap.schema.CoreSchema;
import org.forgerock.opendj.ldap.schema.MatchingRule;
import org.forgerock.opendj.ldap.schema.MatchingRuleImpl;
import org.forgerock.opendj.ldap.schema.SchemaBuilder;
@@ -50,14 +49,11 @@
import org.opends.server.core.ServerContext;
import org.opends.server.replication.plugin.HistoricalCsnOrderingMatchingRuleImpl;
import org.opends.server.schema.AciSyntax;
-import org.opends.server.schema.AttributeTypeSyntax;
-import org.opends.server.schema.LDAPSyntaxDescriptionSyntax;
import org.opends.server.schema.ObjectClassSyntax;
import org.opends.server.schema.SchemaConstants;
import org.opends.server.schema.SubtreeSpecificationSyntax;
import org.opends.server.types.DirectoryException;
import org.opends.server.types.InitializationException;
-import org.opends.server.types.LDAPSyntaxDescription;
import org.opends.server.types.Schema;
/** Class used to retrieve the schema from the schema files. */
@@ -133,11 +129,12 @@
for (AttributeSyntax<?> syntax : syntaxes)
{
final ServerContext serverContext = DirectoryServer.getInstance().getServerContext();
- if (!serverContext.getSchemaNG().hasSyntax(syntax.getOID()))
+ final org.forgerock.opendj.ldap.schema.Schema schemaNG = serverContext.getSchemaNG();
+ if (!schemaNG.hasSyntax(syntax.getOID()))
{
syntax.initializeSyntax(null, serverContext);
}
- schema.registerSyntax(syntax.getSDKSyntax(serverContext.getSchemaNG()), true);
+ schema.registerSyntax(syntax.getSDKSyntax(schemaNG), true);
}
}
@@ -145,14 +142,15 @@
final MatchingRuleImpl impl)
throws InitializationException, ConfigException, DirectoryException
{
+ final org.forgerock.opendj.ldap.schema.Schema schemaNG = schema.getSchemaNG();
final MatchingRule matchingRule;
- if (CoreSchema.getInstance().hasMatchingRule(name))
+ if (schemaNG.hasMatchingRule(name))
{
- matchingRule = CoreSchema.getInstance().getMatchingRule(name);
+ matchingRule = schemaNG.getMatchingRule(name);
}
else
{
- matchingRule = new SchemaBuilder(CoreSchema.getInstance()).buildMatchingRule(oid)
+ matchingRule = new SchemaBuilder(schemaNG).buildMatchingRule(oid)
.names(name)
.syntaxOID(syntaxOID)
.implementation(impl)
@@ -183,7 +181,7 @@
switch (schemaAttr)
{
case ConfigConstants.ATTR_ATTRIBUTE_TYPES_LC:
- schema.registerAttributeType(AttributeTypeSyntax.decodeAttributeType(sb, schema, false), true);
+ schema.registerAttributeType(sb.toString(), null, true);
break;
case ConfigConstants.ATTR_OBJECTCLASSES_LC:
schema.registerObjectClass(ObjectClassSyntax.decodeObjectClass(sb, schema, false), true);
@@ -214,9 +212,7 @@
{
try
{
- final LDAPSyntaxDescription syntaxDesc = LDAPSyntaxDescriptionSyntax.decodeLDAPSyntax(
- sb, DirectoryServer.getInstance().getServerContext(), schema, false, false);
- schema.registerLdapSyntaxDescription(syntaxDesc, true);
+ schema.registerLdapSyntaxDescription(sb.toString(), true);
}
catch (DirectoryException e)
{
--
Gitblit v1.10.0