From 32034d853f3a284424ccfa87b6de210f1ca814e1 Mon Sep 17 00:00:00 2001
From: Matthew Swift <matthew.swift@forgerock.com>
Date: Tue, 29 Nov 2011 00:31:21 +0000
Subject: [PATCH] Fix OPENDJ-43 (Synchronous Connection decorator implementations should not use AsynchronousConnections) and OPENDJ-328 (Make it easier to implement connection decorators).

---
 opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/LoadBalancer.java |   23 +++++++++++++++++------
 1 files changed, 17 insertions(+), 6 deletions(-)

diff --git a/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/LoadBalancer.java b/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/LoadBalancer.java
index d9e6626..3fb7352 100644
--- a/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/LoadBalancer.java
+++ b/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/LoadBalancer.java
@@ -23,13 +23,13 @@
  *
  *
  *      Copyright 2010 Sun Microsystems, Inc.
+ *      Portions copyright 2011 ForgeRock AS.
  */
 
 package org.forgerock.opendj.ldap;
 
 
 
-import com.forgerock.opendj.util.AbstractConnectionFactory;
 import com.forgerock.opendj.util.CompletedFutureResult;
 import com.forgerock.opendj.util.Validator;
 
@@ -39,7 +39,7 @@
  * A load balancing connection factory allocates connections using the provided
  * algorithm.
  */
-final class LoadBalancer extends AbstractConnectionFactory
+final class LoadBalancer implements ConnectionFactory
 {
   private final LoadBalancingAlgorithm algorithm;
 
@@ -63,9 +63,20 @@
   /**
    * {@inheritDoc}
    */
+  public Connection getConnection() throws ErrorResultException,
+      InterruptedException
+  {
+    return algorithm.getConnectionFactory().getConnection();
+  }
+
+
+
+  /**
+   * {@inheritDoc}
+   */
   @Override
-  public FutureResult<AsynchronousConnection> getAsynchronousConnection(
-      final ResultHandler<? super AsynchronousConnection> resultHandler)
+  public FutureResult<Connection> getConnectionAsync(
+      final ResultHandler<? super Connection> resultHandler)
   {
     final ConnectionFactory factory;
 
@@ -79,10 +90,10 @@
       {
         resultHandler.handleErrorResult(e);
       }
-      return new CompletedFutureResult<AsynchronousConnection>(e);
+      return new CompletedFutureResult<Connection>(e);
     }
 
-    return factory.getAsynchronousConnection(resultHandler);
+    return factory.getConnectionAsync(resultHandler);
   }
 
 

--
Gitblit v1.10.0