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");
