public boolean createMappingData(String nodeId) {
LOG.info("{} : OpenROADM version 2.2.1 node - Creating Mapping Data", nodeId);
List<Mapping> portMapList = new ArrayList<>();
- List<McCapabilities> mcCapabilitiesList = new ArrayList<>();
+ Map<McCapabilitiesKey, McCapabilities> mcCapabilities = new HashMap<>();
InstanceIdentifier<Info> infoIID = InstanceIdentifier.create(OrgOpenroadmDevice.class).child(Info.class);
Optional<Info> deviceInfoOptional = this.deviceTransactionManager.getDataFromDevice(
nodeId, LogicalDatastoreType.OPERATIONAL, infoIID,
return false;
}
// Get MC capabilities
- if (!createMcCapabilitiesList(nodeId, deviceInfo, mcCapabilitiesList)) {
+ if (!createMcCapabilitiesList(nodeId, deviceInfo, mcCapabilities)) {
// return false if MC capabilites failed
LOG.warn("{} : Unable to create MC capabilities", nodeId);
return false;
break;
}
- return postPortMapping(nodeId, nodeInfo, portMapList, null, null, mcCapabilitiesList);
+ return postPortMapping(nodeId, nodeInfo, portMapList, null, null, mcCapabilities);
}
public boolean updateMapping(String nodeId, Mapping oldMapping) {
return cpToDegreeList;
}
- private List<McCapabilities> getMcCapabilitiesList(Map<Integer, Degree> degrees, List<SharedRiskGroup> srgs,
- String nodeId) {
+ private Map<McCapabilitiesKey, McCapabilities> getMcCapabilities(Map<Integer, Degree> degrees,
+ List<SharedRiskGroup> srgs, String nodeId) {
LOG.info("{} : Getting the MC capabilities for degrees", nodeId);
- List<McCapabilities> mcCapabilitiesList = degrees.values().stream()
- .map(degree -> createMcCapDegreeObject(degree, nodeId)).collect(Collectors.toList());
+ Map<McCapabilitiesKey, McCapabilities> mcCapabilities = degrees.values().stream()
+ .map(degree -> createMcCapDegreeObject(degree, nodeId))
+ .collect(Collectors.toMap(McCapabilities::key, mcc -> mcc));
// Add the SRG mc-capabilities
LOG.info("{} : Getting the MC capabilities for SRGs", nodeId);
- mcCapabilitiesList.addAll(srgs.stream().map(srg -> createMcCapSrgObject(srg, nodeId))
- .collect(Collectors.toList()));
- return mcCapabilitiesList;
+ mcCapabilities.putAll(srgs.stream().map(srg -> createMcCapSrgObject(srg, nodeId))
+ .collect(Collectors.toMap(McCapabilities::key, mcCapabilities2 -> mcCapabilities2)));
+ return mcCapabilities;
}
private boolean postPortMapping(String nodeId, NodeInfo nodeInfo, List<Mapping> portMapList,
- List<CpToDegree> cp2DegreeList, List<SwitchingPoolLcp> splList, List<McCapabilities> mcCapList) {
+ List<CpToDegree> cp2DegreeList, List<SwitchingPoolLcp> splList,
+ Map<McCapabilitiesKey, McCapabilities> mcCapabilities) {
NodesBuilder nodesBldr = new NodesBuilder().withKey(new NodesKey(nodeId)).setNodeId(nodeId);
if (nodeInfo != null) {
nodesBldr.setNodeInfo(nodeInfo);
}
nodesBldr.setSwitchingPoolLcp(splMap);
}
- if (mcCapList != null) {
- nodesBldr.setMcCapabilities(mcCapList);
+ if (mcCapabilities != null) {
+ nodesBldr.setMcCapabilities(mcCapabilities);
}
Map<NodesKey,Nodes> nodesList = new HashMap<>();
Nodes nodes = nodesBldr.build();
return;
}
+ private boolean createMcCapabilitiesList(String nodeId, Info deviceInfo,
+ Map<McCapabilitiesKey, McCapabilities> mcCapabilitiesMap) {
- private boolean createMcCapabilitiesList(String nodeId, Info deviceInfo, List<McCapabilities> mcCapabilitiesList) {
Map<Integer, Degree> degrees = getDegreesMap(nodeId, deviceInfo);
List<SharedRiskGroup> srgs = getSrgs(nodeId, deviceInfo);
- mcCapabilitiesList.addAll(getMcCapabilitiesList(degrees, srgs, nodeId));
+ mcCapabilitiesMap.putAll(getMcCapabilities(degrees, srgs, nodeId));
return true;
}
public boolean createMappingData(String nodeId) {
LOG.info("{} : OpenROADM version 7.1.0 node - Creating Mapping Data", nodeId);
List<Mapping> portMapList = new ArrayList<>();
- List<McCapabilities> mcCapabilitiesList = new ArrayList<>();
+ Map<McCapabilitiesKey, McCapabilities> mcCapabilities = new HashMap<>();
InstanceIdentifier<Info> infoIID = InstanceIdentifier.create(OrgOpenroadmDevice.class).child(Info.class);
Optional<Info> deviceInfoOptional = this.deviceTransactionManager.getDataFromDevice(
nodeId, LogicalDatastoreType.OPERATIONAL, infoIID,
return false;
}
// Get MC capabilities
- if (!createMcCapabilitiesList(nodeId, deviceInfo, mcCapabilitiesList)) {
+ if (!createMcCapabilitiesList(nodeId, deviceInfo, mcCapabilities)) {
// return false if MC capabilites failed
LOG.warn("{} : Unable to create MC capabilities", nodeId);
return false;
break;
}
- return postPortMapping(nodeId, nodeInfo, portMapList, null, null, mcCapabilitiesList);
+ return postPortMapping(nodeId, nodeInfo, portMapList, null, null, mcCapabilities);
}
public boolean updateMapping(String nodeId, Mapping oldMapping) {
return cpToDegreeList;
}
- private List<McCapabilities> getMcCapabilitiesList(Map<Integer, Degree> degrees, List<SharedRiskGroup> srgs,
- Info deviceInfo, String nodeId) {
+ private Map<McCapabilitiesKey, McCapabilities> getMcCapabilities(Map<Integer, Degree> degrees,
+ List<SharedRiskGroup> srgs, Info deviceInfo, String nodeId) {
//TODO some divergences with 2.2.1 here
LOG.info("{} : Getting the MC capabilities for degrees", nodeId);
//Get all the mc-capability profiles from the device
Map<McCapabilityProfileKey, McCapabilityProfile> mcCapabilityProfiles =
getMcCapabilityProfiles(nodeId, deviceInfo);
// Add the DEG mc-capabilities
- List<McCapabilities> mcCapabilitiesList = createMcCapDegreeObject(degrees, mcCapabilityProfiles, nodeId);
+ Map<McCapabilitiesKey, McCapabilities> mcCapabilities = createMcCapDegreeObject(degrees, mcCapabilityProfiles,
+ nodeId);
// Add the SRG mc-capabilities
LOG.info("{} : Getting the MC capabilities for SRGs", nodeId);
- mcCapabilitiesList.addAll(createMcCapSrgObject(srgs, mcCapabilityProfiles, nodeId));
- return mcCapabilitiesList;
+ mcCapabilities.putAll(createMcCapSrgObject(srgs, mcCapabilityProfiles, nodeId));
+ return mcCapabilities;
}
private boolean postPortMapping(String nodeId, NodeInfo nodeInfo, List<Mapping> portMapList,
- List<CpToDegree> cp2DegreeList, List<SwitchingPoolLcp> splList, List<McCapabilities> mcCapList) {
+ List<CpToDegree> cp2DegreeList, List<SwitchingPoolLcp> splList,
+ Map<McCapabilitiesKey, McCapabilities> mcCapMap) {
NodesBuilder nodesBldr = new NodesBuilder().withKey(new NodesKey(nodeId)).setNodeId(nodeId);
if (nodeInfo != null) {
nodesBldr.setNodeInfo(nodeInfo);
}
nodesBldr.setSwitchingPoolLcp(splMap);
}
- if (mcCapList != null) {
- nodesBldr.setMcCapabilities(mcCapList);
+ if (mcCapMap != null) {
+ nodesBldr.setMcCapabilities(mcCapMap);
}
Map<NodesKey,Nodes> nodesList = new HashMap<>();
Nodes nodes = nodesBldr.build();
.setInterfaceName(interfaceList.get(circuitPackName)).build();
}
- private List<McCapabilities> createMcCapDegreeObject(Map<Integer, Degree> degrees,
+ private Map<McCapabilitiesKey, McCapabilities> createMcCapDegreeObject(Map<Integer, Degree> degrees,
Map<McCapabilityProfileKey, McCapabilityProfile> mcCapabilityProfileMap, String nodeId) {
//TODO some divergences here with 2.2.1
- List<McCapabilities> mcCapabilitiesList = new ArrayList<>();
+ Map<McCapabilitiesKey, McCapabilities> mcCapabilitiesMap = new HashMap<>();
for (Degree degree : degrees.values()) {
if ((degree.getMcCapabilityProfileName() == null) || (degree.getMcCapabilityProfileName().isEmpty())) {
mcCapabilitiesBuilder
.setCenterFreqGranularity(FrequencyGHz.getDefaultInstance("50"))
.setSlotWidthGranularity(FrequencyGHz.getDefaultInstance("50"));
- mcCapabilitiesList.add(mcCapabilitiesBuilder.build());
+ mcCapabilitiesMap.put(mcCapabilitiesBuilder.key(), mcCapabilitiesBuilder.build());
continue;
}
mcCapabilitiesBuilder
.setCenterFreqGranularity(mcCapabilityProfile.getCenterFreqGranularity())
.setSlotWidthGranularity(mcCapabilityProfile.getSlotWidthGranularity());
- mcCapabilitiesList.add(mcCapabilitiesBuilder.build());
+ mcCapabilitiesMap.put(mcCapabilitiesBuilder.key(), mcCapabilitiesBuilder.build());
}
}
- return mcCapabilitiesList;
+ return mcCapabilitiesMap;
}
- private List<McCapabilities> createMcCapSrgObject(List<SharedRiskGroup> srgs,
+ private Map<McCapabilitiesKey, McCapabilities> createMcCapSrgObject(List<SharedRiskGroup> srgs,
Map<McCapabilityProfileKey, McCapabilityProfile> mcCapabilityProfileMap, String nodeId) {
- List<McCapabilities> mcCapabilitiesList = new ArrayList<>();
+ Map<McCapabilitiesKey, McCapabilities> mcCapabilitiesMap = new HashMap<>();
for (SharedRiskGroup srg : srgs) {
if ((srg.getMcCapabilityProfileName() == null) || (srg.getMcCapabilityProfileName().isEmpty())) {
mcCapabilitiesBuilder
.setCenterFreqGranularity(FrequencyGHz.getDefaultInstance("50"))
.setSlotWidthGranularity(FrequencyGHz.getDefaultInstance("50"));
- mcCapabilitiesList.add(mcCapabilitiesBuilder.build());
+ mcCapabilitiesMap.put(mcCapabilitiesBuilder.key(), mcCapabilitiesBuilder.build());
continue;
}
mcCapabilitiesBuilder
.setCenterFreqGranularity(mcCapabilityProfile.getCenterFreqGranularity())
.setSlotWidthGranularity(mcCapabilityProfile.getSlotWidthGranularity());
- mcCapabilitiesList.add(mcCapabilitiesBuilder.build());
+ mcCapabilitiesMap.put(mcCapabilitiesBuilder.key(), mcCapabilitiesBuilder.build());
}
}
- return mcCapabilitiesList;
+ return mcCapabilitiesMap;
}
private Mapping createMappingObject(String nodeId, Ports port, String circuitPackName,
return;
}
+ private boolean createMcCapabilitiesList(String nodeId, Info deviceInfo,
+ Map<McCapabilitiesKey, McCapabilities> mcCapabilitiesMap) {
- private boolean createMcCapabilitiesList(String nodeId, Info deviceInfo, List<McCapabilities> mcCapabilitiesList) {
Map<Integer, Degree> degrees = getDegreesMap(nodeId, deviceInfo);
List<SharedRiskGroup> srgs = getSrgs(nodeId, deviceInfo);
- mcCapabilitiesList.addAll(getMcCapabilitiesList(degrees, srgs, deviceInfo, nodeId));
+ mcCapabilitiesMap.putAll(getMcCapabilities(degrees, srgs, deviceInfo, nodeId));
return true;
}