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

---
 opendj-sdk/opendj3-server-dev/tests/unit-tests-testng/src/server/org/opends/server/backends/jeb/TestVerifyJob.java |   47 +++++++++--------------
 opendj-sdk/opendj3-server-dev/src/server/org/opends/server/backends/jeb/EntryIDSet.java                            |   13 +++---
 opendj-sdk/opendj3-server-dev/src/server/org/opends/server/backends/jeb/VerifyJob.java                             |    4 --
 3 files changed, 26 insertions(+), 38 deletions(-)

diff --git a/opendj-sdk/opendj3-server-dev/src/server/org/opends/server/backends/jeb/EntryIDSet.java b/opendj-sdk/opendj3-server-dev/src/server/org/opends/server/backends/jeb/EntryIDSet.java
index c9d8a2a..312e056 100644
--- a/opendj-sdk/opendj3-server-dev/src/server/org/opends/server/backends/jeb/EntryIDSet.java
+++ b/opendj-sdk/opendj3-server-dev/src/server/org/opends/server/backends/jeb/EntryIDSet.java
@@ -86,7 +86,8 @@
    */
   public EntryIDSet(byte[] keyBytes, byte[] bytes)
   {
-    this(keyBytes != null ? ByteString.wrap(keyBytes) : null, bytes);
+    this(keyBytes != null ? ByteString.wrap(keyBytes) : null,
+        bytes != null ? ByteString.wrap(bytes) : null);
   }
 
   /**
@@ -97,7 +98,7 @@
    * @param bytes
    *          The database value, or null if there are no entry IDs.
    */
-  public EntryIDSet(ByteString keyBytes, byte[] bytes)
+  public EntryIDSet(ByteString keyBytes, ByteString bytes)
   {
     this.keyBytes = keyBytes;
 
@@ -107,23 +108,23 @@
       return;
     }
 
-    if (bytes.length == 0)
+    if (bytes.length() == 0)
     {
       // Entry limit has exceeded and there is no encoded undefined set size.
       values = null;
       undefinedSize = Long.MAX_VALUE;
     }
-    else if ((bytes[0] & 0x80) == 0x80)
+    else if ((bytes.byteAt(0) & 0x80) == 0x80)
     {
       // Entry limit has exceeded and there is an encoded undefined set size.
       values = null;
-      undefinedSize = JebFormat.entryIDUndefinedSizeFromDatabase(bytes);
+      undefinedSize = bytes.toLong();
     }
     else
     {
       // Seems like entry limit has not been exceeded and the bytes is a
       // list of entry IDs.
-      values = JebFormat.entryIDListFromDatabase(bytes);
+      values = JebFormat.entryIDListFromDatabase(bytes.toByteArray());
     }
 
   }
diff --git a/opendj-sdk/opendj3-server-dev/src/server/org/opends/server/backends/jeb/VerifyJob.java b/opendj-sdk/opendj3-server-dev/src/server/org/opends/server/backends/jeb/VerifyJob.java
index e1ae00d..497350e 100644
--- a/opendj-sdk/opendj3-server-dev/src/server/org/opends/server/backends/jeb/VerifyJob.java
+++ b/opendj-sdk/opendj3-server-dev/src/server/org/opends/server/backends/jeb/VerifyJob.java
@@ -670,10 +670,8 @@
         }
 
         EntryIDSet entryIDList;
-
         try
         {
-          JebFormat.entryIDListFromDatabase(data.getData());
           entryIDList = new EntryIDSet(key.getData(), data.getData());
         }
         catch (Exception e)
@@ -805,7 +803,6 @@
         EntryIDSet entryIDList;
         try
         {
-          JebFormat.entryIDListFromDatabase(data.getData());
           entryIDList = new EntryIDSet(key.getData(), data.getData());
         }
         catch (Exception e)
@@ -1095,7 +1092,6 @@
         EntryIDSet entryIDList;
         try
         {
-          JebFormat.entryIDListFromDatabase(data.getData());
           entryIDList = new EntryIDSet(key.getData(), data.getData());
         }
         catch (Exception e)
diff --git a/opendj-sdk/opendj3-server-dev/tests/unit-tests-testng/src/server/org/opends/server/backends/jeb/TestVerifyJob.java b/opendj-sdk/opendj3-server-dev/tests/unit-tests-testng/src/server/org/opends/server/backends/jeb/TestVerifyJob.java
index 0c64162..c41b16b 100644
--- a/opendj-sdk/opendj3-server-dev/tests/unit-tests-testng/src/server/org/opends/server/backends/jeb/TestVerifyJob.java
+++ b/opendj-sdk/opendj3-server-dev/tests/unit-tests-testng/src/server/org/opends/server/backends/jeb/TestVerifyJob.java
@@ -48,6 +48,7 @@
 import static org.opends.server.util.ServerConstants.*;
 import static org.testng.Assert.*;
 
+@SuppressWarnings("javadoc")
 public class TestVerifyJob extends JebTestCase
 {
   //Root suffix for verify backend
@@ -228,10 +229,8 @@
       id=new EntryID(3);
       assertTrue(dn2id.insert(txn, testDN, id));
       //Add badDN key with bad entry id
-      DatabaseEntry key=
-           new DatabaseEntry(StaticUtils.getBytes(badDN));
-      DatabaseEntry data =
-           new EntryID(37).getDatabaseEntry();
+      DatabaseEntry key = new DatabaseEntry(StaticUtils.getBytes(badDN));
+      DatabaseEntry data = new EntryID(37).getDatabaseEntry();
       assertEquals(dn2id.put(txn, key, data), OperationStatus.SUCCESS);
       //Add DN key with malformed entryID
       key=new DatabaseEntry(StaticUtils.getBytes(junkDN2));
@@ -281,7 +280,7 @@
       idBytes[15] = (byte)1;
       //bad jeb format
       idBytes[23] = (byte) 0x04;
-      idSet = newEntryIDSet(idBytes);
+      idSet = new EntryIDSet(null, idBytes);
       id2child.writeKey(txn, key, idSet);
       performBECleanVerify("id2children", 6);
     }
