From 263d085885df024dca9250cc03c807912b0a7662 Mon Sep 17 00:00:00 2001
From: Matthew Swift <matthew.swift@forgerock.com>
Date: Tue, 24 Apr 2012 22:33:21 +0000
Subject: [PATCH] Reformat to comply with new Checkstyle rules.

---
 opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/HeartBeatConnectionFactory.java |  619 ++++++++++++++++++++++++--------------------------------
 1 files changed, 264 insertions(+), 355 deletions(-)

diff --git a/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/HeartBeatConnectionFactory.java b/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/HeartBeatConnectionFactory.java
index e95795c..fc61d8c 100644
--- a/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/HeartBeatConnectionFactory.java
+++ b/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/HeartBeatConnectionFactory.java
@@ -6,17 +6,16 @@
  * (the "License").  You may not use this file except in compliance
  * with the License.
  *
- * You can obtain a copy of the license at
- * trunk/opendj3/legal-notices/CDDLv1_0.txt
+ * You can obtain a copy of the license at legal-notices/CDDLv1_0.txt
  * or http://forgerock.org/license/CDDLv1.0.html.
  * See the License for the specific language governing permissions
  * and limitations under the License.
  *
  * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at
- * trunk/opendj3/legal-notices/CDDLv1_0.txt.  If applicable,
- * add the following below this CDDL HEADER, with the fields enclosed
- * by brackets "[]" replaced with your own identifying information:
+ * file and include the License file at legal-notices/CDDLv1_0.txt.
+ * If applicable, add the following below this CDDL HEADER, with the
+ * fields enclosed by brackets "[]" replaced with your own identifying
+ * information:
  *      Portions Copyright [yyyy] [name of copyright owner]
  *
  * CDDL HEADER END
@@ -28,8 +27,6 @@
 
 package org.forgerock.opendj.ldap;
 
-
-
 import java.util.LinkedList;
 import java.util.List;
 import java.util.concurrent.ScheduledExecutorService;
@@ -48,377 +45,289 @@
 import com.forgerock.opendj.util.StaticUtils;
 import com.forgerock.opendj.util.Validator;
 
-
-
 /**
  * An heart beat connection factory can be used to create connections that sends
  * a periodic search request to a Directory Server.
  */
