Update transportpce-common-types model
[transportpce.git] / renderer / src / main / java / org / opendaylight / transportpce / renderer / provisiondevice / RendererServiceOperationsImpl.java
index 6a854453c27ad4393cee864e1fca4328e801b57c..62c769e90632a591fabe4a453364dbfb65ffd56a 100644 (file)
@@ -15,6 +15,7 @@ import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
 import java.util.Optional;
+import java.util.Set;
 import java.util.concurrent.Callable;
 import java.util.concurrent.ExecutionException;
 import java.util.concurrent.Executors;
@@ -40,6 +41,7 @@ import org.opendaylight.transportpce.renderer.provisiondevice.tasks.OtnDeviceRen
 import org.opendaylight.transportpce.renderer.provisiondevice.tasks.RollbackProcessor;
 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.device.renderer.rev211004.Action;
 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.device.renderer.rev211004.OtnServicePathInput;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.networkutils.rev220630.OtnLinkType;
 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.olm.rev210618.GetPmInputBuilder;
 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.olm.rev210618.GetPmOutput;
 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.olm.rev210618.ServicePowerSetupInput;
@@ -58,7 +60,6 @@ import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.
 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;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.service.format.rev191129.ServiceFormat;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev211210.service.list.Services;
@@ -68,10 +69,10 @@ import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service
 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.servicepath.rev171017.ServicePathList;
 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.servicepath.rev171017.service.path.list.ServicePaths;
 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.servicepath.rev171017.service.path.list.ServicePathsKey;
-import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev210930.link.tp.LinkTp;
-import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev210930.olm.get.pm.input.ResourceIdentifierBuilder;
-import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev210930.optical.renderer.nodes.Nodes;
-import org.opendaylight.yang.gen.v1.http.transportpce.topology.rev220123.OtnLinkType;
+import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev220926.PmGranularity;
+import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev220926.link.tp.LinkTp;
+import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev220926.olm.get.pm.input.ResourceIdentifierBuilder;
+import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev220926.optical.renderer.nodes.Nodes;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
 import org.opendaylight.yangtools.yang.binding.Notification;
 import org.opendaylight.yangtools.yang.common.Uint32;
@@ -293,8 +294,8 @@ public class RendererServiceOperationsImpl implements RendererServiceOperations
         }
         String serviceName =
             ServiceFormat.OTU.getName().equals(input.getServiceAEnd().getServiceFormat().getName())
-                ? input.getServiceAEnd().getOtuServiceRate().getSimpleName()
-                : input.getServiceAEnd().getOduServiceRate().getSimpleName();
+                ? input.getServiceAEnd().getOtuServiceRate().toString().split("\\{")[0]
+                : input.getServiceAEnd().getOduServiceRate().toString().split("\\{")[0];
         if (!formatRateMap.get(input.getServiceAEnd().getServiceFormat()).containsKey(serviceName)) {
             LOG.warn("Unable to get service-rate for service {} - unsupported service name {}",
                 input.getServiceName(), serviceName);
@@ -905,7 +906,7 @@ public class RendererServiceOperationsImpl implements RendererServiceOperations
             String message,
             PathDescription pathDescription,
             Link notifLink,
-            List<String> supportedLinks,
+            Set<String> supportedLinks,
             String serviceType) {
         send(
             buildNotification(servicePathNotificationTypes, serviceName, rpcStatusEx, message,
@@ -928,7 +929,7 @@ public class RendererServiceOperationsImpl implements RendererServiceOperations
             String message,
             PathDescription pathDescription,
             Link notifLink,
-            List<String> supportedLinks,
+            Set<String> supportedLinks,
             String serviceType) {
         RendererRpcResultSpBuilder builder =
             new RendererRpcResultSpBuilder()
@@ -953,7 +954,7 @@ public class RendererServiceOperationsImpl implements RendererServiceOperations
      * Send renderer notification.
      * @param notification Notification
      */
-    private void send(Notification notification) {
+    private void send(Notification<?> notification) {
         try {
             LOG.info("Sending notification {}", notification);
             notificationPublishService.putNotification(notification);
@@ -981,23 +982,23 @@ public class RendererServiceOperationsImpl implements RendererServiceOperations
                     .build();
     }
 
-    private List<String> getSupportedLinks(List<String> allSupportLinks, String serviceType) {
+    private Set<String> getSupportedLinks(Set<String> allSupportLinks, String serviceType) {
         //TODO a Map might be more indicated here
         switch (serviceType) {
             case StringConstants.SERVICE_TYPE_10GE:
             case StringConstants.SERVICE_TYPE_1GE:
                 return allSupportLinks.stream()
-                    .filter(lk -> lk.startsWith(OtnLinkType.ODTU4.getName())).collect(Collectors.toList());
+                    .filter(lk -> lk.startsWith(OtnLinkType.ODTU4.getName())).collect(Collectors.toSet());
             case StringConstants.SERVICE_TYPE_100GE_M:
                 return allSupportLinks.stream()
-                    .filter(lk -> lk.startsWith(OtnLinkType.ODUC4.getName())).collect(Collectors.toList());
+                    .filter(lk -> lk.startsWith(OtnLinkType.ODUC4.getName())).collect(Collectors.toSet());
             case StringConstants.SERVICE_TYPE_ODU4:
             case StringConstants.SERVICE_TYPE_100GE_S:
                 return allSupportLinks.stream()
-                    .filter(lk -> lk.startsWith(OtnLinkType.OTU4.getName())).collect(Collectors.toList());
+                    .filter(lk -> lk.startsWith(OtnLinkType.OTU4.getName())).collect(Collectors.toSet());
             case StringConstants.SERVICE_TYPE_ODUC4:
                 return allSupportLinks.stream()
-                    .filter(lk -> lk.startsWith(OtnLinkType.OTUC4.getName())).collect(Collectors.toList());
+                    .filter(lk -> lk.startsWith(OtnLinkType.OTUC4.getName())).collect(Collectors.toSet());
             default:
                 return null;
         }