Enable 100GE service over multiple OTU4 links 04/97804/6
authorGilles Thouenon <gilles.thouenon@orange.com>
Thu, 16 Sep 2021 08:03:17 +0000 (10:03 +0200)
committerGilles Thouenon <gilles.thouenon@orange.com>
Thu, 18 Nov 2021 07:42:27 +0000 (07:42 +0000)
Creating/deleting a 100GE service over more than 2 otn-switches imposes
to be able to update bandwidth parameters of multiple supported OTU4
links in otn-topology. To that end, it is necessary to apply some
changes in the notification transmits from the renderer towards service
handler.
- introduce leaf-list link-id used in the case where we have more than 1
bidirection supported link
- adapt the updateOtnLinks method signature to take the list into acount
- add a new method in renderer/ModelMapingUtils to extract OTU links
directly from a service-path-description
- update import revision of transportpce-renderer model

JIRA: TRNSPRTPCE-531
Signed-off-by: Gilles Thouenon <gilles.thouenon@orange.com>
Change-Id: I401c76551e51666fa20c63ef8c2a141a6e064654

24 files changed:
api/src/main/yang/service_path/transportpce-renderer@2021-09-15.yang [moved from api/src/main/yang/service_path/transportpce-renderer@2021-06-18.yang with 87% similarity]
networkmodel/src/main/java/org/opendaylight/transportpce/networkmodel/service/NetworkModelService.java
networkmodel/src/main/java/org/opendaylight/transportpce/networkmodel/service/NetworkModelServiceImpl.java
renderer/src/main/java/org/opendaylight/transportpce/renderer/ModelMappingUtils.java
renderer/src/main/java/org/opendaylight/transportpce/renderer/RendererProvider.java
renderer/src/main/java/org/opendaylight/transportpce/renderer/provisiondevice/RendererServiceOperations.java
renderer/src/main/java/org/opendaylight/transportpce/renderer/provisiondevice/RendererServiceOperationsImpl.java
renderer/src/main/java/org/opendaylight/transportpce/renderer/rpcs/TransportPCEServicePathRPCImpl.java
renderer/src/test/java/org/opendaylight/transportpce/renderer/provisiondevice/RendererServiceOperationsImplDeleteTest.java
renderer/src/test/java/org/opendaylight/transportpce/renderer/provisiondevice/RendererServiceOperationsImplTest.java
renderer/src/test/java/org/opendaylight/transportpce/renderer/utils/ServiceDataUtils.java
servicehandler/src/main/java/org/opendaylight/transportpce/servicehandler/ModelMappingUtils.java
servicehandler/src/main/java/org/opendaylight/transportpce/servicehandler/impl/ServicehandlerImpl.java
servicehandler/src/main/java/org/opendaylight/transportpce/servicehandler/impl/ServicehandlerProvider.java
servicehandler/src/main/java/org/opendaylight/transportpce/servicehandler/listeners/PceListenerImpl.java
servicehandler/src/main/java/org/opendaylight/transportpce/servicehandler/listeners/RendererListenerImpl.java
servicehandler/src/main/java/org/opendaylight/transportpce/servicehandler/service/RendererServiceWrapper.java
servicehandler/src/test/java/org/opendaylight/transportpce/servicehandler/ModelMappingUtilsTest.java
servicehandler/src/test/java/org/opendaylight/transportpce/servicehandler/service/RendererServiceWrapperTest.java
servicehandler/src/test/java/org/opendaylight/transportpce/servicehandler/utils/MockedNotificationServiceWrapper.java
servicehandler/src/test/java/org/opendaylight/transportpce/servicehandler/utils/ModelMappingUtils.java
servicehandler/src/test/java/org/opendaylight/transportpce/servicehandler/utils/ServiceDataUtils.java
tapi/src/main/java/org/opendaylight/transportpce/tapi/impl/TapiProvider.java
tapi/src/main/java/org/opendaylight/transportpce/tapi/listeners/TapiRendererListenerImpl.java

