mirror of https://github.com/OpenIdentityPlatform/OpenDJ.git

Jean-Noel Rouvignac
05.46.2014 e219b928766a0a4984f613c7e3162cf03889380c
Increased IndexBuffer encapsulation:
Moved Index.getBufferedIndexValues() and VLVIndex.getVLVIndex() to IndexBuffer.


IndexBuffer.java:
Inlined the former getBufferedIndex(), putBufferedIndex(), getVLVIndex(), putBufferedVLVIndex() methods into the methods that have been moved to this class.
3 files modified
102 ■■■■■ changed files
opendj3-server-dev/src/server/org/opends/server/backends/jeb/Index.java 20 ●●●●● patch | view | raw | blame | history
opendj3-server-dev/src/server/org/opends/server/backends/jeb/IndexBuffer.java 66 ●●●●● patch | view | raw | blame | history
opendj3-server-dev/src/server/org/opends/server/backends/jeb/VLVIndex.java 16 ●●●● patch | view | raw | blame | history
opendj3-server-dev/src/server/org/opends/server/backends/jeb/Index.java
@@ -493,25 +493,7 @@
  private BufferedIndexValues getBufferedIndexValues(IndexBuffer buffer, ByteString keyBytes)
  {
    TreeMap<ByteString, BufferedIndexValues> bufferedOperations = buffer.getBufferedIndex(this);
    BufferedIndexValues values = null;
    if (bufferedOperations == null)
    {
      bufferedOperations = new TreeMap<ByteString, BufferedIndexValues>(bsComparator);
      buffer.putBufferedIndex(this, bufferedOperations);
    }
    else
    {
      values = bufferedOperations.get(keyBytes);
    }
    if (values == null)
    {
      values = new BufferedIndexValues();
      bufferedOperations.put(keyBytes, values);
    }
    return values;
    return buffer.getBufferedIndexValues(this, keyBytes, bsComparator);
  }
  /**
opendj3-server-dev/src/server/org/opends/server/backends/jeb/IndexBuffer.java
@@ -28,6 +28,7 @@
import java.util.*;
import org.forgerock.opendj.ldap.ByteSequence;
import org.forgerock.opendj.ldap.ByteString;
import org.opends.server.types.DirectoryException;
@@ -173,29 +174,6 @@
  }
  /**
   * Get the buffered values for the given index.
   *
   * @param index The index with the buffered values to retrieve.
   * @return The buffered values or <code>null</code> if there are
   * no buffered values for the specified index.
   */
  public TreeMap<ByteString, BufferedIndexValues> getBufferedIndex(Index index)
  {
    return bufferedIndexes.get(index);
  }
  /**
   * Put the specified buffered index values for the given index.
   *
   * @param index The index affected by the buffered values.
   * @param bufferedValues The buffered values for the index.
   */
  public void putBufferedIndex(Index index, TreeMap<ByteString, BufferedIndexValues> bufferedValues)
  {
    bufferedIndexes.put(index, bufferedValues);
  }
  /**
   * Get the buffered VLV values for the given VLV index.
   *
   * @param vlvIndex The VLV index with the buffered values to retrieve.
@@ -204,18 +182,48 @@
   */
  public BufferedVLVValues getVLVIndex(VLVIndex vlvIndex)
  {
    return bufferedVLVIndexes.get(vlvIndex);
    BufferedVLVValues bufferedValues = bufferedVLVIndexes.get(vlvIndex);
    if (bufferedValues == null)
    {
      bufferedValues = new BufferedVLVValues();
      bufferedVLVIndexes.put(vlvIndex, bufferedValues);
    }
    return bufferedValues;
  }
  /**
   * Put the specified buffered VLV values for the given VLV index.
   * Get the buffered index values for the given index and keyBytes.
   *
   * @param vlvIndex The VLV index affected by the buffered values.
   * @param bufferedVLVValues The buffered values for the VLV index.
   * @param index
   *          The index for which to retrieve the buffered index values
   * @param keyBytes
   *          The keyBytes for which to retrieve the buffered index values
   * @param bsComparator
   *          The byte sequence comparator to use when retrieving the
   *          BufferedIndexValues
   * @return The buffered index values, it can never be null
   */
  public void putBufferedVLVIndex(VLVIndex vlvIndex, BufferedVLVValues bufferedVLVValues)
  BufferedIndexValues getBufferedIndexValues(Index index, ByteString keyBytes, Comparator<ByteSequence> bsComparator)
  {
    bufferedVLVIndexes.put(vlvIndex, bufferedVLVValues);
    BufferedIndexValues values = null;
    TreeMap<ByteString, BufferedIndexValues> bufferedOperations = bufferedIndexes.get(index);
    if (bufferedOperations == null)
    {
      bufferedOperations = new TreeMap<ByteString, BufferedIndexValues>(bsComparator);
      bufferedIndexes.put(index, bufferedOperations);
    }
    else
    {
      values = bufferedOperations.get(keyBytes);
    }
    if (values == null)
    {
      values = new BufferedIndexValues();
      bufferedOperations.put(keyBytes, values);
    }
    return values;
  }
  /**
opendj3-server-dev/src/server/org/opends/server/backends/jeb/VLVIndex.java
@@ -43,7 +43,6 @@
import org.opends.server.admin.server.ConfigurationChangeListener;
import org.opends.server.admin.std.meta.LocalDBVLVIndexCfgDefn.Scope;
import org.opends.server.admin.std.server.LocalDBVLVIndexCfg;
import org.opends.server.backends.jeb.IndexBuffer.BufferedVLVValues;
import org.opends.server.controls.ServerSideSortRequestControl;
import org.opends.server.controls.VLVRequestControl;
import org.opends.server.controls.VLVResponseControl;
@@ -294,7 +293,7 @@
    if (shouldInclude(entry))
    {
      final SortValues sortValues = new SortValues(entryID, entry, sortOrder);
      getVLVIndex(buffer).addValues(sortValues);
      buffer.getVLVIndex(this).addValues(sortValues);
      return true;
    }
    return false;
@@ -316,23 +315,12 @@
    if (shouldInclude(entry))
    {
      final SortValues sortValues = new SortValues(entryID, entry, sortOrder);
      getVLVIndex(buffer).deleteValues(sortValues);
      buffer.getVLVIndex(this).deleteValues(sortValues);
      return true;
    }
    return false;
  }
  private BufferedVLVValues getVLVIndex(IndexBuffer buffer)
  {
    BufferedVLVValues bufferedValues = buffer.getVLVIndex(this);
    if (bufferedValues == null)
    {
      bufferedValues = new BufferedVLVValues();
      buffer.putBufferedVLVIndex(this, bufferedValues);
    }
    return bufferedValues;
  }
  /**
   * Update the vlvIndex to reflect a sequence of modifications in a Modify
   * operation.