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