From 81d27a068e194169b632b5ec5f2f5249f232a049 Mon Sep 17 00:00:00 2001
From: Jean-Noel Rouvignac <jean-noel.rouvignac@forgerock.com>
Date: Fri, 27 Feb 2015 13:50:23 +0000
Subject: [PATCH] Code cleanup

---
 opendj-server-legacy/src/main/java/org/opends/server/backends/jeb/IndexInputBuffer.java |  142 +++++++++++++++++------------------------------
 1 files changed, 51 insertions(+), 91 deletions(-)

diff --git a/opendj-server-legacy/src/main/java/org/opends/server/backends/jeb/IndexInputBuffer.java b/opendj-server-legacy/src/main/java/org/opends/server/backends/jeb/IndexInputBuffer.java
index 3185132..64f2867 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/backends/jeb/IndexInputBuffer.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/backends/jeb/IndexInputBuffer.java
@@ -26,12 +26,13 @@
  */
 package org.opends.server.backends.jeb;
 
-import static org.opends.messages.JebMessages.ERR_JEB_IMPORT_BUFFER_IO_ERROR;
-import org.forgerock.i18n.slf4j.LocalizedLogger;
+import static org.opends.messages.JebMessages.*;
+
 import java.io.IOException;
 import java.nio.ByteBuffer;
 import java.nio.channels.FileChannel;
 
+import org.forgerock.i18n.slf4j.LocalizedLogger;
 import org.opends.server.backends.jeb.Importer.IndexManager;
 
 import com.sleepycat.util.PackedInteger;
@@ -43,35 +44,28 @@
 final class IndexInputBuffer implements Comparable<IndexInputBuffer>
 {
 
+  /** Possible states while reading a record. */
+  private static enum RecordState
+  {
+    START, NEED_INSERT_ID_SET, NEED_DELETE_ID_SET
+  }
+
   private static final LocalizedLogger logger = LocalizedLogger.getLoggerForThisClass();
 
   private final IndexManager indexMgr;
   private final FileChannel channel;
   private final long begin;
   private final long end;
-  private final int id;
+  private final int bufferID;
 
   private long offset;
   private final ByteBuffer cache;
+
+  // Next fields are the fetched record data
   private Integer indexID;
   private ByteBuffer keyBuf = ByteBuffer.allocate(128);
-
-
-
-  /**
-   * Possible states while reading a record.
-   */
-  private enum RecordState
-  {
-    START, NEED_INSERT_ID_SET, NEED_DELETE_ID_SET
-  }
-
-
-
   private RecordState recordState = RecordState.START;
 
-
-
   /**
    * Creates a new index input buffer.
    *
@@ -83,22 +77,22 @@
    *          The position of the start of the buffer in the scratch file.
    * @param end
    *          The position of the end of the buffer in the scratch file.
-   * @param id
-   *          The index ID.
+   * @param bufferID
+   *          The buffer ID.
    * @param cacheSize
    *          The cache size.
    * @throws IOException
    *           If an IO error occurred when priming the cache.
    */
   public IndexInputBuffer(IndexManager indexMgr, FileChannel channel,
-      long begin, long end, int id, int cacheSize) throws IOException
+      long begin, long end, int bufferID, int cacheSize) throws IOException
   {
     this.indexMgr = indexMgr;
     this.channel = channel;
     this.begin = begin;
     this.end = end;
     this.offset = 0;
-    this.id = id;
+    this.bufferID = bufferID;
     this.cache = ByteBuffer.allocate(Math.max(cacheSize - 384, 256));
 
     loadCache();
@@ -106,8 +100,6 @@
     keyBuf.flip();
   }
 
-
-
   private void loadCache() throws IOException
   {
     channel.position(begin + offset);
@@ -131,8 +123,6 @@
     indexMgr.addBytesRead(bytesRead);
   }
 
-
-
   /**
    * Returns {@code true} if this buffer has more data.
    *
@@ -146,8 +136,6 @@
     return cache.remaining() != 0 || hasMore;
   }
 
-
-
   /**
    * Returns the length of the next key.
    *
@@ -158,22 +146,18 @@
     return keyBuf.limit();
   }
 
-
-
   /**
-   * Returns the next key.
+   * Fetches the next key into the provided byte buffer.
    *
    * @param b
-   *          A buffer into which the key should be added.
+   *          A buffer where to fetch the key
    */
