From ae6b4362fce94c2d5c81f64d612a604971239d31 Mon Sep 17 00:00:00 2001
From: Jean-Noel Rouvignac <jean-noel.rouvignac@forgerock.com>
Date: Thu, 12 Mar 2015 08:19:57 +0000
Subject: [PATCH] Code cleanup

---
 opendj-server-legacy/src/main/java/org/opends/server/backends/jeb/Importer.java                |   23 +++----
 opendj-server-legacy/src/main/java/org/opends/server/tools/DBTest.java                         |   24 +++++++-
 opendj-server-legacy/src/main/java/org/opends/server/backends/jeb/VerifyJob.java               |    2 
 opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/VerifyJob.java         |    2 
 opendj-server-legacy/src/main/java/org/opends/server/backends/jeb/Index.java                   |   22 +++----
 opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/Importer.java          |   17 ++---
 opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/IndexOutputBuffer.java |   29 ++-------
 opendj-server-legacy/src/main/java/org/opends/server/backends/jeb/IndexOutputBuffer.java       |   29 ++-------
 opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/Index.java             |    8 ++
 9 files changed, 68 insertions(+), 88 deletions(-)

diff --git a/opendj-server-legacy/src/main/java/org/opends/server/backends/jeb/Importer.java b/opendj-server-legacy/src/main/java/org/opends/server/backends/jeb/Importer.java
index 13a3901..2edf7b2 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/backends/jeb/Importer.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/backends/jeb/Importer.java
@@ -1512,17 +1512,17 @@
       if (oldEntry != null)
       {
         deleteKeySet.clear();
-        index.indexer.indexEntry(oldEntry, deleteKeySet, options);
+        index.indexEntry(oldEntry, deleteKeySet, options);
         for (ByteString delKey : deleteKeySet)
         {
-          processKey(index, delKey.toByteArray(), entryID, indexComparator, indexKey, false);
+          processKey(index, delKey.toByteArray(), entryID, indexKey, false);
         }
       }
       insertKeySet.clear();
-      index.indexer.indexEntry(entry, insertKeySet, options);
+      index.indexEntry(entry, insertKeySet, options);
       for (ByteString key : insertKeySet)
       {
-        processKey(index, key.toByteArray(), entryID, indexComparator, indexKey, true);
+        processKey(index, key.toByteArray(), entryID, indexKey, true);
       }
     }
   }
@@ -1687,10 +1687,10 @@
         IndexKey indexKey) throws DatabaseException, InterruptedException
     {
       insertKeySet.clear();
-      index.indexer.indexEntry(entry, insertKeySet, options);
+      index.indexEntry(entry, insertKeySet, options);
       for (ByteString key : insertKeySet)
       {
-        processKey(index, key.toByteArray(), entryID, indexComparator, indexKey, true);
+        processKey(index, key.toByteArray(), entryID, indexKey, true);
       }
     }
 
@@ -1704,7 +1704,6 @@
         IndexKey indexKey = e.getKey();
         IndexOutputBuffer indexBuffer = e.getValue();
         it.remove();
-        indexBuffer.setComparator(indexComparator);
         indexBuffer.setIndexKey(indexKey);
         indexBuffer.discard();
         futures.add(bufferSortService.submit(new SortTask(indexBuffer)));
