Upgrade to Service Path 1.7
[transportpce.git] / olm / src / test / java / org / opendaylight / transportpce / olm / util / TransactionUtils.java
index 4ae7f820b1da70fc53e3f57d314abb12b4e14f9e..a04ac0473cb19b1f293150df2bb4595671e98699 100644 (file)
@@ -15,42 +15,51 @@ import java.util.List;
 import java.util.Map;
 import java.util.Optional;
 
-import org.opendaylight.controller.md.sal.binding.api.DataBroker;
-import org.opendaylight.controller.md.sal.binding.api.ReadWriteTransaction;
-import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev170228.Network;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev170228.network.Nodes;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev170228.network.NodesBuilder;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev170228.network.NodesKey;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev170228.network.nodes.CpToDegree;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev170228.network.nodes.CpToDegreeBuilder;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev170228.network.nodes.Mapping;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev170228.network.nodes.MappingBuilder;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev170228.network.nodes.MappingKey;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.common.types.rev161014.NodeTypes;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.common.types.rev170929.FiberPmd;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.common.types.rev170929.RatioDB;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.common.types.rev170929.State;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev170929.amplified.link.attributes.amplified.link.SectionElementBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev170929.span.attributes.LinkConcatenation;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev170929.span.attributes.LinkConcatenationBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev170929.Link1;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev170929.Link1Builder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev170929.network.link.OMSAttributesBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev170929.network.link.oms.attributes.AmplifiedLinkBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev170929.network.link.oms.attributes.SpanBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev170929.OpenroadmLinkType;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev150608.NetworkId;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev150608.NodeId;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev150608.LinkId;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev150608.Network1;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev150608.Network1Builder;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev150608.network.Link;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev150608.network.LinkBuilder;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev150608.network.link.DestinationBuilder;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev150608.network.link.SourceBuilder;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev150608.network.link.SupportingLink;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev150608.network.link.SupportingLinkBuilder;
+import org.opendaylight.mdsal.binding.api.DataBroker;
+import org.opendaylight.mdsal.binding.api.ReadWriteTransaction;
+import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
+import org.opendaylight.transportpce.common.NetworkUtils;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev200128.Network;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev200128.network.Nodes;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev200128.network.NodesBuilder;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev200128.network.NodesKey;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev200128.network.nodes.CpToDegree;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev200128.network.nodes.CpToDegreeBuilder;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev200128.network.nodes.Mapping;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev200128.network.nodes.MappingBuilder;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev200128.network.nodes.MappingKey;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev200128.network.nodes.NodeInfo.OpenroadmVersion;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev200128.network.nodes.NodeInfoBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.common.link.types.rev181130.FiberPmd;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.common.link.types.rev181130.RatioDB;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.common.state.types.rev181130.State;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.equipment.states.types.rev181130.AdminStates;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev181130.amplified.link.attributes.AmplifiedLink;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev181130.amplified.link.attributes.amplified.link.SectionElementBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev181130.span.attributes.LinkConcatenation;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev181130.span.attributes.LinkConcatenationBuilder;
+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.network.topology.rev181130.networks.network.link.OMSAttributesBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.networks.network.link.oms.attributes.AmplifiedLinkBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.networks.network.link.oms.attributes.SpanBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev181130.OpenroadmLinkType;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.NetworkId;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.NodeId;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.networks.network.Node;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.networks.network.NodeBuilder;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.networks.network.NodeKey;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.networks.network.node.SupportingNode;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.networks.network.node.SupportingNodeBuilder;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.LinkId;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.Network1;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.Network1Builder;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.networks.network.Link;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.networks.network.LinkBuilder;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.networks.network.link.DestinationBuilder;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.networks.network.link.SourceBuilder;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.networks.network.link.SupportingLink;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.networks.network.link.SupportingLinkBuilder;
 import org.opendaylight.yangtools.yang.binding.Augmentation;
 import org.opendaylight.yangtools.yang.binding.DataObject;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
@@ -61,10 +70,11 @@ public final class TransactionUtils {
 
     }
 
+    @SuppressWarnings("unchecked")
     public static boolean writeTransaction(DataBroker dataBroker, InstanceIdentifier instanceIdentifier,
         DataObject object) {
         ReadWriteTransaction transaction = dataBroker.newReadWriteTransaction();
-        transaction.put(LogicalDatastoreType.CONFIGURATION, instanceIdentifier, object, true);
+        transaction.put(LogicalDatastoreType.CONFIGURATION, instanceIdentifier, object);
         transaction.commit();// submit(Timeouts.DATASTORE_WRITE, Timeouts.DEVICE_WRITE_TIMEOUT_UNIT).get();
         return true;
     }
@@ -105,28 +115,106 @@ public final class TransactionUtils {
         return network;
     }
 
