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