Add Supported OM to PortMapping.yang
[transportpce.git] / olm / src / test / java / org / opendaylight / transportpce / olm / util / OlmPowerServiceRpcImplUtil.java
index 1b579cf889dec1a2c768e721c0f01fd5a39cacf3..feebde34219267b860a2943290b994e5ed0728c8 100644 (file)
@@ -9,11 +9,11 @@
 package org.opendaylight.transportpce.olm.util;
 
 import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.olm.rev210618.CalculateSpanlossBaseInput;
 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.olm.rev210618.CalculateSpanlossBaseInputBuilder;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.olm.rev210618.CalculateSpanlossCurrentInput;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.olm.rev210618.CalculateSpanlossCurrentInputBuilder;
 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.olm.rev210618.GetPmInput;
 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.ServicePowerResetInput;
@@ -22,12 +22,32 @@ import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.olm.rev21
 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.olm.rev210618.ServicePowerSetupInputBuilder;
 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.olm.rev210618.ServicePowerTurndownInput;
 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.olm.rev210618.ServicePowerTurndownInputBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.pm.types.rev161014.PmGranularity;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev231221.OpenroadmNodeVersion;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev231221.mapping.Mapping;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev231221.mapping.MappingBuilder;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev231221.mapping.MappingKey;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev231221.network.nodes.NodeInfoBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.device.types.rev191129.NodeTypes;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.pm.rev161014.CurrentPmlist;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.pm.rev161014.CurrentPmlistBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.pm.rev161014.current.pm.MeasurementsBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.pm.rev161014.current.pm.ResourceBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.pm.rev161014.current.pm.measurements.MeasurementBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.pm.rev161014.currentpmlist.CurrentPm;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.pm.rev161014.currentpmlist.CurrentPmBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.pm.rev161014.currentpmlist.CurrentPmKey;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.pm.types.rev161014.PmDataType;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.pm.types.rev161014.PmNamesEnum;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.pm.types.rev161014.pm.measurement.PmParameterNameBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.resource.rev161014.resource.ResourceTypeBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.resource.rev161014.resource.resource.resource.InterfaceBuilder;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.resource.types.rev161014.ResourceTypeEnum;
