Eliminate TransportType 70/103770/2
authorRobert Varga <robert.varga@pantheon.tech>
Thu, 29 Dec 2022 20:35:26 +0000 (21:35 +0100)
committerRobert Varga <nite@hq.sk>
Thu, 29 Dec 2022 21:39:00 +0000 (21:39 +0000)
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>
netconf/callhome-protocol/pom.xml
netconf/callhome-protocol/src/main/java/org/opendaylight/netconf/callhome/protocol/CallHomeProtocolSessionContext.java
netconf/callhome-protocol/src/main/java/org/opendaylight/netconf/callhome/protocol/CallHomeSessionContext.java
netconf/callhome-protocol/src/main/java/org/opendaylight/netconf/callhome/protocol/TransportType.java [deleted file]
netconf/callhome-protocol/src/main/java/org/opendaylight/netconf/callhome/protocol/tls/CallHomeTlsSessionContext.java
netconf/callhome-provider/src/main/java/org/opendaylight/netconf/callhome/mount/CallHomeMountSessionContext.java
netconf/callhome-provider/src/test/java/org/opendaylight/netconf/callhome/mount/CallHomeMountSessionContextTest.java

index 0223d6fd1541b06fa58bd54e7927ec26e2aeb5b0..c42a49281b6a26f6d4a77d3e7decda1241f69d71 100644 (file)
   <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>
-      <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>
+
     <dependency>
       <groupId>org.opendaylight.yangtools</groupId>
       <artifactId>mockito-configuration</artifactId>
index adc0810cc70269f1962a3d3a48cdd0fd5f2dec0e..1abf444a18ac2dd752c0c1466381d2aad65979af 100644 (file)
@@ -9,6 +9,7 @@ package org.opendaylight.netconf.callhome.protocol;
 
 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.
@@ -44,7 +45,7 @@ public interface CallHomeProtocolSessionContext {
     /**
      * Returns transport type for this session.
      *
-     * @return {@link TransportType} for this session.
+     * @return {@link Name} for this session.
      */
-    TransportType getTransportType();
+    Name getTransportType();
 }
index 7fd5e6991dc558407cef2aa3ed7c6477b40d632b..5d310e6224602fd65244dffc08b0cbfba9a0b3e0 100644 (file)
@@ -30,6 +30,7 @@ import org.opendaylight.netconf.shaded.sshd.client.future.OpenFuture;
 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;
 
@@ -58,7 +59,7 @@ class CallHomeSessionContext implements CallHomeProtocolSessionContext {
         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();
     }
 
@@ -104,8 +105,8 @@ class CallHomeSessionContext implements CallHomeProtocolSessionContext {
     }
 
     @Override
-    public TransportType getTransportType() {
-        return TransportType.SSH;
+    public Name getTransportType() {
+        return Name.SSH;
     }
 
     private void channelOpenFailed(final Throwable throwable) {
diff --git a/netconf/callhome-protocol/src/main/java/org/opendaylight/netconf/callhome/protocol/TransportType.java b/netconf/callhome-protocol/src/main/java/org/opendaylight/netconf/callhome/protocol/TransportType.java
deleted file mode 100644 (file)
index 5b59750..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-/*
- * 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
-}
index ed62468428a99932873aca4b87ed2e70ebb637a2..f1d8f0df30ee1920bac6c80969a0cbf581f87886 100644 (file)
@@ -23,12 +23,12 @@ import java.util.concurrent.atomic.AtomicBoolean;
 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.yang.gen.v1.urn.opendaylight.netconf.device.rev221225.connection.parameters.Protocol.Name;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -47,8 +47,8 @@ final class CallHomeTlsSessionContext implements CallHomeProtocolSessionContext
                               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;
     }
@@ -98,8 +98,8 @@ final class CallHomeTlsSessionContext implements CallHomeProtocolSessionContext
     }
 
     @Override
-    public TransportType getTransportType() {
-        return TransportType.TLS;
+    public Name getTransportType() {
+        return Name.TLS;
     }
 
     private static PublicKey createPublicKey(final Channel ch) {
index f12a6ce4bffd095260de0ea3bb69a265942bc2e7..68d8961d8985e032475c02374e8713562d3accb2 100644 (file)
@@ -18,7 +18,6 @@ import org.opendaylight.netconf.callhome.protocol.CallHomeProtocolSessionContext
 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;
@@ -83,8 +82,7 @@ class CallHomeMountSessionContext {
                         .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)
index 8e196568d8da4969cf48860041097e8ed11773d6..aeb9087227ce6d7b2451797059ce3028eb96b37b 100644 (file)
@@ -24,9 +24,9 @@ import org.opendaylight.netconf.api.NetconfMessage;
 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.yang.gen.v1.urn.opendaylight.netconf.device.rev221225.connection.parameters.Protocol.Name;
 
 public class CallHomeMountSessionContextTest {
     private Inet4Address someAddressIpv4;
@@ -45,7 +45,7 @@ public class CallHomeMountSessionContextTest {
         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);
     }