Add Supported OM to PortMapping.yang
[transportpce.git] / olm / src / test / java / org / opendaylight / transportpce / olm / util / OlmPowerServiceRpcImplUtil.java
index f6d783fd44b03ee900af18f90798afbba39a073d..feebde34219267b860a2943290b994e5ed0728c8 100644 (file)
 package org.opendaylight.transportpce.olm.util;
 
 import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
-
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.olm.rev170418.CalculateSpanlossBaseInput;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.olm.rev170418.CalculateSpanlossBaseInputBuilder;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.olm.rev170418.CalculateSpanlossCurrentInput;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.olm.rev170418.CalculateSpanlossCurrentInputBuilder;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.olm.rev170418.GetPmInput;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.olm.rev170418.GetPmInputBuilder;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.olm.rev170418.ServicePowerResetInput;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.olm.rev170418.ServicePowerResetInputBuilder;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.olm.rev170418.ServicePowerSetupInput;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.olm.rev170418.ServicePowerSetupInputBuilder;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.olm.rev170418.ServicePowerTurndownInput;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.olm.rev170418.ServicePowerTurndownInputBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.Link1;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.Link1Builder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.pm.types.rev161014.PmGranularity;
+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.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;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.olm.rev210618.ServicePowerResetInputBuilder;
+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.olm.rev210618.ServicePowerTurndownInput;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.olm.rev210618.ServicePowerTurndownInputBuilder;
+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.rev170907.olm.get.pm.input.ResourceIdentifierBuilder;
-import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev170907.olm.renderer.input.Nodes;
-import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev170907.olm.renderer.input.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 {
 
-    private OlmPowerServiceRpcImplUtil() {}
+    private 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();
@@ -51,7 +198,10 @@ public final class OlmPowerServiceRpcImplUtil {
         nodes.add(node2);
         ServicePowerSetupInput input = new ServicePowerSetupInputBuilder().setNodes(nodes)
             .setServiceName("service 1")
-            .setWaveNumber(Long.valueOf("1234")).build();
+            .setWaveNumber(Uint32.valueOf("1"))
+            .setLowerSpectralSlotNumber(Uint32.valueOf(761))
+            .setHigherSpectralSlotNumber(Uint32.valueOf(768))
+            .build();
         return input;
     }
 
@@ -63,7 +213,9 @@ public final class OlmPowerServiceRpcImplUtil {
         nodes.add(node2);
         ServicePowerSetupInput input = new ServicePowerSetupInputBuilder().setNodes(nodes)
             .setServiceName("service 1")
-            .setWaveNumber(Long.valueOf("1234")).build();
+            .setWaveNumber(Uint32.valueOf("1"))
+            .setLowerSpectralSlotNumber(Uint32.valueOf(761))
+            .setHigherSpectralSlotNumber(Uint32.valueOf(768)).build();
         return input;
     }
 
@@ -75,55 +227,37 @@ public final class OlmPowerServiceRpcImplUtil {
         nodes.add(node2);
         ServicePowerSetupInput input = new ServicePowerSetupInputBuilder().setNodes(nodes)
             .setServiceName("service 1")
-            .setWaveNumber(Long.valueOf("1234")).build();
-        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(Long.valueOf("1234")).build();
+            .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(Long.valueOf("1234")).build();
-
-        return input;
+        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();
     }
 
-    public static CalculateSpanlossBaseInput getCalculateSpanlossBaseInput() {
+    public static CalculateSpanlossBaseInput getCalculateSpanlossBaseInputLink() {
         CalculateSpanlossBaseInput input = new CalculateSpanlossBaseInputBuilder()
-            .setLinkId(new LinkId("link 1"))
-            .setSrcType(CalculateSpanlossBaseInput.SrcType.Link)
-            .addAugmentation(null, null).build();
+                .setLinkId(new LinkId("ROADM-A1-to-ROADM-C1"))
+                .setSrcType(CalculateSpanlossBaseInput.SrcType.Link)
+                .build();
         return input;
     }
 
-    public static CalculateSpanlossBaseInput getCalculateSpanlossBaseInput2() {
-        Link1 link1 = new Link1Builder().build();
+    public static CalculateSpanlossBaseInput getCalculateSpanlossBaseInputAll() {
         CalculateSpanlossBaseInput input = new CalculateSpanlossBaseInputBuilder()
-            .setLinkId(new LinkId("link 1"))
-            .setSrcType(CalculateSpanlossBaseInput.SrcType.All).build();
-        return input;
-    }
-
-    public static CalculateSpanlossCurrentInput getCalculateSpanlossCurrentInput() {
-        CalculateSpanlossCurrentInput input = new CalculateSpanlossCurrentInputBuilder()
-            .addAugmentation(null, null).build();
+                .setSrcType(CalculateSpanlossBaseInput.SrcType.All)
+                .build();
         return input;
     }
 
@@ -132,5 +266,4 @@ public final class OlmPowerServiceRpcImplUtil {
             .setServiceName("service 1").build();
         return input;
     }
-
 }