-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.org.transportpce.common.types.rev210930.optical.renderer.nodes.NodesBuilder;
+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.olm.get.pm.input.ResourceIdentifierBuilder;
+import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev220926.optical.renderer.nodes.Nodes;
+import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev220926.optical.renderer.nodes.NodesBuilder;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.LinkId;
+import org.opendaylight.yangtools.yang.common.Decimal64;
 import org.opendaylight.yangtools.yang.common.Uint32;
 
 public final class OlmPowerServiceRpcImplUtil {
@@ -36,12 +56,140 @@ public final class OlmPowerServiceRpcImplUtil {
     }
 
     public static GetPmInput  getGetPmInput() {
-        GetPmInput input = new GetPmInputBuilder().setGranularity(PmGranularity._15min).setNodeId("node1")
-            .setResourceIdentifier(new ResourceIdentifierBuilder().setCircuitPackName("circuit pack name")
-                .setResourceName("resource name").build()).setResourceType(ResourceTypeEnum.Device).build();
+        GetPmInput input = new GetPmInputBuilder()
+                .setNodeId("node1")
+                .setGranularity(PmGranularity._15min)
+                .setResourceIdentifier(new ResourceIdentifierBuilder()
+                        .setResourceName("ots-deg1").build())
+                .setResourceType(ResourceTypeEnum.Interface).build();
         return input;
     }
 
+    public static CurrentPmlist getCurrentPmList121() {
+        CurrentPm currentPm = new CurrentPmBuilder()
+                .setId("id")
+                .setGranularity(org.opendaylight.yang.gen.v1.http.org.openroadm.pm.types.rev161014.PmGranularity._15min)
+                .setResource(new ResourceBuilder()
+                        .setResourceType(new ResourceTypeBuilder()
+                                .setType(ResourceTypeEnum.Interface)
+                                .build())
+                        .setResource(new org.opendaylight.yang.gen.v1.http.org.openroadm.resource.rev161014.resource
+                                .ResourceBuilder()
+                                .setResource(new InterfaceBuilder()
+                                        .setInterfaceName("ots-deg1")
+                                        .build())
+                                .build())
+                        .build())
+                .setMeasurements(List.of(
+                        new MeasurementsBuilder()
+                                .setMeasurement(new MeasurementBuilder()
+                                        .setPmParameterName(new PmParameterNameBuilder()
+                                                .setType(PmNamesEnum.OpticalPowerInput)
+                                                .build())
+                                        .setPmParameterValue(new PmDataType(Decimal64.valueOf("3")))
+                                        .build())
+                                .build()))
+                .build();
+        Map<CurrentPmKey, CurrentPm> currentPmMap = new HashMap<>();
+        currentPmMap.put(currentPm.key(), currentPm);
+        return new CurrentPmlistBuilder()
+                .setCurrentPm(currentPmMap)
+                .build();
+    }
+
+    public static ServicePowerSetupInput getServicePowerSetupInputForTransponder() {
+        return new ServicePowerSetupInputBuilder()
+                .setNodes(List.of(
+                        new NodesBuilder().setNodeId("xpdr-A").setSrcTp("client-A").setDestTp("network-A").build(),
+                        new NodesBuilder().setNodeId("roadm-A").setSrcTp("srg1-A").setDestTp("deg2-A").build()))
+                .setServiceName("service 1")
+                .setWaveNumber(Uint32.valueOf("1"))
+                .setLowerSpectralSlotNumber(Uint32.valueOf(761))
+                .setHigherSpectralSlotNumber(Uint32.valueOf(768))
+                .build();
+    }
+
+    public static ServicePowerSetupInput getServicePowerSetupInputForOneNode(String nodeId, String srcTp,
+            String destTp) {
+        return new ServicePowerSetupInputBuilder()
+                .setNodes(List.of(
+                        new NodesBuilder().setNodeId(nodeId).setSrcTp(srcTp).setDestTp(destTp).build()))
+                .setServiceName("service 1")
+                .setWaveNumber(Uint32.valueOf("1"))
+                .setLowerSpectralSlotNumber(Uint32.valueOf(761))
+                .setHigherSpectralSlotNumber(Uint32.valueOf(768))
+                .build();
+    }
+
+    public static ServicePowerSetupInput getServicePowerSetupInputWthoutNode() {
+        return new ServicePowerSetupInputBuilder()
+                .setNodes(List.of())
+                .setServiceName("service 1")
+                .setWaveNumber(Uint32.valueOf("1"))
+                .setLowerSpectralSlotNumber(Uint32.valueOf(761))
+                .setHigherSpectralSlotNumber(Uint32.valueOf(768))
+                .build();
+    }
+
+    public static org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev231221.network
+            .Nodes getMappingNodeTpdr(String nodeId, OpenroadmNodeVersion nodeVersion, List<String> lcps) {
+        Map<MappingKey, Mapping> mappings = new HashMap<>();
+        for (String lcp:lcps) {
+            Mapping mapping = new MappingBuilder()
+                    .setLogicalConnectionPoint(lcp)
+                    .setSupportingCircuitPackName("circuit pack")
+                    .setSupportingPort("port")
+                    .build();
+            mappings.put(mapping.key(), mapping);
+        }
+        return new org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev231221.network
+                .NodesBuilder()
+            .setNodeId(nodeId)
+            .setNodeInfo(new NodeInfoBuilder()
+                .setNodeType(NodeTypes.Xpdr)
+                .setOpenroadmVersion(nodeVersion)
+                .build())
+            .setMapping(mappings)
+            .build();
+    }
+
+    public static org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev231221.network
+            .Nodes getMappingNodeRdm(String nodeId, OpenroadmNodeVersion nodeVersion, List<String> lcps) {
+        Map<MappingKey, Mapping> mappings = new HashMap<>();
+        for (String lcp:lcps) {
+            MappingBuilder mappingBldr = new MappingBuilder()
+                    .setLogicalConnectionPoint(lcp)
+                    .setSupportingCircuitPackName("circuit pack")
+                    .setSupportingPort("port");
+            if (lcp.contains("deg")) {
+                mappingBldr.setSupportingOts("interface ots")
+                        .setSupportingOms("interface oms");
+            }
+            mappings.put(mappingBldr.build().key(), mappingBldr.build());
+        }
+        return new org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev231221.network
+                    .NodesBuilder()
+                .setNodeId(nodeId)
+                .setNodeInfo(new NodeInfoBuilder()
+                        .setNodeType(NodeTypes.Rdm)
+                        .setOpenroadmVersion(nodeVersion)
+                        .build())
+                .setMapping(mappings)
+                .build();
+    }
+
+    public static org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev231221.network
+            .Nodes getMappingNodeIla() {
+        return new org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev231221.network
+                    .NodesBuilder()
+                .setNodeId("ila node")
+                .setNodeInfo(new NodeInfoBuilder()
+                        .setNodeType(NodeTypes.Ila)
+                        .setOpenroadmVersion(OpenroadmNodeVersion._121)
+                        .build())
+                .build();
+    }
+
     public static ServicePowerSetupInput getServicePowerSetupInput() {
         Nodes node1 = new NodesBuilder().setDestTp("dest").setSrcTp("src").setNodeId("node 1").build();
         Nodes node2 = new NodesBuilder().setDestTp("dest").setSrcTp("src").setNodeId("node 2").build();
@@ -85,82 +233,17 @@ public final class OlmPowerServiceRpcImplUtil {
         return input;
     }
 
-    public static ServicePowerSetupInput getServicePowerSetupInput4() {
-        Nodes node1 = new NodesBuilder().setDestTp("srg").setSrcTp("src").setNodeId("node 1").build();
-        Nodes node2 = new NodesBuilder().setDestTp("srg").setSrcTp("src").setNodeId("node 2").build();
-        List<Nodes> nodes = new ArrayList<>();
-        nodes.add(node1);
-        nodes.add(node2);
-        ServicePowerSetupInput input = new ServicePowerSetupInputBuilder().setNodes(nodes)
-            .setServiceName("service 1")
-            .setWaveNumber(Uint32.valueOf("1"))
-            .setLowerSpectralSlotNumber(Uint32.valueOf(761))
-            .setHigherSpectralSlotNumber(Uint32.valueOf(768)).build();
-        return input;
-    }
-
     public static ServicePowerTurndownInput getServicePowerTurndownInput() {
-        Nodes node1 = new NodesBuilder().setDestTp("dest").setSrcTp("src").setNodeId("node 1").build();
-        Nodes node2 = new NodesBuilder().setDestTp("dest").setSrcTp("src").setNodeId("node 2").build();
-        List<Nodes> nodes = new ArrayList<>();
-        nodes.add(node1);
-        nodes.add(node2);
-        ServicePowerTurndownInput input = new ServicePowerTurndownInputBuilder()
-                .setNodes(nodes)
-                .setServiceName("service 1")
-                .setWaveNumber(Uint32.valueOf("1"))
-                .setLowerSpectralSlotNumber(Uint32.valueOf(761))
-                .setHigherSpectralSlotNumber(Uint32.valueOf(768)).build();
-
-        return input;
-    }
-
-    public static ServicePowerTurndownInput getServicePowerTurndownInput2() {
-        Nodes node1 = new NodesBuilder().setDestTp("destdeg").setSrcTp("src").setNodeId("node 1").build();
-        Nodes node2 = new NodesBuilder().setDestTp("destdeg").setSrcTp("src").setNodeId("node 2").build();
-        List<Nodes> nodes = new ArrayList<>();
-        nodes.add(node1);
-        nodes.add(node2);
-        ServicePowerTurndownInput input = new ServicePowerTurndownInputBuilder()
-                .setNodes(nodes)
-                .setServiceName("service 1")
-                .setWaveNumber(Uint32.valueOf("1"))
-                .setLowerSpectralSlotNumber(Uint32.valueOf(761))
-                .setHigherSpectralSlotNumber(Uint32.valueOf(768)).build();
-
-        return input;
-    }
-
-    public static ServicePowerTurndownInput getServicePowerTurndownInput3() {
-        Nodes node1 = new NodesBuilder().setDestTp("destsrg").setSrcTp("src").setNodeId("node 1").build();
-        Nodes node2 = new NodesBuilder().setDestTp("destsrg").setSrcTp("src").setNodeId("node 2").build();
-        List<Nodes> nodes = new ArrayList<>();
-        nodes.add(node1);
-        nodes.add(node2);
-        ServicePowerTurndownInput input = new ServicePowerTurndownInputBuilder()
-                .setNodes(nodes)
-                .setServiceName("service 1")
-                .setWaveNumber(Uint32.valueOf("1"))
-                .setLowerSpectralSlotNumber(Uint32.valueOf(761))
-                .setHigherSpectralSlotNumber(Uint32.valueOf(768)).build();
-
-        return input;
-    }
-
-    public static ServicePowerTurndownInput getServicePowerTurndownInput4() {
-        Nodes node1 = new NodesBuilder().setDestTp("destdeg").setSrcTp("src").setNodeId("node 1").build();
-        Nodes node2 = new NodesBuilder().setDestTp("destdeg").setSrcTp("src").setNodeId("node 2").build();
-        List<Nodes> nodes = new ArrayList<>();
-        nodes.add(node1);
-        nodes.add(node2);
-        ServicePowerTurndownInput input = new ServicePowerTurndownInputBuilder()
-                .setNodes(nodes)
+        return new ServicePowerTurndownInputBuilder()
+                .setNodes(List.of(
+                        new NodesBuilder().setNodeId("roadm-A").setSrcTp("srg1-A").setDestTp("deg2-A").build(),
+                        new NodesBuilder().setNodeId("roadm-C").setSrcTp("deg1-C").setDestTp("srg1-C").build())
+                        )
                 .setServiceName("service 1")
                 .setWaveNumber(Uint32.valueOf("1"))
                 .setLowerSpectralSlotNumber(Uint32.valueOf(761))
-                .setHigherSpectralSlotNumber(Uint32.valueOf(768)).build();
-
-        return input;
+                .setHigherSpectralSlotNumber(Uint32.valueOf(768))
+                .build();
     }
 
     public static CalculateSpanlossBaseInput getCalculateSpanlossBaseInputLink() {
@@ -178,19 +261,6 @@ public final class OlmPowerServiceRpcImplUtil {
         return input;
     }
 
-    public static CalculateSpanlossBaseInput getCalculateSpanlossBaseInput2() {
-        CalculateSpanlossBaseInput input = new CalculateSpanlossBaseInputBuilder()
-            .setLinkId(new LinkId("link 1"))
-            .setSrcType(CalculateSpanlossBaseInput.SrcType.All).build();
-        return input;
-    }
-
-    public static CalculateSpanlossCurrentInput getCalculateSpanlossCurrentInput() {
-        CalculateSpanlossCurrentInput input = new CalculateSpanlossCurrentInputBuilder()
-            .build();
-        return input;
-    }
-
     public static ServicePowerResetInput getServicePowerResetInput() {
         ServicePowerResetInput input = new ServicePowerResetInputBuilder()
             .setServiceName("service 1").build();