similarity index 87%
rename from api/src/main/yang/service_path/transportpce-renderer@2021-06-18.yang
rename to api/src/main/yang/service_path/transportpce-renderer@2021-09-15.yang
index 4a49b82873b2706371e71668a4538bd077b76f0e..52bc6d20eb40fbaf47f8bf092ef911d2d5376e1b 100644 (file)
@@ -55,11 +55,16 @@ module transportpce-renderer {
       ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
       POSSIBILITY OF SUCH DAMAGE";
 
+  revision 2021-09-15 {
+      description
+        "Version 1.6.4.
+         Add list of link-id to the notification";
+    }
   revision 2021-06-18 {
-    description
-      "Version 1.6.3.
-       Add optical-renderer-nodes to the notification";
-  }
+      description
+        "Version 1.6.3.
+         Add optical-renderer-nodes to the notification";
+    }
   revision 2020-11-25 {
     description
       "Version 1.6.2";
@@ -78,6 +83,10 @@ module transportpce-renderer {
   }
 
   grouping link-for-notif {
+    description
+      "In most of the cases, only 2 link-termination-points exists.
+       It reveals that the service is supported by a single otn-link
+       to configure. Its properties can be easily transmited by this way.";
     container a-termination {
       leaf node-id {
         type string;
@@ -155,6 +164,14 @@ module transportpce-renderer {
     container link {
       uses link-for-notif;
     }
+    leaf-list link-id {
+      type string;
+      description
+        "when more than 2 link-termination-points exists,
+         it reveals that the service is supported by multiple
+         links (typically, OTU4). In such a case, it is more appropriated
+         to transmit the list of supported links with their link-id";
+    }
     leaf service-type {
         type string;
     }
index 3e8b342f54caab1bbac2c2a9ae0e64058f82f323..4961ba6bda02701cb2708dd60fe4d55f654a6c89 100644 (file)
@@ -7,8 +7,9 @@
  */
 package org.opendaylight.transportpce.networkmodel.service;
 
+import java.util.List;
 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev210426.mapping.Mapping;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210618.renderer.rpc.result.sp.Link;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210915.renderer.rpc.result.sp.Link;
 import org.opendaylight.yang.gen.v1.http.transportpce.topology.rev210511.OtnLinkType;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.node.topology.rev150114.NetconfNodeConnectionStatus;
 import org.opendaylight.yangtools.yang.common.Uint32;
@@ -109,7 +110,7 @@ public interface NetworkModelService {
      * @param maxTribSoltNb
      *     Last contiguous trib slot number allocated by the service
      * @param isDeletion
-     *       True indicates if the low-order otn service must be deleted
+     *     True indicates if the low-order otn service must be deleted
      */
     void updateOtnLinks(Link link, Uint32 serviceRate, Short tribPortNb, Short minTribSoltNb, Short maxTribSoltNb,
             boolean isDeletion);
@@ -121,8 +122,10 @@ public interface NetworkModelService {
      *
      * @param link
      *     link containing termination points to be updated
+     * @param supportedLinks
+     *     list of link-id supported the service (used when more than one supported link)
      * @param isDeletion
-     *       True indicates if the low-order otn service must be deleted
+     *     True indicates if the low-order otn service must be deleted
      */
-    void updateOtnLinks(Link link, boolean isDeletion);
+    void updateOtnLinks(Link link, List<String> supportedLinks, boolean isDeletion);
 }
index 74567811e46a2f346f2eaba8fc1721e7960e9eb3..a9dc7b142e21954035e161052b858f0e743dbfc6 100644 (file)
@@ -546,7 +546,7 @@ public class NetworkModelServiceImpl implements NetworkModelService {
 
     @Override
     public void updateOtnLinks(
-        org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210618.renderer.rpc.result.sp.Link
+        org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210915.renderer.rpc.result.sp.Link
             notifLink, Uint32 serviceRate, Short tribPortNb, Short minTribSoltNb, Short maxTribSlotNb,
             boolean isDeletion) {
 
@@ -607,18 +607,24 @@ public class NetworkModelServiceImpl implements NetworkModelService {
 
     @Override
     public void updateOtnLinks(
-        org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210618.renderer.rpc.result.sp.Link
-            notifLink, boolean isDeletion) {
+        org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210915.renderer.rpc.result.sp.Link
+            notifLink, List<String> suppLinks, boolean isDeletion) {
 
         List<LinkId> linkIdList = new ArrayList<>();
-        String nodeTopoA = convertNetconfNodeIdToTopoNodeId(notifLink.getATermination().getNodeId(),
-            notifLink.getATermination().getTpId());
-        String nodeTopoZ = convertNetconfNodeIdToTopoNodeId(notifLink.getZTermination().getNodeId(),
-            notifLink.getZTermination().getTpId());
-        linkIdList.add(LinkIdUtil.buildOtnLinkId(nodeTopoA, notifLink.getATermination().getTpId(),
-            nodeTopoZ, notifLink.getZTermination().getTpId(), OtnLinkType.OTU4.getName()));
-        linkIdList.add(LinkIdUtil.buildOtnLinkId(nodeTopoZ, notifLink.getZTermination().getTpId(),
-            nodeTopoA, notifLink.getATermination().getTpId(), OtnLinkType.OTU4.getName()));
+        if (notifLink != null) {
+            String nodeTopoA = convertNetconfNodeIdToTopoNodeId(notifLink.getATermination().getNodeId(),
+                notifLink.getATermination().getTpId());
+            String nodeTopoZ = convertNetconfNodeIdToTopoNodeId(notifLink.getZTermination().getNodeId(),
+                notifLink.getZTermination().getTpId());
+            linkIdList.add(LinkIdUtil.buildOtnLinkId(nodeTopoA, notifLink.getATermination().getTpId(),
+                nodeTopoZ, notifLink.getZTermination().getTpId(), OtnLinkType.OTU4.getName()));
+            linkIdList.add(LinkIdUtil.buildOtnLinkId(nodeTopoZ, notifLink.getZTermination().getTpId(),
+                nodeTopoA, notifLink.getATermination().getTpId(), OtnLinkType.OTU4.getName()));
+        } else if (suppLinks != null) {
+            suppLinks.forEach(lk -> linkIdList.add(new LinkId(lk)));
+        } else {
+            LOG.error("Impossible to determine supported otn links without correct input data");
+        }
         List<Link> supportedOtu4links = getOtnLinks(linkIdList);
 
         TopologyShard otnTopologyShard = OpenRoadmOtnTopology.updateOtnLinks(supportedOtu4links, isDeletion);
index c349a300b0a5741ed87848956cbbb25353b23801..408b5e45381e15f29292813b40eca9ac6b86313c 100644 (file)
@@ -25,11 +25,11 @@ import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.device.re
 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.device.renderer.rev210618.ServicePathInputBuilder;
 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.olm.rev210618.ServicePowerSetupInput;
 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.olm.rev210618.ServicePowerSetupInputBuilder;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210618.ServiceDeleteOutput;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210618.ServiceDeleteOutputBuilder;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210618.ServiceImplementationRequestInput;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210618.ServiceImplementationRequestOutput;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210618.ServiceImplementationRequestOutputBuilder;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210915.ServiceDeleteOutput;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210915.ServiceDeleteOutputBuilder;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210915.ServiceImplementationRequestInput;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210915.ServiceImplementationRequestOutput;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210915.ServiceImplementationRequestOutputBuilder;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev190531.configuration.response.common.ConfigurationResponseCommon;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev190531.configuration.response.common.ConfigurationResponseCommonBuilder;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.common.types.rev181019.FrequencyGHz;
@@ -43,6 +43,7 @@ import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdes
 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev210705.path.description.atoz.direction.AToZ;
 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev210705.path.description.ztoa.direction.ZToA;
 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev210705.pce.resource.resource.Resource;
+import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev210705.pce.resource.resource.resource.Link;
 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev210705.pce.resource.resource.resource.TerminationPoint;
 import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev210618.optical.renderer.nodes.Nodes;
 import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev210618.optical.renderer.nodes.NodesBuilder;
@@ -54,7 +55,6 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 
-
 public final class ModelMappingUtils {
 
     private static final Logger LOG = LoggerFactory.getLogger(ModelMappingUtils.class);
@@ -271,6 +271,23 @@ public final class ModelMappingUtils {
         return new ServicePathInputBuilder().setServiceName(serviceName).build();
     }
 
+    public static List<String> getLinksFromServicePathDescription(PathDescription pathDescription) {
+        List<String> linkidList = new ArrayList<>();
+        pathDescription.getAToZDirection().getAToZ().values().stream()
+            .filter(lk -> "Link".equals(lk.getResource().getResource().implementedInterface().getSimpleName()))
+            .forEach(rsc -> {
+                Link link = (Link) rsc.getResource().getResource();
+                linkidList.add(link.getLinkId());
+            });
+        pathDescription.getZToADirection().getZToA().values().stream()
+            .filter(lk -> "Link".equals(lk.getResource().getResource().implementedInterface().getSimpleName()))
+            .forEach(rsc -> {
+                Link link = (Link) rsc.getResource().getResource();
+                linkidList.add(link.getLinkId());
+            });
+        return linkidList;
+    }
+
     private static NodeLists getNodesListZtoA(Iterator<ZToA> iterator) {
         Map<Integer, NodeIdPair> treeMap = new TreeMap<>();
         List<Nodes> olmList = new ArrayList<>();
index ae7bde15c957fd2699a8b42db9826cb4d56d9ae6..0fcdf8ed30d66b5cbef45467f33a5041e9d1d3f5 100644 (file)
@@ -12,7 +12,7 @@ import org.opendaylight.transportpce.renderer.provisiondevice.RendererServiceOpe
 import org.opendaylight.transportpce.renderer.rpcs.DeviceRendererRPCImpl;
 import org.opendaylight.transportpce.renderer.rpcs.TransportPCEServicePathRPCImpl;
 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.device.renderer.rev210618.TransportpceDeviceRendererService;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210618.TransportpceRendererService;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210915.TransportpceRendererService;
 import org.opendaylight.yangtools.concepts.ObjectRegistration;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
index c9cbca4baa708b75bfcf3c7493fc28651510cfd0..613aba6670d21341c80d7f6ea1dab451302ffdc8 100644 (file)
@@ -8,10 +8,10 @@
 package org.opendaylight.transportpce.renderer.provisiondevice;
 
 import com.google.common.util.concurrent.ListenableFuture;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210618.ServiceDeleteInput;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210618.ServiceDeleteOutput;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210618.ServiceImplementationRequestInput;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210618.ServiceImplementationRequestOutput;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210915.ServiceDeleteInput;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210915.ServiceDeleteOutput;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210915.ServiceImplementationRequestInput;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210915.ServiceImplementationRequestOutput;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531.service.list.Services;
 
 public interface RendererServiceOperations {
index ab36c85c4b3fad46e654fc6347bd56e7a1a99ccc..ae47a5d18276357802854af2f1c8705b96b92a2a 100644 (file)
@@ -49,16 +49,16 @@ import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.olm.rev21
 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.olm.rev210618.TransportpceOlmService;
 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.olm.rev210618.get.pm.output.Measurements;
 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev210426.mapping.Mapping;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210618.RendererRpcResultSp;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210618.RendererRpcResultSpBuilder;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210618.ServiceDeleteInput;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210618.ServiceDeleteOutput;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210618.ServiceImplementationRequestInput;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210618.ServiceImplementationRequestOutput;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210618.link._for.notif.ATerminationBuilder;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210618.link._for.notif.ZTerminationBuilder;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210618.renderer.rpc.result.sp.Link;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210618.renderer.rpc.result.sp.LinkBuilder;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210915.RendererRpcResultSp;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210915.RendererRpcResultSpBuilder;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210915.ServiceDeleteInput;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210915.ServiceDeleteOutput;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210915.ServiceImplementationRequestInput;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210915.ServiceImplementationRequestOutput;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210915.link._for.notif.ATerminationBuilder;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210915.link._for.notif.ZTerminationBuilder;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210915.renderer.rpc.result.sp.Link;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210915.renderer.rpc.result.sp.LinkBuilder;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.device.types.rev191129.NodeTypes;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.pm.types.rev161014.PmGranularity;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.resource.types.rev161014.ResourceTypeEnum;
@@ -566,7 +566,7 @@ public class RendererServiceOperationsImpl implements RendererServiceOperations
 
         sendNotificationsWithPathDescription(ServicePathNotificationTypes.ServiceImplementationRequest,
             input.getServiceName(), RpcStatusEx.Successful, OPERATION_SUCCESSFUL, input.getPathDescription(),
-            notifLink, serviceType);
+            notifLink, null, serviceType);
         return true;
     }
 
@@ -619,7 +619,7 @@ public class RendererServiceOperationsImpl implements RendererServiceOperations
         Link notifLink = createLinkForNotif(otnLinkTerminationPoints);
 
         sendNotificationsWithPathDescription(ServicePathNotificationTypes.ServiceDelete,
-                serviceName, RpcStatusEx.Successful, OPERATION_SUCCESSFUL, pathDescription, notifLink, serviceType);
+            serviceName, RpcStatusEx.Successful, OPERATION_SUCCESSFUL, pathDescription, notifLink, null, serviceType);
         return true;
     }
 
@@ -653,10 +653,13 @@ public class RendererServiceOperationsImpl implements RendererServiceOperations
         List<LinkTp> otnLinkTerminationPoints = new ArrayList<>();
         renderingResults.forEach(rr -> otnLinkTerminationPoints.addAll(rr.getOtnLinkTps()));
         Link notifLink = createLinkForNotif(otnLinkTerminationPoints);
+        List<String> supportedLinks = (notifLink == null && !otnLinkTerminationPoints.isEmpty())
+            ? ModelMappingUtils.getLinksFromServicePathDescription(input.getPathDescription())
+            : null;
 
         sendNotificationsWithPathDescription(ServicePathNotificationTypes.ServiceImplementationRequest,
             input.getServiceName(), RpcStatusEx.Successful, OPERATION_SUCCESSFUL, input.getPathDescription(),
-            notifLink, serviceType);
+            notifLink, supportedLinks, serviceType);
         return true;
     }
 
@@ -688,9 +691,13 @@ public class RendererServiceOperationsImpl implements RendererServiceOperations
         List<LinkTp> otnLinkTerminationPoints = new ArrayList<>();
         renderingResults.forEach(rr -> otnLinkTerminationPoints.addAll(rr.getOtnLinkTps()));
         Link notifLink = createLinkForNotif(otnLinkTerminationPoints);
+        List<String> supportedLinks = (notifLink == null && !otnLinkTerminationPoints.isEmpty())
+            ? ModelMappingUtils.getLinksFromServicePathDescription(pathDescription)
+            : null;
 
         sendNotificationsWithPathDescription(ServicePathNotificationTypes.ServiceDelete,
-                serviceName, RpcStatusEx.Successful, OPERATION_SUCCESSFUL, pathDescription, notifLink, serviceType);
+                serviceName, RpcStatusEx.Successful, OPERATION_SUCCESSFUL, pathDescription, notifLink, supportedLinks,
+                serviceType);
         return true;
     }
 
@@ -704,7 +711,7 @@ public class RendererServiceOperationsImpl implements RendererServiceOperations
     private void sendNotifications(ServicePathNotificationTypes servicePathNotificationTypes, String serviceName,
             RpcStatusEx rpcStatusEx, String message) {
         Notification notification = buildNotification(servicePathNotificationTypes, serviceName, rpcStatusEx, message,
-                null, null, null);
+                null, null, null, null);
         send(notification);
     }
 
@@ -718,9 +725,9 @@ public class RendererServiceOperationsImpl implements RendererServiceOperations
      */
     private void sendNotificationsWithPathDescription(ServicePathNotificationTypes servicePathNotificationTypes,
             String serviceName, RpcStatusEx rpcStatusEx, String message, PathDescription pathDescription,
-            Link notifLink, String serviceType) {
+            Link notifLink, List<String> supportedLinks, String serviceType) {
         Notification notification = buildNotification(servicePathNotificationTypes, serviceName, rpcStatusEx, message,
-                pathDescription, notifLink, serviceType);
+                pathDescription, notifLink, supportedLinks, serviceType);
         send(notification);
     }
 
@@ -735,7 +742,7 @@ public class RendererServiceOperationsImpl implements RendererServiceOperations
      */
     private RendererRpcResultSp buildNotification(ServicePathNotificationTypes servicePathNotificationTypes,
             String serviceName, RpcStatusEx rpcStatusEx, String message, PathDescription pathDescription,
-            Link notifLink, String serviceType) {
+            Link notifLink, List<String> supportedLinks, String serviceType) {
         RendererRpcResultSpBuilder builder = new RendererRpcResultSpBuilder()
                 .setNotificationType(servicePathNotificationTypes).setServiceName(serviceName).setStatus(rpcStatusEx)
                 .setStatusMessage(message)
@@ -747,6 +754,9 @@ public class RendererServiceOperationsImpl implements RendererServiceOperations
         if (notifLink != null) {
             builder.setLink(notifLink);
         }
+        if (supportedLinks != null) {
+            builder.setLinkId(supportedLinks);
+        }
         return builder.build();
     }
 
index 76d7d4ff79c6f65f092faa90c61ec8684b106054..31bdda59fcc8c76f07eaf5e5f0f706e18a6e59c9 100644 (file)
@@ -11,11 +11,11 @@ import com.google.common.util.concurrent.ListenableFuture;
 import java.util.concurrent.ExecutionException;
 import org.opendaylight.transportpce.renderer.ModelMappingUtils;
 import org.opendaylight.transportpce.renderer.provisiondevice.RendererServiceOperations;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210618.ServiceDeleteInput;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210618.ServiceDeleteOutput;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210618.ServiceImplementationRequestInput;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210618.ServiceImplementationRequestOutput;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210618.TransportpceRendererService;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210915.ServiceDeleteInput;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210915.ServiceDeleteOutput;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210915.ServiceImplementationRequestInput;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210915.ServiceImplementationRequestOutput;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210915.TransportpceRendererService;
 import org.opendaylight.yangtools.yang.common.RpcResult;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
index 66cf40ab7bf117fb54e85c63ccce3a1958781a62..b181e3b45c8a2d071cf3e14a0953add23aa1b4e0 100644 (file)
@@ -59,8 +59,8 @@ import org.opendaylight.transportpce.test.stub.MountPointServiceStub;
 import org.opendaylight.transportpce.test.stub.MountPointStub;
 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.olm.rev210618.ServicePowerTurndownOutputBuilder;
 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.olm.rev210618.TransportpceOlmService;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210618.ServiceDeleteInputBuilder;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210618.ServiceDeleteOutput;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210915.ServiceDeleteInputBuilder;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210915.ServiceDeleteOutput;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev190531.ConnectionType;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev190531.service.ServiceAEnd;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev190531.service.ServiceAEndBuilder;
index 8dac8877fca67fd291a05d6255bd111325c39a43..592f98944eb07ebf1ca93a1c93fe68faaaf51d6d 100644 (file)
@@ -61,8 +61,8 @@ import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.olm.rev21
 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.olm.rev210618.TransportpceOlmService;
 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.olm.rev210618.get.pm.output.Measurements;
 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.olm.rev210618.get.pm.output.MeasurementsBuilder;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210618.ServiceImplementationRequestInput;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210618.ServiceImplementationRequestOutput;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210915.ServiceImplementationRequestInput;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210915.ServiceImplementationRequestOutput;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.pm.types.rev161014.PmGranularity;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.resource.types.rev161014.ResourceTypeEnum;
 import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev210618.olm.get.pm.input.ResourceIdentifierBuilder;
index d85b73b070aa23419070e68c44e315e382f742c5..6513f958e358b872030f11cadae02a9b6a4b5abe 100644 (file)
@@ -17,12 +17,12 @@ import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.device.re
 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.device.renderer.rev210618.RendererRollbackInputBuilder;
 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.device.renderer.rev210618.ServicePathInput;
 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.device.renderer.rev210618.ServicePathInputBuilder;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210618.ServiceImplementationRequestInput;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210618.ServiceImplementationRequestInputBuilder;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210618.service.implementation.request.input.PathDescription;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210618.service.implementation.request.input.PathDescriptionBuilder;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210618.service.implementation.request.input.ServiceAEndBuilder;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210618.service.implementation.request.input.ServiceZEndBuilder;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210915.ServiceImplementationRequestInput;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210915.ServiceImplementationRequestInputBuilder;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210915.service.implementation.request.input.PathDescription;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210915.service.implementation.request.input.PathDescriptionBuilder;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210915.service.implementation.request.input.ServiceAEndBuilder;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210915.service.implementation.request.input.ServiceZEndBuilder;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev190531.ConnectionType;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev190531.service.port.PortBuilder;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.service.format.rev190531.ServiceFormat;
index e3487f83f5083e99ec925f3e6c42c8b6a013f782..452b77fcd5102220568cdd05ff9c2b59dccd155c 100644 (file)
@@ -14,9 +14,9 @@ import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev21
 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev210701.path.computation.request.input.ServiceZEnd;
 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev210701.path.computation.request.input.ServiceZEndBuilder;
 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev210701.service.path.rpc.result.PathDescription;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210618.ServiceDeleteInputBuilder;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210618.ServiceImplementationRequestInput;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210618.ServiceImplementationRequestInputBuilder;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210915.ServiceDeleteInputBuilder;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210915.ServiceImplementationRequestInput;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210915.ServiceImplementationRequestInputBuilder;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.common.node.types.rev181130.NodeIdType;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev190531.configuration.response.common.ConfigurationResponseCommon;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev190531.configuration.response.common.ConfigurationResponseCommonBuilder;
@@ -104,9 +104,9 @@ public final class ModelMappingUtils {
         } else {
             serviceImplementationRequestInputBuilder.setServiceName(input.getServiceName());
         }
-        org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210618.service.implementation
+        org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210915.service.implementation
             .request.input.ServiceAEndBuilder serviceAEnd = new org.opendaylight.yang.gen.v1.http.org.opendaylight
-            .transportpce.renderer.rev210618.service.implementation.request.input.ServiceAEndBuilder();
+            .transportpce.renderer.rev210915.service.implementation.request.input.ServiceAEndBuilder();
 
         serviceAEnd.setServiceFormat(input.getServiceAEnd().getServiceFormat())
             .setServiceRate(input.getServiceAEnd().getServiceRate())
@@ -120,9 +120,9 @@ public final class ModelMappingUtils {
             .setRxDirection(new org.opendaylight.yang.gen.v1.http.org
                 .transportpce.b.c._interface.service.types.rev200128.service.endpoint.sp.RxDirectionBuilder()
                 .setPort(input.getServiceAEnd().getRxDirection().getPort()).build());
-        org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210618.service.implementation
+        org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210915.service.implementation
             .request.input.ServiceZEndBuilder serviceZEnd = new org.opendaylight.yang.gen.v1.http.org.opendaylight
-            .transportpce.renderer.rev210618.service.implementation.request.input.ServiceZEndBuilder();
+            .transportpce.renderer.rev210915.service.implementation.request.input.ServiceZEndBuilder();
         serviceZEnd.setServiceFormat(input.getServiceZEnd().getServiceFormat())
             .setServiceRate(input.getServiceZEnd().getServiceRate())
             .setOtuServiceRate(getOtuServiceRate(input.getServiceZEnd().getOtuServiceRate()))
@@ -142,9 +142,9 @@ public final class ModelMappingUtils {
             .setConnectionType(input.getConnectionType())
             .setServiceHandlerHeader(
                 new ServiceHandlerHeaderBuilder().setRequestId(input.getSdncRequestHeader().getRequestId()).build());
-        org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210618.service.implementation
+        org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210915.service.implementation
             .request.input.PathDescriptionBuilder pathDescBuilder = new org.opendaylight.yang.gen.v1.http.org
-            .opendaylight.transportpce.renderer.rev210618.service.implementation.request.input
+            .opendaylight.transportpce.renderer.rev210915.service.implementation.request.input
             .PathDescriptionBuilder();
         pathDescBuilder
             .setAToZDirection(pathDescription.getAToZDirection())
@@ -221,7 +221,7 @@ public final class ModelMappingUtils {
         return null;
     }
 
-    public static org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210618
+    public static org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210915
             .ServiceDeleteInput createServiceDeleteInput(ServiceInput serviceInput) {
         ServiceDeleteInputBuilder builder = new ServiceDeleteInputBuilder()
             .setServiceName(serviceInput.getServiceName())
@@ -230,7 +230,7 @@ public final class ModelMappingUtils {
         return builder.build();
     }
 
-    public static org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210618
+    public static org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210915
             .ServiceDeleteInput createServiceDeleteInput(ServiceRerouteInput serviceRerouteinput, Services services) {
         ServiceDeleteInputBuilder builder = new ServiceDeleteInputBuilder()
             .setServiceName(serviceRerouteinput.getServiceName())
@@ -239,7 +239,7 @@ public final class ModelMappingUtils {
         return builder.build();
     }
 
-    public static org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210618
+    public static org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210915
             .ServiceDeleteInput createServiceDeleteInput(ServiceRestorationInput serviceRestorationInput,
             Services services) {
         ServiceDeleteInputBuilder builder = new ServiceDeleteInputBuilder()
@@ -249,7 +249,7 @@ public final class ModelMappingUtils {
         return builder.build();
     }
 
-    public static org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210618.ServiceDeleteInput
+    public static org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210915.ServiceDeleteInput
             createServiceDeleteInput(ServiceReconfigureInput serviceReconfigureInput) {
         String serviceName = serviceReconfigureInput.getServiceName();
         ServiceDeleteInputBuilder builder = new ServiceDeleteInputBuilder()
index 43d40309ade60183756728c32b50fd27a0318af5..d7792646eafc6a70d8627e1d75387db559a9ef73 100644 (file)
@@ -244,10 +244,9 @@ public class ServicehandlerImpl implements OrgOpenroadmServiceService {
         this.rendererListenerImpl.setserviceDataStoreOperations(serviceDataStoreOperations);
         this.rendererListenerImpl.setServiceInput(new ServiceInput(input));
         this.networkModelListenerImpl.setserviceDataStoreOperations(serviceDataStoreOperations);
-        org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210618
-                .ServiceDeleteInput serviceDeleteInput =
-            ModelMappingUtils.createServiceDeleteInput(new ServiceInput(input));
-        org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210618.ServiceDeleteOutput output =
+        org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210915.ServiceDeleteInput
+                serviceDeleteInput = ModelMappingUtils.createServiceDeleteInput(new ServiceInput(input));
+        org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210915.ServiceDeleteOutput output =
             this.rendererServiceWrapper.performRenderer(
                 serviceDeleteInput, ServiceNotificationTypes.ServiceDeleteResult, service);
 
@@ -337,10 +336,10 @@ public class ServicehandlerImpl implements OrgOpenroadmServiceService {
         this.rendererListenerImpl.setserviceDataStoreOperations(serviceDataStoreOperations);
         this.rendererListenerImpl.setServiceInput(new ServiceInput(input));
         this.networkModelListenerImpl.setserviceDataStoreOperations(serviceDataStoreOperations);
-        org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210618
+        org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210915
                 .ServiceDeleteInput serviceDeleteInput =
                         ModelMappingUtils.createServiceDeleteInput(new ServiceInput(input));
-        org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210618
+        org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210915
                 .ServiceDeleteOutput output = this.rendererServiceWrapper.performRenderer(serviceDeleteInput,
                         ServiceNotificationTypes.ServiceDeleteResult, null);
         if (output == null) {
@@ -417,10 +416,10 @@ public class ServicehandlerImpl implements OrgOpenroadmServiceService {
         this.rendererListenerImpl.setServiceInput(serviceInput);
         this.rendererListenerImpl.setserviceDataStoreOperations(this.serviceDataStoreOperations);
         this.networkModelListenerImpl.setserviceDataStoreOperations(serviceDataStoreOperations);
-        org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210618
+        org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210915
             .ServiceDeleteInput serviceDeleteInput = ModelMappingUtils.createServiceDeleteInput(
                     new ServiceInput(deleteInputBldr.build()));
-        org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210618
+        org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210915
             .ServiceDeleteOutput output = this.rendererServiceWrapper.performRenderer(serviceDeleteInput,
                 ServiceNotificationTypes.ServiceDeleteResult, null);
         if (output == null) {
@@ -484,10 +483,10 @@ public class ServicehandlerImpl implements OrgOpenroadmServiceService {
         this.rendererListenerImpl.setServiceInput(serviceInput);
         this.rendererListenerImpl.setserviceDataStoreOperations(this.serviceDataStoreOperations);
         this.networkModelListenerImpl.setserviceDataStoreOperations(serviceDataStoreOperations);
-        org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210618
+        org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210915
             .ServiceDeleteInput serviceDeleteInput = ModelMappingUtils.createServiceDeleteInput(
                     new ServiceInput(deleteInputBldr.build()));
-        org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210618
+        org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210915
             .ServiceDeleteOutput output = this.rendererServiceWrapper.performRenderer(serviceDeleteInput,
                 ServiceNotificationTypes.ServiceDeleteResult, null);
         if (output == null) {
@@ -562,7 +561,7 @@ public class ServicehandlerImpl implements OrgOpenroadmServiceService {
         this.rendererListenerImpl.setServiceInput(new ServiceInput(input));
         this.rendererListenerImpl.setTempService(true);
         this.networkModelListenerImpl.setserviceDataStoreOperations(serviceDataStoreOperations);
-        org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210618.ServiceDeleteOutput output =
+        org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210915.ServiceDeleteOutput output =
                 this.rendererServiceWrapper.performRenderer(input, ServiceNotificationTypes.ServiceDeleteResult);
         if (output == null) {
             LOG.error(TEMP_SERVICE_DELETE_MSG, LogMessages.RENDERER_DELETE_FAILED);
index 8d29234c20cadb8032375687cda77dddb2f7d853..7447b3043b09d54d7a6ced4db1430c9557010125 100644 (file)
@@ -20,7 +20,7 @@ import org.opendaylight.transportpce.servicehandler.listeners.ServiceListener;
 import org.opendaylight.transportpce.servicehandler.service.ServiceDataStoreOperations;
 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.networkmodel.rev201116.TransportpceNetworkmodelListener;
 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev210701.TransportpcePceListener;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210618.TransportpceRendererListener;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210915.TransportpceRendererListener;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531.OrgOpenroadmServiceService;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531.ServiceList;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531.service.list.Services;
index 16e2fd58ecd28a0c6625c05dc31f2c22fc2ff225..8f3f8426ea1687c0fff0197daec43298c4c7f955 100644 (file)
@@ -22,7 +22,7 @@ import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev21
 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev210701.TransportpcePceListener;
 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev210701.service.path.rpc.result.PathDescription;
 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev210701.service.path.rpc.result.PathDescriptionBuilder;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210618.ServiceImplementationRequestInput;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210915.ServiceImplementationRequestInput;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.common.state.types.rev181130.State;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531.service.list.Services;
 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev200128.RpcStatusEx;
index 27bbff5f85efe2ee09c56810f017398659d2e44b..8f9b73a6e53eb1439ba1e149f4d89b1c3e5793c4 100644 (file)
@@ -8,6 +8,7 @@
 package org.opendaylight.transportpce.servicehandler.listeners;
 
 import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
+import java.util.List;
 import java.util.Map;
 import org.opendaylight.mdsal.binding.api.NotificationPublishService;
 import org.opendaylight.transportpce.common.OperationResult;
@@ -17,9 +18,9 @@ import org.opendaylight.transportpce.pce.service.PathComputationService;
 import org.opendaylight.transportpce.servicehandler.ServiceInput;
 import org.opendaylight.transportpce.servicehandler.service.PCEServiceWrapper;
 import org.opendaylight.transportpce.servicehandler.service.ServiceDataStoreOperations;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210618.RendererRpcResultSp;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210618.TransportpceRendererListener;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210618.renderer.rpc.result.sp.Link;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210915.RendererRpcResultSp;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210915.TransportpceRendererListener;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210915.renderer.rpc.result.sp.Link;
 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.servicehandler.rev201125.ServiceRpcResultSh;
 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.servicehandler.rev201125.ServiceRpcResultShBuilder;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev190531.ServiceNotificationTypes;
@@ -302,7 +303,8 @@ public class RendererListenerImpl implements TransportpceRendererListener {
 
     private void updateOtnTopology(RendererRpcResultSp notification, boolean isDeletion) {
         Link link = notification.getLink();
-        if (link == null) {
+        List<String> supportedLinkIds = notification.getLinkId();
+        if (link == null && supportedLinkIds == null) {
             return;
         }
 
@@ -343,7 +345,7 @@ public class RendererListenerImpl implements TransportpceRendererListener {
                     tribPort, minTribSlot, maxTribSlot, isDeletion);
                 break;
             case StringConstants.SERVICE_TYPE_100GE_S:
-                this.networkModelService.updateOtnLinks(link, isDeletion);
+                this.networkModelService.updateOtnLinks(link, supportedLinkIds, isDeletion);
                 break;
             default:
                 LOG.warn("service-type {} not managed yet", serviceType);
index 9047acea7cc9b5a2ec1f6e09fbe8b724660bfe04..e0e2df30e6f2318d46e6d808549cd32eb5bd787b 100644 (file)
@@ -16,10 +16,10 @@ import java.util.concurrent.Executors;
 import org.opendaylight.mdsal.binding.api.NotificationPublishService;
 import org.opendaylight.transportpce.common.ResponseCodes;
 import org.opendaylight.transportpce.renderer.provisiondevice.RendererServiceOperations;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210618.ServiceDeleteInput;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210618.ServiceDeleteInputBuilder;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210618.ServiceDeleteOutput;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210618.ServiceDeleteOutputBuilder;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210915.ServiceDeleteInput;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210915.ServiceDeleteInputBuilder;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210915.ServiceDeleteOutput;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210915.ServiceDeleteOutputBuilder;
 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.servicehandler.rev201125.ServiceRpcResultSh;
 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.servicehandler.rev201125.ServiceRpcResultShBuilder;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev190531.ServiceNotificationTypes;
index a4d3b7e839824dceefa9daf967d0ff69a532e8e1..0ca4f278b7b37e08af97453437f141924777cff8 100644 (file)
@@ -186,7 +186,7 @@ public class ModelMappingUtilsTest extends AbstractTest {
         Services services = new ServicesBuilder()
                 .withKey(new ServicesKey("reroute"))
                 .setSdncRequestHeader(new SdncRequestHeaderBuilder().setRequestId("123").build()).build();
-        org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210618.ServiceDeleteInput
+        org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210915.ServiceDeleteInput
             serviceDeleteInput =
                     ModelMappingUtils.createServiceDeleteInput(serviceRerouteinput, services);
         Assert.assertEquals("reroute", serviceDeleteInput.getServiceName());
@@ -197,7 +197,7 @@ public class ModelMappingUtilsTest extends AbstractTest {
     public void  createServiceDeleteInputWithServiceReconfigureInput() {
         ServiceReconfigureInput serviceReconfigureInput = new  ServiceReconfigureInputBuilder()
                 .setServiceName("reconf").build();
-        org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210618.ServiceDeleteInput
+        org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210915.ServiceDeleteInput
             serviceDeleteInput =
                     ModelMappingUtils.createServiceDeleteInput(serviceReconfigureInput);
         Assert.assertEquals("reconf", serviceDeleteInput.getServiceName());
@@ -211,7 +211,7 @@ public class ModelMappingUtilsTest extends AbstractTest {
                 .setSdncRequestHeader(new SdncRequestHeaderBuilder().setRequestId("123").build()).build();
         ServiceRestorationInput serviceRestorationInput =
             new ServiceRestorationInputBuilder().setServiceName("rest").build();
-        org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210618.ServiceDeleteInput
+        org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210915.ServiceDeleteInput
             serviceDeleteInput =
                     ModelMappingUtils.createServiceDeleteInput(serviceRestorationInput, services);
         Assert.assertEquals("rest", serviceDeleteInput.getServiceName());
index 33036ff38b1e5f4b7dcff9ffbf88ce7aa495cb4a..4d9fe0650d1e69728ab8b2a3f5e0de3e7edc0db8 100644 (file)
@@ -26,9 +26,9 @@ import org.opendaylight.transportpce.servicehandler.ModelMappingUtils;
 import org.opendaylight.transportpce.servicehandler.ServiceInput;
 import org.opendaylight.transportpce.servicehandler.utils.ServiceDataUtils;
 import org.opendaylight.transportpce.test.AbstractTest;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210618.ServiceDeleteInputBuilder;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210618.ServiceDeleteOutput;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210618.ServiceDeleteOutputBuilder;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210915.ServiceDeleteInputBuilder;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210915.ServiceDeleteOutput;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210915.ServiceDeleteOutputBuilder;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev190531.ServiceNotificationTypes;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev190531.configuration.response.common.ConfigurationResponseCommon;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev190531.configuration.response.common.ConfigurationResponseCommonBuilder;
@@ -60,7 +60,7 @@ public class RendererServiceWrapperTest extends AbstractTest {
     @Test
     public void performRendererNullServiceHandlerHeader() {
         ServiceDeleteInput input = ServiceDataUtils.buildServiceDeleteInput();
-        org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210618.ServiceDeleteInput
+        org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210915.ServiceDeleteInput
             serviceDeleteInput =
                 ModelMappingUtils.createServiceDeleteInput(new ServiceInput(input));
         serviceDeleteInput = new ServiceDeleteInputBuilder(serviceDeleteInput).setServiceHandlerHeader(null).build();
@@ -76,7 +76,7 @@ public class RendererServiceWrapperTest extends AbstractTest {
     @Test
     public void performRendererNullServiceName() {
         ServiceDeleteInput input = ServiceDataUtils.buildServiceDeleteInput();
-        org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210618.ServiceDeleteInput
+        org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210915.ServiceDeleteInput
             serviceDeleteInput =
                 ModelMappingUtils.createServiceDeleteInput(new ServiceInput(input));
         serviceDeleteInput = new ServiceDeleteInputBuilder(serviceDeleteInput).setServiceName(null).build();
@@ -113,10 +113,10 @@ public class RendererServiceWrapperTest extends AbstractTest {
                 .setConfigurationResponseCommon(configurationResponseCommon).build();
         ListenableFuture<ServiceDeleteOutput> response = ServiceDataUtils.returnFuture(output);
         Mockito.when(this.rendererServiceOperationsMock.serviceDelete(any(
-                org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210618
+                org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210915
                 .ServiceDeleteInput.class), any())).thenReturn(response);
         ServiceDeleteInput input = ServiceDataUtils.buildServiceDeleteInput();
-        org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210618.ServiceDeleteInput
+        org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210915.ServiceDeleteInput
             serviceDeleteInput =
                 ModelMappingUtils.createServiceDeleteInput(new ServiceInput(input));
         ServiceDeleteOutput rendereResponse = this.rendererServiceWrapperMock.performRenderer(serviceDeleteInput,
@@ -128,7 +128,7 @@ public class RendererServiceWrapperTest extends AbstractTest {
         Assert.assertEquals("Renderer service delete in progress",
                 rendereResponse.getConfigurationResponseCommon().getResponseMessage());
         verify(this.rendererServiceOperationsMock).serviceDelete(any(
-                org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210618
+                org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210915
                         .ServiceDeleteInput.class), any());
     }
 
@@ -142,7 +142,7 @@ public class RendererServiceWrapperTest extends AbstractTest {
                 .setConfigurationResponseCommon(configurationResponseCommon).build();
         ListenableFuture<ServiceDeleteOutput> response = ServiceDataUtils.returnFuture(output);
         Mockito.when(this.rendererServiceOperationsMock.serviceDelete(any(
-                org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210618
+                org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210915
                 .ServiceDeleteInput.class), any())).thenReturn(response);
         TempServiceDeleteInput input = ServiceDataUtils.buildTempServiceDeleteInput();
         ServiceDeleteOutput rendereResponse = this.rendererServiceWrapperMock.performRenderer(input,
@@ -154,7 +154,7 @@ public class RendererServiceWrapperTest extends AbstractTest {
         Assert.assertEquals("Renderer service delete in progress",
                 rendereResponse.getConfigurationResponseCommon().getResponseMessage());
         verify(this.rendererServiceOperationsMock).serviceDelete(any(
-                org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210618.ServiceDeleteInput
+                org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210915.ServiceDeleteInput
                     .class), any());
     }
 
index 934e99ec5b5d3bcf633f8291e7c184b57eab7eee..d9daebff8286f0b9a8aa390cc6f5ad14bab8d2a1 100644 (file)
@@ -13,9 +13,9 @@ import static org.mockito.Mockito.doAnswer;
 import static org.mockito.Mockito.mock;
 
 import org.opendaylight.mdsal.binding.api.NotificationPublishService;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210618.RendererRpcResultSp;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210618.RendererRpcResultSpBuilder;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210618.renderer.rpc.result.sp.PathTopologyBuilder;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210915.RendererRpcResultSp;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210915.RendererRpcResultSpBuilder;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210915.renderer.rpc.result.sp.PathTopologyBuilder;
 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev200128.RpcStatusEx;
 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev200128.ServicePathNotificationTypes;
 import org.opendaylight.yangtools.yang.binding.Notification;
index d1e7ac741f30584f0ce5760373d3ac4a411c8b84..49c25c7d66fb1daea003f7ecbac18cca4b58f330 100644 (file)
@@ -16,9 +16,9 @@ import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev21
 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev210701.path.computation.request.input.ServiceZEnd;
 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev210701.path.computation.request.input.ServiceZEndBuilder;
 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev210701.service.path.rpc.result.PathDescription;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210618.ServiceDeleteInputBuilder;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210618.ServiceImplementationRequestInput;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210618.ServiceImplementationRequestInputBuilder;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210915.ServiceDeleteInputBuilder;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210915.ServiceImplementationRequestInput;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210915.ServiceImplementationRequestInputBuilder;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.common.node.types.rev181130.NodeIdType;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev190531.configuration.response.common.ConfigurationResponseCommon;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev190531.configuration.response.common.ConfigurationResponseCommonBuilder;
@@ -72,8 +72,8 @@ public final class ModelMappingUtils {
                 new ServiceImplementationRequestInputBuilder();
         serviceImplementationRequestInputBuilder.setServiceName(input.getServiceName());
         org.opendaylight.yang.gen.v1.http
-            .org.opendaylight.transportpce.renderer.rev210618.service.implementation.request.input.ServiceAEndBuilder
-            serviceAEnd = new org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210618
+            .org.opendaylight.transportpce.renderer.rev210915.service.implementation.request.input.ServiceAEndBuilder
+            serviceAEnd = new org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210915
             .service.implementation.request.input.ServiceAEndBuilder();
         serviceAEnd.setServiceFormat(input.getServiceAEnd().getServiceFormat())
             .setServiceRate(input.getServiceAEnd().getServiceRate()).setClli(input.getServiceAEnd().getClli())
@@ -85,8 +85,8 @@ public final class ModelMappingUtils {
                     .org.transportpce.b.c._interface.service.types.rev200128.service.endpoint.sp.RxDirectionBuilder()
                 .setPort(input.getServiceAEnd().getRxDirection().getPort()).build());
         org.opendaylight.yang.gen.v1.http
-            .org.opendaylight.transportpce.renderer.rev210618.service.implementation.request.input.ServiceZEndBuilder
-            serviceZEnd = new org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210618
+            .org.opendaylight.transportpce.renderer.rev210915.service.implementation.request.input.ServiceZEndBuilder
+            serviceZEnd = new org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210915
             .service.implementation.request.input.ServiceZEndBuilder();
         serviceZEnd.setServiceFormat(input.getServiceZEnd().getServiceFormat())
             .setServiceRate(input.getServiceZEnd().getServiceRate()).setClli(input.getServiceZEnd().getClli())
@@ -101,9 +101,9 @@ public final class ModelMappingUtils {
         serviceImplementationRequestInputBuilder.setServiceZEnd(serviceZEnd.build());
         serviceImplementationRequestInputBuilder.setServiceHandlerHeader(
             new ServiceHandlerHeaderBuilder().setRequestId(input.getSdncRequestHeader().getRequestId()).build());
-        org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210618.service.implementation
+        org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210915.service.implementation
             .request.input.PathDescriptionBuilder pathDescBuilder = new org.opendaylight.yang.gen.v1.http
-            .org.opendaylight.transportpce.renderer.rev210618.service.implementation.request.input
+            .org.opendaylight.transportpce.renderer.rev210915.service.implementation.request.input
                     .PathDescriptionBuilder();
         pathDescBuilder.setAToZDirection(pathDescription.getAToZDirection());
         pathDescBuilder.setZToADirection(pathDescription.getZToADirection());
@@ -111,7 +111,7 @@ public final class ModelMappingUtils {
         return serviceImplementationRequestInputBuilder.build();
     }
 
-    public static org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210618
+    public static org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210915
         .ServiceDeleteInput createServiceDeleteInput(ServiceInput serviceInput) {
         ServiceDeleteInputBuilder builder = new ServiceDeleteInputBuilder();
         builder.setServiceName(serviceInput.getServiceName());
@@ -120,7 +120,7 @@ public final class ModelMappingUtils {
         return builder.build();
     }
 
-    public static org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210618
+    public static org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210915
         .ServiceDeleteInput createServiceDeleteInput(ServiceRerouteInput serviceRerouteinput, Services services) {
         ServiceDeleteInputBuilder builder = new ServiceDeleteInputBuilder();
         builder.setServiceName(serviceRerouteinput.getServiceName());
index 19ac165d45a003ffb60771c8d314e69d534e62df..9192ea36848cc5ca689d757d008c5947c6b8e960 100644 (file)
@@ -23,8 +23,8 @@ import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev21
 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev210701.ServicePathRpcResultBuilder;
 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev210701.service.path.rpc.result.PathDescription;
 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev210701.service.path.rpc.result.PathDescriptionBuilder;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210618.RendererRpcResultSp;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210618.RendererRpcResultSpBuilder;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210915.RendererRpcResultSp;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210915.RendererRpcResultSpBuilder;
 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.servicehandler.rev201125.ServiceRpcResultSh;
 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.servicehandler.rev201125.ServiceRpcResultShBuilder;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.common.node.types.rev181130.NodeIdType;
index b410a95bee53f1fa1111127217ba8605d8224ba6..0602ea3c3220586c7e4a6e74a6a875dfce900444 100644 (file)
@@ -32,7 +32,7 @@ import org.opendaylight.transportpce.tapi.utils.TapiListener;
 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev210701.TransportpcePceListener;
 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev210426.Network;
 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev210426.network.Nodes;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210618.TransportpceRendererListener;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210915.TransportpceRendererListener;
 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.servicehandler.rev201125.TransportpceServicehandlerListener;
 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.tapinetworkutils.rev210408.TransportpceTapinetworkutilsService;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531.OrgOpenroadmServiceService;
index ec0fe605092eab8ee75c43ff6fdde44a213cee6f..81c0c9c5fcde8acb02eb10d7aca4e38062a1ec11 100644 (file)
@@ -17,8 +17,8 @@ import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
 import org.opendaylight.transportpce.common.network.NetworkTransactionImpl;
 import org.opendaylight.transportpce.common.network.NetworkTransactionService;
 import org.opendaylight.transportpce.common.network.RequestProcessor;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210618.RendererRpcResultSp;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210618.TransportpceRendererListener;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210915.RendererRpcResultSp;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210915.TransportpceRendererListener;
 import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.common.rev181210.AdministrativeState;
 import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.common.rev181210.Context;
 import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.common.rev181210.LifecycleState;