Allow SshClient to be customized via NetconfClientConfiguration
[netconf.git] / netconf / netconf-client / src / main / java / org / opendaylight / netconf / client / conf / NetconfReconnectingClientConfigurationBuilder.java
index 4d3dcdaaaba79c6e10b630acb0041f9b0d0c9f5c..c430fa41a487f1c93c4fd2379726caf733fa7b8c 100644 (file)
@@ -8,12 +8,15 @@
 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 final class NetconfReconnectingClientConfigurationBuilder extends NetconfClientConfigurationBuilder {
 
@@ -37,7 +40,7 @@ public final class NetconfReconnectingClientConfigurationBuilder extends Netconf
     public NetconfReconnectingClientConfiguration build() {
         return new NetconfReconnectingClientConfiguration(getProtocol(), getAddress(), getConnectionTimeoutMillis(),
                 getAdditionalHeader(), getSessionListener(), getReconnectStrategy(), connectStrategyFactory,
-                getAuthHandler(), getSslHandlerFactory());
+                getAuthHandler(), getSslHandlerFactory(), getSshClient(), getOdlHelloCapabilities());
     }
 
     // Override setter methods to return subtype
@@ -88,4 +91,15 @@ public final class NetconfReconnectingClientConfigurationBuilder extends Netconf
             final SslHandlerFactory sslHandlerFactory) {
         return (NetconfReconnectingClientConfigurationBuilder) super.withSslHandlerFactory(sslHandlerFactory);
     }
+
+    @Override
+    public NetconfReconnectingClientConfigurationBuilder withSshClient(
+        final NetconfSshClient sshClient) {
+        return (NetconfReconnectingClientConfigurationBuilder) super.withSshClient(sshClient);
+    }
+
+    @Override
+    public NetconfReconnectingClientConfigurationBuilder withOdlHelloCapabilities(List<Uri> odlHelloCapabilities) {
+        return (NetconfReconnectingClientConfigurationBuilder) super.withOdlHelloCapabilities(odlHelloCapabilities);
+    }
 }