From 72650d4cc41c64136d064967d7fec3726d850fee Mon Sep 17 00:00:00 2001
From: Ludovic Poitou <ludovic.poitou@forgerock.com>
Date: Thu, 14 Oct 2010 11:52:28 +0000
Subject: [PATCH] Multiple enhancements and bug fixes to the SDK (update from OpenDS by matthew_swift):

---
 sdk/tests/unit-tests-testng/src/org/opends/sdk/LDAPServer.java |   59 ++++++++++++++++++++++++++++++++++-------------------------
 1 files changed, 34 insertions(+), 25 deletions(-)

diff --git a/sdk/tests/unit-tests-testng/src/org/opends/sdk/LDAPServer.java b/sdk/tests/unit-tests-testng/src/org/opends/sdk/LDAPServer.java
index c6695cc..a11c5d5 100644
--- a/sdk/tests/unit-tests-testng/src/org/opends/sdk/LDAPServer.java
+++ b/sdk/tests/unit-tests-testng/src/org/opends/sdk/LDAPServer.java
@@ -47,8 +47,8 @@
 import org.opends.sdk.requests.*;
 import org.opends.sdk.responses.*;
 
-import com.sun.grizzly.TransportFactory;
-import com.sun.grizzly.nio.transport.TCPNIOTransport;
+import org.glassfish.grizzly.TransportFactory;
+import org.glassfish.grizzly.nio.transport.TCPNIOTransport;
 import com.sun.opends.sdk.controls.AccountUsabilityRequestControl;
 import com.sun.opends.sdk.controls.AccountUsabilityResponseControl;
 import com.sun.opends.sdk.ldap.GrizzlyLDAPListenerOptions;
@@ -138,7 +138,8 @@
 
 
 
-  private class LDAPServerConnection implements ServerConnection<Integer>
+  private class LDAPServerConnection implements
+      ServerConnection<Integer>
   {
 
     private final LDAPClientContext clientContext;
@@ -164,7 +165,8 @@
         final AbandonRequest request) throws UnsupportedOperationException
     {
       // Check if we have any concurrent operation with this message id.
-      final AbandonableRequest req = requestsInProgress.get(context);
+      final AbandonableRequest req = requestsInProgress.get(request
+          .getRequestID());
       if (req == null)
       {
         // Nothing to do here.
@@ -186,8 +188,8 @@
      * @param intermediateResponseHandler
      * @throws UnsupportedOperationException
      */
-    public void handleAdd(final Integer context, final AddRequest request,
-        final ResultHandler<? super Result> handler,
+    public void handleAdd(final Integer context,
+        final AddRequest request, final ResultHandler<? super Result> handler,
         final IntermediateResponseHandler intermediateResponseHandler)
         throws UnsupportedOperationException
     {
@@ -399,12 +401,18 @@
 
 
     /**
-     * @param context
-     * @param request
+     * {@inheritDoc}
      */
     public void handleConnectionClosed(final Integer context,
         final UnbindRequest request)
     {
+      close();
+    }
+
+
+
+    private void close()
+    {
       if (saslServer != null)
       {
         try
@@ -421,11 +429,22 @@
 
 
     /**
-     * @param error
+     * {@inheritDoc}
      */
-    public void handleConnectionException(final Throwable error)
+    public void handleConnectionDisconnected(ResultCode resultCode,
+        String message)
     {
+      close();
+    }
 
+
+
+    /**
+     * {@inheritDoc}
+     */
+    public void handleConnectionError(final Throwable error)
+    {
+      close();
     }
 
 
@@ -549,7 +568,7 @@
     {
       if (request.getOID().equals(StartTLSExtendedRequest.OID))
       {
-        final R result = request.getResultDecoder().adaptExtendedErrorResult(
+        final R result = request.getResultDecoder().newExtendedErrorResult(
             ResultCode.SUCCESS, "", "");
         resultHandler.handleResult(result);
         clientContext.startTLS(sslContext, null, sslContext.getSocketFactory()
@@ -599,14 +618,11 @@
      * @param context
      * @param request
      * @param resultHandler
-     * @param searchResulthandler
      * @param intermediateResponseHandler
      * @throws UnsupportedOperationException
      */
     public void handleSearch(final Integer context,
-        final SearchRequest request,
-        final ResultHandler<? super Result> resultHandler,
-        final SearchResultHandler searchResulthandler,
+        final SearchRequest request, final SearchResultHandler resultHandler,
         final IntermediateResponseHandler intermediateResponseHandler)
         throws UnsupportedOperationException
     {
@@ -648,7 +664,7 @@
               false, 10, false, 0));
         }
       }
-      searchResulthandler.handleEntry(e);
+      resultHandler.handleEntry(e);
       result = Responses.newResult(ResultCode.SUCCESS);
       resultHandler.handleResult(result);
       requestsInProgress.remove(context);
@@ -707,7 +723,7 @@
    * @param context
    * @return
    */
-  public ServerConnection<Integer> accept(final LDAPClientContext context)
+  public ServerConnection<Integer> handleAccept(final LDAPClientContext context)
   {
     return new LDAPServerConnection(context);
   }
@@ -759,14 +775,7 @@
     {
       return;
     }
-    try
-    {
-      listener.close();
-    }
-    catch (final IOException e)
-    {
-      e.printStackTrace();
-    }
+    listener.close();
     try
     {
       transport.stop();

--
Gitblit v1.10.0