@@ -1713,7 +1712,6 @@
     }
 
     int processKey(DatabaseContainer container, byte[] key, EntryID entryID,
-        IndexOutputBuffer.ComparatorBuffer<byte[]> comparator,
         IndexKey indexKey, boolean insert) throws InterruptedException
     {
       int sizeNeeded = IndexOutputBuffer.getRequiredSize(key.length, entryID.longValue());
@@ -1726,7 +1724,6 @@
       else if (!indexBuffer.isSpaceAvailable(key, entryID.longValue()))
       {
         // complete the current buffer...
-        indexBuffer.setComparator(comparator);
         indexBuffer.setIndexKey(indexKey);
         bufferSortService.submit(new SortTask(indexBuffer));
         // ... and get a new one
@@ -1761,17 +1758,15 @@
       return indexBuffer;
     }
 
-    void processDN2ID(Suffix suffix, DN dn, EntryID entryID)
-        throws InterruptedException
+    void processDN2ID(Suffix suffix, DN dn, EntryID entryID) throws InterruptedException
     {
       DN2ID dn2id = suffix.getDN2ID();
       byte[] dnBytes = JebFormat.dnToDNKey(dn, suffix.getBaseDN().size());
-      int id = processKey(dn2id, dnBytes, entryID, indexComparator, dnIndexKey, true);
+      int id = processKey(dn2id, dnBytes, entryID, dnIndexKey, true);
       idECMap.putIfAbsent(id, suffix.getEntryContainer());
     }
 
-    void processDN2URI(Suffix suffix, Entry oldEntry, Entry newEntry)
-        throws DatabaseException
+    void processDN2URI(Suffix suffix, Entry oldEntry, Entry newEntry) throws DatabaseException
     {
       DN2URI dn2uri = suffix.getDN2URI();
       if (oldEntry != null)
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/backends/jeb/Index.java b/opendj-server-legacy/src/main/java/org/opends/server/backends/jeb/Index.java
index 6aafb58..95cf4d7 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/backends/jeb/Index.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/backends/jeb/Index.java
@@ -33,7 +33,6 @@
 import java.util.*;
 
 import org.forgerock.i18n.slf4j.LocalizedLogger;
-import org.forgerock.opendj.ldap.ByteSequence;
 import org.forgerock.opendj.ldap.ByteString;
 import org.forgerock.opendj.ldap.ConditionResult;
 import org.forgerock.opendj.ldap.spi.IndexingOptions;
@@ -56,12 +55,7 @@
   private static final LocalizedLogger logger = LocalizedLogger.getLoggerForThisClass();
 
   /** The indexer object to construct index keys from LDAP attribute values. */
-  public Indexer indexer;
-
-  /** The comparator for index keys. */
-  private final Comparator<byte[]> comparator;
-  /** The comparator for index keys. */
-  private final Comparator<ByteSequence> bsComparator;
+  private Indexer indexer;
 
   /** The limit on the number of entry IDs that may be indexed by one key. */
   private int indexEntryLimit;
@@ -133,8 +127,6 @@
   {
     super(name, env, entryContainer);
     this.indexer = indexer;
-    this.comparator = indexer.getComparator();
-    this.bsComparator = indexer.getBSComparator();
     this.indexEntryLimit = indexEntryLimit;
     this.cursorEntryLimit = cursorEntryLimit;
     this.maintainCount = maintainCount;
@@ -144,7 +136,7 @@
     this.dbConfig = JEBUtils.toDatabaseConfigNoDuplicates(env);
     this.dbConfig.setOverrideBtreeComparator(true);
     this.dbConfig.setBtreeComparator((Class<? extends Comparator<byte[]>>)
-                                     comparator.getClass());
+                                     indexer.getComparator().getClass());
 
     this.state = state;
 
@@ -157,6 +149,11 @@
     }
   }
 
+  void indexEntry(Entry entry, Set<ByteString> keys, IndexingOptions options)
+  {
+    indexer.indexEntry(entry, keys, options);
+  }
+
   /**
    * Add an add entry ID operation into a index buffer.
    *
@@ -460,7 +457,7 @@
 
   private BufferedIndexValues getBufferedIndexValues(IndexBuffer buffer, ByteString keyBytes)
   {
-    return buffer.getBufferedIndexValues(this, keyBytes, bsComparator);
+    return buffer.getBufferedIndexValues(this, keyBytes, indexer.getBSComparator());
   }
 
   /**
@@ -619,6 +616,7 @@
       Cursor cursor = openCursor(null, CursorConfig.READ_COMMITTED);
       try
       {
+        final Comparator<byte[]> comparator = indexer.getComparator();
         OperationStatus status;
         // Set the lower bound if necessary.
         if(lower.length > 0)
@@ -874,6 +872,6 @@
    */
   public Comparator<byte[]> getComparator()
   {
-    return this.comparator;
+    return indexer.getComparator();
   }
 }
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/backends/jeb/IndexOutputBuffer.java b/opendj-server-legacy/src/main/java/org/opends/server/backends/jeb/IndexOutputBuffer.java
index c1a7c0a..807f7eb 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/backends/jeb/IndexOutputBuffer.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/backends/jeb/IndexOutputBuffer.java
@@ -26,6 +26,8 @@
  */
 package org.opends.server.backends.jeb;
 
+import static org.opends.server.backends.jeb.Importer.indexComparator;
+
 import java.io.ByteArrayOutputStream;
 import java.io.DataOutputStream;
 import java.io.IOException;
@@ -100,9 +102,6 @@
   /** Used to iterate over the buffer when writing to a scratch file. */
   private int position;
 
