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/core/ModifyOperationBasis.java | 68 ++--------------------------------
1 files changed, 4 insertions(+), 64 deletions(-)
diff --git a/opends/src/server/org/opends/server/core/ModifyOperationBasis.java b/opends/src/server/org/opends/server/core/ModifyOperationBasis.java
index 8ab08ce..43474bd 100644
--- a/opends/src/server/org/opends/server/core/ModifyOperationBasis.java
+++ b/opends/src/server/org/opends/server/core/ModifyOperationBasis.java
@@ -27,9 +27,6 @@
package org.opends.server.core;
import org.opends.messages.MessageBuilder;
-import org.opends.messages.Message;
-
-
import static org.opends.server.core.CoreConstants.LOG_ELEMENT_ENTRY_DN;
import static org.opends.server.core.CoreConstants.LOG_ELEMENT_ERROR_MESSAGE;
import static org.opends.server.core.CoreConstants.LOG_ELEMENT_MATCHED_DN;
@@ -38,11 +35,8 @@
import static org.opends.server.core.CoreConstants.LOG_ELEMENT_RESULT_CODE;
import static org.opends.server.loggers.AccessLogger.logModifyRequest;
import static org.opends.server.loggers.AccessLogger.logModifyResponse;
-import static org.opends.server.loggers.ErrorLogger.logError;
import static org.opends.server.loggers.debug.DebugLogger.debugEnabled;
import static org.opends.messages.CoreMessages.*;
-import static org.opends.server.util.StaticUtils.getExceptionMessage;
-
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
@@ -554,9 +548,10 @@
// Log the modify response.
logModifyResponse(this);
- // Notifies any persistent searches that might be registered with the
- // server.
- notifyPersistentSearches(workflowExecuted);
+ // Invoke the post-response callbacks.
+ if (workflowExecuted) {
+ invokePostResponseCallbacks();
+ }
// Invoke the post-response add plugins.
invokePostResponsePlugins(workflowExecuted);
@@ -612,61 +607,6 @@
}
- /**
- * Notifies any persistent searches that might be registered with the server.
- * If no workflow has been executed then don't notify persistent searches.
- *
- * @param workflowExecuted <code>true</code> if a workflow has been
- * executed
- */
- private void notifyPersistentSearches(boolean workflowExecuted)
- {
- if (! workflowExecuted)
- {
- return;
- }
-
- List localOperations =
- (List)getAttachment(Operation.LOCALBACKENDOPERATIONS);
-
- if (localOperations != null)
- {
- for (Object localOp : localOperations)
- {
- LocalBackendModifyOperation localOperation =
- (LocalBackendModifyOperation)localOp;
- // Notify any persistent searches that might be registered with
- // the server.
- if (localOperation.getResultCode() == ResultCode.SUCCESS)
- {
- for (PersistentSearch persistentSearch :
- DirectoryServer.getPersistentSearches())
- {
- try
- {
- persistentSearch.processModify(localOperation,
- localOperation.getCurrentEntry(),
- localOperation.getModifiedEntry());
- }
- catch (Exception e)
- {
- if (debugEnabled())
- {
- TRACER.debugCaught(DebugLogLevel.ERROR, e);
- }
-
- Message message = ERR_MODIFY_ERROR_NOTIFYING_PERSISTENT_SEARCH.
- get(String.valueOf(persistentSearch), getExceptionMessage(e));
- logError(message);
-
- DirectoryServer.deregisterPersistentSearch(persistentSearch);
- }
- }
- }
- }
- }
- }
-
/**
* Updates the error message and the result code of the operation.
--
Gitblit v1.10.0