This enumeration mirrors Protocol.Name we have already modeled in
odl-netconf-device. Reuse the definition, bringing the two plugins
closer together.
Change-Id: Id0b046d44ea14afb82247bdb8bcd08a3bedec4e5
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
<packaging>bundle</packaging>
<dependencies>
<packaging>bundle</packaging>
<dependencies>
- <dependency>
- <groupId>org.opendaylight.netconf</groupId>
- <artifactId>netconf-client</artifactId>
- </dependency>
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
</dependency>
<dependency>
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
</dependency>
<dependency>
- <groupId>org.slf4j</groupId>
- <artifactId>slf4j-api</artifactId>
+ <groupId>org.opendaylight.netconf</groupId>
+ <artifactId>netconf-client</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.opendaylight.netconf</groupId>
+ <artifactId>sal-netconf-connector</artifactId>
<dependency>
<groupId>org.opendaylight.yangtools</groupId>
<artifactId>mockito-configuration</artifactId>
<dependency>
<groupId>org.opendaylight.yangtools</groupId>
<artifactId>mockito-configuration</artifactId>
import java.net.SocketAddress;
import java.security.PublicKey;
import java.net.SocketAddress;
import java.security.PublicKey;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.device.rev221225.connection.parameters.Protocol.Name;
/**
* Protocol level Session Context for incoming Call Home connections.
/**
* Protocol level Session Context for incoming Call Home connections.
/**
* Returns transport type for this session.
*
/**
* Returns transport type for this session.
*
- * @return {@link TransportType} for this session.
+ * @return {@link Name} for this session.
- TransportType getTransportType();
+ Name getTransportType();
import org.opendaylight.netconf.shaded.sshd.client.session.ClientSession;
import org.opendaylight.netconf.shaded.sshd.common.future.SshFutureListener;
import org.opendaylight.netconf.shaded.sshd.common.session.Session;
import org.opendaylight.netconf.shaded.sshd.client.session.ClientSession;
import org.opendaylight.netconf.shaded.sshd.common.future.SshFutureListener;
import org.opendaylight.netconf.shaded.sshd.common.session.Session;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.device.rev221225.connection.parameters.Protocol.Name;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
checkArgument(this.authorization.isServerAllowed(), "Server was not allowed.");
this.factory = requireNonNull(factory);
this.sshSession = requireNonNull(sshSession);
checkArgument(this.authorization.isServerAllowed(), "Server was not allowed.");
this.factory = requireNonNull(factory);
this.sshSession = requireNonNull(sshSession);
- this.remoteAddress = (InetSocketAddress) this.sshSession.getIoSession().getRemoteAddress();
+ remoteAddress = (InetSocketAddress) this.sshSession.getIoSession().getRemoteAddress();
serverKey = this.sshSession.getServerKey();
}
serverKey = this.sshSession.getServerKey();
}
- public TransportType getTransportType() {
- return TransportType.SSH;
+ public Name getTransportType() {
+ return Name.SSH;
}
private void channelOpenFailed(final Throwable throwable) {
}
private void channelOpenFailed(final Throwable throwable) {
+++ /dev/null
-/*
- * Copyright (c) 2020 Pantheon Technologies, s.r.o. and others. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v1.0 which accompanies this distribution,
- * and is available at http://www.eclipse.org/legal/epl-v10.html
- */
-package org.opendaylight.netconf.callhome.protocol;
-
-/**
- * Secure transports used by the NETCONF Call-Home.
- */
-public enum TransportType {
- SSH,
- TLS
-}
import javax.net.ssl.SSLPeerUnverifiedException;
import org.opendaylight.netconf.callhome.protocol.CallHomeNetconfSubsystemListener;
import org.opendaylight.netconf.callhome.protocol.CallHomeProtocolSessionContext;
import javax.net.ssl.SSLPeerUnverifiedException;
import org.opendaylight.netconf.callhome.protocol.CallHomeNetconfSubsystemListener;
import org.opendaylight.netconf.callhome.protocol.CallHomeProtocolSessionContext;
-import org.opendaylight.netconf.callhome.protocol.TransportType;
import org.opendaylight.netconf.client.NetconfClientSession;
import org.opendaylight.netconf.client.NetconfClientSessionListener;
import org.opendaylight.netconf.client.NetconfClientSessionNegotiatorFactory;
import org.opendaylight.netconf.client.SslHandlerFactory;
import org.opendaylight.netconf.client.TlsClientChannelInitializer;
import org.opendaylight.netconf.client.NetconfClientSession;
import org.opendaylight.netconf.client.NetconfClientSessionListener;
import org.opendaylight.netconf.client.NetconfClientSessionNegotiatorFactory;
import org.opendaylight.netconf.client.SslHandlerFactory;
import org.opendaylight.netconf.client.TlsClientChannelInitializer;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.device.rev221225.connection.parameters.Protocol.Name;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
final CallHomeNetconfSubsystemListener subsystemListener) {
this.channel = requireNonNull(channel, "channel");
this.deviceId = deviceId;
final CallHomeNetconfSubsystemListener subsystemListener) {
this.channel = requireNonNull(channel, "channel");
this.deviceId = deviceId;
- this.socketAddress = channel.remoteAddress();
- this.publicKey = createPublicKey(channel);
+ socketAddress = channel.remoteAddress();
+ publicKey = createPublicKey(channel);
this.sslHandlerFactory = requireNonNull(sslHandlerFactory, "sslHandlerFactory");
this.subsystemListener = subsystemListener;
}
this.sslHandlerFactory = requireNonNull(sslHandlerFactory, "sslHandlerFactory");
this.subsystemListener = subsystemListener;
}
- public TransportType getTransportType() {
- return TransportType.TLS;
+ public Name getTransportType() {
+ return Name.TLS;
}
private static PublicKey createPublicKey(final Channel ch) {
}
private static PublicKey createPublicKey(final Channel ch) {
import org.opendaylight.netconf.client.NetconfClientSession;
import org.opendaylight.netconf.client.NetconfClientSessionListener;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Host;
import org.opendaylight.netconf.client.NetconfClientSession;
import org.opendaylight.netconf.client.NetconfClientSessionListener;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Host;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.device.rev221225.connection.parameters.Protocol.Name;
import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.device.rev221225.connection.parameters.ProtocolBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.device.rev221225.credentials.credentials.LoginPasswordBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.node.topology.rev221225.NetconfNodeBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.device.rev221225.connection.parameters.ProtocolBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.device.rev221225.credentials.credentials.LoginPasswordBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.node.topology.rev221225.NetconfNodeBuilder;
.setPort(key.getPort())
.setTcpOnly(false)
.setProtocol(new ProtocolBuilder()
.setPort(key.getPort())
.setTcpOnly(false)
.setProtocol(new ProtocolBuilder()
- // FIXME: not .name() but an explicit contract
- .setName(Name.valueOf(protocol.getTransportType().name()))
+ .setName(protocol.getTransportType())
.build())
.setSchemaless(false)
.setReconnectOnChangedSchema(false)
.build())
.setSchemaless(false)
.setReconnectOnChangedSchema(false)
import org.opendaylight.netconf.api.NetconfTerminationReason;
import org.opendaylight.netconf.callhome.protocol.CallHomeChannelActivator;
import org.opendaylight.netconf.callhome.protocol.CallHomeProtocolSessionContext;
import org.opendaylight.netconf.api.NetconfTerminationReason;
import org.opendaylight.netconf.callhome.protocol.CallHomeChannelActivator;
import org.opendaylight.netconf.callhome.protocol.CallHomeProtocolSessionContext;
-import org.opendaylight.netconf.callhome.protocol.TransportType;
import org.opendaylight.netconf.client.NetconfClientSession;
import org.opendaylight.netconf.client.NetconfClientSessionListener;
import org.opendaylight.netconf.client.NetconfClientSession;
import org.opendaylight.netconf.client.NetconfClientSessionListener;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.device.rev221225.connection.parameters.Protocol.Name;
public class CallHomeMountSessionContextTest {
private Inet4Address someAddressIpv4;
public class CallHomeMountSessionContextTest {
private Inet4Address someAddressIpv4;
mockActivator = mock(CallHomeChannelActivator.class);
mockCallback = mock(CallHomeMountSessionContext.CloseCallback.class);
doReturn(someSocketAddress).when(mockProtocol).getRemoteAddress();
mockActivator = mock(CallHomeChannelActivator.class);
mockCallback = mock(CallHomeMountSessionContext.CloseCallback.class);
doReturn(someSocketAddress).when(mockProtocol).getRemoteAddress();
- doReturn(TransportType.SSH).when(mockProtocol).getTransportType();
+ doReturn(Name.SSH).when(mockProtocol).getTransportType();
instance = new CallHomeMountSessionContext("test",mockProtocol, mockActivator, mockCallback);
}
instance = new CallHomeMountSessionContext("test",mockProtocol, mockActivator, mockCallback);
}