Repository: reef
Updated Branches:
  refs/heads/master c63219ff2 -> 61e0424d1


[REEF-1124] Remove deprecated constructors of NameLookupClient

JIRA:
  [REEF-1124](https://issues.apache.org/jira/browse/REEF-1124)

Pull Request:
  This closes #842


Project: http://git-wip-us.apache.org/repos/asf/reef/repo
Commit: http://git-wip-us.apache.org/repos/asf/reef/commit/61e0424d
Tree: http://git-wip-us.apache.org/repos/asf/reef/tree/61e0424d
Diff: http://git-wip-us.apache.org/repos/asf/reef/diff/61e0424d

Branch: refs/heads/master
Commit: 61e0424d1dcd54fa318323d66d8327203d61a347
Parents: c63219f
Author: Andrew Chung <[email protected]>
Authored: Tue Feb 16 10:13:35 2016 -0800
Committer: Markus Weimer <[email protected]>
Committed: Tue Feb 16 14:39:27 2016 -0800

----------------------------------------------------------------------
 .../reef/io/network/naming/NameClient.java      |   7 +-
 .../io/network/naming/NameLookupClient.java     | 121 +------------------
 .../reef/io/network/naming/NamingTest.java      |  45 +++++--
 3 files changed, 43 insertions(+), 130 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/reef/blob/61e0424d/lang/java/reef-io/src/main/java/org/apache/reef/io/network/naming/NameClient.java
----------------------------------------------------------------------
diff --git 
a/lang/java/reef-io/src/main/java/org/apache/reef/io/network/naming/NameClient.java
 
b/lang/java/reef-io/src/main/java/org/apache/reef/io/network/naming/NameClient.java
index e115873..f5985c3 100644
--- 
a/lang/java/reef-io/src/main/java/org/apache/reef/io/network/naming/NameClient.java
+++ 
b/lang/java/reef-io/src/main/java/org/apache/reef/io/network/naming/NameClient.java
@@ -74,9 +74,9 @@ public final class NameClient implements NameResolver {
       @Parameter(NameResolverRetryCount.class) final int retryCount,
       @Parameter(NameResolverRetryTimeout.class) final int retryTimeout,
       final LocalAddressProvider localAddressProvider,
-      final TransportFactory tpFactory) {
+      final TransportFactory tpFactory,
+      final NameLookupClient lookupClient) {
 
-    final NameCache cache = new NameCache(timeout);
     final BlockingQueue<NamingLookupResponse> replyLookupQueue = new 
LinkedBlockingQueue<>();
     final BlockingQueue<NamingRegisterResponse> replyRegisterQueue = new 
LinkedBlockingQueue<>();
     final Codec<NamingMessage> codec = 
NamingCodecFactory.createFullCodec(factory);
@@ -86,8 +86,7 @@ public final class NameClient implements NameResolver {
             new NamingResponseHandler(replyLookupQueue, replyRegisterQueue), 
codec)),
         null, retryCount, retryTimeout);
 
-    this.lookupClient = new NameLookupClient(serverAddr, serverPort, timeout,
-        factory, retryCount, retryTimeout, replyLookupQueue, this.transport, 
cache);
+    this.lookupClient = lookupClient;
 
     this.registryClient = new NameRegistryClient(serverAddr, serverPort, 
timeout,
         factory, replyRegisterQueue, this.transport);

http://git-wip-us.apache.org/repos/asf/reef/blob/61e0424d/lang/java/reef-io/src/main/java/org/apache/reef/io/network/naming/NameLookupClient.java
----------------------------------------------------------------------
diff --git 
a/lang/java/reef-io/src/main/java/org/apache/reef/io/network/naming/NameLookupClient.java
 
b/lang/java/reef-io/src/main/java/org/apache/reef/io/network/naming/NameLookupClient.java
index f85bb88..efc61a6 100644
--- 
a/lang/java/reef-io/src/main/java/org/apache/reef/io/network/naming/NameLookupClient.java
+++ 
b/lang/java/reef-io/src/main/java/org/apache/reef/io/network/naming/NameLookupClient.java
@@ -18,7 +18,6 @@
  */
 package org.apache.reef.io.network.naming;
 
-import com.google.inject.Inject;
 import org.apache.reef.io.naming.NameAssignment;
 import org.apache.reef.io.naming.NamingLookup;
 import org.apache.reef.io.network.naming.exception.NamingException;
@@ -45,8 +44,8 @@ import org.apache.reef.wake.remote.transport.Link;
 import org.apache.reef.wake.remote.transport.Transport;
 import org.apache.reef.wake.remote.transport.TransportFactory;
 import org.apache.reef.wake.remote.transport.netty.LoggingLinkListener;
-import org.apache.reef.wake.remote.transport.netty.MessagingTransportFactory;
 
+import javax.inject.Inject;
 import java.net.InetSocketAddress;
 import java.net.SocketAddress;
 import java.util.Arrays;
