update portmapping YANG to store SAPI/DAPI hashmap
[transportpce.git] / olm / src / main / java / org / opendaylight / transportpce / olm / util / OlmUtils.java
index b2e04a8f82ade2ec2f53407f5655e4870c8320bb..d8bd0a75b7e1b59bb840f48ddeab5454e12fba8f 100644 (file)
@@ -11,21 +11,16 @@ import java.util.Optional;
 import java.util.concurrent.ExecutionException;
 import java.util.concurrent.TimeUnit;
 import java.util.concurrent.TimeoutException;
-
-import org.opendaylight.controller.md.sal.binding.api.DataBroker;
-import org.opendaylight.controller.md.sal.binding.api.ReadOnlyTransaction;
-import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
+import org.opendaylight.mdsal.binding.api.DataBroker;
+import org.opendaylight.mdsal.binding.api.ReadTransaction;
+import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
 import org.opendaylight.transportpce.common.device.DeviceTransactionManager;
 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.GetPmOutputBuilder;
-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.NodesKey;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.node.topology.rev150114.network.topology.topology.topology.types.TopologyNetconf;
-import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.NetworkTopology;
-import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.TopologyId;
-import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.Topology;
-import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.TopologyKey;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev200429.Network;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev200429.network.Nodes;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev200429.network.NodesKey;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev200429.network.nodes.NodeInfo.OpenroadmVersion;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -34,13 +29,8 @@ public final class OlmUtils {
 
     private static final Logger LOG = LoggerFactory.getLogger(OlmUtils.class);
     private static long DATABROKER_READ_TIMEOUT_SECONDS = 120;
-    public static long OLM_TIMER_1 = 120000; //nominal value is 120000 - functional test value may be 3000
-    public static long OLM_TIMER_2 = 20000; //nominal value is 20000 - functional test value may be 2000
-    private static final InstanceIdentifier<Topology> NETCONF_TOPO_IID =
-        InstanceIdentifier
-            .create(NetworkTopology.class)
-            .child(Topology.class,
-                new TopologyKey(new TopologyId(TopologyNetconf.QNAME.getLocalName())));
+    public static final long OLM_TIMER_1 = 120000; //#FUNCTESTVAL= 3000;
+    public static final long OLM_TIMER_2 = 20000;  //#FUNCTESTVAL= 2000;
 
     /**
      * This static method returns the port mapping {@link Nodes} for node.
@@ -54,9 +44,9 @@ public final class OlmUtils {
     public static Optional<Nodes> getNode(String nodeId, DataBroker db) {
         InstanceIdentifier<Nodes> nodesIID = InstanceIdentifier.create(Network.class)
             .child(Nodes.class, new NodesKey(nodeId));
-        try (ReadOnlyTransaction readTransaction = db.newReadOnlyTransaction()) {
+        try (ReadTransaction readTransaction = db.newReadOnlyTransaction()) {
             return readTransaction.read(LogicalDatastoreType.CONFIGURATION, nodesIID)
-                .get(DATABROKER_READ_TIMEOUT_SECONDS, TimeUnit.SECONDS).toJavaUtil();
+                .get(DATABROKER_READ_TIMEOUT_SECONDS, TimeUnit.SECONDS);
         } catch (InterruptedException | ExecutionException | TimeoutException ex) {
             LOG.error("Unable to read Portmapping for nodeId {}", nodeId, ex);
             return Optional.empty();
@@ -82,11 +72,11 @@ public final class OlmUtils {
      * @return Result of the request list of PM readings
      */
     public static GetPmOutputBuilder pmFetch(GetPmInput input, DeviceTransactionManager deviceTransactionManager,
-                                             Nodes.OpenroadmVersion openRoadmVersion) {
+                                             OpenroadmVersion openRoadmVersion) {
         LOG.info("Getting PM Data for NodeId: {} ResourceType: {} ResourceName: {}", input.getNodeId(),
             input.getResourceType(), input.getResourceIdentifier());
         GetPmOutputBuilder pmOutputBuilder = new GetPmOutputBuilder();
-        if (openRoadmVersion.equals(Nodes.OpenroadmVersion._121)) {
+        if (openRoadmVersion.getIntValue() == 1) {
             pmOutputBuilder = OlmUtils121.pmFetch(input, deviceTransactionManager);
         } else {
             pmOutputBuilder = OlmUtils22.pmFetch(input, deviceTransactionManager);