-  public void getKey(ByteBuffer b)
+  public void fetchKey(ByteBuffer b)
   {
     keyBuf.get(b.array(), 0, keyBuf.limit());
     b.limit(keyBuf.limit());
   }
 
-
-
   /**
    * Returns the index ID of the next record.
    *
@@ -185,20 +169,17 @@
     {
       try
       {
-        getNextRecord();
+        fetchNextRecord();
       }
       catch (IOException ex)
       {
-        logger.error(ERR_JEB_IMPORT_BUFFER_IO_ERROR, indexMgr
-            .getBufferFileName());
+        logger.error(ERR_JEB_IMPORT_BUFFER_IO_ERROR, indexMgr.getBufferFileName());
         throw new RuntimeException(ex);
       }
     }
     return indexID;
   }
 
-
-
   /**
    * Reads the next record from the buffer, skipping any remaining data in the
    * current record.
@@ -206,7 +187,7 @@
    * @throws IOException
    *           If an IO error occurred.
    */
-  public void getNextRecord() throws IOException
+  public void fetchNextRecord() throws IOException
   {
     switch (recordState)
     {
@@ -244,16 +225,12 @@
     recordState = RecordState.NEED_INSERT_ID_SET;
   }
 
-
-
   private int getInt() throws IOException
   {
     ensureData(4);
     return cache.getInt();
   }
 
-
-
   /**
    * Reads the next ID set from the record and merges it with the provided ID
    * set.
@@ -308,30 +285,25 @@
     }
   }
 
-
-
   private boolean ensureData(int len) throws IOException
   {
-    boolean ret = false;
     if (cache.remaining() == 0)
     {
       cache.clear();
       loadCache();
       cache.flip();
-      ret = true;
+      return true;
     }
     else if (cache.remaining() < len)
     {
       cache.compact();
       loadCache();
       cache.flip();
-      ret = true;
+      return true;
     }
-    return ret;
+    return false;
   }
 
-
-
   /**
    * Compares this buffer with the provided key and index ID.
    *
@@ -345,29 +317,17 @@
    */
   int compare(ByteBuffer cKey, Integer cIndexID)
   {
-    int returnCode, rc;
-    if (keyBuf.limit() == 0)
+    ensureRecordFetched();
+    int cmp = Importer.indexComparator.compare(keyBuf.array(), 0, keyBuf.limit(), cKey.array(), cKey.limit());
+    if (cmp == 0)
     {
-      getIndexID();
+      return (indexID.intValue() == cIndexID.intValue()) ? 0 : 1;
     }
-    rc = Importer.indexComparator.compare(keyBuf.array(), 0, keyBuf.limit(),
-        cKey.array(), cKey.limit());
-    if (rc != 0)
-    {
-      returnCode = 1;
-    }
-    else
-    {
-      returnCode = (indexID.intValue() == cIndexID.intValue()) ? 0 : 1;
-    }
-    return returnCode;
+    return 1;
   }
 
-
-
-  /**
-   * {@inheritDoc}
-   */
+  /** {@inheritDoc} */
+  @Override
   public int compareTo(IndexInputBuffer o)
   {
     // used in remove.
@@ -376,28 +336,28 @@
       return 0;
     }
 
+    ensureRecordFetched();
+    o.ensureRecordFetched();
+
+    byte[] oKey = o.keyBuf.array();
+    int oLen = o.keyBuf.limit();
+    int cmp = Importer.indexComparator.compare(keyBuf.array(), 0, keyBuf.limit(), oKey, oLen);
+    if (cmp == 0)
+    {
+      cmp = indexID.intValue() - o.getIndexID().intValue();
+      if (cmp == 0)
+      {
+        return bufferID - o.bufferID;
+      }
+    }
+    return cmp;
+  }
+
+  private void ensureRecordFetched()
+  {
     if (keyBuf.limit() == 0)
     {
       getIndexID();
     }
-
-    if (o.keyBuf.limit() == 0)
-    {
-      o.getIndexID();
-    }
-
-    byte[] oKey = o.keyBuf.array();
-    int oLen = o.keyBuf.limit();
-    int returnCode = Importer.indexComparator.compare(keyBuf.array(), 0,
-        keyBuf.limit(), oKey, oLen);
-    if (returnCode == 0)
-    {
-      returnCode = indexID.intValue() - o.getIndexID().intValue();
-      if (returnCode == 0)
-      {
-        returnCode = id - o.id;
-      }
-    }
-    return returnCode;
   }
 }

--
Gitblit v1.10.0