Teach netconf-client abount maximum incoming chunk size
[netconf.git] / netconf / netconf-client / src / main / java / org / opendaylight / netconf / client / conf / NetconfReconnectingClientConfigurationBuilder.java
index 4597dca75eb2cc4ba0e5c07a919af1e6e485392f..177f452f3d17d04993a764beeeb99fefb0795cac 100644 (file)
@@ -8,13 +8,17 @@
 package org.opendaylight.netconf.client.conf;
 
 import java.net.InetSocketAddress;
+import java.util.List;
 import org.opendaylight.netconf.api.messages.NetconfHelloMessageAdditionalHeader;
 import org.opendaylight.netconf.client.NetconfClientSessionListener;
+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.protocol.framework.ReconnectStrategy;
-import org.opendaylight.protocol.framework.ReconnectStrategyFactory;
+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,7 +29,7 @@ public class NetconfReconnectingClientConfigurationBuilder extends NetconfClient
         return new NetconfReconnectingClientConfigurationBuilder();
     }
 
-
+    @SuppressWarnings("checkstyle:hiddenField")
     public NetconfReconnectingClientConfigurationBuilder withConnectStrategyFactory(
             final ReconnectStrategyFactory connectStrategyFactory) {
         this.connectStrategyFactory = connectStrategyFactory;
@@ -36,7 +40,8 @@ public class NetconfReconnectingClientConfigurationBuilder extends NetconfClient
     public NetconfReconnectingClientConfiguration build() {
         return new NetconfReconnectingClientConfiguration(getProtocol(), getAddress(), getConnectionTimeoutMillis(),
                 getAdditionalHeader(), getSessionListener(), getReconnectStrategy(), connectStrategyFactory,
-                getAuthHandler());
+                getAuthHandler(), getSslHandlerFactory(), getSshClient(), getOdlHelloCapabilities(),
+                getMaximumIncomingChunkSize());
     }
 
     // Override setter methods to return subtype
@@ -78,7 +83,25 @@ public class NetconfReconnectingClientConfigurationBuilder extends NetconfClient
 
     @Override
     public NetconfReconnectingClientConfigurationBuilder withProtocol(
-            NetconfClientConfiguration.NetconfClientProtocol clientProtocol) {
+            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);
+    }
 }