From c7a06e53f0b6d640ae9dd6f9e76d46e12167410b Mon Sep 17 00:00:00 2001
From: Jean-Noel Rouvignac <jean-noel.rouvignac@forgerock.com>
Date: Fri, 07 Mar 2014 13:19:57 +0000
Subject: [PATCH] OPENDJ-1308 Migrate schema support
---
opendj3-server-dev/src/server/org/opends/server/backends/jeb/JEExtensibleIndexer.java | 20 +++++++++++++++++++-
1 files changed, 19 insertions(+), 1 deletions(-)
diff --git a/opendj3-server-dev/src/server/org/opends/server/backends/jeb/JEExtensibleIndexer.java b/opendj3-server-dev/src/server/org/opends/server/backends/jeb/JEExtensibleIndexer.java
index 3fa54eb..a3e213f 100644
--- a/opendj3-server-dev/src/server/org/opends/server/backends/jeb/JEExtensibleIndexer.java
+++ b/opendj3-server-dev/src/server/org/opends/server/backends/jeb/JEExtensibleIndexer.java
@@ -31,7 +31,11 @@
import java.util.List;
import java.util.Map;
import java.util.Set;
+import java.util.TreeSet;
+import org.forgerock.i18n.slf4j.LocalizedLogger;
+import org.forgerock.opendj.ldap.ByteString;
+import org.forgerock.opendj.ldap.DecodeException;
import org.opends.server.api.ExtensibleIndexer;
import org.opends.server.api.MatchingRule;
import org.opends.server.types.AttributeType;
@@ -45,6 +49,8 @@
*/
public final class JEExtensibleIndexer extends Indexer
{
+ private static final LocalizedLogger logger = LocalizedLogger.getLoggerForThisClass();
+
/**
* The comparator for index keys generated by this class.
*/
@@ -173,16 +179,28 @@
{
if (attrList == null) return;
+ Set<ByteString> keysBS = new TreeSet<ByteString>();
for (Attribute attr : attrList)
{
if (!attr.isVirtual())
{
for (AttributeValue value : attr)
{
- extensibleIndexer.getKeys(value, keys);
+ try
+ {
+ extensibleIndexer.createKeys(null, value.getValue(), null, keysBS);
+ }
+ catch (DecodeException e)
+ {
+ logger.traceException(e);
+ }
}
}
}
+ for (ByteString key : keysBS)
+ {
+ keys.add(key.toByteArray());
+ }
}
--
Gitblit v1.10.0