X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=applications%2Ftopology-manager%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fopenflowplugin%2Fapplications%2Ftopology%2Fmanager%2FTerminationPointChangeListenerImpl.java;h=6831af0bcb6648222a97c0c4a87a19762b364a86;hb=cfe3a97837951ebbedb337dc988027f10c49f714;hp=808e2c8110edb690c95f049ccfe140aac56b7c5b;hpb=23421dd2c05b1107205cbbfc41f3a0bba109a198;p=openflowplugin.git diff --git a/applications/topology-manager/src/main/java/org/opendaylight/openflowplugin/applications/topology/manager/TerminationPointChangeListenerImpl.java b/applications/topology-manager/src/main/java/org/opendaylight/openflowplugin/applications/topology/manager/TerminationPointChangeListenerImpl.java index 808e2c8110..6831af0bcb 100644 --- a/applications/topology-manager/src/main/java/org/opendaylight/openflowplugin/applications/topology/manager/TerminationPointChangeListenerImpl.java +++ b/applications/topology-manager/src/main/java/org/opendaylight/openflowplugin/applications/topology/manager/TerminationPointChangeListenerImpl.java @@ -11,9 +11,13 @@ import java.util.Collection; import java.util.Optional; import java.util.concurrent.ExecutionException; import javax.annotation.Nonnull; -import org.opendaylight.controller.md.sal.binding.api.DataBroker; -import org.opendaylight.controller.md.sal.binding.api.DataTreeModification; -import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType; +import javax.annotation.PreDestroy; +import javax.inject.Inject; +import javax.inject.Singleton; +import org.apache.aries.blueprint.annotation.service.Reference; +import org.opendaylight.mdsal.binding.api.DataBroker; +import org.opendaylight.mdsal.binding.api.DataTreeModification; +import org.opendaylight.mdsal.common.api.LogicalDatastoreType; import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.FlowCapableNodeConnector; import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.NodeConnectorRef; import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.Nodes; @@ -31,10 +35,12 @@ import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +@Singleton public class TerminationPointChangeListenerImpl extends DataTreeChangeListenerImpl { private static final Logger LOG = LoggerFactory.getLogger(TerminationPointChangeListenerImpl.class); - public TerminationPointChangeListenerImpl(final DataBroker dataBroker, + @Inject + public TerminationPointChangeListenerImpl(@Reference final DataBroker dataBroker, final OperationProcessor operationProcessor) { super(operationProcessor, dataBroker, InstanceIdentifier.builder(Nodes.class).child(Node.class).child(NodeConnector.class) @@ -62,6 +68,12 @@ public class TerminationPointChangeListenerImpl extends DataTreeChangeListenerIm } } + @Override + @PreDestroy + public void close() throws Exception { + super.close(); + } + private void processRemovedTerminationPoints(final DataTreeModification modification) { final InstanceIdentifier removedNode = modification.getRootPath().getRootIdentifier(); final TpId terminationPointId = provideTopologyTerminationPointId(removedNode); @@ -79,8 +91,7 @@ public class TerminationPointChangeListenerImpl extends DataTreeChangeListenerIm .topology.topology.Node> nodeOptional = Optional.empty(); try { - nodeOptional = Optional.ofNullable( - manager.readFromTransaction(LogicalDatastoreType.OPERATIONAL, node).get().orNull()); + nodeOptional = manager.readFromTransaction(LogicalDatastoreType.OPERATIONAL, node).get(); } catch (InterruptedException | ExecutionException e) { LOG.warn("Error occurred when trying to read NodeConnector: {}", e.getMessage()); LOG.debug("Error occurred when trying to read NodeConnector.. ", e); @@ -118,9 +129,9 @@ public class TerminationPointChangeListenerImpl extends DataTreeChangeListenerIm private void removeLinks(final FlowCapableNodeConnector flowCapNodeConnector, final TerminationPoint point) { operationProcessor.enqueueOperation(manager -> { - if ((flowCapNodeConnector.getState() != null && flowCapNodeConnector.getState().isLinkDown()) || ( - flowCapNodeConnector.getConfiguration() != null && flowCapNodeConnector.getConfiguration() - .isPORTDOWN())) { + if (flowCapNodeConnector.getState() != null && flowCapNodeConnector.getState().isLinkDown() + || flowCapNodeConnector.getConfiguration() != null + && flowCapNodeConnector.getConfiguration().isPORTDOWN()) { TopologyManagerUtil.removeAffectedLinks(point.getTpId(), manager, II_TO_TOPOLOGY); } });