From 5be072c20e46f0921bb00401ff26d0defb3e8991 Mon Sep 17 00:00:00 2001
From: neil_a_wilson <neil_a_wilson@localhost>
Date: Tue, 05 Dec 2006 21:41:50 +0000
Subject: [PATCH] Update the base DN registration process to address a number of issues:
---
opends/src/server/org/opends/server/backends/MemoryBackend.java | 57 ++++++++++++++++++++++++++++-----------------------------
1 files changed, 28 insertions(+), 29 deletions(-)
diff --git a/opends/src/server/org/opends/server/backends/MemoryBackend.java b/opends/src/server/org/opends/server/backends/MemoryBackend.java
index a2587c4..10bd317 100644
--- a/opends/src/server/org/opends/server/backends/MemoryBackend.java
+++ b/opends/src/server/org/opends/server/backends/MemoryBackend.java
@@ -48,6 +48,7 @@
import org.opends.server.types.DirectoryException;
import org.opends.server.types.DN;
import org.opends.server.types.Entry;
+import org.opends.server.types.InitializationException;
import org.opends.server.types.LDIFExportConfig;
import org.opends.server.types.LDIFImportConfig;
import org.opends.server.types.RestoreConfig;
@@ -62,6 +63,7 @@
import static org.opends.server.messages.BackendMessages.*;
import static org.opends.server.messages.MessageHandler.*;
import static org.opends.server.util.ServerConstants.*;
+import static org.opends.server.util.StaticUtils.*;
@@ -148,7 +150,7 @@
*/
public synchronized void initializeBackend(ConfigEntry configEntry,
DN[] baseDNs)
- throws ConfigException
+ throws ConfigException, InitializationException
{
assert debugEnter(CLASS_NAME, "initializeBackend",
String.valueOf(configEntry), String.valueOf(baseDNs));
@@ -184,7 +186,19 @@
for (DN dn : baseDNs)
{
- DirectoryServer.registerSuffix(dn, this);
+ try
+ {
+ DirectoryServer.registerBaseDN(dn, this, false, false);
+ }
+ catch (Exception e)
+ {
+ assert debugException(CLASS_NAME, "initializeBackend", e);
+
+ int msgID = MSGID_BACKEND_CANNOT_REGISTER_BASEDN;
+ String message = getMessage(msgID, dn.toString(),
+ stackTraceToSingleLineString(e));
+ throw new InitializationException(msgID, message, e);
+ }
}
}
@@ -209,6 +223,18 @@
assert debugEnter(CLASS_NAME, "finalizeBackend");
clearMemoryBackend();
+
+ for (DN dn : baseDNs)
+ {
+ try
+ {
+ DirectoryServer.deregisterBaseDN(dn, false);
+ }
+ catch (Exception e)
+ {
+ assert debugException(CLASS_NAME, "finalizeBackend", e);
+ }
+ }
}
@@ -585,19 +611,6 @@
/**
* {@inheritDoc}
*/
- public boolean supportsControl(String controlOID)
- {
- assert debugEnter(CLASS_NAME, "supportsControl",
- String.valueOf(controlOID));
-
- return supportedControls.contains(controlOID);
- }
-
-
-
- /**
- * {@inheritDoc}
- */
public HashSet<String> getSupportedFeatures()
{
assert debugEnter(CLASS_NAME, "getSupportedFeatures");
@@ -610,20 +623,6 @@
/**
* {@inheritDoc}
*/
- public boolean supportsFeature(String featureOID)
- {
- assert debugEnter(CLASS_NAME, "supportsFeature",
- String.valueOf(featureOID));
-
- // This backend does not provide any special feature support.
- return false;
- }
-
-
-
- /**
- * {@inheritDoc}
- */
public boolean supportsLDIFExport()
{
assert debugEnter(CLASS_NAME, "supportsLDIFExport");
--
Gitblit v1.10.0