From 489f92b555423e76208fac38e7a4d0222ac793fb Mon Sep 17 00:00:00 2001 From: "guillaume.lambert" Date: Thu, 28 Mar 2024 11:14:30 +0100 Subject: [PATCH] Refactor TAPI utils TapiListener Signed-off-by: guillaume.lambert Change-Id: I3aa83ce91fac1084bf871681a3e566eed3d424ee --- .../transportpce/tapi/utils/TapiListener.java | 53 ++++++++----------- 1 file changed, 21 insertions(+), 32 deletions(-) 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..c1c5c9722 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,12 @@ */ 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; @@ -33,45 +31,36 @@ 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(); - // 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); - MappingUtils.afficheMap(); - break; - } - - // 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 { - LOG.error("data input type is not a valid 'service-end-point'"); - } + Iterator> iterator = + rootSIP.getModifiedChildren(ServiceEndPoint.class).iterator(); + if (!iterator.hasNext()) { + break; + } + DataObjectModification dom = iterator.next(); + // to delete existing child entry + DataObject dataAfter = dom.dataAfter(); + if (dataAfter == null) { + MappingUtils.deleteMapEntry(((ServiceEndPoint) dom.dataBefore()).getUuid()); + MappingUtils.afficheMap(); break; } + // to add new child entry + if (dom.dataBefore() != null || dom.dataType().toString().compareTo( + "interface org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.tapi.rev180928" + + ".service._interface.points.ServiceEndPoint") != 0) { + LOG.error("data input type is not a valid 'service-end-point'"); + break; + } + MappingUtils.addMapSEP((ServiceEndPoint) dataAfter); + MappingUtils.afficheMap(); break; case DELETE: LOG.info("onDataTreeChanged in TapiListener : DELETE"); -- 2.36.6