From 503283bea9d628b1d118107d62a7c0fd6df61fce Mon Sep 17 00:00:00 2001
From: Jean-Noel Rouvignac <jean-noel.rouvignac@forgerock.com>
Date: Fri, 05 Apr 2013 09:21:58 +0000
Subject: [PATCH] OPENDJ-830 (CR-1505) Implement authentication and authorization for HTTP connection handler

---
 opends/src/server/org/opends/server/protocols/http/HTTPClientConnection.java |   22 ++++++++++++++++------
 1 files changed, 16 insertions(+), 6 deletions(-)

diff --git a/opends/src/server/org/opends/server/protocols/http/HTTPClientConnection.java b/opends/src/server/org/opends/server/protocols/http/HTTPClientConnection.java
index 0306288..3cb3d59 100644
--- a/opends/src/server/org/opends/server/protocols/http/HTTPClientConnection.java
+++ b/opends/src/server/org/opends/server/protocols/http/HTTPClientConnection.java
@@ -41,6 +41,7 @@
 import javax.servlet.ServletRequest;
 
 import org.forgerock.opendj.ldap.ErrorResultException;
+import org.forgerock.opendj.ldap.ResultHandler;
 import org.forgerock.opendj.ldap.SearchResultHandler;
 import org.forgerock.opendj.ldap.responses.Result;
 import org.opends.messages.Message;
@@ -86,15 +87,22 @@
   {
 
     final Operation operation;
-    final AsynchronousFutureResult<Result, SearchResultHandler> futureResult;
+    final AsynchronousFutureResult<Result, ResultHandler<? super Result>>
+            futureResult;
 
     public OperationWithFutureResult(Operation operation,
-        AsynchronousFutureResult<Result, SearchResultHandler> futureResult)
+        AsynchronousFutureResult<Result, ResultHandler<? super Result>>
+        futureResult)
     {
       this.operation = operation;
       this.futureResult = futureResult;
     }
 
+    @Override
+    public String toString()
+    {
+      return operation.toString();
+    }
   }
 
   /** The tracer object for the debug logger. */
@@ -282,7 +290,8 @@
         this.operationsInProgress.get(operation.getMessageID());
     if (op != null)
     {
-      op.futureResult.getResultHandler().handleEntry(from(searchEntry));
+      ((SearchResultHandler) op.futureResult.getResultHandler())
+          .handleEntry(from(searchEntry));
     }
   }
 
@@ -295,7 +304,8 @@
         this.operationsInProgress.get(operation.getMessageID());
     if (op != null)
     {
-      op.futureResult.getResultHandler().handleReference(from(searchReference));
+      ((SearchResultHandler) op.futureResult.getResultHandler())
+          .handleReference(from(searchReference));
     }
     return connectionValid;
   }
@@ -402,8 +412,8 @@
    *           If an error occurs
    */
   void addOperationInProgress(Operation operation,
-      AsynchronousFutureResult<Result, SearchResultHandler> futureResult)
-      throws DirectoryException
+      AsynchronousFutureResult<Result, ResultHandler<? super Result>>
+          futureResult) throws DirectoryException
   {
     synchronized (opsInProgressLock)
     {

--
Gitblit v1.10.0