-  /** The comparator to use sort the keys. */
-  private ComparatorBuffer<byte[]> comparator;
-
   /**
    * Used to make sure that an instance of this class is put on the
    * correct scratch file writer work queue for processing.
@@ -148,7 +147,6 @@
     recordOffset = size - 1;
     keys = 0;
     position = 0;
-    comparator = null;
     indexKey = null;
   }
 
@@ -228,18 +226,6 @@
   }
 
   /**
-   * Set the comparator to be used in the buffer processing to the specified
-   * comparator.
-   *
-   * @param comparator The comparator to set the buffer's comparator to.
-   */
-  public void setComparator(ComparatorBuffer<byte[]> comparator)
-  {
-    this.comparator = comparator;
-  }
-
-
-  /**
    * Return a buffer's current position value.
    *
    * @return The buffer's current position value.
@@ -249,7 +235,6 @@
     return position;
   }
 
-
   /**
    * Set a buffer's position value to the specified position.
    *
@@ -260,7 +245,6 @@
     this.position = position;
   }
 
-
   /**
    * Sort the buffer.
    */
@@ -268,7 +252,6 @@
     sort(0, keys);
   }
 
-
   /**
    * Add the specified key byte array and EntryID to the buffer.
    *
@@ -461,7 +444,7 @@
     int yKeyLen = PackedInteger.readInt(buffer, yoffSet);
     int yKey = PackedInteger.getReadIntLength(buffer, yoffSet) + yoffSet;
 
-    int cmp = comparator.compare(buffer, xKey, xKeyLen, xIndexID, yKey, yKeyLen, yIndexID);
+    int cmp = indexComparator.compare(buffer, xKey, xKeyLen, xIndexID, yKey, yKeyLen, yIndexID);
     return evaluateReturnCode(cmp, op);
   }
 
@@ -474,7 +457,7 @@
     int xKeyLen = PackedInteger.readInt(buffer, xoffSet);
     int xKey = PackedInteger.getReadIntLength(buffer, xoffSet) + xoffSet;
 
-    int cmp = comparator.compare(buffer, xKey, xKeyLen, xIndexID, yKey, yKey.length, yIndexID);
+    int cmp = indexComparator.compare(buffer, xKey, xKeyLen, xIndexID, yKey, yKey.length, yIndexID);
     return evaluateReturnCode(cmp, op);
   }
 
@@ -497,7 +480,7 @@
     offset += PackedInteger.getReadLongLength(buffer, offset);
     int keyLen = PackedInteger.readInt(buffer, offset);
     int key = PackedInteger.getReadIntLength(buffer, offset) + offset;
-    return comparator.compare(buffer, key, keyLen, b, b.length) == 0
+    return indexComparator.compare(buffer, key, keyLen, b, b.length) == 0
         && indexID == bIndexID;
   }
 
@@ -523,7 +506,7 @@
     int keyLen = PackedInteger.readInt(buffer, offset);
     int key = PackedInteger.getReadIntLength(buffer, offset) + offset;
 
-    final int cmp = comparator.compare(buffer, key, keyLen, keyBuf.array(), keyBuf.limit());
+    final int cmp = indexComparator.compare(buffer, key, keyLen, keyBuf.array(), keyBuf.limit());
     if (cmp != 0)
     {
       return cmp;
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/backends/jeb/VerifyJob.java b/opendj-server-legacy/src/main/java/org/opends/server/backends/jeb/VerifyJob.java
index 506941c..4629d31 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/backends/jeb/VerifyJob.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/backends/jeb/VerifyJob.java
@@ -1082,7 +1082,7 @@
 
             };
 
-            index.indexer.indexEntry(entry, dummySet, options);
+            index.indexEntry(entry, dummySet, options);
 
             if (!foundMatchingKey.get())
             {
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/Importer.java b/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/Importer.java
index 6ded735..b2dad1a 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/Importer.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/Importer.java
@@ -1477,17 +1477,17 @@
       if (oldEntry != null)
       {
         deleteKeySet.clear();
-        index.indexer.indexEntry(oldEntry, deleteKeySet, options);
+        index.indexEntry(oldEntry, deleteKeySet, options);
         for (ByteString delKey : deleteKeySet)
         {
-          processKey(index, delKey, entryID, indexComparator, indexKey, false);
+          processKey(index, delKey, entryID, indexKey, false);
         }
       }
       insertKeySet.clear();
-      index.indexer.indexEntry(entry, insertKeySet, options);
+      index.indexEntry(entry, insertKeySet, options);
       for (ByteString key : insertKeySet)
       {
-        processKey(index, key, entryID, indexComparator, indexKey, true);
+        processKey(index, key, entryID, indexKey, true);
       }
     }
   }
@@ -1659,10 +1659,10 @@
         IndexKey indexKey) throws StorageRuntimeException, InterruptedException
     {
       insertKeySet.clear();
-      index.indexer.indexEntry(entry, insertKeySet, options);
+      index.indexEntry(entry, insertKeySet, options);
       for (ByteString key : insertKeySet)
       {
-        processKey(index, key, entryID, indexComparator, indexKey, true);
+        processKey(index, key, entryID, indexKey, true);
       }
     }
 
@@ -1676,7 +1676,6 @@
         IndexKey indexKey = e.getKey();
         IndexOutputBuffer indexBuffer = e.getValue();
         it.remove();
-        indexBuffer.setComparator(indexComparator);
         indexBuffer.setIndexKey(indexKey);
         indexBuffer.discard();
         futures.add(bufferSortService.submit(new SortTask(indexBuffer)));
@@ -1685,7 +1684,6 @@
     }
 
     int processKey(DatabaseContainer container, ByteString key, EntryID entryID,
-        IndexOutputBuffer.ComparatorBuffer<byte[]> comparator,
         IndexKey indexKey, boolean insert) throws InterruptedException
     {
       int sizeNeeded = IndexOutputBuffer.getRequiredSize(key.length(), entryID.longValue());
@@ -1698,7 +1696,6 @@
       else if (!indexBuffer.isSpaceAvailable(key, entryID.longValue()))
       {
         // complete the current buffer...
-        indexBuffer.setComparator(comparator);
         indexBuffer.setIndexKey(indexKey);
         bufferSortService.submit(new SortTask(indexBuffer));
         // ... and get a new one
@@ -1738,7 +1735,7 @@
     {
       DN2ID dn2id = suffix.getDN2ID();
       ByteString dnBytes = JebFormat.dnToDNKey(dn, suffix.getBaseDN().size());
-      int id = processKey(dn2id, dnBytes, entryID, indexComparator, dnIndexKey, true);
+      int id = processKey(dn2id, dnBytes, entryID, dnIndexKey, true);
       idECMap.putIfAbsent(id, suffix.getEntryContainer());
     }
 
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/Index.java b/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/Index.java
index 2eca8cb..2968293 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/Index.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/Index.java
@@ -32,6 +32,7 @@
 import java.util.HashSet;
 import java.util.List;
 import java.util.Map;
+import java.util.Set;
 import java.util.TreeMap;
 
 import org.forgerock.i18n.slf4j.LocalizedLogger;
@@ -61,7 +62,7 @@
   private static final LocalizedLogger logger = LocalizedLogger.getLoggerForThisClass();
 
   /** The indexer object to construct index keys from LDAP attribute values. */
