From 2f13f91c158747ca997a44d8e61830f46b77dd82 Mon Sep 17 00:00:00 2001
From: Jean-Noel Rouvignac <jean-noel.rouvignac@forgerock.com>
Date: Fri, 14 Mar 2014 11:31:24 +0000
Subject: [PATCH] OPENDJ-1308 (CR-3156) Migrate schema support - ByteString - Indexer

---
 opendj3-server-dev/src/server/org/opends/server/backends/jeb/VerifyJob.java |   30 +++++++++++++-----------------
 1 files changed, 13 insertions(+), 17 deletions(-)

diff --git a/opendj3-server-dev/src/server/org/opends/server/backends/jeb/VerifyJob.java b/opendj3-server-dev/src/server/org/opends/server/backends/jeb/VerifyJob.java
index cace05a..e1ae00d 100644
--- a/opendj3-server-dev/src/server/org/opends/server/backends/jeb/VerifyJob.java
+++ b/opendj3-server-dev/src/server/org/opends/server/backends/jeb/VerifyJob.java
@@ -1116,7 +1116,7 @@
 
         if (entryIDList.isDefined())
         {
-          final byte[] value = key.getData();
+          final ByteString value = ByteString.wrap(key.getData());
           EntryID prevID = null;
 
           for (EntryID id : entryIDList)
@@ -1163,13 +1163,13 @@
             // require referenced external variables to be final.
             final AtomicBoolean foundMatchingKey = new AtomicBoolean(false);
 
-            Set<byte[]> dummySet = new AbstractSet<byte[]>()
+            Set<ByteString> dummySet = new AbstractSet<ByteString>()
             {
               @Override
-              public Iterator<byte[]> iterator()
+              public Iterator<ByteString> iterator()
               {
                 // The set is always empty.
-                return Collections.<byte[]>emptySet().iterator();
+                return Collections.<ByteString> emptySet().iterator();
               }
 
               @Override
@@ -1180,9 +1180,10 @@
               }
 
               @Override
-              public boolean add(byte[] e)
+              public boolean add(ByteString e)
               {
-                if (Arrays.equals(e, value)) {
+                if (value.equals(e))
+                {
                   // We could terminate processing at this point by throwing an
                   // UnsupportedOperationException, but this optimization is
                   // already ugly enough.
@@ -1203,7 +1204,7 @@
                 logger.trace("Reference to entry "
                     + "<%s> which does not match the value%n%s",
                     entry.getName(),
-                    keyDump(index, value));
+                    keyDump(index, value.toByteArray()));
               }
             }
           }
@@ -1626,6 +1627,7 @@
       verifyAttributeInIndex(presenceIndex, txn, presenceKey, entryID);
     }
 
+    final DatabaseEntry key = new DatabaseEntry();
     for (Attribute attr : attrList)
     {
       final AttributeType attrType = attr.getAttributeType();
@@ -1637,17 +1639,13 @@
 
         if (equalityIndex != null)
         {
-          // TODO JNR reuse DatabaseEntry object for all indexes?
-          DatabaseEntry key = new DatabaseEntry(normalizedBytes);
+          key.setData(normalizedBytes);
           verifyAttributeInIndex(equalityIndex, txn, key, entryID);
         }
 
         if (substringIndex != null)
         {
-          Set<ByteString> keyBytesSet =
-              attrIndex.substringKeys(normalizedBytes);
-          DatabaseEntry key = new DatabaseEntry();
-          for (ByteString keyBytes : keyBytesSet)
+          for (ByteString keyBytes : attrIndex.substringKeys(normalizedBytes))
           {
             key.setData(keyBytes.toByteArray());
             verifyAttributeInIndex(substringIndex, txn, key, entryID);
@@ -1656,15 +1654,13 @@
 
         if (orderingIndex != null)
         {
-          normalizedBytes = normalize(attrType.getOrderingMatchingRule(), bsValue);
-          DatabaseEntry key = new DatabaseEntry(normalizedBytes);
+          key.setData(normalize(attrType.getOrderingMatchingRule(), bsValue));
           verifyAttributeInIndex(orderingIndex, txn, key, entryID);
         }
 
         if (approximateIndex != null)
         {
-          normalizedBytes = normalize(attrType.getApproximateMatchingRule(), bsValue);
-          DatabaseEntry key = new DatabaseEntry(normalizedBytes);
+          key.setData(normalize(attrType.getApproximateMatchingRule(), bsValue));
           verifyAttributeInIndex(approximateIndex, txn, key, entryID);
         }
       }

--
Gitblit v1.10.0