From 7d493004673ce0dda0559289fd2931a6342ceedb Mon Sep 17 00:00:00 2001
From: dugan <dugan@localhost>
Date: Fri, 09 Jan 2009 17:58:28 +0000
Subject: [PATCH] Allows import-ldif to load VLV indexes.

---
 opends/src/server/org/opends/server/backends/jeb/importLDIF/WorkThread.java |   13 +++++++++++--
 1 files changed, 11 insertions(+), 2 deletions(-)

diff --git a/opends/src/server/org/opends/server/backends/jeb/importLDIF/WorkThread.java b/opends/src/server/org/opends/server/backends/jeb/importLDIF/WorkThread.java
index fa1a238..8b8f16e 100644
--- a/opends/src/server/org/opends/server/backends/jeb/importLDIF/WorkThread.java
+++ b/opends/src/server/org/opends/server/backends/jeb/importLDIF/WorkThread.java
@@ -37,6 +37,7 @@
 import java.util.concurrent.BlockingQueue;
 import java.util.concurrent.TimeUnit;
 import java.util.*;
+import org.opends.server.util.*;
 
 import com.sleepycat.je.*;
 
@@ -70,6 +71,7 @@
    */
   private boolean stopRequested = false;
 
+  private Transaction txn = null;
 
   //The substring buffer manager to use.
   private BufferManager bufferMgr;
@@ -195,7 +197,7 @@
   private void
   processIndexesEntryDelete(WorkElement element, Entry existingEntry,
                             EntryID entryID)
-          throws DatabaseException {
+          throws DatabaseException, DirectoryException, JebException {
     DNContext context = element.getContext();
     Map<AttributeType, AttributeIndex> attrIndexMap =
             context.getAttrIndexMap();
@@ -221,9 +223,13 @@
           delete(index, existingEntry, entryID);
         }
       }
+      for(VLVIndex vlvIdx : context.getEntryContainer().getVLVIndexes()) {
+          vlvIdx.removeEntry(txn, entryID, existingEntry);
+      }
     }
   }
 
+
   /**
    * Process all indexes using the specified entry ID.
    *
@@ -233,7 +239,7 @@
    */
   private void
   processIndexesEntry(WorkElement element, EntryID entryID)
-          throws DatabaseException {
+          throws DatabaseException, DirectoryException, JebException {
     Entry entry = element.getEntry();
     DNContext context = element.getContext();
     LDIFImportConfig ldifImportConfig = context.getLDIFImportConfig();
@@ -267,6 +273,9 @@
         if((index=attributeIndex.getApproximateIndex()) != null) {
           insert(index, entry, entryID);
         }
+        for(VLVIndex vlvIdx : context.getEntryContainer().getVLVIndexes()) {
+            vlvIdx.addEntry(txn, entryID, entry);
+        }
       }
     }
   }

--
Gitblit v1.10.0