-  Indexer indexer;
+  private Indexer indexer;
 
   /** The limit on the number of entry IDs that may be indexed by one key. */
   private int indexEntryLimit;
@@ -145,6 +146,11 @@
     }
   }
 
+  void indexEntry(Entry entry, Set<ByteString> keys, IndexingOptions options)
+  {
+    indexer.indexEntry(entry, keys, options);
+  }
+
   final void insertID(IndexBuffer buffer, ByteString keyBytes, EntryID entryID)
   {
     getBufferedIndexValues(buffer, keyBytes).addEntryID(keyBytes, entryID);
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/IndexOutputBuffer.java b/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/IndexOutputBuffer.java
index d746127..c5640ce 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/IndexOutputBuffer.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/IndexOutputBuffer.java
@@ -26,6 +26,8 @@
  */
 package org.opends.server.backends.pluggable;
 
+import static org.opends.server.backends.pluggable.Importer.indexComparator;
+
 import java.io.ByteArrayOutputStream;
 import java.io.DataOutputStream;
 import java.io.IOException;
@@ -104,9 +106,6 @@
   /** Used to iterate over the buffer when writing to a scratch file. */
   private int position;
 
-  /** The comparator to use sort the keys. */
-  private ComparatorBuffer<byte[]> comparator;
-
   /**
    * Used to make sure that an instance of this class is put on the
    * correct scratch file writer work queue for processing.
@@ -152,7 +151,6 @@
     recordOffset = size - 1;
     keys = 0;
     position = 0;
-    comparator = null;
     indexKey = null;
   }
 
@@ -231,18 +229,6 @@
   }
 
   /**
-   * Set the comparator to be used in the buffer processing to the specified
-   * comparator.
-   *
-   * @param comparator The comparator to set the buffer's comparator to.
-   */
-  public void setComparator(ComparatorBuffer<byte[]> comparator)
-  {
-    this.comparator = comparator;
-  }
-
-
-  /**
    * Return a buffer's current position value.
    *
    * @return The buffer's current position value.
@@ -252,7 +238,6 @@
     return position;
   }
 
-
   /**
    * Set a buffer's position value to the specified position.
    *
@@ -263,7 +248,6 @@
     this.position = position;
   }
 
-
   /**
    * Sort the buffer.
    */
@@ -271,7 +255,6 @@
     sort(0, keys);
   }
 
