Merge "PortMapping for device 1.2.1 and 2.2"
[transportpce.git] / common / src / main / java / org / opendaylight / transportpce / common / mapping / PortMappingImpl.java
index 2dac08d0543b6bd55510eb848c384bda408584b5..7374530d421f3602a23ee659ef14e27d6e8d6444 100644 (file)
@@ -48,16 +48,13 @@ public class PortMappingImpl implements PortMapping {
     }
 
     @Override
-    public boolean createMappingData(String nodeId) {
-
-        String openROADMversion = mappingUtils.getOpenRoadmVersion(nodeId);
-        if (openROADMversion.equals(OPENROADM_DEVICE_VERSION_1_2_1)) {
+    public boolean createMappingData(String nodeId, String nodeVersion) {
+        if (nodeVersion.equals(OPENROADM_DEVICE_VERSION_1_2_1)) {
             return portMappingVersion121.createMappingData(nodeId);
         }
-        else if (openROADMversion.equals(OPENROADM_DEVICE_VERSION_2_2)) {
+        else if (nodeVersion.equals(OPENROADM_DEVICE_VERSION_2_2)) {
             return portMappingVersion22.createMappingData(nodeId);
         }
-
         else {
             return false;
         }
@@ -127,5 +124,25 @@ public class PortMappingImpl implements PortMapping {
         }
     }
 
+    @Override
+    public Nodes getNode(String nodeId) {
+        InstanceIdentifier<Nodes> nodePortMappingIID = InstanceIdentifier.builder(Network.class).child(Nodes.class,
+            new NodesKey(nodeId)).build();
+        try (ReadOnlyTransaction readTx = this.dataBroker.newReadOnlyTransaction()) {
+            Optional<Nodes> nodePortMapObject = readTx.read(LogicalDatastoreType.CONFIGURATION, nodePortMappingIID)
+                .get().toJavaUtil();
+            if (nodePortMapObject.isPresent()) {
+                Nodes node = nodePortMapObject.get();
+                LOG.info("Found node {} in portmapping.", nodeId);
+                return node;
+            } else {
+                LOG.warn("Could not find node {} in portmapping.", nodeId);
+            }
+        } catch (InterruptedException | ExecutionException ex) {
+            LOG.error("Unable to get node {} in portmapping", nodeId);
+        }
+        return null;
+    }
+
 
 }