Don't use NotificationListener (NodeRegistration)
[transportpce.git] / networkmodel / src / main / java / org / opendaylight / transportpce / networkmodel / listeners / AlarmNotificationListener221.java
index f93301d1afeab921038a2aa354812ee233c5d835..d7336eb559d6cbdff72f373920e29569bde88d81 100644 (file)
@@ -10,8 +10,10 @@ package org.opendaylight.transportpce.networkmodel.listeners;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Optional;
+import java.util.Set;
 import java.util.concurrent.ExecutionException;
 import org.opendaylight.mdsal.binding.api.DataBroker;
+import org.opendaylight.mdsal.binding.api.NotificationService.CompositeListener;
 import org.opendaylight.mdsal.binding.api.ReadTransaction;
 import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.alarmsuppression.rev171102.ServiceNodelist;
@@ -19,7 +21,6 @@ import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.alarmsupp
 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.alarmsuppression.rev171102.service.nodelist.nodelist.Nodes;
 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.alarmsuppression.rev171102.service.nodelist.nodelist.NodesBuilder;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.alarm.rev181019.AlarmNotification;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.alarm.rev181019.OrgOpenroadmAlarmListener;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.alarm.rev181019.alarm.ProbableCause;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.resource.rev181019.resource.ResourceType;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.resource.rev181019.resource.resource.Resource;
@@ -37,7 +38,7 @@ import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-public class AlarmNotificationListener221 implements OrgOpenroadmAlarmListener {
+public class AlarmNotificationListener221 {
 
     private static final Logger LOG = LoggerFactory.getLogger(AlarmNotificationListener221.class);
     private static final String PIPE = "|";
@@ -47,14 +48,17 @@ public class AlarmNotificationListener221 implements OrgOpenroadmAlarmListener {
         this.dataBroker = dataBroker;
     }
 
+    public CompositeListener getCompositeListener() {
+        return new CompositeListener(Set.of(
+            new CompositeListener.Component<>(AlarmNotification.class, this::onAlarmNotification)));
+    }
 
     /**
      * Callback for alarm-notification.
      *
      * @param notification AlarmNotification object
      */
-    @Override
-    public void onAlarmNotification(AlarmNotification notification) {
+    private void onAlarmNotification(AlarmNotification notification) {
         List<Nodes> allNodeList = new ArrayList<>();
         InstanceIdentifier<ServiceNodelist> serviceNodeListIID = InstanceIdentifier.create(ServiceNodelist.class);
         try {
@@ -62,7 +66,7 @@ public class AlarmNotificationListener221 implements OrgOpenroadmAlarmListener {
             Optional<ServiceNodelist> serviceListObject =
                     rtx.read(LogicalDatastoreType.OPERATIONAL, serviceNodeListIID).get();
             if (serviceListObject.isPresent()) {
-                for (Nodelist nodelist : serviceListObject.get().nonnullNodelist().values()) {
+                for (Nodelist nodelist : serviceListObject.orElseThrow().nonnullNodelist().values()) {
                     allNodeList.addAll(nodelist.nonnullNodes().values());
                 }
             }
@@ -130,71 +134,71 @@ public class AlarmNotificationListener221 implements OrgOpenroadmAlarmListener {
             case CircuitPack:
                 Optional<CircuitPack> circuitPackOptional = tryCastToParticularResource(CircuitPack.class, resource);
                 if (circuitPackOptional.isPresent()) {
-                    circuitPack = circuitPackOptional.get().getCircuitPackName();
+                    circuitPack = circuitPackOptional.orElseThrow().getCircuitPackName();
                 }
                 break;
 
             case Connection:
                 Optional<Connection> connectionOptional = tryCastToParticularResource(Connection.class, resource);
                 if (connectionOptional.isPresent()) {
-                    connection = connectionOptional.get().getConnectionName();
+                    connection = connectionOptional.orElseThrow().getConnectionName();
                 }
                 break;
 
             case Degree:
                 Optional<Degree> degreeOptional = tryCastToParticularResource(Degree.class, resource);
                 if (degreeOptional.isPresent()) {
-                    degree = degreeOptional.get().getDegreeNumber().toString();
+                    degree = degreeOptional.orElseThrow().getDegreeNumber().toString();
                 }
                 break;
 
             case Interface:
                 Optional<Interface> interfaceOptional = tryCastToParticularResource(Interface.class, resource);
                 if (interfaceOptional.isPresent()) {
-                    iface = interfaceOptional.get().getInterfaceName();
+                    iface = interfaceOptional.orElseThrow().getInterfaceName();
                 }
                 break;
 
             case InternalLink:
                 Optional<InternalLink> internalLinkOptional = tryCastToParticularResource(InternalLink.class, resource);
                 if (internalLinkOptional.isPresent()) {
-                    internalLink = internalLinkOptional.get().getInternalLinkName();
+                    internalLink = internalLinkOptional.orElseThrow().getInternalLinkName();
                 }
                 break;
 
             case PhysicalLink:
                 Optional<PhysicalLink> physicalLinkOptional = tryCastToParticularResource(PhysicalLink.class, resource);
                 if (physicalLinkOptional.isPresent()) {
-                    physicalLink = physicalLinkOptional.get().getPhysicalLinkName();
+                    physicalLink = physicalLinkOptional.orElseThrow().getPhysicalLinkName();
                 }
                 break;
 
             case Service:
                 Optional<Service> serviceOptional = tryCastToParticularResource(Service.class, resource);
                 if (serviceOptional.isPresent()) {
-                    service = serviceOptional.get().getServiceName();
+                    service = serviceOptional.orElseThrow().getServiceName();
                 }
                 break;
 
             case Shelf:
                 Optional<Shelf> shelfOptional = tryCastToParticularResource(Shelf.class, resource);
                 if (shelfOptional.isPresent()) {
-                    shelf = shelfOptional.get().getShelfName();
+                    shelf = shelfOptional.orElseThrow().getShelfName();
                 }
                 break;
 
             case SharedRiskGroup:
                 Optional<Srg> sharedRiskGroupOptional = tryCastToParticularResource(Srg.class, resource);
                 if (sharedRiskGroupOptional.isPresent()) {
-                    sharedRiskGroup = sharedRiskGroupOptional.get().getSrgNumber().toString();
+                    sharedRiskGroup = sharedRiskGroupOptional.orElseThrow().getSrgNumber().toString();
                 }
                 break;
 
             case Port:
                 Optional<Port> portContainerOptional = tryCastToParticularResource(Port.class, resource);
                 if (portContainerOptional.isPresent()) {
-                    port = portContainerOptional.get().getPort().getPortName();
-                    portCircuitPack = portContainerOptional.get().getPort().getCircuitPackName();
+                    port = portContainerOptional.orElseThrow().getPort().getPortName();
+                    portCircuitPack = portContainerOptional.orElseThrow().getPort().getCircuitPackName();
                 }
                 break;