/** * * @param node * @return the node descriptor which describes the behavior of the node in this iteration. */ public NodeInIterationDescriptor getNodeInIterationDescriptor(final Node node) { for (final NodeInIterationDescriptor nodeDesc : this.cycleNodes) { if (nodeDesc.getNode().equals(node)) { return nodeDesc; } } return null; } }
final NodeImpl nodeToAbort = nodeToAbortDescr.getNode(); if (!nodeToAbort.equals(currentNode)) { final List<XpdlExecution> execToAbortList = xpdlExecution.getXpdlInstance().getExecOnNode(nodeToAbort.getName());
private void createNewIteration(final XpdlExecution execution) { if (this.iterationDescriptors != null && !this.iterationDescriptors.isEmpty()) { final String iterationUUID = Misc.getUniqueId("it"); execution.setIterationId(iterationUUID); final XpdlInstance instance = execution.getXpdlInstance(); for (final IterationDescriptor it : this.iterationDescriptors) { final NodeInIterationDescriptor nodeDescr = it.getNodeInIterationDescriptor(execution.getNode()); if (nodeDescr != null && nodeDescr.isEntryNode()) { for (final NodeInIterationDescriptor joinNodeDescr : it.getCycleNodes()) { final NodeImpl joinNode = joinNodeDescr.getNode(); for (final Transition tr : joinNode.getIncomingTransitions()) { if (it.containsNode(tr.getSource())) { instance.setTransitionState(tr, TransitionState.READY); } } if (AbstractActivity.isJoinOk(instance, joinNode)) { throw new BonitaRuntimeException("Error in iteration: join " + joinNode.getName() + " has not been reinitialized"); } } } } } }