Ditch use of SystemNotificationsListener
[openflowplugin.git] / openflowplugin-impl / src / main / java / org / opendaylight / openflowplugin / impl / connection / listener / SystemNotificationsListenerImpl.java
index 9211867f391e31a614b5c250534790c9290318cc..e98cca75de4e76269dbd57acc03ca60d02b8c51d 100644 (file)
@@ -19,6 +19,7 @@ import java.util.concurrent.TimeUnit;
 import org.eclipse.jdt.annotation.NonNull;
 import org.eclipse.jdt.annotation.Nullable;
 import org.opendaylight.mdsal.binding.api.NotificationPublishService;
+import org.opendaylight.openflowjava.protocol.api.connection.ConnectionAdapter.SystemListener;
 import org.opendaylight.openflowplugin.api.openflow.connection.ConnectionContext;
 import org.opendaylight.openflowplugin.api.openflow.device.Xid;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IetfInetUtil;
@@ -32,7 +33,6 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.system.rev130927.DisconnectEvent;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.system.rev130927.SslConnectionError;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.system.rev130927.SwitchIdleEvent;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.system.rev130927.SystemNotificationsListener;
 import org.opendaylight.yangtools.yang.common.RpcError;
 import org.opendaylight.yangtools.yang.common.RpcResult;
 import org.opendaylight.yangtools.yang.common.Uint16;
@@ -40,8 +40,7 @@ import org.opendaylight.yangtools.yang.common.Uint32;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-public class SystemNotificationsListenerImpl implements SystemNotificationsListener {
-
+public class SystemNotificationsListenerImpl implements SystemListener {
     private static final Logger LOG = LoggerFactory.getLogger(SystemNotificationsListenerImpl.class);
     private static final Logger OF_EVENT_LOG = LoggerFactory.getLogger("OfEventLog");
     private static final Xid ECHO_XID = new Xid(Uint32.ZERO);
@@ -54,28 +53,39 @@ public class SystemNotificationsListenerImpl implements SystemNotificationsListe
     private final NotificationPublishService notificationPublishService;
 
     public SystemNotificationsListenerImpl(@NonNull final ConnectionContext connectionContext,
-                                           final long echoReplyTimeout,
-                                           @NonNull final Executor executor,
-                                           @NonNull final NotificationPublishService notificationPublishService) {
-        this.executor = requireNonNull(executor);
+            final long echoReplyTimeout, final @NonNull Executor executor,
+            @NonNull final NotificationPublishService notificationPublishService) {
         this.connectionContext = requireNonNull(connectionContext);
         this.echoReplyTimeout = echoReplyTimeout;
-        this.notificationPublishService = notificationPublishService;
+        this.executor = requireNonNull(executor);
+        this.notificationPublishService = requireNonNull(notificationPublishService);
     }
 
     @Override
-    public void onDisconnectEvent(final DisconnectEvent notification) {
-        OF_EVENT_LOG.debug("Disconnect, Node: {}", connectionContext.getSafeNodeIdForLOG());
-        LOG.info("ConnectionEvent: Connection closed by device, Device:{}, NodeId:{}",
-                connectionContext.getConnectionAdapter().getRemoteAddress(), connectionContext.getSafeNodeIdForLOG());
-        connectionContext.onConnectionClosed();
+    public void onSslConnectionError(final SslConnectionError sslConnectionError) {
+        final var switchCert = sslConnectionError.getSwitchCertificate();
+        notificationPublishService.offerNotification(new SslErrorBuilder()
+            .setType(SslErrorType.SslConFailed)
+            .setCode(Uint16.valueOf(SslErrorType.SslConFailed.getIntValue()))
+            .setNodeIpAddress(remoteAddress())
+            .setData(sslConnectionError.getInfo())
+            .setSwitchCertificate(switchCert == null ? null : new SwitchCertificateBuilder(switchCert).build())
+            .build());
     }
 
     @Override
-    public void onSwitchIdleEvent(final SwitchIdleEvent notification) {
+    public void onSwitchIdle(final SwitchIdleEvent switchIdle) {
         executor.execute(this::executeOnSwitchIdleEvent);
     }
 
+    @Override
+    public void onDisconnect(final DisconnectEvent notification) {
+        OF_EVENT_LOG.debug("Disconnect, Node: {}", connectionContext.getSafeNodeIdForLOG());
+        LOG.info("ConnectionEvent: Connection closed by device, Device:{}, NodeId:{}",
+                connectionContext.getConnectionAdapter().getRemoteAddress(), connectionContext.getSafeNodeIdForLOG());
+        connectionContext.onConnectionClosed();
+    }
+
     @SuppressWarnings("checkstyle:IllegalCatch")
     private void executeOnSwitchIdleEvent() {
         boolean shouldBeDisconnected = true;
@@ -141,19 +151,6 @@ public class SystemNotificationsListenerImpl implements SystemNotificationsListe
         }
     }
 
-    @Override
-    public void onSslConnectionError(final SslConnectionError notification) {
-        final var switchCert = notification.getSwitchCertificate();
-
-        notificationPublishService.offerNotification(new SslErrorBuilder()
-            .setType(SslErrorType.SslConFailed)
-            .setCode(Uint16.valueOf(SslErrorType.SslConFailed.getIntValue()))
-            .setNodeIpAddress(remoteAddress())
-            .setData(notification.getInfo())
-            .setSwitchCertificate(switchCert == null ? null : new SwitchCertificateBuilder(switchCert).build())
-            .build());
-    }
-
     private @Nullable IpAddress remoteAddress() {
         final var connectionAdapter = connectionContext.getConnectionAdapter();
         if (connectionAdapter != null) {