X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=netconf%2Fnetconf-client%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fnetconf%2Fclient%2Fconf%2FNetconfClientConfigurationBuilder.java;h=09002ab1e430c675c3d17174d0b6aed3e518e979;hb=7bf7d3fd39c6966a2414d4ca6fd77d195021c1f8;hp=d79d5d5cc9b76d429c61fb7af09b08f14e192ac3;hpb=3a8538e6ecdea4f7bd82be49f5391b32358852da;p=netconf.git diff --git a/netconf/netconf-client/src/main/java/org/opendaylight/netconf/client/conf/NetconfClientConfigurationBuilder.java b/netconf/netconf-client/src/main/java/org/opendaylight/netconf/client/conf/NetconfClientConfigurationBuilder.java index d79d5d5cc9..09002ab1e4 100644 --- a/netconf/netconf-client/src/main/java/org/opendaylight/netconf/client/conf/NetconfClientConfigurationBuilder.java +++ b/netconf/netconf-client/src/main/java/org/opendaylight/netconf/client/conf/NetconfClientConfigurationBuilder.java @@ -7,13 +7,18 @@ */ package org.opendaylight.netconf.client.conf; +import static com.google.common.base.Preconditions.checkArgument; + import java.net.InetSocketAddress; import java.util.List; +import org.checkerframework.checker.index.qual.NonNegative; import org.opendaylight.netconf.api.messages.NetconfHelloMessageAdditionalHeader; import org.opendaylight.netconf.client.NetconfClientSessionListener; import org.opendaylight.netconf.client.SslHandlerFactory; +import org.opendaylight.netconf.nettyutil.AbstractNetconfSessionNegotiator; import org.opendaylight.netconf.nettyutil.ReconnectStrategy; 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 NetconfClientConfigurationBuilder { @@ -30,8 +35,10 @@ public class NetconfClientConfigurationBuilder { private AuthenticationHandler authHandler; private NetconfClientConfiguration.NetconfClientProtocol clientProtocol = DEFAULT_CLIENT_PROTOCOL; private SslHandlerFactory sslHandlerFactory; + private NetconfSshClient sshClient; private List odlHelloCapabilities; - + private @NonNegative int maximumIncomingChunkSize = + AbstractNetconfSessionNegotiator.DEFAULT_MAXIMUM_INCOMING_CHUNK_SIZE; protected NetconfClientConfigurationBuilder() { } @@ -90,12 +97,26 @@ public class NetconfClientConfigurationBuilder { return this; } + @SuppressWarnings("checkstyle:hiddenField") + public NetconfClientConfigurationBuilder withSshClient(final NetconfSshClient sshClient) { + this.sshClient = sshClient; + return this; + } + @SuppressWarnings("checkstyle:hiddenField") public NetconfClientConfigurationBuilder withOdlHelloCapabilities(final List odlHelloCapabilities) { this.odlHelloCapabilities = odlHelloCapabilities; return this; } + @SuppressWarnings("checkstyle:hiddenField") + public NetconfClientConfigurationBuilder withMaximumIncomingChunkSize( + final @NonNegative int maximumIncomingChunkSize) { + checkArgument(maximumIncomingChunkSize > 0); + this.maximumIncomingChunkSize = maximumIncomingChunkSize; + return this; + } + final InetSocketAddress getAddress() { return address; } @@ -128,12 +149,21 @@ public class NetconfClientConfigurationBuilder { return sslHandlerFactory; } + public NetconfSshClient getSshClient() { + return sshClient; + } + final List getOdlHelloCapabilities() { return odlHelloCapabilities; } + final @NonNegative int getMaximumIncomingChunkSize() { + return maximumIncomingChunkSize; + } + public NetconfClientConfiguration build() { return new NetconfClientConfiguration(clientProtocol, address, connectionTimeoutMillis, additionalHeader, - sessionListener, reconnectStrategy, authHandler, sslHandlerFactory, odlHelloCapabilities); + sessionListener, reconnectStrategy, authHandler, sslHandlerFactory, sshClient, odlHelloCapabilities, + maximumIncomingChunkSize); } }