Teach netconf-client abount maximum incoming chunk size
[netconf.git] / netconf / netconf-client / src / main / java / org / opendaylight / netconf / client / conf / NetconfReconnectingClientConfigurationBuilder.java
index 8052c77e7b2c532a4e1139fe24ed868315b2c8ba..177f452f3d17d04993a764beeeb99fefb0795cac 100644 (file)
@@ -8,13 +8,17 @@
 package org.opendaylight.netconf.client.conf;
 
 import java.net.InetSocketAddress;
-import org.opendaylight.netconf.nettyutil.handler.ssh.authentication.AuthenticationHandler;
+import java.util.List;
 import org.opendaylight.netconf.api.messages.NetconfHelloMessageAdditionalHeader;
 import org.opendaylight.netconf.client.NetconfClientSessionListener;
-import org.opendaylight.protocol.framework.ReconnectStrategy;
-import org.opendaylight.protocol.framework.ReconnectStrategyFactory;
+import org.opendaylight.netconf.client.SslHandlerFactory;
+import org.opendaylight.netconf.nettyutil.ReconnectStrategy;
+import org.opendaylight.netconf.nettyutil.ReconnectStrategyFactory;
+import org.opendaylight.netconf.nettyutil.handler.ssh.authentication.AuthenticationHandler;
+import org.opendaylight.netconf.nettyutil.handler.ssh.client.NetconfSshClient;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Uri;
 
-public class NetconfReconnectingClientConfigurationBuilder extends NetconfClientConfigurationBuilder {
+public final class NetconfReconnectingClientConfigurationBuilder extends NetconfClientConfigurationBuilder {
 
     private ReconnectStrategyFactory connectStrategyFactory;
 
@@ -25,15 +29,19 @@ public class NetconfReconnectingClientConfigurationBuilder extends NetconfClient
         return new NetconfReconnectingClientConfigurationBuilder();
     }
 
-
-    public NetconfReconnectingClientConfigurationBuilder withConnectStrategyFactory(final ReconnectStrategyFactory connectStrategyFactory) {
+    @SuppressWarnings("checkstyle:hiddenField")
+    public NetconfReconnectingClientConfigurationBuilder withConnectStrategyFactory(
+            final ReconnectStrategyFactory connectStrategyFactory) {
         this.connectStrategyFactory = connectStrategyFactory;
         return this;
     }
 
     @Override
     public NetconfReconnectingClientConfiguration build() {
-        return new NetconfReconnectingClientConfiguration(getProtocol(), getAddress(), getConnectionTimeoutMillis(), getAdditionalHeader(), getSessionListener(), getReconnectStrategy(), connectStrategyFactory, getAuthHandler());
+        return new NetconfReconnectingClientConfiguration(getProtocol(), getAddress(), getConnectionTimeoutMillis(),
+                getAdditionalHeader(), getSessionListener(), getReconnectStrategy(), connectStrategyFactory,
+                getAuthHandler(), getSslHandlerFactory(), getSshClient(), getOdlHelloCapabilities(),
+                getMaximumIncomingChunkSize());
     }
 
     // Override setter methods to return subtype
@@ -44,22 +52,27 @@ public class NetconfReconnectingClientConfigurationBuilder extends NetconfClient
     }
 
     @Override
-    public NetconfReconnectingClientConfigurationBuilder withConnectionTimeoutMillis(final long connectionTimeoutMillis) {
-        return (NetconfReconnectingClientConfigurationBuilder) super.withConnectionTimeoutMillis(connectionTimeoutMillis);
+    public NetconfReconnectingClientConfigurationBuilder withConnectionTimeoutMillis(
+            final long connectionTimeoutMillis) {
+        return (NetconfReconnectingClientConfigurationBuilder)
+                super.withConnectionTimeoutMillis(connectionTimeoutMillis);
     }
 
     @Override
-    public NetconfReconnectingClientConfigurationBuilder withAdditionalHeader(final NetconfHelloMessageAdditionalHeader additionalHeader) {
+    public NetconfReconnectingClientConfigurationBuilder withAdditionalHeader(
+            final NetconfHelloMessageAdditionalHeader additionalHeader) {
         return (NetconfReconnectingClientConfigurationBuilder) super.withAdditionalHeader(additionalHeader);
     }
 
     @Override
-    public NetconfReconnectingClientConfigurationBuilder withSessionListener(final NetconfClientSessionListener sessionListener) {
+    public NetconfReconnectingClientConfigurationBuilder withSessionListener(
+            final NetconfClientSessionListener sessionListener) {
         return (NetconfReconnectingClientConfigurationBuilder) super.withSessionListener(sessionListener);
     }
 
     @Override
-    public NetconfReconnectingClientConfigurationBuilder withReconnectStrategy(final ReconnectStrategy reconnectStrategy) {
+    public NetconfReconnectingClientConfigurationBuilder withReconnectStrategy(
+            final ReconnectStrategy reconnectStrategy) {
         return (NetconfReconnectingClientConfigurationBuilder) super.withReconnectStrategy(reconnectStrategy);
     }
 
@@ -69,7 +82,26 @@ public class NetconfReconnectingClientConfigurationBuilder extends NetconfClient
     }
 
     @Override
-    public NetconfReconnectingClientConfigurationBuilder withProtocol(NetconfClientConfiguration.NetconfClientProtocol clientProtocol) {
+    public NetconfReconnectingClientConfigurationBuilder withProtocol(
+            final NetconfClientConfiguration.NetconfClientProtocol clientProtocol) {
         return (NetconfReconnectingClientConfigurationBuilder) super.withProtocol(clientProtocol);
     }
+
+    @Override
+    public NetconfReconnectingClientConfigurationBuilder withSslHandlerFactory(
+            final SslHandlerFactory sslHandlerFactory) {
+        return (NetconfReconnectingClientConfigurationBuilder) super.withSslHandlerFactory(sslHandlerFactory);
+    }
+
+    @Override
+    public NetconfReconnectingClientConfigurationBuilder withSshClient(
+        final NetconfSshClient sshClient) {
+        return (NetconfReconnectingClientConfigurationBuilder) super.withSshClient(sshClient);
+    }
+
+    @Override
+    public NetconfReconnectingClientConfigurationBuilder withOdlHelloCapabilities(
+            final List<Uri> odlHelloCapabilities) {
+        return (NetconfReconnectingClientConfigurationBuilder) super.withOdlHelloCapabilities(odlHelloCapabilities);
+    }
 }