X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=networkmodel%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Ftransportpce%2Fnetworkmodel%2Flisteners%2FAlarmNotificationListener.java;h=f0f57d62d0b3afb35b909024e1121bc9849ac0ee;hb=d03abd5d1287ce81ae3c6c4ff58fe255c77fc427;hp=c3d6ac1eeeb410e4f895347e3da18af839a06634;hpb=32dca3cd3f1894f783980b982ea4aaf527a274e2;p=transportpce.git diff --git a/networkmodel/src/main/java/org/opendaylight/transportpce/networkmodel/listeners/AlarmNotificationListener.java b/networkmodel/src/main/java/org/opendaylight/transportpce/networkmodel/listeners/AlarmNotificationListener.java index c3d6ac1ee..f0f57d62d 100644 --- a/networkmodel/src/main/java/org/opendaylight/transportpce/networkmodel/listeners/AlarmNotificationListener.java +++ b/networkmodel/src/main/java/org/opendaylight/transportpce/networkmodel/listeners/AlarmNotificationListener.java @@ -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.rev161014.AlarmNotification; -import org.opendaylight.yang.gen.v1.http.org.openroadm.alarm.rev161014.OrgOpenroadmAlarmListener; import org.opendaylight.yang.gen.v1.http.org.openroadm.alarm.rev161014.alarm.ProbableCause; import org.opendaylight.yang.gen.v1.http.org.openroadm.resource.rev161014.resource.ResourceType; import org.opendaylight.yang.gen.v1.http.org.openroadm.resource.rev161014.resource.resource.Resource; @@ -37,7 +38,7 @@ import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -public class AlarmNotificationListener implements OrgOpenroadmAlarmListener { +public class AlarmNotificationListener { private static final Logger LOG = LoggerFactory.getLogger(AlarmNotificationListener.class); private static final String PIPE = "|"; @@ -47,21 +48,24 @@ public class AlarmNotificationListener 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 allNodeList = new ArrayList<>(); InstanceIdentifier serviceNodeListIID = InstanceIdentifier.create(ServiceNodelist.class); try (ReadTransaction rtx = dataBroker.newReadOnlyTransaction()) { Optional 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()); } } @@ -128,71 +132,71 @@ public class AlarmNotificationListener implements OrgOpenroadmAlarmListener { case CircuitPack: Optional circuitPackOptional = tryCastToParticularResource(CircuitPack.class, resource); if (circuitPackOptional.isPresent()) { - circuitPack = circuitPackOptional.get().getCircuitPackName(); + circuitPack = circuitPackOptional.orElseThrow().getCircuitPackName(); } break; case Connection: Optional connectionOptional = tryCastToParticularResource(Connection.class, resource); if (connectionOptional.isPresent()) { - connection = connectionOptional.get().getConnectionNumber(); + connection = connectionOptional.orElseThrow().getConnectionNumber(); } break; case Degree: Optional degreeOptional = tryCastToParticularResource(Degree.class, resource); if (degreeOptional.isPresent()) { - degree = degreeOptional.get().getDegreeNumber().toString(); + degree = degreeOptional.orElseThrow().getDegreeNumber().toString(); } break; case Interface: Optional interfaceOptional = tryCastToParticularResource(Interface.class, resource); if (interfaceOptional.isPresent()) { - iface = interfaceOptional.get().getInterfaceName(); + iface = interfaceOptional.orElseThrow().getInterfaceName(); } break; case InternalLink: Optional internalLinkOptional = tryCastToParticularResource(InternalLink.class, resource); if (internalLinkOptional.isPresent()) { - internalLink = internalLinkOptional.get().getInternalLinkName(); + internalLink = internalLinkOptional.orElseThrow().getInternalLinkName(); } break; case PhysicalLink: Optional physicalLinkOptional = tryCastToParticularResource(PhysicalLink.class, resource); if (physicalLinkOptional.isPresent()) { - physicalLink = physicalLinkOptional.get().getPhysicalLinkName(); + physicalLink = physicalLinkOptional.orElseThrow().getPhysicalLinkName(); } break; case Service: Optional serviceOptional = tryCastToParticularResource(Service.class, resource); if (serviceOptional.isPresent()) { - service = serviceOptional.get().getServiceName(); + service = serviceOptional.orElseThrow().getServiceName(); } break; case Shelf: Optional shelfOptional = tryCastToParticularResource(Shelf.class, resource); if (shelfOptional.isPresent()) { - shelf = shelfOptional.get().getShelfName(); + shelf = shelfOptional.orElseThrow().getShelfName(); } break; case SharedRiskGroup: Optional sharedRiskGroupOptional = tryCastToParticularResource(Srg.class, resource); if (sharedRiskGroupOptional.isPresent()) { - sharedRiskGroup = sharedRiskGroupOptional.get().getSrgNumber().toString(); + sharedRiskGroup = sharedRiskGroupOptional.orElseThrow().getSrgNumber().toString(); } break; case Port: Optional 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;