From 85f51e5a07aa823b2b363304007ed812c73ecc59 Mon Sep 17 00:00:00 2001
From: Jean-Noël Rouvignac <jean-noel.rouvignac@forgerock.com>
Date: Tue, 19 Apr 2016 12:59:38 +0000
Subject: [PATCH] Changed Backend.getBaseDNs() return type from DN[] to Set<DN>
---
opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/BackendImpl.java | 30 ++++++++++++++----------------
1 files changed, 14 insertions(+), 16 deletions(-)
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/BackendImpl.java b/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/BackendImpl.java
index 42ac8f3..50b5c6b 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/BackendImpl.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/BackendImpl.java
@@ -24,6 +24,7 @@
import java.io.IOException;
import java.util.Collections;
+import java.util.HashSet;
import java.util.List;
import java.util.Set;
import java.util.SortedSet;
@@ -34,11 +35,13 @@
import org.forgerock.i18n.slf4j.LocalizedLogger;
import org.forgerock.opendj.config.server.ConfigChangeResult;
import org.forgerock.opendj.config.server.ConfigException;
-import org.forgerock.opendj.ldap.ConditionResult;
-import org.forgerock.opendj.ldap.ResultCode;
-import org.forgerock.util.Reject;
import org.forgerock.opendj.config.server.ConfigurationChangeListener;
+import org.forgerock.opendj.ldap.ConditionResult;
+import org.forgerock.opendj.ldap.DN;
+import org.forgerock.opendj.ldap.ResultCode;
+import org.forgerock.opendj.ldap.schema.AttributeType;
import org.forgerock.opendj.server.config.server.PluggableBackendCfg;
+import org.forgerock.util.Reject;
import org.opends.server.api.Backend;
import org.opends.server.api.MonitorProvider;
import org.opends.server.backends.RebuildConfig;
@@ -56,11 +59,9 @@
import org.opends.server.core.ModifyOperation;
import org.opends.server.core.SearchOperation;
import org.opends.server.core.ServerContext;
-import org.forgerock.opendj.ldap.schema.AttributeType;
import org.opends.server.types.BackupConfig;
import org.opends.server.types.BackupDirectory;
import org.opends.server.types.CanceledOperationException;
-import org.forgerock.opendj.ldap.DN;
import org.opends.server.types.DirectoryException;
import org.opends.server.types.Entry;
import org.opends.server.types.IndexType;
@@ -98,7 +99,7 @@
/** A count of the total operation threads currently in the backend. */
private final AtomicInteger threadTotalCount = new AtomicInteger(0);
/** The base DNs defined for this backend instance. */
- private DN[] baseDNs;
+ private Set<DN> baseDNs;
private MonitorProvider<?> rootContainerMonitor;
@@ -170,7 +171,7 @@
this.cfg = cfg;
this.serverContext = serverContext;
- baseDNs = this.cfg.getBaseDN().toArray(new DN[0]);
+ baseDNs = new HashSet<>(cfg.getBaseDN());
storage = new TracedStorage(configureStorage(cfg, serverContext), cfg.getBackendId());
}
@@ -262,13 +263,12 @@
logger.info(NOTE_BACKEND_OFFLINE, cfg.getBackendId());
}
- /** {@inheritDoc} */
@Override
public boolean isIndexed(AttributeType attributeType, IndexType indexType)
{
try
{
- EntryContainer ec = rootContainer.getEntryContainer(baseDNs[0]);
+ EntryContainer ec = rootContainer.getEntryContainer(baseDNs.iterator().next());
AttributeIndex ai = ec.getAttributeIndex(attributeType);
return ai != null ? ai.isIndexed(indexType) : false;
}
@@ -309,9 +309,8 @@
return supportedControls;
}
- /** {@inheritDoc} */
@Override
- public DN[] getBaseDNs()
+ public Set<DN> getBaseDNs()
{
return baseDNs;
}
@@ -891,16 +890,15 @@
public void run(WriteableTransaction txn) throws Exception
{
SortedSet<DN> newBaseDNs = newCfg.getBaseDN();
- DN[] newBaseDNsArray = newBaseDNs.toArray(new DN[newBaseDNs.size()]);
// Check for changes to the base DNs.
removeDeletedBaseDNs(newBaseDNs, txn);
- if (!createNewBaseDNs(newBaseDNsArray, ccr, txn))
+ if (!createNewBaseDNs(newBaseDNs, ccr, txn))
{
return;
}
- baseDNs = newBaseDNsArray;
+ baseDNs = new HashSet<>(newBaseDNs);
// Put the new configuration in place.
cfg = newCfg;
@@ -931,9 +929,9 @@
}
}
- private boolean createNewBaseDNs(DN[] newBaseDNsArray, ConfigChangeResult ccr, WriteableTransaction txn)
+ private boolean createNewBaseDNs(Set<DN> newBaseDNs, ConfigChangeResult ccr, WriteableTransaction txn)
{
- for (DN baseDN : newBaseDNsArray)
+ for (DN baseDN : newBaseDNs)
{
if (!rootContainer.getBaseDNs().contains(baseDN))
{
--
Gitblit v1.10.0