-final class HeartBeatConnectionFactory implements ConnectionFactory
-{
-  /**
-   * A connection that sends heart beats and supports all operations.
-   */
-  private final class ConnectionImpl extends ConnectionDecorator implements
-      ConnectionEventListener, SearchResultHandler
-  {
-    private long lastSuccessfulPing;
-
-    private FutureResult<Result> lastPingFuture;
-
-
-
-    private ConnectionImpl(final Connection connection)
-    {
-      super(connection);
-    }
-
-
-
-    @Override
-    public void handleConnectionClosed()
-    {
-      notifyClosed();
-    }
-
-
-
-    @Override
-    public void handleConnectionError(final boolean isDisconnectNotification,
-        final ErrorResultException error)
-    {
-      notifyClosed();
-    }
-
-
-
+final class HeartBeatConnectionFactory implements ConnectionFactory {
     /**
-     * {@inheritDoc}
+     * A connection that sends heart beats and supports all operations.
      */
-    @Override
-    public boolean handleEntry(final SearchResultEntry entry)
-    {
-      // Ignore.
-      return true;
-    }
+    private final class ConnectionImpl extends ConnectionDecorator implements
+            ConnectionEventListener, SearchResultHandler {
+        private long lastSuccessfulPing;
 
+        private FutureResult<Result> lastPingFuture;
 
-
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    public void handleErrorResult(final ErrorResultException error)
-    {
-      connection.close(Requests.newUnbindRequest(), "Heartbeat retured error: "
-          + error);
-    }
-
-
-
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    public boolean handleReference(final SearchResultReference reference)
-    {
-      // Ignore.
-      return true;
-    }
-
-
-
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    public void handleResult(final Result result)
-    {
-      lastSuccessfulPing = System.currentTimeMillis();
-    }
-
-
-
-    @Override
-    public void handleUnsolicitedNotification(final ExtendedResult notification)
-    {
-      // Do nothing
-    }
-
-
-
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    public boolean isValid()
-    {
-      return connection.isValid()
-          && (lastSuccessfulPing <= 0 || System.currentTimeMillis()
-              - lastSuccessfulPing < unit.toMillis(interval) * 2);
-    }
-
-
-
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    public String toString()
-    {
-      final StringBuilder builder = new StringBuilder();
-      builder.append("HeartBeatConnection(");
-      builder.append(connection);
-      builder.append(')');
-      return builder.toString();
-    }
-
-
-
-    private void notifyClosed()
-    {
-      synchronized (activeConnections)
-      {
-        connection.removeConnectionEventListener(this);
-        activeConnections.remove(this);
-
-        if (activeConnections.isEmpty())
-        {
-          // This is the last active connection, so stop the heart beat.
-          heartBeatFuture.cancel(false);
+        private ConnectionImpl(final Connection connection) {
+            super(connection);
         }
-      }
-    }
-  }
 
+        @Override
+        public void handleConnectionClosed() {
+            notifyClosed();
+        }
 
+        @Override
+        public void handleConnectionError(final boolean isDisconnectNotification,
+                final ErrorResultException error) {
+            notifyClosed();
+        }
 
-  private final class FutureResultImpl extends
-      FutureResultTransformer<Connection, Connection> implements
-      ResultHandler<Connection>
-  {
+        /**
+         * {@inheritDoc}
+         */
+        @Override
+        public boolean handleEntry(final SearchResultEntry entry) {
+            // Ignore.
+            return true;
+        }
 
-    private FutureResultImpl(final ResultHandler<? super Connection> handler)
-    {
-      super(handler);
+        /**
+         * {@inheritDoc}
+         */
+        @Override
+        public void handleErrorResult(final ErrorResultException error) {
+            connection.close(Requests.newUnbindRequest(), "Heartbeat retured error: " + error);
+        }
+
+        /**
+         * {@inheritDoc}
+         */
+        @Override
+        public boolean handleReference(final SearchResultReference reference) {
+            // Ignore.
+            return true;
+        }
+
+        /**
+         * {@inheritDoc}
+         */
+        @Override
+        public void handleResult(final Result result) {
+            lastSuccessfulPing = System.currentTimeMillis();
+        }
+
+        @Override
+        public void handleUnsolicitedNotification(final ExtendedResult notification) {
+            // Do nothing
+        }
+
+        /**
+         * {@inheritDoc}
+         */
+        @Override
+        public boolean isValid() {
+            return connection.isValid()
+                    && (lastSuccessfulPing <= 0 || System.currentTimeMillis() - lastSuccessfulPing < unit
+                            .toMillis(interval) * 2);
+        }
+
+        /**
+         * {@inheritDoc}
+         */
+        @Override
+        public String toString() {
+            final StringBuilder builder = new StringBuilder();
+            builder.append("HeartBeatConnection(");
+            builder.append(connection);
+            builder.append(')');
+            return builder.toString();
+        }
+
+        private void notifyClosed() {
+            synchronized (activeConnections) {
+                connection.removeConnectionEventListener(this);
+                activeConnections.remove(this);
+
+                if (activeConnections.isEmpty()) {
+                    // This is the last active connection, so stop the heart
+                    // beat.
+                    heartBeatFuture.cancel(false);
+                }
+            }
+        }
     }
 
+    private final class FutureResultImpl extends FutureResultTransformer<Connection, Connection>
+            implements ResultHandler<Connection> {
 
+        private FutureResultImpl(final ResultHandler<? super Connection> handler) {
+            super(handler);
+        }
+
+        /**
+         * {@inheritDoc}
+         */
+        @Override
+        protected Connection transformResult(final Connection connection)
+                throws ErrorResultException {
+            return adaptConnection(connection);
+        }
+
+    }
+
+    private final class HeartBeatRunnable implements Runnable {
+        private HeartBeatRunnable() {
+            // Nothing to do.
+        }
+
+        @Override
+        public void run() {
+            synchronized (activeConnections) {
+                for (final ConnectionImpl connection : activeConnections) {
+                    if (connection.lastPingFuture == null || connection.lastPingFuture.isDone()) {
+                        connection.lastPingFuture =
+                                connection.searchAsync(heartBeat, null, connection);
+                    }
+                }
+            }
+        }
+    }
+
+    private final SearchRequest heartBeat;
+
+    private final long interval;
+
+    private final ScheduledExecutorService scheduler;
+
+    private final TimeUnit unit;
+
+    private final List<ConnectionImpl> activeConnections;
+
+    private final ConnectionFactory factory;
+
+    private static final SearchRequest DEFAULT_SEARCH = Requests.newSearchRequest("",
+            SearchScope.BASE_OBJECT, "(objectClass=*)", "1.1");
+
+    private ScheduledFuture<?> heartBeatFuture;
+
+    /**
+     * Creates a new heart-beat connection factory which will create connections
+     * using the provided connection factory and periodically ping any created
+     * connections in order to detect that they are still alive every 10 seconds
+     * using the default scheduler.
+     *
+     * @param factory
+     *            The connection factory to use for creating connections.
+     */
+    HeartBeatConnectionFactory(final ConnectionFactory factory) {
+        this(factory, 10, TimeUnit.SECONDS, DEFAULT_SEARCH, StaticUtils.getDefaultScheduler());
+    }
+
+    /**
+     * Creates a new heart-beat connection factory which will create connections
+     * using the provided connection factory and periodically ping any created
+     * connections in order to detect that they are still alive using the
+     * specified frequency and the default scheduler.
+     *
+     * @param factory
+     *            The connection factory to use for creating connections.
+     * @param interval
+     *            The interval between keepalive pings.
+     * @param unit
+     *            The time unit for the interval between keepalive pings.
+     */
+    HeartBeatConnectionFactory(final ConnectionFactory factory, final long interval,
+            final TimeUnit unit) {
+        this(factory, interval, unit, DEFAULT_SEARCH, StaticUtils.getDefaultScheduler());
+    }
+
+    /**
+     * Creates a new heart-beat connection factory which will create connections
+     * using the provided connection factory and periodically ping any created
+     * connections using the specified search request in order to detect that
+     * they are still alive.
+     *
+     * @param factory
+     *            The connection factory to use for creating connections.
+     * @param interval
+     *            The interval between keepalive pings.
+     * @param unit
+     *            The time unit for the interval between keepalive pings.
+     * @param heartBeat
+     *            The search request to use for keepalive pings.
+     */
+    HeartBeatConnectionFactory(final ConnectionFactory factory, final long interval,
+            final TimeUnit unit, final SearchRequest heartBeat) {
+        this(factory, interval, unit, heartBeat, StaticUtils.getDefaultScheduler());
+    }
+
+    /**
+     * Creates a new heart-beat connection factory which will create connections
+     * using the provided connection factory and periodically ping any created
+     * connections using the specified search request in order to detect that
+     * they are still alive.
+     *
+     * @param factory
+     *            The connection factory to use for creating connections.
+     * @param interval
+     *            The interval between keepalive pings.
+     * @param unit
+     *            The time unit for the interval between keepalive pings.
+     * @param heartBeat
+     *            The search request to use for keepalive pings.
+     * @param scheduler
+     *            The scheduler which should for periodically sending keepalive
+     *            pings.
+     */
+    HeartBeatConnectionFactory(final ConnectionFactory factory, final long interval,
+            final TimeUnit unit, final SearchRequest heartBeat,
+            final ScheduledExecutorService scheduler) {
+        Validator.ensureNotNull(factory, heartBeat, unit, scheduler);
+        Validator.ensureTrue(interval >= 0, "negative timeout");
+
+        this.heartBeat = heartBeat;
+        this.interval = interval;
+        this.unit = unit;
+        this.activeConnections = new LinkedList<ConnectionImpl>();
+        this.factory = factory;
+        this.scheduler = scheduler;
+    }
 
     /**
      * {@inheritDoc}
      */
     @Override
-    protected Connection transformResult(final Connection connection)
-        throws ErrorResultException
-    {
-      return adaptConnection(connection);
+    public Connection getConnection() throws ErrorResultException, InterruptedException {
+        return adaptConnection(factory.getConnection());
     }
 
-  }
-
-
-
-  private final class HeartBeatRunnable implements Runnable
-  {
-    private HeartBeatRunnable()
-    {
-      // Nothing to do.
-    }
-
-
-
+    /**
+     * {@inheritDoc}
+     */
     @Override
-    public void run()
-    {
-      synchronized (activeConnections)
-      {
-        for (final ConnectionImpl connection : activeConnections)
-        {
-          if (connection.lastPingFuture == null
-              || connection.lastPingFuture.isDone())
-          {
-            connection.lastPingFuture = connection.searchAsync(heartBeat, null,
-                connection);
-          }
+    public FutureResult<Connection> getConnectionAsync(
+            final ResultHandler<? super Connection> handler) {
+        final FutureResultImpl future = new FutureResultImpl(handler);
+        future.setFutureResult(factory.getConnectionAsync(future));
+        return future;
+    }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Override
+    public String toString() {
+        final StringBuilder builder = new StringBuilder();
+        builder.append("HeartBeatConnectionFactory(");
+        builder.append(String.valueOf(factory));
+        builder.append(')');
+        return builder.toString();
+    }
+
+    private Connection adaptConnection(final Connection connection) {
+        final ConnectionImpl heartBeatConnection = new ConnectionImpl(connection);
+        synchronized (activeConnections) {
+            connection.addConnectionEventListener(heartBeatConnection);
+            if (activeConnections.isEmpty()) {
+                // This is the first active connection, so start the heart beat.
+                heartBeatFuture =
+                        scheduler
+                                .scheduleWithFixedDelay(new HeartBeatRunnable(), 0, interval, unit);
+            }
+            activeConnections.add(heartBeatConnection);
         }
-      }
+        return heartBeatConnection;
     }
-  }
-
-
-
-  private final SearchRequest heartBeat;
-
-  private final long interval;
-
-  private final ScheduledExecutorService scheduler;
-
-  private final TimeUnit unit;
-
-  private final List<ConnectionImpl> activeConnections;
-
-  private final ConnectionFactory factory;
-
-  private static final SearchRequest DEFAULT_SEARCH = Requests
-      .newSearchRequest("", SearchScope.BASE_OBJECT, "(objectClass=*)", "1.1");
-
-  private ScheduledFuture<?> heartBeatFuture;
-
-
-
-  /**
-   * Creates a new heart-beat connection factory which will create connections
-   * using the provided connection factory and periodically ping any created
-   * connections in order to detect that they are still alive every 10 seconds
-   * using the default scheduler.
-   *
-   * @param factory
-   *          The connection factory to use for creating connections.
-   */
-  HeartBeatConnectionFactory(final ConnectionFactory factory)
-  {
-    this(factory, 10, TimeUnit.SECONDS, DEFAULT_SEARCH, StaticUtils
-        .getDefaultScheduler());
-  }
-
-
-
-  /**
-   * Creates a new heart-beat connection factory which will create connections
-   * using the provided connection factory and periodically ping any created
-   * connections in order to detect that they are still alive using the
-   * specified frequency and the default scheduler.
-   *
-   * @param factory
-   *          The connection factory to use for creating connections.
-   * @param interval
-   *          The interval between keepalive pings.
-   * @param unit
-   *          The time unit for the interval between keepalive pings.
-   */
-  HeartBeatConnectionFactory(final ConnectionFactory factory,
-      final long interval, final TimeUnit unit)
-  {
-    this(factory, interval, unit, DEFAULT_SEARCH, StaticUtils
-        .getDefaultScheduler());
-  }
-
-
-
-  /**
-   * Creates a new heart-beat connection factory which will create connections
-   * using the provided connection factory and periodically ping any created
-   * connections using the specified search request in order to detect that they
-   * are still alive.
-   *
-   * @param factory
-   *          The connection factory to use for creating connections.
-   * @param interval
-   *          The interval between keepalive pings.
-   * @param unit
-   *          The time unit for the interval between keepalive pings.
-   * @param heartBeat
-   *          The search request to use for keepalive pings.
-   */
-  HeartBeatConnectionFactory(final ConnectionFactory factory,
-      final long interval, final TimeUnit unit, final SearchRequest heartBeat)
-  {
-    this(factory, interval, unit, heartBeat, StaticUtils.getDefaultScheduler());
-  }
-
-
-
-  /**
-   * Creates a new heart-beat connection factory which will create connections
-   * using the provided connection factory and periodically ping any created
-   * connections using the specified search request in order to detect that they
-   * are still alive.
-   *
-   * @param factory
-   *          The connection factory to use for creating connections.
-   * @param interval
-   *          The interval between keepalive pings.
-   * @param unit
-   *          The time unit for the interval between keepalive pings.
-   * @param heartBeat
-   *          The search request to use for keepalive pings.
-   * @param scheduler
-   *          The scheduler which should for periodically sending keepalive
-   *          pings.
-   */
-  HeartBeatConnectionFactory(final ConnectionFactory factory,
-      final long interval, final TimeUnit unit, final SearchRequest heartBeat,
-      final ScheduledExecutorService scheduler)
-  {
-    Validator.ensureNotNull(factory, heartBeat, unit, scheduler);
-    Validator.ensureTrue(interval >= 0, "negative timeout");
-
-    this.heartBeat = heartBeat;
-    this.interval = interval;
-    this.unit = unit;
-    this.activeConnections = new LinkedList<ConnectionImpl>();
-    this.factory = factory;
-    this.scheduler = scheduler;
-  }
-
-
-
-  /**
-   * {@inheritDoc}
-   */
-  @Override
-  public Connection getConnection() throws ErrorResultException,
-      InterruptedException
-  {
-    return adaptConnection(factory.getConnection());
-  }
-
-
-
-  /**
-   * {@inheritDoc}
-   */
-  @Override
-  public FutureResult<Connection> getConnectionAsync(
-      final ResultHandler<? super Connection> handler)
-  {
-    final FutureResultImpl future = new FutureResultImpl(handler);
-    future.setFutureResult(factory.getConnectionAsync(future));
-    return future;
-  }
-
-
-
-  /**
-   * {@inheritDoc}
-   */
-  @Override
-  public String toString()
-  {
-    final StringBuilder builder = new StringBuilder();
-    builder.append("HeartBeatConnectionFactory(");
-    builder.append(String.valueOf(factory));
-    builder.append(')');
-    return builder.toString();
-  }
-
-
-
-  private Connection adaptConnection(final Connection connection)
-  {
-    final ConnectionImpl heartBeatConnection = new ConnectionImpl(connection);
-    synchronized (activeConnections)
-    {
-      connection.addConnectionEventListener(heartBeatConnection);
-      if (activeConnections.isEmpty())
-      {
-        // This is the first active connection, so start the heart beat.
-        heartBeatFuture = scheduler.scheduleWithFixedDelay(
-            new HeartBeatRunnable(), 0, interval, unit);
-      }
-      activeConnections.add(heartBeatConnection);
-    }
-    return heartBeatConnection;
-  }
 }

--
Gitblit v1.10.0