X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=common%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Ftransportpce%2Fcommon%2Fmapping%2FPortMappingImpl.java;fp=common%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Ftransportpce%2Fcommon%2Fmapping%2FPortMappingImpl.java;h=d19b07b64fe015f12ac2733468c754383bb93cd5;hb=a333c0c0b3bbe22066e3bcc4af4007d066c10e89;hp=9d15dffac4826e5cd3f3a569b3c6d789ae4c88ac;hpb=8c9ebbcf59bcf5528dc7a8251a7c85f0581b44c7;p=transportpce.git diff --git a/common/src/main/java/org/opendaylight/transportpce/common/mapping/PortMappingImpl.java b/common/src/main/java/org/opendaylight/transportpce/common/mapping/PortMappingImpl.java index 9d15dffac..d19b07b64 100644 --- a/common/src/main/java/org/opendaylight/transportpce/common/mapping/PortMappingImpl.java +++ b/common/src/main/java/org/opendaylight/transportpce/common/mapping/PortMappingImpl.java @@ -123,7 +123,7 @@ public class PortMappingImpl implements PortMapping { .child(Nodes.class, new NodesKey(nodeId)); try (ReadTransaction readTx = this.dataBroker.newReadOnlyTransaction()) { Optional portMapppingOpt = readTx.read(LogicalDatastoreType.CONFIGURATION, portMappingIID).get(); - if (!portMapppingOpt.isPresent()) { + if (portMapppingOpt.isEmpty()) { LOG.warn("Could not get portMapping for node {}", nodeId); return null; } @@ -248,4 +248,27 @@ public class PortMappingImpl implements PortMapping { return this.getNode(nodeId) != null; } + @Override + public Mapping getMappingFromOtsInterface(String nodeId, String interfName) { + KeyedInstanceIdentifier nodePortmappingIID = InstanceIdentifier.create(Network.class) + .child(Nodes.class, new NodesKey(nodeId)); + try (ReadTransaction readTx = this.dataBroker.newReadOnlyTransaction()) { + Optional nodePortmapppingOpt + = readTx.read(LogicalDatastoreType.CONFIGURATION, nodePortmappingIID).get(); + if (nodePortmapppingOpt.isEmpty()) { + LOG.warn("Could not get portMapping for node {}", nodeId); + return null; + } + Map mappings = nodePortmapppingOpt.get().getMapping(); + for (Mapping mapping : mappings.values()) { + if (interfName.equals(mapping.getSupportingOts())) { + return mapping; + } + } + } catch (InterruptedException | ExecutionException ex) { + LOG.error("Unable to get mapping list for nodeId {}", nodeId, ex); + } + return null; + } + }