+ OrgOpenroadmDevice device = getXpdrDevice(nodeId);
+ if (device == null) {
+ return false;
+ }
+ Map<String, String> lcpMap = new HashMap<>();
+ Map<String, Mapping> mappingMap = new HashMap<>();
+ getXpdrMaps(device, nodeId, lcpMap, mappingMap);
+ if (device.getConnectionMap() == null) {
+ LOG.warn(PortMappingUtils.NO_CONMAP_LOGMSG, nodeId);
+ } else {
+ for (ConnectionMap cm : device.nonnullConnectionMap().values()) {
+ String skey = cm.getSource().getCircuitPackName() + "+" + cm.getSource().getPortName();
+ Destination destination0 = cm.nonnullDestination().values().iterator().next();
+ String dkey = destination0.getCircuitPackName() + "+" + destination0.getPortName();
+ if (!lcpMap.containsKey(skey)) {
+ LOG.error(PortMappingUtils.CONMAP_ISSUE_LOGMSG, nodeId, skey, dkey);
+ continue;
+ }
+ String slcp = lcpMap.get(skey);
+ Mapping mapping = mappingMap.get(slcp);
+ mappingMap.remove(slcp);
+ portMapList.add(createXpdrMappingObject(nodeId, null, null, null, null, mapping,
+ //dlcp
+ lcpMap.containsKey(dkey) ? lcpMap.get(dkey) : null,
+ null));
+ }
+ }
+ if (device.getOduSwitchingPools() != null) {
+ postPortMapping(nodeId, null, null, null, getSwitchingPoolList(device, lcpMap, nodeId), null);
+ }
+ mappingMap.forEach((k,v) -> portMapList.add(v));
+ return true;
+ }
+
+ private OrgOpenroadmDevice getXpdrDevice(String nodeId) {
+ InstanceIdentifier<OrgOpenroadmDevice> deviceIID = InstanceIdentifier
+ .builderOfInherited(OrgOpenroadmDeviceData.class, OrgOpenroadmDevice.class)
+ .build();