Add 'features/protocol-framework/' from commit 'cb42405784db97d0ce2c5991d12a89b46d185949'
[netconf.git] / netconf / netconf-client / src / main / java / org / opendaylight / netconf / client / NetconfClientDispatcherImpl.java
index a17825596b26899f98a173123028c64f2c5039c6..6abce42b43239d0c0d645964d11450c8abcb2c7a 100644 (file)
@@ -9,10 +9,8 @@
 package org.opendaylight.netconf.client;
 
 import io.netty.channel.EventLoopGroup;
-import io.netty.channel.socket.SocketChannel;
 import io.netty.util.Timer;
 import io.netty.util.concurrent.Future;
-import io.netty.util.concurrent.Promise;
 import java.io.Closeable;
 import org.opendaylight.netconf.client.conf.NetconfClientConfiguration;
 import org.opendaylight.netconf.client.conf.NetconfReconnectingClientConfiguration;
@@ -27,7 +25,8 @@ public class NetconfClientDispatcherImpl extends AbstractDispatcher<NetconfClien
 
     private final Timer timer;
 
-    public NetconfClientDispatcherImpl(final EventLoopGroup bossGroup, final EventLoopGroup workerGroup, final Timer timer) {
+    public NetconfClientDispatcherImpl(final EventLoopGroup bossGroup, final EventLoopGroup workerGroup,
+                                       final Timer timer) {
         super(bossGroup, workerGroup);
         this.timer = timer;
     }
@@ -39,85 +38,64 @@ public class NetconfClientDispatcherImpl extends AbstractDispatcher<NetconfClien
     @Override
     public Future<NetconfClientSession> createClient(final NetconfClientConfiguration clientConfiguration) {
         switch (clientConfiguration.getProtocol()) {
-        case TCP:
-            return createTcpClient(clientConfiguration);
-        case SSH:
-            return createSshClient(clientConfiguration);
+            case TCP:
+                return createTcpClient(clientConfiguration);
+            case SSH:
+                return createSshClient(clientConfiguration);
+            default:
+                throw new IllegalArgumentException("Unknown client protocol " + clientConfiguration.getProtocol());
         }
-        throw new IllegalArgumentException("Unknown client protocol " + clientConfiguration.getProtocol());
     }
 
     @Override
     public Future<Void> createReconnectingClient(final NetconfReconnectingClientConfiguration clientConfiguration) {
         switch (clientConfiguration.getProtocol()) {
-        case TCP:
-            return createReconnectingTcpClient(clientConfiguration);
-        case SSH:
-            return createReconnectingSshClient(clientConfiguration);
-        default:
-            throw new IllegalArgumentException("Unknown client protocol " + clientConfiguration.getProtocol());
+            case TCP:
+                return createReconnectingTcpClient(clientConfiguration);
+            case SSH:
+                return createReconnectingSshClient(clientConfiguration);
+            default:
+                throw new IllegalArgumentException("Unknown client protocol " + clientConfiguration.getProtocol());
         }
     }
 
     private Future<NetconfClientSession> createTcpClient(final NetconfClientConfiguration currentConfiguration) {
         LOG.debug("Creating TCP client with configuration: {}", currentConfiguration);
         return super.createClient(currentConfiguration.getAddress(), currentConfiguration.getReconnectStrategy(),
-                new PipelineInitializer<NetconfClientSession>() {
-
-                    @Override
-                    public void initializeChannel(final SocketChannel ch, final Promise<NetconfClientSession> promise) {
-                        initialize(ch, promise);
-                    }
-
-                    private void initialize(final SocketChannel ch, final Promise<NetconfClientSession> promise) {
-                        new TcpClientChannelInitializer(getNegotiatorFactory(currentConfiguration), currentConfiguration
-                                .getSessionListener()).initialize(ch, promise);
-                    }
-                });
+            (ch, promise) -> new TcpClientChannelInitializer(getNegotiatorFactory(currentConfiguration),
+                        currentConfiguration
+                        .getSessionListener()).initialize(ch, promise));
     }
 
-    private Future<Void> createReconnectingTcpClient(final NetconfReconnectingClientConfiguration currentConfiguration) {
+    private Future<Void> createReconnectingTcpClient(
+            final NetconfReconnectingClientConfiguration currentConfiguration) {
         LOG.debug("Creating reconnecting TCP client with configuration: {}", currentConfiguration);
-        final TcpClientChannelInitializer init = new TcpClientChannelInitializer(getNegotiatorFactory(currentConfiguration),
+        final TcpClientChannelInitializer init =
+                new TcpClientChannelInitializer(getNegotiatorFactory(currentConfiguration),
                 currentConfiguration.getSessionListener());
 
-        return super.createReconnectingClient(currentConfiguration.getAddress(), currentConfiguration.getConnectStrategyFactory(),
-                currentConfiguration.getReconnectStrategy(), new PipelineInitializer<NetconfClientSession>() {
-                    @Override
-                    public void initializeChannel(final SocketChannel ch, final Promise<NetconfClientSession> promise) {
-                        init.initialize(ch, promise);
-                    }
-                });
+        return super.createReconnectingClient(currentConfiguration.getAddress(), currentConfiguration
+                .getConnectStrategyFactory(),
+                currentConfiguration.getReconnectStrategy(), init::initialize);
     }
 
     private Future<NetconfClientSession> createSshClient(final NetconfClientConfiguration currentConfiguration) {
         LOG.debug("Creating SSH client with configuration: {}", currentConfiguration);
         return super.createClient(currentConfiguration.getAddress(), currentConfiguration.getReconnectStrategy(),
-                new PipelineInitializer<NetconfClientSession>() {
-
-                    @Override
-                    public void initializeChannel(final SocketChannel ch,
-                                                  final Promise<NetconfClientSession> sessionPromise) {
-                        new SshClientChannelInitializer(currentConfiguration.getAuthHandler(),
-                                getNegotiatorFactory(currentConfiguration), currentConfiguration.getSessionListener())
-                                .initialize(ch, sessionPromise);
-                    }
-
-                });
+            (ch, sessionPromise) -> new SshClientChannelInitializer(currentConfiguration.getAuthHandler(),
+                        getNegotiatorFactory(currentConfiguration), currentConfiguration.getSessionListener())
+                        .initialize(ch, sessionPromise));
     }
 
-    private Future<Void> createReconnectingSshClient(final NetconfReconnectingClientConfiguration currentConfiguration) {
+    private Future<Void> createReconnectingSshClient(
+            final NetconfReconnectingClientConfiguration currentConfiguration) {
         LOG.debug("Creating reconnecting SSH client with configuration: {}", currentConfiguration);
         final SshClientChannelInitializer init = new SshClientChannelInitializer(currentConfiguration.getAuthHandler(),
                 getNegotiatorFactory(currentConfiguration), currentConfiguration.getSessionListener());
 
-        return super.createReconnectingClient(currentConfiguration.getAddress(), currentConfiguration.getConnectStrategyFactory(), currentConfiguration.getReconnectStrategy(),
-                new PipelineInitializer<NetconfClientSession>() {
-                    @Override
-                    public void initializeChannel(final SocketChannel ch, final Promise<NetconfClientSession> promise) {
-                        init.initialize(ch, promise);
-                    }
-                });
+        return super.createReconnectingClient(currentConfiguration.getAddress(), currentConfiguration
+                .getConnectStrategyFactory(), currentConfiguration.getReconnectStrategy(),
+                init::initialize);
     }
 
     protected NetconfClientSessionNegotiatorFactory getNegotiatorFactory(final NetconfClientConfiguration cfg) {