From 9a741260c66309ff16f55b6a7b9933336db12ca6 Mon Sep 17 00:00:00 2001
From: Jean-Noel Rouvignac <jean-noel.rouvignac@forgerock.com>
Date: Mon, 16 Mar 2015 12:40:11 +0000
Subject: [PATCH] Hide IndexFilter.FILTER_CANDIDATE_THRESHOLD, use isBelowFilterThreshold() instead.

---
 opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/IndexFilter.java    |    9 ++++-----
 opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/EntryContainer.java |   12 +++++-------
 opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/IndexQuery.java     |    8 +++-----
 3 files changed, 12 insertions(+), 17 deletions(-)

diff --git a/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/EntryContainer.java b/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/EntryContainer.java
index 8b96d8f..d8c8117 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/EntryContainer.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/EntryContainer.java
@@ -27,17 +27,16 @@
  */
 package org.opends.server.backends.pluggable;
 
-import static org.forgerock.util.Utils.closeSilently;
 import static org.forgerock.util.Reject.checkNotNull;
+import static org.forgerock.util.Utils.closeSilently;
 import static org.opends.messages.JebMessages.*;
+import static org.opends.server.backends.pluggable.EntryIDSet.*;
+import static org.opends.server.backends.pluggable.IndexFilter.*;
 import static org.opends.server.backends.pluggable.JebFormat.*;
 import static org.opends.server.core.DirectoryServer.*;
 import static org.opends.server.protocols.ldap.LDAPResultCode.*;
-import static org.opends.server.backends.pluggable.IndexFilter.CURSOR_ENTRY_LIMIT;
 import static org.opends.server.types.AdditionalLogItem.*;
 import static org.opends.server.util.StaticUtils.*;
-import static org.opends.server.backends.pluggable.EntryIDSet.newUndefinedSet;
-import static org.opends.server.backends.pluggable.EntryIDSet.newDefinedSet;
 
 import java.util.ArrayList;
 import java.util.Arrays;
@@ -906,10 +905,9 @@
             // Evaluate the filter against the attribute indexes.
             entryIDSet = indexFilter.evaluate();
 
-            // Evaluate the search scope against the id2children and id2subtree indexes
-            if (entryIDSet.size() > IndexFilter.FILTER_CANDIDATE_THRESHOLD)
+            if (!isBelowFilterThreshold(entryIDSet))
             {
-              // Read the ID from dn2id.
+              // Evaluate the search scope against the id2children and id2subtree indexes
               EntryID baseID = dn2id.get(txn, aBaseDN);
               if (baseID == null)
               {
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/IndexFilter.java b/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/IndexFilter.java
index 63a9fb6..148c305 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/IndexFilter.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/IndexFilter.java
@@ -26,9 +26,8 @@
  */
 package org.opends.server.backends.pluggable;
 
-import static org.opends.messages.JebMessages.INFO_JEB_INDEX_FILTER_INDEX_TYPE_DISABLED;
-import static org.opends.server.backends.pluggable.EntryIDSet.newSetFromUnion;
-import static org.opends.server.backends.pluggable.EntryIDSet.newUndefinedSet;
+import static org.opends.messages.JebMessages.*;
+import static org.opends.server.backends.pluggable.EntryIDSet.*;
 
 import java.util.ArrayList;
 import java.util.HashMap;
@@ -51,7 +50,7 @@
    * Stop processing the filter against the indexes when the
    * number of candidates is smaller than this value.
    */
-  static final int FILTER_CANDIDATE_THRESHOLD = 10;
+  private static final int FILTER_CANDIDATE_THRESHOLD = 10;
 
   /**
    * Limit on the number of entry IDs that may be retrieved by cursoring through an index.
@@ -285,7 +284,7 @@
     return results;
   }
 
-  private boolean isBelowFilterThreshold(EntryIDSet set)
+  static boolean isBelowFilterThreshold(EntryIDSet set)
   {
     return set.isDefined() && set.size() <= FILTER_CANDIDATE_THRESHOLD;
   }
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/IndexQuery.java b/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/IndexQuery.java
index 42dd2bc..8d9a6ce 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/IndexQuery.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/IndexQuery.java
@@ -26,9 +26,8 @@
  */
 package org.opends.server.backends.pluggable;
 
-import static org.opends.server.backends.pluggable.EntryIDSet.newUndefinedSet;
-import static org.opends.server.backends.pluggable.IndexFilter.CURSOR_ENTRY_LIMIT;
-import static org.opends.server.backends.pluggable.IndexFilter.FILTER_CANDIDATE_THRESHOLD;
+import static org.opends.server.backends.pluggable.EntryIDSet.*;
+import static org.opends.server.backends.pluggable.IndexFilter.*;
 
 import java.util.Collection;
 
@@ -148,8 +147,7 @@
         {
           entryIDs.retainAll(query.evaluate(debugMessage));
         }
-        if (entryIDs.isDefined()
-            && entryIDs.size() <= FILTER_CANDIDATE_THRESHOLD)
+        if (isBelowFilterThreshold(entryIDs))
         {
           break;
         }

--
Gitblit v1.10.0