From 2858afa718f634eab2c3c845f2f0c7dde9f45e6f Mon Sep 17 00:00:00 2001
From: Jean-Noel Rouvignac <jean-noel.rouvignac@forgerock.com>
Date: Thu, 19 Dec 2013 08:37:13 +0000
Subject: [PATCH] Code cleanup of extended operations.

---
 opendj-sdk/opends/src/server/org/opends/server/extensions/CancelExtendedOperation.java |  108 +++++++++++++++---------------------------------------
 1 files changed, 30 insertions(+), 78 deletions(-)

diff --git a/opendj-sdk/opends/src/server/org/opends/server/extensions/CancelExtendedOperation.java b/opendj-sdk/opends/src/server/org/opends/server/extensions/CancelExtendedOperation.java
index 167bf49..37cdc29 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/extensions/CancelExtendedOperation.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/extensions/CancelExtendedOperation.java
@@ -22,36 +22,26 @@
  *
  *
  *      Copyright 2006-2009 Sun Microsystems, Inc.
- *      Portions copyright 2012 ForgeRock AS.
+ *      Portions copyright 2012-2013 ForgeRock AS
  */
 package org.opends.server.extensions;
 
-
-
 import org.opends.messages.Message;
 import org.opends.server.admin.std.server.CancelExtendedOperationHandlerCfg;
 import org.opends.server.api.ClientConnection;
 import org.opends.server.api.ExtendedOperationHandler;
 import org.opends.server.config.ConfigException;
-import org.opends.server.core.DirectoryServer;
 import org.opends.server.core.ExtendedOperation;
 import org.opends.server.loggers.debug.DebugTracer;
-import org.opends.server.protocols.asn1.ASN1Reader;
 import org.opends.server.protocols.asn1.ASN1;
-import org.opends.server.types.ByteString;
-import org.opends.server.types.CancelRequest;
-import org.opends.server.types.CancelResult;
-import org.opends.server.types.DebugLogLevel;
-import org.opends.server.types.InitializationException;
-import org.opends.server.types.ResultCode;
+import org.opends.server.protocols.asn1.ASN1Reader;
+import org.opends.server.types.*;
 
 import static org.opends.messages.ExtensionMessages.*;
 import static org.opends.server.loggers.debug.DebugLogger.*;
 import static org.opends.server.util.ServerConstants.*;
 import static org.opends.server.util.StaticUtils.*;
 
-
-
 /**
  * This class implements the LDAP cancel extended operation defined in RFC 3909.
  * It is similar to the LDAP abandon operation, with the exception that it
@@ -67,8 +57,6 @@
    */
   private static final DebugTracer TRACER = getTracer();
 
-
-
   /**
    * Create an instance of this cancel extended operation.  All initialization
    * should be performed in the <CODE>initializeExtendedOperationHandler</CODE>
@@ -79,55 +67,21 @@
     super();
   }
 
-
-  /**
-   * Initializes this extended operation handler based on the information in the
-   * provided configuration entry.  It should also register itself with the
-   * Directory Server for the particular kinds of extended operations that it
-   * will process.
-   *
-   * @param  config       The configuration that contains the information
-   *                      to use to initialize this extended operation handler.
-   *
-   * @throws  ConfigException  If an unrecoverable problem arises in the
-   *                           process of performing the initialization.
-   *
-   * @throws  InitializationException  If a problem occurs during initialization
-   *                                   that is not related to the server
-   *                                   configuration.
-   */
+  /** {@inheritDoc} */
+  @Override
   public void initializeExtendedOperationHandler(
                    CancelExtendedOperationHandlerCfg config)
          throws ConfigException, InitializationException
   {
-    // No special configuration is required.
-
-    DirectoryServer.registerSupportedExtension(OID_CANCEL_REQUEST, this);
-
-    registerControlsAndFeatures();
+    super.initializeExtendedOperationHandler(config);
   }
 
-
-
-  /**
-   * Performs any finalization that may be necessary for this extended
-   * operation handler.  By default, no finalization is performed.
-   */
-  @Override
-  public void finalizeExtendedOperationHandler()
-  {
-    DirectoryServer.deregisterSupportedExtension(OID_CANCEL_REQUEST);
-
-    deregisterControlsAndFeatures();
-  }
-
-
-
   /**
    * Processes the provided extended operation.
    *
    * @param  operation  The extended operation to be processed.
    */
+  @Override
   public void processExtendedOperation(ExtendedOperation operation)
   {
     // The value of the request must be a sequence containing an integer element
@@ -138,34 +92,30 @@
     if (requestValue == null)
     {
       operation.setResultCode(ResultCode.PROTOCOL_ERROR);
-
       operation.appendErrorMessage(ERR_EXTOP_CANCEL_NO_REQUEST_VALUE.get());
       return;
     }
-    else
+
+    try
     {
-      try
+      ASN1Reader reader = ASN1.getReader(requestValue);
+      reader.readStartSequence();
+      idToCancel = (int)reader.readInteger();
+      reader.readEndSequence();
+    }
+    catch (Exception e)
+    {
+      if (debugEnabled())
       {
-        ASN1Reader reader = ASN1.getReader(requestValue);
-        reader.readStartSequence();
-        idToCancel = (int)reader.readInteger();
-        reader.readEndSequence();
+        TRACER.debugCaught(DebugLogLevel.ERROR, e);
       }
-      catch (Exception e)
-      {
-        if (debugEnabled())
-        {
-          TRACER.debugCaught(DebugLogLevel.ERROR, e);
-        }
 
-        operation.setResultCode(ResultCode.PROTOCOL_ERROR);
+      operation.setResultCode(ResultCode.PROTOCOL_ERROR);
 
-        Message message = ERR_EXTOP_CANCEL_CANNOT_DECODE_REQUEST_VALUE.get(
-                getExceptionMessage(e));
-        operation.appendErrorMessage(message);
-
-        return;
-      }
+      Message message = ERR_EXTOP_CANCEL_CANNOT_DECODE_REQUEST_VALUE.get(
+              getExceptionMessage(e));
+      operation.appendErrorMessage(message);
+      return;
     }
 
 
@@ -188,15 +138,17 @@
     operation.appendErrorMessage(cancelResult.getResponseMessage());
   }
 
+  /** {@inheritDoc} */
+  @Override
+  public String getExtendedOperationOID()
+  {
+    return OID_CANCEL_REQUEST;
+  }
 
-
-  /**
-   * {@inheritDoc}
-   */
+  /** {@inheritDoc} */
   @Override
   public String getExtendedOperationName()
   {
     return "Cancel";
   }
 }
-

--
Gitblit v1.10.0