+    public static org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network
+            .rev180226.networks.Network getOverLayNetwork() {
+        List<SupportingNode> supportingNodes1 = new ArrayList<>();
+        supportingNodes1
+            .add(new SupportingNodeBuilder()
+                    .setNodeRef(new NodeId("node 1"))
+                    .setNetworkRef(new NetworkId(NetworkUtils.UNDERLAY_NETWORK_ID))
+                .build());
+        NodeBuilder node1Builder = new NodeBuilder()
+                .setNodeId(new NodeId("node 1"))
+                .withKey(new NodeKey(new NodeId("node 1")))
+                .setSupportingNode(supportingNodes1);
+        List<Node> nodes = new ArrayList<>();
+        nodes.add(node1Builder.build());
+        List<SupportingNode> supportingNodes = new ArrayList<>();
+        supportingNodes
+                .add(new SupportingNodeBuilder()
+                    .setNodeRef(new NodeId("node 2"))
+                    .setNetworkRef(new NetworkId(NetworkUtils.UNDERLAY_NETWORK_ID))
+                .build());
+        NodeBuilder node2Builder = new NodeBuilder()
+                .setNodeId(new NodeId("node 2"))
+                .withKey(new NodeKey(new NodeId("node 2")))
+                .setSupportingNode(supportingNodes);
+        nodes.add(node2Builder.build());
+        List<SupportingNode> supportingNodes3 = new ArrayList<>();
+        supportingNodes3
+            .add(new SupportingNodeBuilder()
+                .setNodeRef(new NodeId("node 3"))
+                .setNetworkRef(new NetworkId(NetworkUtils.UNDERLAY_NETWORK_ID))
+            .build());
+        NodeBuilder node3Builder = new NodeBuilder()
+                .setNodeId(new NodeId("node 3"))
+                .withKey(new NodeKey(new NodeId("node 3")))
+                .setSupportingNode(supportingNodes3);
+        nodes.add(node3Builder.build());
+        List<SupportingNode> supportingNodes4 = new ArrayList<>();
+        supportingNodes4
+            .add(new SupportingNodeBuilder()
+                .setNodeRef(new NodeId("node 4"))
+                .setNetworkRef(new NetworkId(NetworkUtils.UNDERLAY_NETWORK_ID))
+            .build());
+        NodeBuilder node4Builder = new NodeBuilder()
+                .setNodeId(new NodeId("node 4"))
+                .withKey(new NodeKey(new NodeId("node 4")))
+                .setSupportingNode(supportingNodes4);
+        nodes.add(node4Builder.build());
+        org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.networks.NetworkBuilder
+            networkBuilder =
+                new org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.networks
+                    .NetworkBuilder()
+                .setNode(nodes)
+                .setNetworkId(new NetworkId(NetworkUtils.OVERLAY_NETWORK_ID));
+        org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.networks.Network network =
+            networkBuilder.build();
+        Optional.of(network);
+        return network;
+    }
+
     public static Network1 getNetwork() {
         List<SupportingLink> supportingLinks = new ArrayList<>();
-        SupportingLink supportingLink1 = new SupportingLinkBuilder().setLinkRef("ref1")
-            .setNetworkRef(new NetworkId("net1")).build();
-        SupportingLink supportingLink2 = new SupportingLinkBuilder().setLinkRef("ref2")
-            .setNetworkRef(new NetworkId("net2")).build();
+        SupportingLink supportingLink1 = new SupportingLinkBuilder()
+                .setLinkRef("ref1")
+                .setNetworkRef(new NetworkId("net1"))
+                .build();
+        SupportingLink supportingLink2 = new SupportingLinkBuilder()
+                .setLinkRef("ref2")
+                .setNetworkRef(new NetworkId("net2"))
+                .build();
         supportingLinks.add(supportingLink1);
         supportingLinks.add(supportingLink2);
         List<Link> links = new ArrayList<>();
-        Link link1 = new LinkBuilder().setLinkId(new LinkId("link 1"))
-            .setDestination(new DestinationBuilder().setDestNode(new NodeId("node 1"))
-                .setDestTp("dest tp").build())
-            .setSource(new SourceBuilder().setSourceNode(new NodeId("node 2"))
-                .setSourceTp("src tp").build())
-            .setSupportingLink(supportingLinks).build();
+        Link link1 = new LinkBuilder()
+                .setLinkId(new LinkId("link 1"))
+                .setDestination(
+                    new DestinationBuilder()
+                        .setDestNode(new NodeId("node 1"))
+                        .setDestTp("dest tp").build())
+                .setSource(
+                    new SourceBuilder()
+                        .setSourceNode(new NodeId("node 2"))
+                        .setSourceTp("src tp")
+                        .build())
+            .setSupportingLink(supportingLinks)
+            .build();
 
-        Link link2 = new LinkBuilder().setLinkId(new LinkId("link 2"))
-            .setDestination(new DestinationBuilder().setDestNode(new NodeId("node 3"))
-                .setDestTp("dest tp").build())
-            .setSource(new SourceBuilder().setSourceNode(new NodeId("node 4"))
-                .setSourceTp("src tp").build())
-            .setSupportingLink(supportingLinks).build();
+        Link link2 = new LinkBuilder()
+                .setLinkId(new LinkId("link 2"))
+                .setDestination(
+                    new DestinationBuilder()
+                        .setDestNode(new NodeId("node 3"))
+                        .setDestTp("dest tp")
+                        .build())
+                .setSource(
+                    new SourceBuilder()
+                        .setSourceNode(new NodeId("node 4"))
+                        .setSourceTp("src tp")
+                        .build())
+                .setSupportingLink(supportingLinks)
+                .build();
         links.add(link1);
         links.add(link2);
         Network1 network = new Network1Builder().setLink(links).build();
@@ -150,16 +238,16 @@ public final class TransactionUtils {
             .build();
         linkConcentationValues.add(linkConcatenation);
         linkConcentationValues.add(linkConcatenation2);
-        List<org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev170929.amplified.link.attributes.AmplifiedLink>
+        List<AmplifiedLink>
             amplifiedLinkValues = new ArrayList<>();
-        org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev170929.amplified.link.attributes.AmplifiedLink al = new
-            org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev170929.amplified.link.attributes
-                .AmplifiedLinkBuilder().setSectionElement(new SectionElementBuilder()
-                .setSectionElement(new org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev170929.amplified.link
+        org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev181130.amplified.link.attributes.AmplifiedLink al =
+            new org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev181130.amplified.link.attributes
+                    .AmplifiedLinkBuilder().setSectionElement(new SectionElementBuilder()
+                .setSectionElement(new org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev181130.amplified.link
                     .attributes.amplified.link.section.element.section.element.SpanBuilder()
-                        .setSpan(new org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev170929.amplified.link
+                        .setSpan(new org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev181130.amplified.link
                                 .attributes.amplified.link.section.element.section.element.span.SpanBuilder()
-                                    .setAdministrativeState(State.InService)
+                                    .setAdministrativeState(AdminStates.InService)
                                     .setAutoSpanloss(true)
                                     .setClfi("clfi")
                                     .setEngineeredSpanloss(new RatioDB(BigDecimal.ONE))
@@ -170,14 +258,14 @@ public final class TransactionUtils {
                     .build())
                 .build())
             .setSectionEltNumber(Integer.valueOf(1)).build();
-        org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev170929.amplified.link.attributes.AmplifiedLink al2 = new
-            org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev170929.amplified.link.attributes
+        org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev181130.amplified.link.attributes.AmplifiedLink al2 = new
+            org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev181130.amplified.link.attributes
                 .AmplifiedLinkBuilder().setSectionElement(new SectionElementBuilder()
-                .setSectionElement(new org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev170929.amplified.link
+                .setSectionElement(new org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev181130.amplified.link
                      .attributes.amplified.link.section.element.section.element.SpanBuilder()
-                        .setSpan(new org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev170929.amplified.link
+                        .setSpan(new org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev181130.amplified.link
                                 .attributes.amplified.link.section.element.section.element.span.SpanBuilder()
-                                    .setAdministrativeState(State.InService)
+                                    .setAdministrativeState(AdminStates.InService)
                                     .setAutoSpanloss(true)
                                     .setClfi("clfi")
                                     .setEngineeredSpanloss(new RatioDB(BigDecimal.ONE))
@@ -283,7 +371,10 @@ public final class TransactionUtils {
         mappingList.add(map1);
         Nodes nodes = new NodesBuilder()
             .setNodeId(nodeId)
-            .setNodeType(NodeTypes.Xpdr)
+            .setNodeInfo(new NodeInfoBuilder()
+                .setNodeType(org.opendaylight.yang.gen.v1.http.org.openroadm.common.types.rev181019.NodeTypes.Xpdr)
+                .setOpenroadmVersion(OpenroadmVersion._121)
+                .build())
             .setCpToDegree(cpList)
             .setMapping(mappingList)
             .build();
@@ -314,7 +405,10 @@ public final class TransactionUtils {
         mappingList.add(map1);
         Nodes nodes = new NodesBuilder()
             .setNodeId(nodeId)
-            .setNodeType(null)
+            .setNodeInfo(new NodeInfoBuilder()
+                .setNodeType(null)
+                .setOpenroadmVersion(OpenroadmVersion._121)
+                .build())
             .setCpToDegree(cpList)
             .setMapping(mappingList)
             .build();
@@ -345,7 +439,10 @@ public final class TransactionUtils {
         mappingList.add(map1);
         Nodes nodes = new NodesBuilder()
             .setNodeId(nodeId)
-            .setNodeType(NodeTypes.Rdm)
+            .setNodeInfo(new NodeInfoBuilder()
+                .setNodeType(org.opendaylight.yang.gen.v1.http.org.openroadm.common.types.rev181019.NodeTypes.Rdm)
+                .setOpenroadmVersion(OpenroadmVersion._121)
+                .build())
             .setCpToDegree(cpList)
             .setMapping(mappingList)
             .build();