From 18320d54c115617483a0912b496cdcc3ecd78b19 Mon Sep 17 00:00:00 2001
From: Jean-Noel Rouvignac <jean-noel.rouvignac@forgerock.com>
Date: Mon, 17 Feb 2014 14:52:00 +0000
Subject: [PATCH] OPENDJ-1308 Migrate schema support
---
opendj3-server-dev/src/server/org/opends/server/backends/jeb/VLVIndex.java | 76 +++++++++++++++++++++----------------
1 files changed, 43 insertions(+), 33 deletions(-)
diff --git a/opendj3-server-dev/src/server/org/opends/server/backends/jeb/VLVIndex.java b/opendj3-server-dev/src/server/org/opends/server/backends/jeb/VLVIndex.java
index 377c05b..32b56aa 100644
--- a/opendj3-server-dev/src/server/org/opends/server/backends/jeb/VLVIndex.java
+++ b/opendj3-server-dev/src/server/org/opends/server/backends/jeb/VLVIndex.java
@@ -25,40 +25,36 @@
* Portions Copyright 2011-2014 ForgeRock AS
*/
package org.opends.server.backends.jeb;
-import org.forgerock.i18n.LocalizableMessage;
-
-import com.sleepycat.je.*;
-import org.forgerock.i18n.slf4j.LocalizedLogger;
-import org.opends.server.types.*;
-import org.forgerock.opendj.ldap.ByteString;
-import org.forgerock.opendj.ldap.ByteStringBuilder;
-import org.forgerock.opendj.ldap.ByteSequence;
-import org.opends.server.admin.std.server.LocalDBVLVIndexCfg;
-import org.opends.server.admin.server.ConfigurationChangeListener;
-import org.opends.server.core.DirectoryServer;
-import org.opends.server.core.SearchOperation;
-import static org.opends.messages.JebMessages.
- NOTE_JEB_INDEX_ADD_REQUIRES_REBUILD;
-import static org.opends.messages.JebMessages.
- ERR_ENTRYIDSORTER_NEGATIVE_START_POS;
-import static org.opends.messages.JebMessages.
- ERR_JEB_CONFIG_VLV_INDEX_UNDEFINED_ATTR;
-import static org.opends.messages.JebMessages.
- ERR_JEB_CONFIG_VLV_INDEX_BAD_FILTER;
-
-
-import org.opends.server.util.StaticUtils;
-import static org.opends.server.util.StaticUtils.stackTraceToSingleLineString;
-import org.opends.server.api.OrderingMatchingRule;
-import org.opends.server.config.ConfigException;
-import org.opends.server.protocols.ldap.LDAPResultCode;
-import org.opends.server.controls.VLVRequestControl;
-import org.opends.server.controls.VLVResponseControl;
-import org.opends.server.controls.ServerSideSortRequestControl;
import java.util.*;
import java.util.concurrent.atomic.AtomicInteger;
+import org.forgerock.i18n.LocalizableMessage;
+import org.forgerock.i18n.slf4j.LocalizedLogger;
+import org.forgerock.opendj.ldap.ByteString;
+import org.forgerock.opendj.ldap.ByteStringBuilder;
+import org.forgerock.opendj.ldap.ByteSequence;
+import org.forgerock.opendj.ldap.SearchScope.Enum;
+import org.forgerock.opendj.ldap.SearchScope;
+import org.opends.server.admin.server.ConfigurationChangeListener;
+import org.opends.server.admin.std.meta.LocalDBVLVIndexCfgDefn.Scope;
+import org.opends.server.admin.std.server.LocalDBVLVIndexCfg;
+import org.opends.server.api.OrderingMatchingRule;
+import org.opends.server.config.ConfigException;
+import org.opends.server.controls.ServerSideSortRequestControl;
+import org.opends.server.controls.VLVRequestControl;
+import org.opends.server.controls.VLVResponseControl;
+import org.opends.server.core.DirectoryServer;
+import org.opends.server.core.SearchOperation;
+import org.opends.server.protocols.ldap.LDAPResultCode;
+import org.opends.server.types.*;
+import org.opends.server.util.StaticUtils;
+
+import com.sleepycat.je.*;
+
+import static org.opends.messages.JebMessages.*;
+import static org.opends.server.util.StaticUtils.*;
+
/**
* This class represents a VLV index. Each database record is a sorted list
* of entry IDs followed by sets of attribute values used to sort the entries.
@@ -125,7 +121,7 @@
* @param config The VLV index config object to use for this VLV
* index.
* @param state The state database to persist vlvIndex state info.
- * @param env The JE Environemnt
+ * @param env The JE Environment
* @param entryContainer The database entryContainer holding this vlvIndex.
* @throws com.sleepycat.je.DatabaseException
* If an error occurs in the JE database.
@@ -141,7 +137,7 @@
this.config = config;
this.baseDN = config.getBaseDN();
- this.scope = SearchScope.valueOf(config.getScope().name());
+ this.scope = valueOf(config.getScope());
this.sortedSetCapacity = config.getMaxBlockSize();
try
@@ -237,6 +233,19 @@
this.config.addChangeListener(this);
}
+ private SearchScope valueOf(Scope cfgScope)
+ {
+ final Enum toFind = SearchScope.Enum.valueOf(cfgScope.name());
+ for (SearchScope scope : SearchScope.values())
+ {
+ if (scope.asEnum() == toFind)
+ {
+ return scope;
+ }
+ }
+ return null;
+ }
+
/**
* {@inheritDoc}
*/
@@ -1580,7 +1589,6 @@
for (AttributeValue v : values)
{
- byte[] vBytes;
if(v == null)
{
builder.appendBERLength(0);
@@ -1689,6 +1697,7 @@
/**
* {@inheritDoc}
*/
+ @Override
public synchronized boolean isConfigurationChangeAcceptable(
LocalDBVLVIndexCfg cfg,
List<LocalizableMessage> unacceptableReasons)
@@ -1755,6 +1764,7 @@
/**
* {@inheritDoc}
*/
+ @Override
public synchronized ConfigChangeResult applyConfigurationChange(
LocalDBVLVIndexCfg cfg)
{
--
Gitblit v1.10.0