private void checkExceptionsTransitions(final ProcessDefinitionImpl process) { for (final ActivityDefinition activity : process.getActivities()) { final List<BoundaryEvent> boundaryEvents = activity.getBoundaryEvents(); for (final BoundaryEvent boundaryEvent : boundaryEvents) { if (boundaryEvent.getTransition() == null) { problems.add(new Problem("The boundary event '" + boundaryEvent.getName() + "' on activity '" + activity.getName() + "' must have an exception transition", Problem.SEVERITY_ERROR)); } } } }
public BoundaryEventImpl(final BoundaryEvent src) { super(src); exceptionTransition = new TransitionDefinitionImpl(src.getTransition()); }
public void addBoundaryEvent(final BoundaryEvent event) { if (boundaryEvents == null) { boundaryEvents = new HashMap<String, BoundaryEvent>(); } boundaryEvents.put(event.getName(), event); }
public BoundaryEventImpl(final BoundaryEvent src) { super(src); exceptionTransition = new TransitionDefinitionImpl(src.getTransition()); }
public void addBoundaryEvent(final BoundaryEvent event) { if (boundaryEvents == null) { boundaryEvents = new HashMap<String, BoundaryEvent>(); } boundaryEvents.put(event.getName(), event); }
private void checkExceptionsTransitions(final ProcessDefinitionImpl process) { for (final ActivityDefinition activity : process.getActivities()) { final List<BoundaryEvent> boundaryEvents = activity.getBoundaryEvents(); for (final BoundaryEvent boundaryEvent : boundaryEvents) { if (boundaryEvent.getTransition() == null) { problems.add(new Problem("The boundary event '" + boundaryEvent.getName() + "' on activity '" + activity.getName() + "' must have an exception transition", Problem.SEVERITY_ERROR)); } } } }
if (boundaryEvent.getTransition() == null) { problems.add(new Problem("The boundary event " + boundaryEvent + " must have an outgoing transition in activity " + activityName + ".", Problem.SEVERITY_ERROR));
event = new SignalBoundaryEventImpl(signal); boundaryEvents.put(boundaryEvent.getName(), event);
if (boundaryEvent.getTransition() == null) { problems.add(new Problem("The boundary event " + boundaryEvent + " must have an outgoing transition in activity " + activityName + ".", Problem.SEVERITY_ERROR));
event = new SignalBoundaryEventImpl(signal); boundaryEvents.put(boundaryEvent.getName(), event);
private Node createProcess(final XmlBuilder xmlDefBuilder, final Node parentNode, final ProcessDefinition processDefinition) throws Exception { final Map<String, Serializable> processElementAttributes = new HashMap<String, Serializable>(); processElementAttributes.put(XmlDef.NAME, processDefinition.getName()); processElementAttributes.put(XmlDef.VERSION, processDefinition.getVersion()); final Node processNode = xmlDefBuilder.createNode(parentNode, XmlDef.PROCESS, processElementAttributes); xmlDefBuilder.createNode(processNode, XmlDef.LABEL, processDefinition.getLabel()); xmlDefBuilder.createNode(processNode, XmlDef.DESCRIPTION, processDefinition.getDescription()); xmlDefBuilder.createNode(processNode, XmlDef.TYPE, processDefinition.getType()); createParticipants(xmlDefBuilder, processNode, processDefinition.getParticipants()); createDataFields(xmlDefBuilder, processNode, processDefinition.getDataFields()); createAttachments(xmlDefBuilder, processNode, processDefinition.getAttachments()); createActivities(xmlDefBuilder, processNode, processDefinition.getActivities()); final Set<TransitionDefinition> transitions = new HashSet<TransitionDefinition>(); for (final ActivityDefinition activity : processDefinition.getActivities()) { final List<BoundaryEvent> events = activity.getBoundaryEvents(); for (final BoundaryEvent boundaryEvent : events) { transitions.add(boundaryEvent.getTransition()); } } transitions.addAll(processDefinition.getTransitions()); createTransitions(xmlDefBuilder, processNode, transitions); createConnectors(xmlDefBuilder, processNode, processDefinition.getConnectors()); createCategories(xmlDefBuilder, processNode, processDefinition.getCategoryNames()); createEventSubProcess(xmlDefBuilder, processNode, processDefinition.getEventSubProcesses()); return processNode; }
private Node createProcess(final XmlBuilder xmlDefBuilder, final Node parentNode, final ProcessDefinition processDefinition) throws Exception { final Map<String, Serializable> processElementAttributes = new HashMap<String, Serializable>(); processElementAttributes.put(XmlDef.NAME, processDefinition.getName()); processElementAttributes.put(XmlDef.VERSION, processDefinition.getVersion()); final Node processNode = xmlDefBuilder.createNode(parentNode, XmlDef.PROCESS, processElementAttributes); xmlDefBuilder.createNode(processNode, XmlDef.LABEL, processDefinition.getLabel()); xmlDefBuilder.createNode(processNode, XmlDef.DESCRIPTION, processDefinition.getDescription()); xmlDefBuilder.createNode(processNode, XmlDef.TYPE, processDefinition.getType()); createParticipants(xmlDefBuilder, processNode, processDefinition.getParticipants()); createDataFields(xmlDefBuilder, processNode, processDefinition.getDataFields()); createAttachments(xmlDefBuilder, processNode, processDefinition.getAttachments()); createActivities(xmlDefBuilder, processNode, processDefinition.getActivities()); final Set<TransitionDefinition> transitions = new HashSet<TransitionDefinition>(); for (final ActivityDefinition activity : processDefinition.getActivities()) { final List<BoundaryEvent> events = activity.getBoundaryEvents(); for (final BoundaryEvent boundaryEvent : events) { transitions.add(boundaryEvent.getTransition()); } } transitions.addAll(processDefinition.getTransitions()); createTransitions(xmlDefBuilder, processNode, transitions); createConnectors(xmlDefBuilder, processNode, processDefinition.getConnectors()); createCategories(xmlDefBuilder, processNode, processDefinition.getCategoryNames()); createEventSubProcess(xmlDefBuilder, processNode, processDefinition.getEventSubProcesses()); return processNode; }
final TransitionDefinition exceptionTransition = event.getTransition(); internalExecution.take(exceptionTransition); } else if (AbstractActivity.BODY_SKIPPED.equals(signal)) {
public static IterationProcess getIterationProcess(final ProcessDefinition process) { final IterationProcess iterationProcess = new IterationProcess(); for (final ActivityDefinition activityDefinition : process.getActivities()) { final String joinType = activityDefinition.getJoinType().toString(); final String splitType = activityDefinition.getSplitType().toString(); final IterationNode node = new IterationNode(activityDefinition.getName(), org.ow2.bonita.iteration.IterationNode.JoinType.valueOf(joinType), org.ow2.bonita.iteration.IterationNode.SplitType.valueOf(splitType)); iterationProcess.addNode(node); } for (final ActivityDefinition activityDefinition : process.getActivities()) { final IterationNode node = iterationProcess.getNode(activityDefinition.getName()); for (final TransitionDefinition transition : activityDefinition.getIncomingTransitions()) { final IterationNode source = iterationProcess.getNode(transition.getFrom()); node.addIncomingTransition(new IterationTransition(source, node)); } for (final TransitionDefinition transition : activityDefinition.getOutgoingTransitions()) { final IterationNode destination = iterationProcess.getNode(transition.getTo()); node.addOutgoingTransition(new IterationTransition(node, destination)); } for (final BoundaryEvent boundaryEvent : activityDefinition.getBoundaryEvents()) { final IterationNode destination = iterationProcess.getNode(boundaryEvent.getTransition().getTo()); node.addOutgoingTransition(new IterationTransition(node, destination)); } } return iterationProcess; }