From afe88363f70903f207a25edab27e7adcb9fc66e0 Mon Sep 17 00:00:00 2001
From: Nicolas Capponi <nicolas.capponi@forgerock.com>
Date: Fri, 09 Sep 2016 09:45:24 +0000
Subject: [PATCH] OPENDJ-3089 Fix calls to server Schema methods that are not available in SDK Schema
---
opendj-server-legacy/src/main/java/org/opends/server/backends/NullBackend.java | 18 +++++++++++++++---
1 files changed, 15 insertions(+), 3 deletions(-)
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/backends/NullBackend.java b/opendj-server-legacy/src/main/java/org/opends/server/backends/NullBackend.java
index db3826c..d790865 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/backends/NullBackend.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/backends/NullBackend.java
@@ -18,7 +18,6 @@
import static org.forgerock.opendj.ldap.schema.CoreSchema.*;
import static org.opends.messages.BackendMessages.*;
-import static org.opends.server.util.SchemaUtils.getElementSchemaFile;
import static org.opends.server.util.ServerConstants.*;
import static org.opends.server.util.StaticUtils.*;
@@ -36,6 +35,7 @@
import org.forgerock.opendj.ldap.SearchScope;
import org.forgerock.opendj.ldap.schema.AttributeType;
import org.forgerock.opendj.ldap.schema.ObjectClass;
+import org.forgerock.opendj.ldap.schema.SchemaBuilder;
import org.forgerock.opendj.server.config.server.BackendCfg;
import org.opends.server.api.Backend;
import org.opends.server.controls.PagedResultsControl;
@@ -44,6 +44,7 @@
import org.opends.server.core.DirectoryServer;
import org.opends.server.core.ModifyDNOperation;
import org.opends.server.core.ModifyOperation;
+import org.opends.server.core.SchemaHandler.SchemaUpdater;
import org.opends.server.core.SearchOperation;
import org.opends.server.core.ServerContext;
import org.opends.server.types.BackupConfig;
@@ -103,6 +104,9 @@
/** The map of null entry object classes. */
private Map<ObjectClass,String> objectClasses;
+ /** The server context. */
+ private ServerContext serverContext;
+
/**
* Creates a new backend with the provided information. All backend
* implementations must implement a default constructor that use
@@ -118,6 +122,7 @@
@Override
public void configureBackend(BackendCfg config, ServerContext serverContext) throws ConfigException
{
+ this.serverContext = serverContext;
if (config != null)
{
this.baseDNs = config.getBaseDN();
@@ -148,9 +153,16 @@
objectClasses.put(getExtensibleObjectObjectClass(), "extensibleobject");
String nulOCName = "nullbackendobject";
- ObjectClass nulOC = DirectoryServer.getSchema().getObjectClass(nulOCName);
+ final ObjectClass nulOC = serverContext.getSchema().getObjectClass(nulOCName);
try {
- DirectoryServer.getSchema().registerObjectClass(nulOC, getElementSchemaFile(nulOC), false);
+ serverContext.getSchemaHandler().updateSchema(new SchemaUpdater()
+ {
+ @Override
+ public void update(SchemaBuilder builder) throws DirectoryException
+ {
+ builder.buildObjectClass(nulOC);
+ }
+ });
} catch (DirectoryException de) {
logger.traceException(de);
throw new InitializationException(de.getMessageObject());
--
Gitblit v1.10.0