From 4ea2bc73aa3a298a61532530eb177704fa4a569f Mon Sep 17 00:00:00 2001
From: matthew_swift <matthew_swift@localhost>
Date: Mon, 11 Jan 2010 14:23:49 +0000
Subject: [PATCH] Fix SDK issue 4421: Remove generic AsynchronousConnection parameter from ConnectionFactory.

---
 opendj-sdk/sdk/src/org/opends/sdk/HeartBeatConnectionFactory.java |   53 +++++++++++++++++++++++++++++++++--------------------
 1 files changed, 33 insertions(+), 20 deletions(-)

diff --git a/opendj-sdk/sdk/src/org/opends/sdk/HeartBeatConnectionFactory.java b/opendj-sdk/sdk/src/org/opends/sdk/HeartBeatConnectionFactory.java
index 9e95afe..143f85b 100644
--- a/opendj-sdk/sdk/src/org/opends/sdk/HeartBeatConnectionFactory.java
+++ b/opendj-sdk/sdk/src/org/opends/sdk/HeartBeatConnectionFactory.java
@@ -33,7 +33,6 @@
 import java.util.LinkedList;
 import java.util.List;
 import java.util.concurrent.TimeUnit;
-import java.util.concurrent.TimeoutException;
 
 import org.opends.sdk.requests.*;
 import org.opends.sdk.responses.*;
@@ -48,7 +47,7 @@
  * that sends a periodic search request to a Directory Server.
  */
 final class HeartBeatConnectionFactory extends
-    AbstractConnectionFactory<AsynchronousConnection>
+    AbstractConnectionFactory
 {
   private final SearchRequest heartBeat;
 
@@ -58,7 +57,7 @@
 
   private final List<AsynchronousConnectionImpl> activeConnections;
 
-  private final ConnectionFactory<?> parentFactory;
+  private final ConnectionFactory parentFactory;
 
 
 
@@ -77,7 +76,7 @@
    * @param unit
    *          The time unit of the timeout argument.
    */
-  HeartBeatConnectionFactory(ConnectionFactory<?> connectionFactory,
+  HeartBeatConnectionFactory(ConnectionFactory connectionFactory,
       long timeout, TimeUnit unit)
   {
     this(connectionFactory, timeout, unit, DEFAULT_SEARCH);
@@ -106,7 +105,7 @@
    * @param heartBeat
    *          The search request to use when pinging connections.
    */
-  HeartBeatConnectionFactory(ConnectionFactory<?> connectionFactory,
+  HeartBeatConnectionFactory(ConnectionFactory connectionFactory,
       long timeout, TimeUnit unit, SearchRequest heartBeat)
   {
     this.heartBeat = heartBeat;
@@ -125,13 +124,17 @@
    * operations.
    */
   private final class AsynchronousConnectionImpl implements
-      AsynchronousConnection, ConnectionEventListener, ResultHandler<Result>
+      AsynchronousConnection, ConnectionEventListener,
+      ResultHandler<Result>
   {
     private final AsynchronousConnection connection;
+
     private long lastSuccessfulPing;
+
     private FutureResult<Result> lastPingFuture;
 
 
+
     private AsynchronousConnectionImpl(AsynchronousConnection connection)
     {
       this.connection = connection;
@@ -345,16 +348,20 @@
       return connection.isClosed();
     }
 
+
+
     /**
      * {@inheritDoc}
      */
     public boolean isValid()
     {
-      return connection.isValid() && (lastSuccessfulPing <= 0 ||
-          System.currentTimeMillis() - lastSuccessfulPing <
-              unit.toMillis(timeout) * 2);
+      return connection.isValid()
+          && (lastSuccessfulPing <= 0 || System.currentTimeMillis()
+              - lastSuccessfulPing < unit.toMillis(timeout) * 2);
     }
 
+
+
     public void connectionReceivedUnsolicitedNotification(
         GenericExtendedResult notification)
     {
@@ -373,13 +380,19 @@
       }
     }
 
-    public void handleErrorResult(ErrorResultException error) {
+
+
+    public void handleErrorResult(ErrorResultException error)
+    {
       connection.close(Requests.newUnbindRequest(),
           "Heartbeat retured error: " + error);
     }
 
-    public void handleResult(Result result) {
-        lastSuccessfulPing = System.currentTimeMillis();
+
+
+    public void handleResult(Result result)
+    {
+      lastSuccessfulPing = System.currentTimeMillis();
     }
   }
 
@@ -398,25 +411,25 @@
     public void run()
     {
       long startTime;
-      while(true)
+      while (true)
       {
         startTime = System.currentTimeMillis();
         synchronized (activeConnections)
         {
           for (AsynchronousConnectionImpl connection : activeConnections)
           {
-            if(connection.lastPingFuture == null ||
-                connection.lastPingFuture.isDone())
+            if (connection.lastPingFuture == null
+                || connection.lastPingFuture.isDone())
             {
-              connection.lastPingFuture =
-                  connection.search(heartBeat, connection, null);
+              connection.lastPingFuture = connection.search(heartBeat,
+                  connection, null);
             }
           }
         }
         try
         {
-          sleep(unit.toMillis(timeout) -
-              (System.currentTimeMillis() - startTime));
+          sleep(unit.toMillis(timeout)
+              - (System.currentTimeMillis() - startTime));
         }
         catch (InterruptedException e)
         {
@@ -464,7 +477,7 @@
 
 
   public FutureResult<AsynchronousConnection> getAsynchronousConnection(
-      ResultHandler<? super AsynchronousConnection> handler)
+      ResultHandler<AsynchronousConnection> handler)
   {
     FutureResultImpl future = new FutureResultImpl(handler);
     future.setFutureResult(parentFactory

--
Gitblit v1.10.0