private String createNodeId(NodeInstance nodeInstance) { Node node = nodeInstance.getNode(); if (node == null) { return ""; } String nodeId = "" + node.getId(); NodeContainer nodeContainer = node.getNodeContainer(); while (nodeContainer != null) { if (nodeContainer instanceof Node) { node = (Node) nodeContainer; nodeContainer = node.getNodeContainer(); // TODO fix this filter out hidden compositeNode inside ForEach node if (!(nodeContainer.getClass().getName().endsWith("ForEachNode"))) { nodeId = node.getId() + ":" + nodeId; } } else { break; } } return nodeId; }
private void addNodesInfo(List<DiagramNodeInfo> nodeInfos, Node[] nodes, String prefix) { for (Node node: nodes) { nodeInfos.add(new DiagramNodeInfo( prefix + node.getId(), (Integer) node.getMetaData().get("x"), (Integer) node.getMetaData().get("y"), (Integer) node.getMetaData().get("width"), (Integer) node.getMetaData().get("height"))); if (node instanceof NodeContainer) { addNodesInfo(nodeInfos, ((NodeContainer) node).getNodes(), prefix + node.getId() + ":"); } } }