@@ -61,7 +60,7 @@ import java.util.logging.Logger;
 /**
  * Naming lookup client.
  */
-public class NameLookupClient implements Stage, NamingLookup {
+public final class NameLookupClient implements Stage, NamingLookup {
 
   private static final Logger LOG = 
Logger.getLogger(NameLookupClient.class.getName());
   private final SocketAddress serverSocketAddr;
@@ -74,89 +73,6 @@ public class NameLookupClient implements Stage, NamingLookup 
{
   private final int retryTimeout;
 
   /**
-   * Constructs a naming lookup client.
-   *
-   * @param serverAddr a server address
-   * @param serverPort a server port number
-   * @param factory    an identifier factory
-   * @param cache      an cache
-   *
-   * @deprecated in 0.13. Have an instance injected instead or use the 
NameResolver interface.
-   */
-  @Deprecated
-  public NameLookupClient(final String serverAddr,
-                          final int serverPort,
-                          final IdentifierFactory factory,
-                          final int retryCount,
-                          final int retryTimeout,
-                          final Cache<Identifier, InetSocketAddress> cache,
-                          final LocalAddressProvider localAddressProvider) {
-    this(serverAddr, serverPort, 10000, factory, retryCount, retryTimeout, 
cache, localAddressProvider);
-  }
-
-  /**
-   * Constructs a naming lookup client.
-   *
-   * @param serverAddr a server address
-   * @param serverPort a server port number
-   * @param timeout    request timeout in ms
-   * @param factory    an identifier factory
-   * @param cache      an cache
-   *
-   * @deprecated in 0.13. Have an instance injected instead or use the 
NameResolver interface.
-   */
-  @Deprecated
-  public NameLookupClient(final String serverAddr,
-                          final int serverPort,
-                          final long timeout,
-                          final IdentifierFactory factory,
-                          final int retryCount,
-                          final int retryTimeout,
-                          final Cache<Identifier, InetSocketAddress> cache,
-                          final LocalAddressProvider localAddressProvider) {
-    this(serverAddr, serverPort, timeout, factory, retryCount, retryTimeout,
-        cache, localAddressProvider, new 
MessagingTransportFactory(localAddressProvider));
-  }
-
-  /**
-   * Constructs a naming lookup client.
-   *
-   * @param serverAddr a server address
-   * @param serverPort a server port number
-   * @param timeout    request timeout in ms
-   * @param factory    an identifier factory
-   * @param cache      an cache
-   * @param tpFactory  a transport factory
-   *
-   * @deprecated in 0.13. Have an instance injected instead or use the 
NameResolver interface.
-   */
-  @Deprecated
-  public NameLookupClient(final String serverAddr,
-                          final int serverPort,
-                          final long timeout,
-                          final IdentifierFactory factory,
-                          final int retryCount,
-                          final int retryTimeout,
-                          final Cache<Identifier, InetSocketAddress> cache,
-                          final LocalAddressProvider localAddressProvider,
-                          final TransportFactory tpFactory) {
-
-    this.serverSocketAddr = new InetSocketAddress(serverAddr, serverPort);
-    this.timeout = timeout;
-    this.cache = cache;
-    this.codec = NamingCodecFactory.createLookupCodec(factory);
-    this.replyQueue = new LinkedBlockingQueue<>();
-
-    this.transport = 
tpFactory.newInstance(localAddressProvider.getLocalAddress(), 0,
-        new SyncStage<>(new NamingLookupClientHandler(
-            new NamingLookupResponseHandler(this.replyQueue), this.codec)),
-        null, retryCount, retryTimeout);
-
-    this.retryCount = retryCount;
-    this.retryTimeout = retryTimeout;
-  }
-
-  /**
     * Constructs a naming lookup client.
     *
     * @param serverAddr a server address
@@ -192,39 +108,6 @@ public class NameLookupClient implements Stage, 
NamingLookup {
   }
 
   /**
-   * Constructs a naming lookup client.
-   *
-   * @param serverAddr a server address
-   * @param serverPort a server port number
-   * @param timeout request timeout in ms
-   * @param factory an identifier factory
-   * @param retryCount number of retries
-   * @param retryTimeout a timeout for a retry attempt, msec
-   * @param replyQueue a queue of naming lookup responses
-   * @param transport transport for sending and receiving data
-   * @param cache a name cache
-   *
-   * @deprecated in 0.13. Have an instance injected instead or use the 
NameResolver interface.
-   */
-  @Deprecated
-  NameLookupClient(final String serverAddr, final int serverPort, final long 
timeout,
-                   final IdentifierFactory factory, final int retryCount, 
final int retryTimeout,
-                   final BlockingQueue<NamingLookupResponse> replyQueue, final 
Transport transport,
-                   final Cache<Identifier, InetSocketAddress> cache) {
-
-    this.serverSocketAddr = new InetSocketAddress(serverAddr, serverPort);
-    this.timeout = timeout;
-    this.cache = cache;
-    this.codec = NamingCodecFactory.createFullCodec(factory);
-    this.replyQueue = replyQueue;
-    this.transport = transport;
-    this.retryCount = retryCount;
-    this.retryTimeout = retryTimeout;
-  }
-
-
-
-  /**
    * Finds an address for an identifier.
    *
    * @param id an identifier

http://git-wip-us.apache.org/repos/asf/reef/blob/61e0424d/lang/java/reef-io/src/test/java/org/apache/reef/io/network/naming/NamingTest.java
----------------------------------------------------------------------
diff --git 
a/lang/java/reef-io/src/test/java/org/apache/reef/io/network/naming/NamingTest.java
 
b/lang/java/reef-io/src/test/java/org/apache/reef/io/network/naming/NamingTest.java
index 2e6c66d..4acb6fa 100644
--- 
a/lang/java/reef-io/src/test/java/org/apache/reef/io/network/naming/NamingTest.java
+++ 
b/lang/java/reef-io/src/test/java/org/apache/reef/io/network/naming/NamingTest.java
@@ -19,13 +19,13 @@
 package org.apache.reef.io.network.naming;
 
 import org.apache.reef.io.naming.NameAssignment;
-import org.apache.reef.io.network.naming.parameters.NameResolverRetryCount;
-import org.apache.reef.io.network.naming.parameters.NameResolverRetryTimeout;
+import org.apache.reef.io.network.naming.parameters.*;
 import org.apache.reef.io.network.util.StringIdentifierFactory;
 import org.apache.reef.tang.Configuration;
 import org.apache.reef.tang.Injector;
 import org.apache.reef.tang.Tang;
 import org.apache.reef.tang.exceptions.InjectionException;
+import org.apache.reef.util.Optional;
 import org.apache.reef.wake.Identifier;
 import org.apache.reef.wake.IdentifierFactory;
 import org.apache.reef.wake.remote.address.LocalAddressProvider;
@@ -101,8 +101,9 @@ public class NamingTest {
       }
 
       // run a client
-      try (final NameLookupClient client = new NameLookupClient(localAddress, 
this.port,
-          10000, this.factory, RETRY_COUNT, RETRY_TIMEOUT, new NameCache(TTL), 
this.localAddressProvider)) {
+      try (final NameLookupClient client =
+               getNewNameLookupClient(localAddress, port, TTL, RETRY_COUNT, 
RETRY_TIMEOUT,
+                   Optional.of(this.localAddressProvider), 
Optional.of(this.factory))) {
 
         final Identifier id1 = this.factory.getNewInstance("task1");
         final Identifier id2 = this.factory.getNewInstance("task2");
@@ -122,6 +123,36 @@ public class NamingTest {
     }
   }
 
+  private static NameLookupClient getNewNameLookupClient(final String 
serverAddr,
+                                                         final int serverPort,
+                                                         final long timeout,
+                                                         final int retryCount,
+                                                         final int 
retryTimeout,
+                                                         final 
Optional<LocalAddressProvider> localAddressProvider,
+                                                         final 
Optional<IdentifierFactory> factory)
+      throws InjectionException {
+
+
+    final Configuration injectorConf = 
Tang.Factory.getTang().newConfigurationBuilder()
+        .bindNamedParameter(NameResolverNameServerAddr.class, serverAddr)
+        .bindNamedParameter(NameResolverNameServerPort.class, 
Integer.toString(serverPort))
+        .bindNamedParameter(NameResolverCacheTimeout.class, 
Long.toString(timeout))
+        .bindNamedParameter(NameResolverRetryCount.class, 
Integer.toString(retryCount))
+        .bindNamedParameter(NameResolverRetryTimeout.class, 
Integer.toString(retryTimeout))
+        .build();
+
+    final Injector injector = Tang.Factory.getTang().newInjector(injectorConf);
+    if (localAddressProvider.isPresent()) {
+      injector.bindVolatileInstance(LocalAddressProvider.class, 
localAddressProvider.get());
+    }
+
+    if (factory.isPresent()) {
+      injector.bindVolatileInstance(IdentifierFactory.class, factory.get());
+    }
+
+    return injector.getInstance(NameLookupClient.class);
+  }
+
   /**
    * Test concurrent lookups (threads share a client).
    *
@@ -155,9 +186,9 @@ public class NamingTest {
         }
 
         // run a client
-        try (final NameLookupClient client = new 
NameLookupClient(localAddress, this.port, 10000, this.factory,
-                RETRY_COUNT, RETRY_TIMEOUT, new NameCache(TTL), 
this.localAddressProvider)) {
-
+        try (final NameLookupClient client =
+            getNewNameLookupClient(localAddress, port, TTL, RETRY_COUNT, 
RETRY_TIMEOUT,
+                Optional.of(this.localAddressProvider), 
Optional.of(this.factory))) {
           final Identifier id1 = this.factory.getNewInstance("task1");
           final Identifier id2 = this.factory.getNewInstance("task2");
           final Identifier id3 = this.factory.getNewInstance("task3");

Reply via email to