From 218b40d6e175f5b58b89ff7e0b3050577d3aff2f Mon Sep 17 00:00:00 2001
From: matthew_swift <matthew_swift@localhost>
Date: Mon, 10 Nov 2008 13:41:49 +0000
Subject: [PATCH] This change fixes issue 3567:

---
 opends/src/server/org/opends/server/workflowelement/localbackend/LocalBackendSearchOperation.java |   25 +++++++++++++------------
 1 files changed, 13 insertions(+), 12 deletions(-)

diff --git a/opends/src/server/org/opends/server/workflowelement/localbackend/LocalBackendSearchOperation.java b/opends/src/server/org/opends/server/workflowelement/localbackend/LocalBackendSearchOperation.java
index 9f966e3..293cb99 100644
--- a/opends/src/server/org/opends/server/workflowelement/localbackend/LocalBackendSearchOperation.java
+++ b/opends/src/server/org/opends/server/workflowelement/localbackend/LocalBackendSearchOperation.java
@@ -121,16 +121,16 @@
   /**
    * Process this search operation against a local backend.
    *
-   * @param  backend  The backend in which the search operation should be
-   *                  performed.
-   *
-   * @throws CanceledOperationException if this operation should be
-   * cancelled
+   * @param wfe
+   *          The local backend work-flow element.
+   * @throws CanceledOperationException
+   *           if this operation should be cancelled
    */
-  void processLocalSearch(Backend backend) throws CanceledOperationException {
+  void processLocalSearch(LocalBackendWorkflowElement wfe)
+      throws CanceledOperationException
+  {
     boolean executePostOpPlugins = false;
-
-    this.backend = backend;
+    this.backend = wfe.getBackend();
 
     clientConnection = getClientConnection();
 
@@ -230,7 +230,8 @@
       // If there's a persistent search, then register it with the server.
       if (persistentSearch != null)
       {
-        DirectoryServer.registerPersistentSearch(persistentSearch);
+        wfe.registerPersistentSearch(persistentSearch);
+        clientConnection.registerPersistentSearch(persistentSearch);
         setSendResponse(false);
       }
 
@@ -254,7 +255,7 @@
 
         if (persistentSearch != null)
         {
-          DirectoryServer.deregisterPersistentSearch(persistentSearch);
+          persistentSearch.cancel();
           setSendResponse(true);
         }
 
@@ -264,7 +265,7 @@
       {
         if (persistentSearch != null)
         {
-          DirectoryServer.deregisterPersistentSearch(persistentSearch);
+          persistentSearch.cancel();
           setSendResponse(true);
         }
 
@@ -283,7 +284,7 @@
 
         if (persistentSearch != null)
         {
-          DirectoryServer.deregisterPersistentSearch(persistentSearch);
+          persistentSearch.cancel();
           setSendResponse(true);
         }
 

--
Gitblit v1.10.0