- private static void printNodesInfo(Map<NodeId, PceNode> allpcenodes) {
- Iterator<Map.Entry<NodeId, PceNode>> nodes = allpcenodes.entrySet().iterator();
- while (nodes.hasNext()) {
- PceNode pcenode = nodes.next().getValue();
- List<PceLink> links = pcenode.getOutgoingLinks();
- LOG.info("In printNodes in node {} : outgoing links {} ", pcenode.getNodeId().getValue(), links);
+ private static void printNodesInfo(Map<NodeId, PceNode> allPceNodes) {
+ allPceNodes.forEach(((nodeId, pceNode) -> {
+ LOG.info("In printNodes in node {} : outgoing links {} ", pceNode.getNodeId().getValue(),
+ pceNode.getOutgoingLinks());
+ }));
+ }
+
+ /**
+ * Get mc capability slot width granularity for device.
+ * @param deviceNodeId String
+ * @param nodeId NodeId
+ * @return slot width granularity
+ */
+ private BigDecimal getSlotWidthGranularity(String deviceNodeId, NodeId nodeId) {
+ // nodeId: openroadm-topology level node
+ // deviceNodeId: openroadm-network level node
+ List<McCapabilities> mcCapabilities = mappingUtils.getMcCapabilitiesForNode(deviceNodeId);
+ String[] params = nodeId.getValue().split("-");
+ // DEGX or SRGX
+ String rdmModuleName = params[params.length - 1];
+ for (McCapabilities mcCapabitility : mcCapabilities) {
+ if (mcCapabitility.getMcNodeName().contains(rdmModuleName)
+ && mcCapabitility.getSlotWidthGranularity() != null) {
+ return mcCapabitility.getSlotWidthGranularity().getValue();
+ }