From 97050c54efee9d0cc89afb5fb61b9a1c67f73f6a Mon Sep 17 00:00:00 2001
From: Nicolas Capponi <nicolas.capponi@forgerock.com>
Date: Wed, 16 Nov 2016 19:28:22 +0000
Subject: [PATCH] OPENDJ-3460 Improve management of subordinate backend and naming contexts
---
opendj-server-legacy/src/main/java/org/opends/server/plugins/UniqueAttributePlugin.java | 29 ++++++++++++++++-------------
1 files changed, 16 insertions(+), 13 deletions(-)
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/plugins/UniqueAttributePlugin.java b/opendj-server-legacy/src/main/java/org/opends/server/plugins/UniqueAttributePlugin.java
index 1a04a0f..9628eeb 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/plugins/UniqueAttributePlugin.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/plugins/UniqueAttributePlugin.java
@@ -71,6 +71,8 @@
import org.opends.server.types.operation.PreOperationModifyOperation;
import static org.opends.messages.PluginMessages.*;
+import static org.opends.server.core.BackendConfigManager.NamingContextFilter.PUBLIC;
+import static org.opends.server.core.BackendConfigManager.NamingContextFilter.TOP_LEVEL;
import static org.opends.server.protocols.internal.InternalClientConnection.*;
import static org.opends.server.protocols.internal.Requests.*;
import static org.opends.server.util.ServerConstants.*;
@@ -150,18 +152,18 @@
}
Set<DN> cfgBaseDNs = configuration.getBaseDN();
- if (cfgBaseDNs == null || cfgBaseDNs.isEmpty())
- {
- cfgBaseDNs = DirectoryServer.getPublicNamingContexts().keySet();
- }
-
BackendConfigManager backendConfigManager =
DirectoryServer.getInstance().getServerContext().getBackendConfigManager();
+ if (cfgBaseDNs == null || cfgBaseDNs.isEmpty())
+ {
+ cfgBaseDNs = backendConfigManager.getNamingContexts(PUBLIC, TOP_LEVEL);
+ }
+
for (AttributeType t : configuration.getType())
{
for (DN baseDN : cfgBaseDNs)
{
- LocalBackend<?> b = backendConfigManager.getLocalBackend(baseDN);
+ LocalBackend<?> b = backendConfigManager.findLocalBackendForEntry(baseDN);
if (b != null && ! b.isIndexed(t, IndexType.EQUALITY))
{
throw new ConfigException(ERR_PLUGIN_UNIQUEATTR_ATTR_UNINDEXED.get(
@@ -550,7 +552,8 @@
Set<DN> baseDNs = config.getBaseDN();
if (baseDNs == null || baseDNs.isEmpty())
{
- baseDNs = DirectoryServer.getPublicNamingContexts().keySet();
+ baseDNs = DirectoryServer.getInstance().getServerContext().getBackendConfigManager()
+ .getNamingContexts(PUBLIC, TOP_LEVEL);
}
for (DN baseDN : baseDNs)
@@ -684,18 +687,18 @@
}
Set<DN> cfgBaseDNs = configuration.getBaseDN();
- if (cfgBaseDNs == null || cfgBaseDNs.isEmpty())
- {
- cfgBaseDNs = DirectoryServer.getPublicNamingContexts().keySet();
- }
-
BackendConfigManager backendConfigManager =
DirectoryServer.getInstance().getServerContext().getBackendConfigManager();
+ if (cfgBaseDNs == null || cfgBaseDNs.isEmpty())
+ {
+ cfgBaseDNs = backendConfigManager.getNamingContexts(PUBLIC, TOP_LEVEL);
+ }
+
for (AttributeType t : configuration.getType())
{
for (DN baseDN : cfgBaseDNs)
{
- LocalBackend<?> b = backendConfigManager.getLocalBackend(baseDN);
+ LocalBackend<?> b = backendConfigManager.findLocalBackendForEntry(baseDN);
if (b != null && ! b.isIndexed(t, IndexType.EQUALITY))
{
unacceptableReasons.add(ERR_PLUGIN_UNIQUEATTR_ATTR_UNINDEXED.get(
--
Gitblit v1.10.0