From 20fdcbef0d17440c367d2943f9c5799bddfe661f Mon Sep 17 00:00:00 2001
From: Matthew Swift <matthew.swift@forgerock.com>
Date: Tue, 07 Apr 2015 10:45:33 +0000
Subject: [PATCH] OPENDJ-1628 - Simplify Index hierarchy and remove Indexer classes
---
opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/NullIndex.java | 184 ++++++++++++++++++++++++---------------------
1 files changed, 98 insertions(+), 86 deletions(-)
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/NullIndex.java b/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/NullIndex.java
index 8cf26e3..e61486e 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/NullIndex.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/NullIndex.java
@@ -24,154 +24,166 @@
*/
package org.opends.server.backends.pluggable;
-import static org.opends.server.backends.pluggable.EntryIDSet.*;
-
-import java.util.List;
-import java.util.Set;
+import static org.opends.server.backends.pluggable.EntryIDSet.newUndefinedSet;
import org.forgerock.opendj.ldap.ByteSequence;
import org.forgerock.opendj.ldap.ByteString;
-import org.forgerock.opendj.ldap.ConditionResult;
-import org.forgerock.opendj.ldap.spi.IndexingOptions;
-import org.opends.server.backends.pluggable.State.IndexFlag;
+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.backends.pluggable.spi.TreeName;
import org.opends.server.backends.pluggable.spi.WriteableTransaction;
-import org.opends.server.types.Entry;
-import org.opends.server.types.Modification;
/**
- * A null index which replaces id2children and id2subtree when they have been
- * disabled.
+ * A null index which replaces id2children and id2subtree when they have been disabled.
*/
-final class NullIndex extends Index
+final class NullIndex implements Index
{
+ private final TreeName name;
- NullIndex(TreeName name, Indexer indexer, State state, WriteableTransaction txn,
- EntryContainer entryContainer) throws StorageRuntimeException
+ NullIndex(TreeName name)
{
- super(name, indexer, state, 0, 0, false, txn, entryContainer);
- state.removeFlagsFromIndex(txn, name, IndexFlag.TRUSTED);
- super.delete(txn);
+ this.name = name;
}
@Override
- void updateKey(WriteableTransaction txn, ByteString key, EntryIDSet deletedIDs, EntryIDSet addedIDs)
+ public void update(WriteableTransaction txn, ByteString key, EntryIDSet deletedIDs, EntryIDSet addedIDs)
throws StorageRuntimeException
{
// Do nothing.
}
@Override
- void delete(IndexBuffer buffer, ByteString keyBytes)
- {
- // Do nothing.
- }
-
- @Override
- ConditionResult containsID(ReadableTransaction txn, ByteString key, EntryID entryID)
- throws StorageRuntimeException
- {
- return ConditionResult.UNDEFINED;
- }
-
- @Override
- EntryIDSet read(ReadableTransaction txn, ByteSequence key)
+ public EntryIDSet get(ReadableTransaction txn, ByteSequence key)
{
return newUndefinedSet();
}
@Override
- EntryIDSet readRange(ReadableTransaction txn, ByteSequence lower, ByteSequence upper, boolean lowerIncluded,
- boolean upperIncluded)
- {
- return newUndefinedSet();
- }
-
- @Override
- int getEntryLimitExceededCount()
- {
- return 0;
- }
-
- @Override
- void addEntry(IndexBuffer buffer, EntryID entryID, Entry entry, IndexingOptions options)
- throws StorageRuntimeException
- {
- // Do nothing.
- }
-
- @Override
- void removeEntry(IndexBuffer buffer, EntryID entryID, Entry entry, IndexingOptions options)
- throws StorageRuntimeException
- {
- // Do nothing.
- }
-
- @Override
- void modifyEntry(IndexBuffer buffer, EntryID entryID, Entry oldEntry, Entry newEntry, List<Modification> mods,
- IndexingOptions options) throws StorageRuntimeException
- {
- // Do nothing.
- }
-
- @Override
- boolean setIndexEntryLimit(int indexEntryLimit)
+ public boolean setIndexEntryLimit(int indexEntryLimit)
{
return false;
}
@Override
- int getIndexEntryLimit()
+ public int getIndexEntryLimit()
{
return 0;
}
@Override
- void setTrusted(WriteableTransaction txn, boolean trusted) throws StorageRuntimeException
+ public void setTrusted(WriteableTransaction txn, boolean trusted) throws StorageRuntimeException
{
// Do nothing.
}
@Override
- boolean isTrusted()
+ public boolean isTrusted()
{
return true;
}
@Override
- boolean isRebuildRunning()
+ public boolean getMaintainCount()
{
return false;
}
@Override
- boolean getMaintainCount()
- {
- return false;
- }
-
- @Override
- void open(WriteableTransaction txn) throws StorageRuntimeException
- {
- // Do nothing.
- }
-
- @Override
- long getRecordCount(ReadableTransaction txn) throws StorageRuntimeException
+ public long getRecordCount(ReadableTransaction txn) throws StorageRuntimeException
{
return 0;
}
@Override
- void delete(WriteableTransaction txn) throws StorageRuntimeException
+ public Cursor<ByteString, EntryIDSet> openCursor(ReadableTransaction txn)
+ {
+ return new Cursor<ByteString, EntryIDSet>()
+ {
+
+ @Override
+ public boolean positionToKey(ByteSequence key)
+ {
+ return false;
+ }
+
+ @Override
+ public boolean positionToKeyOrNext(ByteSequence key)
+ {
+ return false;
+ }
+
+ @Override
+ public boolean positionToLastKey()
+ {
+ return false;
+ }
+
+ @Override
+ public boolean positionToIndex(int index)
+ {
+ return false;
+ }
+
+ @Override
+ public boolean next()
+ {
+ return false;
+ }
+
+ @Override
+ public ByteString getKey()
+ {
+ return null;
+ }
+
+ @Override
+ public EntryIDSet getValue()
+ {
+ return null;
+ }
+
+ @Override
+ public void close()
+ {
+ // Nothing to do.
+ }
+
+ };
+ }
+
+ @Override
+ public void importRemove(WriteableTransaction txn, ImportIDSet idsToBeRemoved) throws StorageRuntimeException
{
// Do nothing.
}
@Override
- void indexEntry(Entry entry, Set<ByteString> keys, IndexingOptions options)
+ public void importPut(WriteableTransaction txn, ImportIDSet idsToBeAdded) throws StorageRuntimeException
+ {
+ // Do nothing.
+ }
+
+ @Override
+ public TreeName getName()
+ {
+ return name;
+ }
+
+ @Override
+ public void open(WriteableTransaction txn) throws StorageRuntimeException
+ {
+ // Do nothing.
+ }
+
+ @Override
+ public void delete(WriteableTransaction txn) throws StorageRuntimeException
+ {
+ // Do nothing.
+ }
+
+ @Override
+ public void setName(TreeName name)
{
// Do nothing.
}
--
Gitblit v1.10.0