From 05875933ae6929bc8e53f366ce116f2fc431fd46 Mon Sep 17 00:00:00 2001
From: boli <boli@localhost>
Date: Fri, 27 Jul 2007 21:06:35 +0000
Subject: [PATCH] These set of changes implement VLV and filter capability to OpenDS:

---
 opends/src/server/org/opends/server/backends/jeb/ImportThread.java |   52 +++++++++++++++++++++++++++++++---------------------
 1 files changed, 31 insertions(+), 21 deletions(-)

diff --git a/opends/src/server/org/opends/server/backends/jeb/ImportThread.java b/opends/src/server/org/opends/server/backends/jeb/ImportThread.java
index fc9b757..264464b 100644
--- a/opends/src/server/org/opends/server/backends/jeb/ImportThread.java
+++ b/opends/src/server/org/opends/server/backends/jeb/ImportThread.java
@@ -170,6 +170,8 @@
       }
     }
 
+    nIndexes += entryContainer.getVLVIndexes().size();
+
     // Divide the total buffer size by the number of threads
     // and give that much to each index.
     long indexBufferSize = importContext.getBufferSize() / nIndexes;
@@ -186,64 +188,72 @@
 
       if (attrIndex.equalityIndex != null)
       {
-        IndexBuilder indexBuilder =
-             new IndexBuilder(importContext,
+        AttributeIndexBuilder attributeIndexBuilder =
+             new AttributeIndexBuilder(importContext,
                               attrIndex.equalityIndex,
                               indexEntryLimit,
                               indexBufferSize);
-        builders.add(indexBuilder);
+        builders.add(attributeIndexBuilder);
       }
       if (attrIndex.presenceIndex != null)
       {
-        IndexBuilder indexBuilder =
-             new IndexBuilder(importContext,
+        AttributeIndexBuilder attributeIndexBuilder =
+             new AttributeIndexBuilder(importContext,
                               attrIndex.presenceIndex,
                               indexEntryLimit,
                               indexBufferSize);
-        builders.add(indexBuilder);
+        builders.add(attributeIndexBuilder);
       }
       if (attrIndex.substringIndex != null)
       {
-        IndexBuilder indexBuilder =
-             new IndexBuilder(importContext,
+        AttributeIndexBuilder attributeIndexBuilder =
+             new AttributeIndexBuilder(importContext,
                               attrIndex.substringIndex,
                               indexEntryLimit,
                               indexBufferSize);
-        builders.add(indexBuilder);
+        builders.add(attributeIndexBuilder);
       }
       if (attrIndex.orderingIndex != null)
       {
-        IndexBuilder indexBuilder =
-             new IndexBuilder(importContext, attrIndex.orderingIndex,
+        AttributeIndexBuilder attributeIndexBuilder =
+             new AttributeIndexBuilder(importContext, attrIndex.orderingIndex,
                               indexEntryLimit,
                               indexBufferSize);
-        builders.add(indexBuilder);
+        builders.add(attributeIndexBuilder);
       }
       if (attrIndex.approximateIndex != null)
       {
-        IndexBuilder indexBuilder =
-            new IndexBuilder(importContext, attrIndex.approximateIndex,
+        AttributeIndexBuilder attributeIndexBuilder =
+            new AttributeIndexBuilder(importContext, attrIndex.approximateIndex,
                              indexEntryLimit,
                              indexBufferSize);
-        builders.add(indexBuilder);
+        builders.add(attributeIndexBuilder);
       }
     }
 
+    // Create an vlvIndex builder for each VLV index database.
+    for (VLVIndex vlvIndex : entryContainer.getVLVIndexes())
+    {
+      VLVIndexBuilder vlvIndexBuilder =
+          new VLVIndexBuilder(importContext, vlvIndex, indexBufferSize);
+      builders.add(vlvIndexBuilder);
+    }
+
     // Create an index builder for the children index.
     Index id2Children = entryContainer.getID2Children();
-    IndexBuilder indexBuilder =
-         new IndexBuilder(importContext, id2Children,
+    AttributeIndexBuilder attributeIndexBuilder =
+         new AttributeIndexBuilder(importContext, id2Children,
                           importContext.getConfig().getBackendIndexEntryLimit(),
                           indexBufferSize);
-    builders.add(indexBuilder);
+    builders.add(attributeIndexBuilder);
 
     // Create an index builder for the subtree index.
     Index id2Subtree = entryContainer.getID2Subtree();
-    indexBuilder =
-         new IndexBuilder(importContext, id2Subtree,
+    attributeIndexBuilder =
+         new AttributeIndexBuilder(importContext, id2Subtree,
                           importContext.getConfig().getBackendIndexEntryLimit(),
                           indexBufferSize);
-    builders.add(indexBuilder);
+    builders.add(attributeIndexBuilder);
 
     for (IndexBuilder b : builders)
     {

--
Gitblit v1.10.0