@@ -291,11 +290,6 @@
     }
   }
 
-  private EntryIDSet newEntryIDSet(byte[] idBytes)
-  {
-    return new EntryIDSet((ByteString) null, idBytes);
-  }
-
   /**
    * Runs clean verify against the id2subtree index after adding
    * various errors in that index file.
@@ -319,17 +313,17 @@
       idBytes[3] = (byte)0xff;
       //non-subordinate
       idBytes[15] = (byte)1;
-      idSet = newEntryIDSet(idBytes);
+      idSet = new EntryIDSet(null, idBytes);
       id2subtree.writeKey(txn, key, idSet);
       //Try to break JebFormat version of key entry
       key=addID2EntryReturnKey(junkDN, 4, true);
       idBytes[3]=(byte) 0x04;
       idBytes[15]=(byte)0x00;
-      EntryIDSet idSet1 = newEntryIDSet(idBytes);
+      EntryIDSet idSet1 = new EntryIDSet(null, idBytes);
       id2subtree.writeKey(txn, key, idSet1);
       //put invalid key -- no EntryID matches
       key= new EntryID(45).getDatabaseEntry();
-      idSet = newEntryIDSet(idBytes);
+      idSet = new EntryIDSet(null, idBytes);
       id2subtree.writeKey(txn, key, idSet);
       performBECleanVerify("id2subtree", 7);
     }
@@ -370,7 +364,7 @@
       dataBytes[31] = (byte) 0x04;
       DatabaseEntry data= new DatabaseEntry(dataBytes);
       OperationStatus status = index.put(txn, key, data);
-      assertTrue(status == OperationStatus.SUCCESS);
+      assertEquals(status, OperationStatus.SUCCESS);
       //really 5 errors, but duplicate reference doesn't increment error
       //count for some reason
       performBECleanVerify(phoneType, 4);
@@ -524,7 +518,7 @@
       DatabaseEntry key=addID2EntryReturnKey(noParentDN, 10, false);
       byte[] idBytes=new byte[16];
       idBytes[7]=(byte) 0x0A;
-      EntryIDSet idSet = newEntryIDSet(idBytes);
+      EntryIDSet idSet = new EntryIDSet(null, idBytes);
       id2child.writeKey(txn, key, idSet);
       //Add child entry - don't worry about key
       addID2EntryReturnKey(cDN, 11, false);
@@ -533,7 +527,7 @@
       //add parent key/IDSet with bad IDset id
       byte[] idBytesp=new byte[16];
       idBytesp[7]=(byte) 0xFF;
-      EntryIDSet idSetp = newEntryIDSet(idBytesp);
+      EntryIDSet idSetp = new EntryIDSet(null, idBytesp);
       id2child.writeKey(txn, keyp, idSetp);
       performBECompleteVerify("id2children", 3);
     }
@@ -656,29 +650,26 @@
       dataBytes[15] = (byte)0xfe;
       DatabaseEntry data= new DatabaseEntry(dataBytes);
       OperationStatus status = eqIndex.put(txn, key, data);
-      assertTrue(status == OperationStatus.SUCCESS);
+      assertEquals(status, OperationStatus.SUCCESS);
       status = ordIndex.put(txn, key, data);
-      assertTrue(status == OperationStatus.SUCCESS);
+      assertEquals(status, OperationStatus.SUCCESS);
       //Add null idlist to both equality and ordering indexes.
-      key =
-           new DatabaseEntry(StaticUtils.getBytes("user.1@example.com"));
+      key = new DatabaseEntry(StaticUtils.getBytes("user.1@example.com"));
       data= new DatabaseEntry(new EntryIDSet().toDatabase());
       status = eqIndex.put(txn, key, data);
-      assertTrue(status == OperationStatus.SUCCESS);
+      assertEquals(status, OperationStatus.SUCCESS);
       status = ordIndex.put(txn, key, data);
-      assertTrue(status == OperationStatus.SUCCESS);
+      assertEquals(status, OperationStatus.SUCCESS);
       //Add invalid idlist ids to presence index.
-      key =
-           new DatabaseEntry(StaticUtils.getBytes("+"));
+      key = new DatabaseEntry(StaticUtils.getBytes("+"));
       data = new DatabaseEntry(dataBytes);
       status = presIndex.put(txn, key, data);
-      assertTrue(status == OperationStatus.SUCCESS);
+      assertEquals(status, OperationStatus.SUCCESS);
       //Add invalid idlist ids to substring index.
-      key =
-           new DatabaseEntry(StaticUtils.getBytes("@examp"));
+      key = new DatabaseEntry(StaticUtils.getBytes("@examp"));
       data = new DatabaseEntry(dataBytes);
       status = subIndex.put(txn, key, data);
-      assertTrue(status == OperationStatus.SUCCESS);
+      assertEquals(status, OperationStatus.SUCCESS);
       performBECompleteVerify(mailType, 6);
     }
     finally

--
Gitblit v1.10.0