From 65e3293e0a58e31471ddaadfc137dad3bb9b239b Mon Sep 17 00:00:00 2001
From: Jean-Noel Rouvignac <jean-noel.rouvignac@forgerock.com>
Date: Mon, 23 Mar 2015 10:12:49 +0000
Subject: [PATCH] Ensured IndexQuery.evaluate() never returns null + updated javadoc to mention it. Client code assumes that the returned value will never be null anyway.
---
opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/IndexQuery.java | 24 +++++-------------------
1 files changed, 5 insertions(+), 19 deletions(-)
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 8d9a6ce..d7d757a 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
@@ -52,7 +52,7 @@
* @param debugMessage If not null, diagnostic message will be written
* which will help to determine why the returned
* EntryIDSet is not defined.
- * @return The EntryIDSet as a result of evaluation of this query.
+ * @return The non null EntryIDSet as a result of evaluating this query
*/
public abstract EntryIDSet evaluate(LocalizableMessageBuilder debugMessage);
@@ -136,17 +136,10 @@
@Override
public EntryIDSet evaluate(LocalizableMessageBuilder debugMessage)
{
- EntryIDSet entryIDs = null;
+ final EntryIDSet entryIDs = newUndefinedSet();
for (IndexQuery query : subIndexQueries)
{
- if (entryIDs == null)
- {
- entryIDs = query.evaluate(debugMessage);
- }
- else
- {
- entryIDs.retainAll(query.evaluate(debugMessage));
- }
+ entryIDs.retainAll(query.evaluate(debugMessage));
if (isBelowFilterThreshold(entryIDs))
{
break;
@@ -182,17 +175,10 @@
@Override
public EntryIDSet evaluate(LocalizableMessageBuilder debugMessage)
{
- EntryIDSet entryIDs = null;
+ final EntryIDSet entryIDs = newDefinedSet();
for (IndexQuery query : subIndexQueries)
{
- if (entryIDs == null)
- {
- entryIDs = query.evaluate(debugMessage);
- }
- else
- {
- entryIDs.addAll(query.evaluate(debugMessage));
- }
+ entryIDs.addAll(query.evaluate(debugMessage));
if (entryIDs.isDefined() && entryIDs.size() >= CURSOR_ENTRY_LIMIT)
{
break;
--
Gitblit v1.10.0