Merge "Allow specification of ODL's HELLO message"
[netconf.git] / netconf / netconf-client / src / main / java / org / opendaylight / netconf / client / conf / NetconfClientConfiguration.java
index ee41da8a8d165387d4da477d161c2830ac4e4445..b14d152e2561c1ad131c2567f76f8793fab4a4de 100644 (file)
@@ -12,11 +12,13 @@ import com.google.common.base.MoreObjects.ToStringHelper;
 import com.google.common.base.Optional;
 import com.google.common.base.Preconditions;
 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.handler.ssh.authentication.AuthenticationHandler;
 import org.opendaylight.protocol.framework.ReconnectStrategy;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Uri;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -36,12 +38,15 @@ public class NetconfClientConfiguration {
     private final AuthenticationHandler authHandler;
     private final SslHandlerFactory sslHandlerFactory;
 
+    private final List<Uri> odlHelloCapabilities;
+
     NetconfClientConfiguration(final NetconfClientProtocol protocol, final InetSocketAddress address,
                                final Long connectionTimeoutMillis,
                                final NetconfHelloMessageAdditionalHeader additionalHeader,
                                final NetconfClientSessionListener sessionListener,
                                final ReconnectStrategy reconnectStrategy, final AuthenticationHandler authHandler,
-                               final SslHandlerFactory sslHandlerFactory) {
+                               final SslHandlerFactory sslHandlerFactory,
+                               final List<Uri> odlHelloCapabilities) {
         this.address = address;
         this.connectionTimeoutMillis = connectionTimeoutMillis;
         this.additionalHeader = additionalHeader;
@@ -50,6 +55,7 @@ public class NetconfClientConfiguration {
         this.reconnectStrategy = reconnectStrategy;
         this.authHandler = authHandler;
         this.sslHandlerFactory = sslHandlerFactory;
+        this.odlHelloCapabilities = odlHelloCapabilities;
         validateConfiguration();
     }
 
@@ -85,6 +91,10 @@ public class NetconfClientConfiguration {
         return sslHandlerFactory;
     }
 
+    public List<Uri> getOdlHelloCapabilities() {
+        return odlHelloCapabilities;
+    }
+
     private void validateConfiguration() {
         Preconditions.checkNotNull(clientProtocol, " ");
         switch (clientProtocol) {