From: Gilles Thouenon Date: Wed, 3 Apr 2024 15:56:06 +0000 (+0000) Subject: Merge "Refactor ORDM TAPI topology conversion" X-Git-Tag: 9.0.0~8 X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=commitdiff_plain;h=2c733665f86a40ee6f8bd7f122a62167306be84f;hp=0ca8a2a3cee00a063bf0a1f02331b4b7ddca6666;p=transportpce.git Merge "Refactor ORDM TAPI topology conversion" --- diff --git a/tapi/src/main/java/org/opendaylight/transportpce/tapi/utils/TapiListener.java b/tapi/src/main/java/org/opendaylight/transportpce/tapi/utils/TapiListener.java index ee0d4a3b5..1a3521661 100644 --- a/tapi/src/main/java/org/opendaylight/transportpce/tapi/utils/TapiListener.java +++ b/tapi/src/main/java/org/opendaylight/transportpce/tapi/utils/TapiListener.java @@ -7,14 +7,11 @@ */ package org.opendaylight.transportpce.tapi.utils; -import java.util.ArrayList; -import java.util.Iterator; import java.util.List; import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.mdsal.binding.api.DataObjectModification; import org.opendaylight.mdsal.binding.api.DataTreeChangeListener; import org.opendaylight.mdsal.binding.api.DataTreeModification; -import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.common.rev221121.Uuid; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.tapi.rev230728.ServiceInterfacePoints; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.tapi.rev230728.service._interface.points.ServiceEndPoint; import org.opendaylight.yangtools.yang.binding.DataObject; @@ -24,6 +21,9 @@ import org.slf4j.LoggerFactory; public class TapiListener implements DataTreeChangeListener { private static final Logger LOG = LoggerFactory.getLogger(TapiListener.class); + private static final String SE_JAVA_INTF = + "interface org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.tapi.rev180928" + + ".service._interface.points.ServiceEndPoint"; @Override public void onDataTreeChanged(@NonNull List> changes) { @@ -33,44 +33,30 @@ public class TapiListener implements DataTreeChangeListener listSEP = new ArrayList<>(data.getServiceEndPoint().values()); MappingUtils.deleteMap(); - for (ServiceEndPoint sep : listSEP) { + for (ServiceEndPoint sep : rootSIP.dataAfter().getServiceEndPoint().values()) { MappingUtils.addMapSEP(sep); } MappingUtils.afficheMap(); break; case SUBTREE_MODIFIED: LOG.info("onDataTreeChanged in TapiListener : SUBTREE_MODIFIED"); - Iterator> iterator = rootSIP - .getModifiedChildren(ServiceEndPoint.class).iterator(); - while (iterator.hasNext()) { - DataObjectModification dom = iterator.next(); + for (DataObjectModification dom : + rootSIP.getModifiedChildren(ServiceEndPoint.class)) { // to delete existing child entry - if (dom.dataAfter() == null) { - DataObject dataObject = dom.dataBefore(); - ServiceEndPoint sep = null; - sep = (ServiceEndPoint) dataObject; - Uuid uuid = sep.getUuid(); - MappingUtils.deleteMapEntry(uuid); + DataObject dataAfter = dom.dataAfter(); + if (dataAfter == null) { + MappingUtils.deleteMapEntry(((ServiceEndPoint) dom.dataBefore()).getUuid()); MappingUtils.afficheMap(); - break; + continue; } - // to add new child entry - if (dom.dataType().toString().compareTo("interface org.opendaylight.yang.gen.v1.urn.opendayl" - + "ight.params.xml.ns.yang.tapi.rev180928.service._interface.points.ServiceEndPoint") == 0 - && dom.dataBefore() == null) { - DataObject dataObject = dom.dataAfter(); - ServiceEndPoint sep = null; - sep = (ServiceEndPoint) dataObject; - MappingUtils.addMapSEP(sep); - MappingUtils.afficheMap(); - } else { + if (dom.dataBefore() != null || dom.dataType().toString().compareTo(SE_JAVA_INTF) != 0) { LOG.error("data input type is not a valid 'service-end-point'"); + continue; } - break; + MappingUtils.addMapSEP((ServiceEndPoint) dataAfter); + MappingUtils.afficheMap(); } break; case DELETE: