public Node[] internalGetNodes() { return getNodes(); }
while (nodeContainer instanceof CompositeNode) { CompositeNode parent = (CompositeNode) nodeContainer; Integer parentX = (Integer) parent.getMetaData().get("x"); if (parentX != null) { parentOffsetX += parentX; Integer parentY = (Integer) parent.getMetaData().get("y"); if (parentY != null) { parentOffsetY += (Integer) parent.getMetaData().get("y"); nodeContainer = parent.getNodeContainer(); " </bpmndi:BPMNShape>" + EOL); if (node instanceof CompositeNode) { visitNodesDi(((CompositeNode) node).getNodes(), xmlDump);
public void linkIncomingConnections(String inType, long inNodeId, String inNodeType) { linkIncomingConnections(inType, new NodeAndType(nodeContainer, inNodeId, inNodeType)); }
public String getUniqueId() { String result = id + ""; NodeContainer nodeContainer = getNodeContainer(); while (nodeContainer instanceof CompositeNode) { CompositeNode composite = (CompositeNode) nodeContainer; result = composite.getId() + ":" + result; nodeContainer = composite.getNodeContainer(); } return result; }
.getMetaData(ProcessHandler.CONNECTIONS); if (connections == null) { connections = new ArrayList<SequenceFlow>(); compositeNode.setMetaData(ProcessHandler.CONNECTIONS, connections);
} else if (node instanceof CompositeNode) { final CompositeNode compositeNode = (CompositeNode) node; for (Map.Entry<String, NodeAndType> inType : compositeNode.getLinkedIncomingNodes().entrySet()) { if (compositeNode.getIncomingConnections(inType.getKey()).size() == 0 && !acceptsNoIncomingConnections(node)) { addErrorMessage(process, node, for (Map.Entry<String, NodeAndType> outType : compositeNode.getLinkedOutgoingNodes().entrySet()) { if (compositeNode.getOutgoingConnections(outType.getKey()).size() == 0) { addErrorMessage(process, node, if (compositeNode.getLinkedIncomingNodes().values().size() < 1) { boolean foundStartNode = false; for (Node internalNode : compositeNode.getNodes()) { if (internalNode instanceof StartNode) { foundStartNode = true; if (compositeNode.getIncomingConnections().size() > 0) { addErrorMessage(process, node, if (compositeNode.getOutgoingConnections().size() > 0) { addErrorMessage(process, node, Node[] eventSubProcessNodes = compositeNode.getNodes(); int startEventCount = 0;
CompositeNode compositeNode = new CompositeNode(); compositeNode.setName("CompositeNode"); compositeNode.setId(2); process.addNode(compositeNode); new ConnectionImpl( milestoneNode.setName("Milestone"); milestoneNode.setConstraint("eval(false)"); compositeNode.addNode(milestoneNode); compositeNode.linkIncomingConnections(Node.CONNECTION_DEFAULT_TYPE, milestoneNode.getId(), Node.CONNECTION_DEFAULT_TYPE); eventNode.addEventFilter(eventFilter); eventNode.setVariableName("event"); compositeNode.addNode(eventNode); compositeNode.addNode(actionNode); new ConnectionImpl( eventNode, Node.CONNECTION_DEFAULT_TYPE, join.setName("XOR Join"); join.setType(Join.TYPE_XOR); compositeNode.addNode(join); new ConnectionImpl( milestoneNode, Node.CONNECTION_DEFAULT_TYPE, join, Node.CONNECTION_DEFAULT_TYPE ); compositeNode.linkOutgoingConnections(join.getId(), Node.CONNECTION_DEFAULT_TYPE, Node.CONNECTION_DEFAULT_TYPE);
return; CompositeNode.NodeAndType nodeAndType = getCompositeNode().internalGetLinkedIncomingNode(type); if (nodeAndType != null) { List<Connection> connections = nodeAndType.getNode().getIncomingConnections(nodeAndType.getType()); for (Node node: getCompositeNode().getNodes()) { if (node instanceof StartNode) { StartNode startNode = (StartNode) node;
public void addIncomingConnection(String type, Connection connection) { if (connection.getFrom().getNodeContainer() == this) { linkOutgoingConnections(connection.getFrom().getId(), connection.getFromType(), org.jbpm.workflow.core.Node.CONNECTION_DEFAULT_TYPE); } else { super.addIncomingConnection(type, connection); CompositeNode.NodeAndType inNode = internalGetLinkedIncomingNode(type); if (inNode != null) { CompositeNodeStart start = new CompositeNodeStart(this, connection.getFrom(), type); internalAddNode(start); NodeImpl node = (NodeImpl) inNode.getNode(); if (node != null) { new ConnectionImpl( start, org.jbpm.workflow.core.Node.CONNECTION_DEFAULT_TYPE, inNode.getNode(), inNode.getType()); } } } }
public void addOutgoingConnection(String type, Connection connection) { if (connection.getTo().getNodeContainer() == this) { linkIncomingConnections( org.jbpm.workflow.core.Node.CONNECTION_DEFAULT_TYPE, connection.getTo().getId(), connection.getToType()); } else { super.addOutgoingConnection(type, connection); CompositeNode.NodeAndType outNode = internalGetLinkedOutgoingNode(type); if (outNode != null) { CompositeNodeEnd end = new CompositeNodeEnd(this, connection.getTo(), type); internalAddNode(end); NodeImpl node = (NodeImpl) outNode.getNode(); if (node != null) { new ConnectionImpl( outNode.getNode(), outNode.getType(), end, org.jbpm.workflow.core.Node.CONNECTION_DEFAULT_TYPE); } } } }
public void linkOutgoingConnections(long outNodeId, String outNodeType, String outType) { linkOutgoingConnections(new NodeAndType(this, outNodeId, outNodeType), outType); }
writeMetaData(compositeNode, xmlDump); for (String eventType: compositeNode.getActionTypes()) { writeActions(eventType, compositeNode.getActions(eventType), xmlDump); writeTimers(compositeNode.getTimers(), xmlDump); if (compositeNode instanceof CompositeContextNode) { VariableScope variableScope = (VariableScope)
String compensationHandlerId = (String) ((CompositeNode) subProcess).getMetaData("UniqueId"); addCompensationScope(process, eventSubProcessNode, parentSubProcess, compensationHandlerId);
final Node[] nodes; if (container instanceof CompositeNode) { nodes = ((CompositeNode) container).internalGetNodes(); } else { nodes = container.getNodes(); for (CompositeNode.NodeAndType nodeAndTypes : ((CompositeNode) container).getLinkedIncomingNodes().values()) { processNode(nodeAndTypes.getNode(), processNodes);
public Node getInNode() { if (inNode == null) { inNode = ((NodeContainer) parentNode.getNodeContainer()).internalGetNode(inNodeId); } return inNode; }
protected Map<String, CompositeNode.NodeAndType> getOutPorts(CompositeNode compositeNode) { return compositeNode.getLinkedOutgoingNodes(); }
protected void internalAddNode(Node node) { addNode(node); }
protected Map<String, CompositeNode.NodeAndType> getInPorts(CompositeNode compositeNode) { return compositeNode.getLinkedIncomingNodes(); }
} else if (node instanceof CompositeNode) { final CompositeNode compositeNode = (CompositeNode) node; for (Map.Entry<String, NodeAndType> inType : compositeNode.getLinkedIncomingNodes().entrySet()) { if (compositeNode.getIncomingConnections(inType.getKey()).size() == 0 && !acceptsNoIncomingConnections(node)) { addErrorMessage(process, node, for (Map.Entry<String, NodeAndType> outType : compositeNode.getLinkedOutgoingNodes().entrySet()) { if (compositeNode.getOutgoingConnections(outType.getKey()).size() == 0) { addErrorMessage(process, node, if (compositeNode.getLinkedIncomingNodes().values().size() < 1) { boolean foundStartNode = false; for (Node internalNode : compositeNode.getNodes()) { if (internalNode instanceof StartNode) { foundStartNode = true; if (compositeNode.getIncomingConnections().size() > 0) { addErrorMessage(process, node, if (compositeNode.getOutgoingConnections().size() > 0) { addErrorMessage(process, node, Node[] eventSubProcessNodes = compositeNode.getNodes(); int startEventCount = 0;
CompositeNode subprocess = (CompositeNode) nodeContainer; List<IntermediateLink> links = (List<IntermediateLink>) subprocess .getMetaData().get(ProcessHandler.LINKS); if (null == links) { links = new ArrayList<IntermediateLink>(); subprocess.setMetaData(ProcessHandler.LINKS, links);