Migrate renderer module to Aluminium
[transportpce.git] / renderer / src / main / java / org / opendaylight / transportpce / renderer / provisiondevice / servicepath / ServiceListTopology.java
index 6ef18f73a7681a385f97c003258b76ab339565d8..3bebbb0e3bd2ab15e3150a7f65d467e06f2b59b3 100644 (file)
@@ -7,37 +7,32 @@
  */
 package org.opendaylight.transportpce.renderer.provisiondevice.servicepath;
 
-import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
-
-import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev161014.service.Topology;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev161014.service.TopologyBuilder;
+import java.util.Map;
+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.service.Topology;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev190531.service.TopologyBuilder;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev170206.get.connection.port.trail.output.Ports;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.resource.rev161014.resource.DeviceBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.resource.rev161014.resource.ResourceBuilder;
-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.port.PortBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.resource.types.rev161014.ResourceTypeEnum;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.topology.rev161014.Hop.HopType;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.topology.rev161014.topology.AToZ;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.topology.rev161014.topology.AToZBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.topology.rev161014.topology.ZToA;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.topology.rev161014.topology.ZToABuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.resource.rev190531.resource.DeviceBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.resource.rev190531.resource.ResourceBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.resource.rev190531.resource.ResourceTypeBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.resource.rev190531.resource.resource.resource.port.PortBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.resource.types.rev181130.ResourceTypeEnum;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.topology.rev190531.Hop.HopType;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.topology.rev190531.topology.AToZ;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.topology.rev190531.topology.AToZBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.topology.rev190531.topology.AToZKey;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.topology.rev190531.topology.ZToA;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.topology.rev190531.topology.ZToABuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.topology.rev190531.topology.ZToAKey;
 
 public class ServiceListTopology {
 
 
-    private List<AToZ> a2zTopologyList;
-    private List<ZToA> z2aTopologyList;
-    private TopologyBuilder serviceTopology;
-
-    public ServiceListTopology() {
-
-        this.a2zTopologyList = new ArrayList<>();
-        this.z2aTopologyList = new ArrayList<>();
-        this.serviceTopology = new TopologyBuilder();
-
-    }
+    private Map<AToZKey,AToZ> a2zTopologyList = new HashMap<>();
+    private Map<ZToAKey,ZToA> z2aTopologyList = new HashMap<>();
+    private TopologyBuilder serviceTopology = new TopologyBuilder();
 
     public void updateAtoZTopologyList(List<Ports> ports, String nodeId) {
 
@@ -47,7 +42,7 @@ public class ServiceListTopology {
         int id = this.a2zTopologyList.size();
 
         DeviceBuilder deviceBldr = new DeviceBuilder();
-        deviceBldr.setNodeId(nodeId);
+        deviceBldr.setNodeId(new NodeIdType(nodeId));
 
 
         for (Ports port : ports) {
@@ -80,9 +75,9 @@ public class ServiceListTopology {
             PortBuilder portBldr = new PortBuilder();
             portBldr.setCircuitPackName(circuitPackName);
             portBldr.setPortName(portName);
-            org.opendaylight.yang.gen.v1.http.org.openroadm.resource.rev161014.resource.resource.resource
+            org.opendaylight.yang.gen.v1.http.org.openroadm.resource.rev190531.resource.resource.resource
                     .PortBuilder portCase =
-                    new org.opendaylight.yang.gen.v1.http.org.openroadm.resource.rev161014.resource.resource.resource
+                    new org.opendaylight.yang.gen.v1.http.org.openroadm.resource.rev190531.resource.resource.resource
                             .PortBuilder();
             portCase.setPort(portBldr.build());
             ResourceBuilder rsrcBldr = new ResourceBuilder();
@@ -90,7 +85,8 @@ public class ServiceListTopology {
             a2zBldr.setResource(rsrcBldr.build());
 
             //Add port resource to the list
-            this.a2zTopologyList.add(a2zBldr.build());
+            AToZ a2z = a2zBldr.build();
+            this.a2zTopologyList.put(a2z.key(),a2z);
 
         }
 
@@ -104,10 +100,10 @@ public class ServiceListTopology {
         String circuitPackName = "";
         String portName = "";
 
-        int id = this.a2zTopologyList.size();
+        int id = this.z2aTopologyList.size();
 
         DeviceBuilder deviceBldr = new DeviceBuilder();
-        deviceBldr.setNodeId(nodeId);
+        deviceBldr.setNodeId(new NodeIdType(nodeId));
 
         for (Ports port : ports) {
 
@@ -139,9 +135,9 @@ public class ServiceListTopology {
             PortBuilder portBldr = new PortBuilder();
             portBldr.setCircuitPackName(circuitPackName);
             portBldr.setPortName(portName);
-            org.opendaylight.yang.gen.v1.http.org.openroadm.resource.rev161014.resource.resource.resource
+            org.opendaylight.yang.gen.v1.http.org.openroadm.resource.rev190531.resource.resource.resource
                     .PortBuilder portCase =
-                    new org.opendaylight.yang.gen.v1.http.org.openroadm.resource.rev161014.resource.resource.resource
+                    new org.opendaylight.yang.gen.v1.http.org.openroadm.resource.rev190531.resource.resource.resource
                             .PortBuilder();
             portCase.setPort(portBldr.build());
             ResourceBuilder rsrcBldr = new ResourceBuilder();
@@ -149,10 +145,14 @@ public class ServiceListTopology {
             z2aBldr.setResource(rsrcBldr.build());
 
             //Add port resource to the list
-            this.z2aTopologyList.add(z2aBldr.build());
+            ZToA z2a = z2aBldr.build();
+            this.z2aTopologyList.put(z2a.key(),z2a);
 
         }
 
+        //update Topology
+        this.serviceTopology.setZToA(this.z2aTopologyList);
+
     }
 
     public Topology getTopology() {