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() + ":"); } } }
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; }
@Override public String getCurrentNodeName() { WorkflowProcessInstance process = (WorkflowProcessInstance) ksession.getProcessInstance(this.processInstanceId); long nodeId = process.getNodeInstances().iterator().next().getNodeId(); return ((WorkflowProcess) this.kbase.getProcess(this.processId)).getNode(nodeId).getName(); }
public String getCurrentNodeName() { StatefulKnowledgeSession ksession = this.getKnowledgeSession(); try{ WorkflowProcessInstance process = (WorkflowProcessInstance) ksession.getProcessInstance(this.processInstanceId); long nodeId = process.getNodeInstances().iterator().next().getNodeId(); return ((WorkflowProcess) this.kbase.getProcess(this.processId)).getNode(nodeId).getName(); } finally{ ksession.dispose(); } }