-
   /**
    * Add the specified key byte array and EntryID to the buffer.
    *
@@ -455,7 +438,7 @@
     int yKeyLen = readInt(buffer, yoffSet);
     int yKey = INT_SIZE + yoffSet;
 
-    int cmp = comparator.compare(buffer, xKey, xKeyLen, xIndexID, yKey, yKeyLen, yIndexID);
+    int cmp = indexComparator.compare(buffer, xKey, xKeyLen, xIndexID, yKey, yKeyLen, yIndexID);
     return evaluateReturnCode(cmp, op);
   }
 
@@ -467,7 +450,7 @@
     int xKeyLen = readInt(buffer, xoffSet);
     int xKey = INT_SIZE + xoffSet;
 
-    int cmp = comparator.compare(buffer, xKey, xKeyLen, xIndexID, yKey, yKey.length, yIndexID);
+    int cmp = indexComparator.compare(buffer, xKey, xKeyLen, xIndexID, yKey, yKey.length, yIndexID);
     return evaluateReturnCode(cmp, op);
   }
 
@@ -486,7 +469,7 @@
     offset += REC_OVERHEAD + LONG_SIZE;
     int keyLen = readInt(buffer, offset);
     int key = INT_SIZE + offset;
-    return comparator.compare(buffer, key, keyLen, b, b.length) == 0
+    return indexComparator.compare(buffer, key, keyLen, b, b.length) == 0
         && indexID == bIndexID;
   }
 
@@ -510,7 +493,7 @@
     int keyLen = readInt(buffer, offset);
     int key = INT_SIZE + offset;
 
-    final int cmp = comparator.compare(buffer, key, keyLen, keyBuf.array(), keyBuf.limit());
+    final int cmp = indexComparator.compare(buffer, key, keyLen, keyBuf.array(), keyBuf.limit());
     if (cmp != 0)
     {
       return cmp;
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/VerifyJob.java b/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/VerifyJob.java
index 40510ce..35e8f02 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/VerifyJob.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/VerifyJob.java
@@ -1088,7 +1088,7 @@
 
             };
 
-            index.indexer.indexEntry(entry, dummySet, options);
+            index.indexEntry(entry, dummySet, options);
 
             if (!foundMatchingKey.get())
             {
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/tools/DBTest.java b/opendj-server-legacy/src/main/java/org/opends/server/tools/DBTest.java
index 0733f2b..ff75312 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/tools/DBTest.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/tools/DBTest.java
@@ -35,7 +35,13 @@
 import java.io.OutputStream;
 import java.io.PrintStream;
 import java.text.ParseException;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Comparator;
+import java.util.HashMap;
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Map;
 
 import org.forgerock.i18n.LocalizableMessage;
 import org.forgerock.opendj.config.server.ConfigException;
@@ -45,7 +51,19 @@
 import org.opends.server.admin.std.server.BackendCfg;
 import org.opends.server.admin.std.server.LocalDBBackendCfg;
 import org.opends.server.api.Backend;
-import org.opends.server.backends.jeb.*;
+import org.opends.server.backends.jeb.BackendImpl;
+import org.opends.server.backends.jeb.DN2ID;
+import org.opends.server.backends.jeb.DN2URI;
+import org.opends.server.backends.jeb.DatabaseContainer;
+import org.opends.server.backends.jeb.EntryContainer;
+import org.opends.server.backends.jeb.EntryID;
+import org.opends.server.backends.jeb.EntryIDSet;
+import org.opends.server.backends.jeb.ID2Entry;
+import org.opends.server.backends.jeb.Index;
+import org.opends.server.backends.jeb.JebFormat;
+import org.opends.server.backends.jeb.RootContainer;
+import org.opends.server.backends.jeb.SortValuesSet;
+import org.opends.server.backends.jeb.VLVIndex;
 import org.opends.server.core.CoreConfigManager;
 import org.opends.server.core.DirectoryServer;
 import org.opends.server.core.DirectoryServer.DirectoryServerVersionHandler;
@@ -1517,7 +1535,7 @@
   {
     if(databaseContainer instanceof Index)
     {
-      return ((Index)databaseContainer).indexer.getComparator();
+      return ((Index) databaseContainer).getComparator();
     }
     else if(databaseContainer instanceof VLVIndex)
     {

--
Gitblit v1.10.0