From 35a408038c1de64a6f13f0e7b246a645e9945e3c Mon Sep 17 00:00:00 2001
From: boli <boli@localhost>
Date: Tue, 18 Mar 2008 22:44:58 +0000
Subject: [PATCH] With this refactoring:
---
opends/tests/unit-tests-testng/src/server/org/opends/server/plugins/DelayPreOpPlugin.java | 68 ++++++++++++++++++---------------
1 files changed, 37 insertions(+), 31 deletions(-)
diff --git a/opends/tests/unit-tests-testng/src/server/org/opends/server/plugins/DelayPreOpPlugin.java b/opends/tests/unit-tests-testng/src/server/org/opends/server/plugins/DelayPreOpPlugin.java
index f5093d1..20eea6f 100644
--- a/opends/tests/unit-tests-testng/src/server/org/opends/server/plugins/DelayPreOpPlugin.java
+++ b/opends/tests/unit-tests-testng/src/server/org/opends/server/plugins/DelayPreOpPlugin.java
@@ -35,13 +35,14 @@
import org.opends.server.admin.std.server.PluginCfg;
import org.opends.server.api.plugin.DirectoryServerPlugin;
import org.opends.server.api.plugin.PluginType;
-import org.opends.server.api.plugin.PreOperationPluginResult;
+import org.opends.server.api.plugin.PluginResult;
import org.opends.server.config.ConfigException;
import org.opends.server.protocols.asn1.ASN1Long;
import org.opends.server.protocols.asn1.ASN1OctetString;
import org.opends.server.protocols.ldap.LDAPControl;
import org.opends.server.types.Control;
import org.opends.server.types.ResultCode;
+import org.opends.server.types.CanceledOperationException;
import org.opends.server.types.operation.*;
import org.opends.messages.Message;
@@ -115,9 +116,9 @@
* {@inheritDoc}
*/
@Override()
- public PreOperationPluginResult
+ public PluginResult.PreOperation
doPreOperation(PreOperationAddOperation addOperation)
- {
+ throws CanceledOperationException {
return doPreOperationInternal(addOperation);
}
@@ -127,10 +128,18 @@
* {@inheritDoc}
*/
@Override()
- public PreOperationPluginResult
- doPreOperation(PreOperationBindOperation bindOperation)
+ public PluginResult.PreOperation
+ doPreOperation(PreOperationBindOperation bindOperation)
{
- return doPreOperationInternal(bindOperation);
+ try
+ {
+ return doPreOperationInternal(bindOperation);
+ }
+ catch(CanceledOperationException coe)
+ {
+ // Bind ops can't be canceled. Just ignore.
+ return PluginResult.PreOperation.continueOperationProcessing();
+ }
}
@@ -139,9 +148,9 @@
* {@inheritDoc}
*/
@Override()
- public PreOperationPluginResult
- doPreOperation(PreOperationCompareOperation compareOperation)
- {
+ public PluginResult.PreOperation
+ doPreOperation(PreOperationCompareOperation compareOperation)
+ throws CanceledOperationException {
return doPreOperationInternal(compareOperation);
}
@@ -151,9 +160,9 @@
* {@inheritDoc}
*/
@Override()
- public PreOperationPluginResult
+ public PluginResult.PreOperation
doPreOperation(PreOperationDeleteOperation deleteOperation)
- {
+ throws CanceledOperationException {
return doPreOperationInternal(deleteOperation);
}
@@ -163,9 +172,9 @@
* {@inheritDoc}
*/
@Override()
- public PreOperationPluginResult
+ public PluginResult.PreOperation
doPreOperation(PreOperationExtendedOperation extendedOperation)
- {
+ throws CanceledOperationException {
return doPreOperationInternal(extendedOperation);
}
@@ -175,9 +184,9 @@
* {@inheritDoc}
*/
@Override()
- public PreOperationPluginResult
+ public PluginResult.PreOperation
doPreOperation(PreOperationModifyOperation modifyOperation)
- {
+ throws CanceledOperationException {
return doPreOperationInternal(modifyOperation);
}
@@ -187,9 +196,9 @@
* {@inheritDoc}
*/
@Override()
- public PreOperationPluginResult
+ public PluginResult.PreOperation
doPreOperation(PreOperationModifyDNOperation modifyDNOperation)
- {
+ throws CanceledOperationException {
return doPreOperationInternal(modifyDNOperation);
}
@@ -199,9 +208,9 @@
* {@inheritDoc}
*/
@Override()
- public PreOperationPluginResult
+ public PluginResult.PreOperation
doPreOperation(PreOperationSearchOperation searchOperation)
- {
+ throws CanceledOperationException {
return doPreOperationInternal(searchOperation);
}
@@ -217,9 +226,9 @@
*
* @return The result of the plugin processing.
*/
- private PreOperationPluginResult
+ private PluginResult.PreOperation
doPreOperationInternal(PreOperationOperation operation)
- {
+ throws CanceledOperationException {
long delayDuration = 0L;
List<Control> requestControls = operation.getRequestControls();
if (requestControls != null)
@@ -235,10 +244,10 @@
}
catch (Exception e)
{
- operation.setResultCode(ResultCode.PROTOCOL_ERROR);
- operation.appendErrorMessage(Message.raw("Unable to decode the delay request " +
- "control: " + e));
- return new PreOperationPluginResult(false, false, true);
+ return PluginResult.PreOperation.stopProcessing(
+ ResultCode.PROTOCOL_ERROR,
+ Message.raw("Unable to decode the delay request control: " +
+ e));
}
}
}
@@ -246,16 +255,13 @@
if (delayDuration <= 0)
{
- return PreOperationPluginResult.SUCCESS;
+ return PluginResult.PreOperation.continueOperationProcessing();
}
long stopSleepTime = System.currentTimeMillis() + delayDuration;
while (System.currentTimeMillis() < stopSleepTime)
{
- if (operation.getCancelRequest() != null)
- {
- break;
- }
+ operation.checkIfCanceled(false);
try
{
@@ -263,7 +269,7 @@
} catch (Exception e) {}
}
- return new PreOperationPluginResult(false, false, false);
+ return PluginResult.PreOperation.continueOperationProcessing();
}
--
Gitblit v1.10.0