From cd55d08a6829f05a8a42fb0ca625615aa5be81f2 Mon Sep 17 00:00:00 2001
From: Jean-Noel Rouvignac <jean-noel.rouvignac@forgerock.com>
Date: Wed, 27 Mar 2013 12:12:50 +0000
Subject: [PATCH] OPENDJ-832 Leverage the work queue for processing requests received on the HTTP connection handler

---
 opendj3/opendj-ldap-sdk/src/main/java/com/forgerock/opendj/util/RecursiveFutureResult.java |   13 ++++++++++++-
 1 files changed, 12 insertions(+), 1 deletions(-)

diff --git a/opendj3/opendj-ldap-sdk/src/main/java/com/forgerock/opendj/util/RecursiveFutureResult.java b/opendj3/opendj-ldap-sdk/src/main/java/com/forgerock/opendj/util/RecursiveFutureResult.java
index db39636..9aa3085 100644
--- a/opendj3/opendj-ldap-sdk/src/main/java/com/forgerock/opendj/util/RecursiveFutureResult.java
+++ b/opendj3/opendj-ldap-sdk/src/main/java/com/forgerock/opendj/util/RecursiveFutureResult.java
@@ -47,11 +47,14 @@
  *            The type of the outer result.
  */
 public abstract class RecursiveFutureResult<M, N> implements FutureResult<N>, ResultHandler<M> {
-    private final class FutureResultImpl extends AsynchronousFutureResult<N> {
+
+    private final class FutureResultImpl extends AsynchronousFutureResult<N, ResultHandler<? super N>> {
+
         private FutureResultImpl(final ResultHandler<? super N> handler) {
             super(handler);
         }
 
+        @Override
         public int getRequestID() {
             if (innerFuture instanceof FutureResult<?>) {
                 final FutureResult<?> tmp = (FutureResult<?>) innerFuture;
@@ -97,6 +100,7 @@
     /**
      * {@inheritDoc}
      */
+    @Override
     public final boolean cancel(final boolean mayInterruptIfRunning) {
         return impl.cancel(mayInterruptIfRunning);
     }
@@ -104,6 +108,7 @@
     /**
      * {@inheritDoc}
      */
+    @Override
     public final N get() throws ErrorResultException, InterruptedException {
         return impl.get();
     }
@@ -111,6 +116,7 @@
     /**
      * {@inheritDoc}
      */
+    @Override
     public final N get(final long timeout, final TimeUnit unit) throws ErrorResultException,
             TimeoutException, InterruptedException {
         return impl.get(timeout, unit);
@@ -119,6 +125,7 @@
     /**
      * {@inheritDoc}
      */
+    @Override
     public final int getRequestID() {
         return impl.getRequestID();
     }
@@ -126,6 +133,7 @@
     /**
      * {@inheritDoc}
      */
+    @Override
     public final void handleErrorResult(final ErrorResultException error) {
         try {
             outerFuture = chainErrorResult(error, impl);
@@ -137,6 +145,7 @@
     /**
      * {@inheritDoc}
      */
+    @Override
     public final void handleResult(final M result) {
         try {
             outerFuture = chainResult(result, impl);
@@ -148,6 +157,7 @@
     /**
      * {@inheritDoc}
      */
+    @Override
     public final boolean isCancelled() {
         return impl.isCancelled();
     }
@@ -155,6 +165,7 @@
     /**
      * {@inheritDoc}
      */
+    @Override
     public final boolean isDone() {
         return impl.isDone();
     }

--
Gitblit v1.10.0