From f3b16f1a20361d02edda90e09e1df0997ddc4dc2 Mon Sep 17 00:00:00 2001
From: Jean-Noël Rouvignac <jean-noel.rouvignac@forgerock.com>
Date: Thu, 08 Oct 2015 09:59:03 +0000
Subject: [PATCH] Code cleanup
---
opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/IndexQueryFactoryImpl.java | 57 ++++++++----------
opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/AttributeIndex.java | 69 +++++++++++-----------
2 files changed, 60 insertions(+), 66 deletions(-)
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/AttributeIndex.java b/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/AttributeIndex.java
index 6a1dded..0a73e68 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/AttributeIndex.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/AttributeIndex.java
@@ -489,34 +489,40 @@
* @param monitor
* The backend monitor provider that will keep index
* filter usage statistics.
- * @return The candidate entry IDs that might contain the filter assertion
- * value.
+ * @return The candidate entry IDs that might contain the filter assertion value.
*/
private EntryIDSet evaluateIndexQuery(IndexQuery indexQuery, String indexName, SearchFilter filter,
StringBuilder debugBuffer, BackendMonitor monitor)
{
+ // FIXME equivalent code exists in evaluateExtensibleFilter()
LocalizableMessageBuilder debugMessage = monitor.isFilterUseEnabled() ? new LocalizableMessageBuilder() : null;
StringBuilder indexNameOut = debugBuffer == null ? null : new StringBuilder();
EntryIDSet results = indexQuery.evaluate(debugMessage, indexNameOut);
if (debugBuffer != null)
{
- appendDebugIndexInformation(debugBuffer, indexName);
+ appendDebugIndexInformation(debugBuffer, config.getAttribute(), indexName);
appendDebugUnindexedInformation(debugBuffer, indexNameOut);
}
+ updateStats(monitor, filter, results, debugMessage);
+ return results;
+ }
+
+ private void updateStats(BackendMonitor monitor, SearchFilter filter, EntryIDSet idSet,
+ LocalizableMessageBuilder debugMessage)
+ {
if (monitor.isFilterUseEnabled())
{
- if (results.isDefined())
+ if (idSet.isDefined())
{
- monitor.updateStats(filter, results.size());
+ monitor.updateStats(filter, idSet.size());
}
else
{
monitor.updateStats(filter, debugMessage.toMessage());
}
}
- return results;
}
/**
@@ -524,20 +530,33 @@
* an auxiliary index type during index query.
*
* @param debugBuffer the current debugsearchindex buffer
- * @param indexNameOut the name of the index type
+ * @param indexName the name of the index type
*/
- private void appendDebugUnindexedInformation(StringBuilder debugBuffer, StringBuilder indexNameOut)
+ private void appendDebugUnindexedInformation(StringBuilder debugBuffer, StringBuilder indexName)
{
- if (indexNameOut.length() > 0)
+ if (indexName.length() > 0)
{
debugBuffer.append(newUndefinedSet());
- appendDebugIndexInformation(debugBuffer, indexNameOut.toString());
+ appendDebugIndexInformation(debugBuffer, config.getAttribute(), indexName);
}
}
- private void appendDebugIndexInformation(final StringBuilder debugBuffer, final String infos)
+ private void appendDebugIndexInformation(StringBuilder debugBuffer, AttributeType attrType, CharSequence indexName)
{
- debugBuffer.append("[INDEX:").append(config.getAttribute().getNameOrOID()).append(".").append(infos).append("]");
+ String attrNameOrOID = attrType.getNameOrOID();
+ debugBuffer.append("[INDEX:").append(attrNameOrOID).append(".").append(indexName).append("]");
+ }
+
+ private void appendDebugIndexesInformation(StringBuilder debugBuffer, AttributeType attrType,
+ Collection<? extends Indexer> indexers)
+ {
+ final String attrNameOrOID = attrType.getNameOrOID();
+ debugBuffer.append("[INDEX:");
+ for (Indexer indexer : indexers)
+ {
+ debugBuffer.append(" ").append(attrNameOrOID).append(".").append(indexer.getIndexID());
+ }
+ debugBuffer.append("]");
}
/**
@@ -877,8 +896,7 @@
* to this search.
* @param monitor The backend monitor provider that will keep
* index filter usage statistics.
- * @return The candidate entry IDs that might contain the filter
- * assertion value.
+ * @return The candidate entry IDs that might contain the filter assertion value.
*/
EntryIDSet evaluateExtensibleFilter(IndexQueryFactory<IndexQuery> indexQueryFactory,
SearchFilter filter, StringBuilder debugBuffer, BackendMonitor monitor)
@@ -912,6 +930,7 @@
try
{
+ // FIXME equivalent code exists in evaluateIndexQuery()
final IndexQuery indexQuery = rule.getAssertion(filter.getAssertionValue()).createIndexQuery(indexQueryFactory);
LocalizableMessageBuilder debugMessage = monitor.isFilterUseEnabled() ? new LocalizableMessageBuilder() : null;
StringBuilder indexNameOut = debugBuffer == null ? null : new StringBuilder();
@@ -919,29 +938,11 @@
if (debugBuffer != null)
{
- debugBuffer.append("[INDEX:");
- for (Indexer indexer : rule.createIndexers(indexingOptions))
- {
- debugBuffer.append(" ")
- .append(filter.getAttributeType().getNameOrOID())
- .append(".")
- .append(indexer.getIndexID());
- }
- debugBuffer.append("]");
+ appendDebugIndexesInformation(debugBuffer, filter.getAttributeType(), rule.createIndexers(indexingOptions));
appendDebugUnindexedInformation(debugBuffer, indexNameOut);
}
- if (monitor.isFilterUseEnabled())
- {
- if (results.isDefined())
- {
- monitor.updateStats(filter, results.size());
- }
- else
- {
- monitor.updateStats(filter, debugMessage.toMessage());
- }
- }
+ updateStats(monitor, filter, results, debugMessage);
return results;
}
catch (DecodeException e)
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/IndexQueryFactoryImpl.java b/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/IndexQueryFactoryImpl.java
index 9397e00..45da3c1 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/IndexQueryFactoryImpl.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/IndexQueryFactoryImpl.java
@@ -44,6 +44,7 @@
import org.opends.server.backends.pluggable.spi.Cursor;
import org.opends.server.backends.pluggable.spi.ReadableTransaction;
import org.opends.server.backends.pluggable.spi.StorageRuntimeException;
+import org.opends.server.types.AttributeType;
/**
* This class is an implementation of IndexQueryFactory which creates
@@ -186,19 +187,12 @@
final Index index = attributeIndex.getNameToIndexes().get(indexID);
if (index == null)
{
- if(debugMessage != null)
- {
- debugMessage.append(INFO_INDEX_FILTER_INDEX_TYPE_DISABLED.get(indexID,
- attributeIndex.getAttributeType().getNameOrOID()));
- }
+ appendDisabledIndexType(debugMessage, indexID, attributeIndex.getAttributeType());
return createMatchAllQuery().evaluate(debugMessage, indexNameOut);
}
final EntryIDSet entrySet = index.get(txn, key);
- if (debugMessage != null && !entrySet.isDefined())
- {
- updateStatsUndefinedResults(debugMessage, index);
- }
+ updateStatsForUndefinedResults(debugMessage, entrySet, index);
return entrySet;
}
@@ -222,19 +216,12 @@
final Index index = attributeIndex.getNameToIndexes().get(indexID);
if (index == null)
{
- if (debugMessage != null)
- {
- debugMessage.append(INFO_INDEX_FILTER_INDEX_TYPE_DISABLED.get(indexID,
- attributeIndex.getAttributeType().getNameOrOID()));
- }
+ appendDisabledIndexType(debugMessage, indexID, attributeIndex.getAttributeType());
return createMatchAllQuery().evaluate(debugMessage, indexNameOut);
}
final EntryIDSet entrySet = readRange(index, txn, lowerBound, upperBound, includeLowerBound, includeUpperBound);
- if (debugMessage != null && !entrySet.isDefined())
- {
- updateStatsUndefinedResults(debugMessage, index);
- }
+ updateStatsForUndefinedResults(debugMessage, entrySet, index);
return entrySet;
}
@@ -369,19 +356,12 @@
final Index index = attributeIndex.getNameToIndexes().get(indexID);
if (index == null)
{
- if(debugMessage != null)
- {
- debugMessage.append(INFO_INDEX_FILTER_INDEX_TYPE_DISABLED.get(indexID,
- attributeIndex.getAttributeType().getNameOrOID()));
- }
+ appendDisabledIndexType(debugMessage, indexID, attributeIndex.getAttributeType());
return newUndefinedSet();
}
final EntryIDSet entrySet = index.get(txn, AttributeIndex.PRESENCE_KEY);
- if (debugMessage != null && !entrySet.isDefined())
- {
- updateStatsUndefinedResults(debugMessage, index);
- }
+ updateStatsForUndefinedResults(debugMessage, entrySet, index);
if (indexNameOut != null)
{
indexNameOut.append(IndexFilterType.PRESENCE);
@@ -397,15 +377,28 @@
};
}
- private static void updateStatsUndefinedResults(LocalizableMessageBuilder debugMessage, Index index)
+ private static void appendDisabledIndexType(LocalizableMessageBuilder debugMessage, String indexID,
+ AttributeType attrType)
{
- if (!index.isTrusted())
+ if (debugMessage != null)
{
- debugMessage.append(INFO_INDEX_FILTER_INDEX_NOT_TRUSTED.get(index.getName()));
+ debugMessage.append(INFO_INDEX_FILTER_INDEX_TYPE_DISABLED.get(indexID, attrType.getNameOrOID()));
}
- else
+ }
+
+ private static void updateStatsForUndefinedResults(
+ LocalizableMessageBuilder debugMessage, EntryIDSet idSet, Index index)
+ {
+ if (debugMessage != null && !idSet.isDefined())
{
- debugMessage.append(INFO_INDEX_FILTER_INDEX_LIMIT_EXCEEDED.get(index.getName()));
+ if (!index.isTrusted())
+ {
+ debugMessage.append(INFO_INDEX_FILTER_INDEX_NOT_TRUSTED.get(index.getName()));
+ }
+ else
+ {
+ debugMessage.append(INFO_INDEX_FILTER_INDEX_LIMIT_EXCEEDED.get(index.getName()));
+ }
}
}
--
Gitblit v1.10.0