AbstractActivity activity = (AbstractActivity) inProcess.getNode(itDesc.getKey()).getBehaviour(); activity.setIterationDescriptors(itDesc.getValue());
c.exitNodes.add(sourceNode.getName()); SplitType splitType = ((AbstractActivity)sourceNode.getBehaviour()).getSplitType();
private static JoinRunTime getJoinRunTime(XpdlInstance instance, NodeImpl node) { JoinType joinType = ((AbstractActivity) node.getBehaviour()).getJoinType(); JoinRunTime joinRunTime = instance.getJoinRunTime(node.getName()); if (joinRunTime == null) { int joinIncomingTransitionNbRequired = 1; if (joinType.equals(JoinType.AND)) { joinIncomingTransitionNbRequired = node.getIncomingTransitions().size(); } Map<String, JoinRunTime.WaitingTransition> ins = new HashMap<String, JoinRunTime.WaitingTransition>(); for (Transition t : node.getIncomingTransitions()) { String name = t.getSource().getName(); ins.put(name, new JoinRunTime.WaitingTransition(name, null)); } joinRunTime = new JoinRunTime(node.getName(), ins, joinIncomingTransitionNbRequired); instance.pushJoinRuntime(joinRunTime); } return joinRunTime; }
joinType = ((AbstractActivity)sourceNode.getBehaviour()).getJoinType(); if (JoinType.XOR.equals(joinType)) { hasEntryPointXor = true;
public void perform(ExecutionImpl execution) { if (execution.getName()!=null) { log.debug(execution.toString()+" signals "+node); } else { log.debug("signalling "+node+", signal="+signalName); } ExternalActivity externalActivity = (ExternalActivity) node.getBehaviour(); try { execution.setPropagation(Propagation.UNSPECIFIED); externalActivity.signal(execution, signalName, parameters); } catch (RuntimeException e) { throw e; } catch (Exception e) { throw new PvmException("couldn't signal "+node+": "+e.getMessage(), e); } if (execution.getPropagation() == Propagation.UNSPECIFIED) { execution.proceed(); } }
public void perform(ExecutionImpl execution) { NodeImpl node = execution.getNode(); if (log.isTraceEnabled()) { if (execution.getName()!=null) { log.trace(execution.toString()+" executes "+node); } else { log.trace("executing "+node); } } Activity activity = node.getBehaviour(); try { execution.setPropagation(Propagation.UNSPECIFIED); activity.execute(execution); } catch (Exception e) { execution.handleException(node, null, null, e, execution.toString()+" couldn't execute "+activity+" for node "+node); } if (execution.getPropagation()==Propagation.UNSPECIFIED) { execution.proceed(); } }
+ "cannot find a node with id '" + iteration.getTo() + "'"); AbstractActivity destNodeActivity = (AbstractActivity) destNode.getBehaviour(); if (!destNodeActivity.getJoinType().equals(org.ow2.bonita.definition.activity.AbstractActivity.JoinType.XOR)) { throw new DeploymentRuntimeException("iteration points to a node with a join "