- private void processAddedTerminationPoints(Map<InstanceIdentifier<?>, DataObject> addedDatas) {
- for (Entry<InstanceIdentifier<?>, DataObject> addedData : addedDatas.entrySet()) {
- createData(addedData.getKey(), addedData.getValue());
+ private void processRemovedTerminationPoints(final DataTreeModification<FlowCapableNodeConnector> modification) {
+ final InstanceIdentifier<FlowCapableNodeConnector> removedNode = modification.getRootPath().getRootIdentifier();
+ final TpId terminationPointId = provideTopologyTerminationPointId(removedNode);
+ final InstanceIdentifier<TerminationPoint> iiToTopologyTerminationPoint = provideIIToTopologyTerminationPoint(
+ terminationPointId, removedNode);
+
+ if (iiToTopologyTerminationPoint != null) {
+ final InstanceIdentifier<org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology
+ .rev131021.network.topology.topology.Node>
+ node = iiToTopologyTerminationPoint.firstIdentifierOf(
+ org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network
+ .topology.topology.Node.class);
+ operationProcessor.enqueueOperation(manager -> {
+ Optional<org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network
+ .topology.topology.Node>
+ nodeOptional = Optional.empty();
+ try {
+ 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);
+ }
+ if (nodeOptional.isPresent()) {
+ TopologyManagerUtil.removeAffectedLinks(terminationPointId, manager, II_TO_TOPOLOGY);
+ manager.addDeleteOperationToTxChain(LogicalDatastoreType.OPERATIONAL,
+ iiToTopologyTerminationPoint);
+ }
+ });
+ } else {
+ LOG.debug(
+ "Instance identifier to inventory wasn't translated to topology while deleting termination point.");