@Override public NoneStartEventActivityBehavior createNoneStartEventActivityBehavior(StartEvent startEvent) { return wrappedActivityBehaviorFactory.createNoneStartEventActivityBehavior(startEvent); }
public NoneStartEventActivityBehavior createNoneStartEventActivityBehavior(StartEvent startEvent) { return _source.createNoneStartEventActivityBehavior(startEvent); }
@Override protected void executeParse(BpmnParse bpmnParse, StartEvent element) { if (element.getSubProcess() != null && element.getSubProcess() instanceof EventSubProcess) { if (CollectionUtil.isNotEmpty(element.getEventDefinitions())) { EventDefinition eventDefinition = element.getEventDefinitions().get(0); if (eventDefinition instanceof MessageEventDefinition) { MessageEventDefinition messageDefinition = (MessageEventDefinition) eventDefinition; BpmnModel bpmnModel = bpmnParse.getBpmnModel(); String messageRef = messageDefinition.getMessageRef(); if (bpmnModel.containsMessageId(messageRef)) { Message message = bpmnModel.getMessage(messageRef); messageDefinition.setMessageRef(message.getName()); messageDefinition.setExtensionElements(message.getExtensionElements()); } element.setBehavior(bpmnParse.getActivityBehaviorFactory().createEventSubProcessMessageStartEventActivityBehavior(element, messageDefinition)); } else if (eventDefinition instanceof ErrorEventDefinition) { element.setBehavior(bpmnParse.getActivityBehaviorFactory().createEventSubProcessErrorStartEventActivityBehavior(element)); } } } else if (CollectionUtil.isEmpty(element.getEventDefinitions())) { element.setBehavior(bpmnParse.getActivityBehaviorFactory().createNoneStartEventActivityBehavior(element)); } if (element.getSubProcess() == null && (CollectionUtil.isEmpty(element.getEventDefinitions()) || bpmnParse.getCurrentProcess().getInitialFlowElement() == null)) { bpmnParse.getCurrentProcess().setInitialFlowElement(element); } }
@Override public NoneStartEventActivityBehavior createNoneStartEventActivityBehavior(StartEvent startEvent) { return wrappedActivityBehaviorFactory.createNoneStartEventActivityBehavior(startEvent); }
protected void createProcessDefinitionStartEvent(BpmnParse bpmnParse, ActivityImpl startEventActivity, StartEvent startEvent, ProcessDefinitionEntity processDefinition) { if (StringUtils.isNotEmpty(startEvent.getInitiator())) { processDefinition.setProperty(PROPERTYNAME_INITIATOR_VARIABLE_NAME, startEvent.getInitiator()); } // all start events share the same behavior: startEventActivity.setActivityBehavior(bpmnParse.getActivityBehaviorFactory().createNoneStartEventActivityBehavior(startEvent)); if (!startEvent.getEventDefinitions().isEmpty()) { EventDefinition eventDefinition = startEvent.getEventDefinitions().get(0); if (eventDefinition instanceof TimerEventDefinition || eventDefinition instanceof MessageEventDefinition || eventDefinition instanceof SignalEventDefinition) { bpmnParse.getBpmnParserHandlers().parseElement(bpmnParse, eventDefinition); } else { LOGGER.warn("Unsupported event definition on start event {}", eventDefinition); } } }
protected void createProcessDefinitionStartEvent(BpmnParse bpmnParse, ActivityImpl startEventActivity, StartEvent startEvent, ProcessDefinitionEntity processDefinition) { if (StringUtils.isNotEmpty(startEvent.getInitiator())) { processDefinition.setProperty(PROPERTYNAME_INITIATOR_VARIABLE_NAME, startEvent.getInitiator()); } // all start events share the same behavior: startEventActivity.setActivityBehavior(bpmnParse.getActivityBehaviorFactory().createNoneStartEventActivityBehavior(startEvent)); if (startEvent.getEventDefinitions().size() > 0) { EventDefinition eventDefinition = startEvent.getEventDefinitions().get(0); if (eventDefinition instanceof TimerEventDefinition || eventDefinition instanceof MessageEventDefinition) { bpmnParse.getBpmnParserHandlers().parseElement(bpmnParse, eventDefinition); } else { bpmnParse.getBpmnModel().addProblem("Unsupported event definition on start event", eventDefinition); } } }
protected void createScopeStartEvent(BpmnParse bpmnParse, ActivityImpl startEventActivity, StartEvent startEvent) { ScopeImpl scope = bpmnParse.getCurrentScope(); Object triggeredByEvent = scope.getProperty("triggeredByEvent"); boolean isTriggeredByEvent = triggeredByEvent != null && ((Boolean) triggeredByEvent); if (isTriggeredByEvent) { // event subprocess // all start events of an event subprocess share common behavior EventSubProcessStartEventActivityBehavior activityBehavior = bpmnParse.getActivityBehaviorFactory().createEventSubProcessStartEventActivityBehavior(startEvent, startEventActivity.getId()); startEventActivity.setActivityBehavior(activityBehavior); if (!startEvent.getEventDefinitions().isEmpty()) { EventDefinition eventDefinition = startEvent.getEventDefinitions().get(0); if (eventDefinition instanceof org.flowable.bpmn.model.ErrorEventDefinition || eventDefinition instanceof MessageEventDefinition || eventDefinition instanceof SignalEventDefinition) { bpmnParse.getBpmnParserHandlers().parseElement(bpmnParse, eventDefinition); } else { LOGGER.warn("start event of event subprocess must be of type 'error', 'message' or 'signal' for start event {}", startEvent.getId()); } } } else { // "regular" subprocess if (!startEvent.getEventDefinitions().isEmpty()) { LOGGER.warn("event definitions only allowed on start event if subprocess is an event subprocess {}", bpmnParse.getCurrentSubProcess().getId()); } if (scope.getProperty(PROPERTYNAME_INITIAL) == null) { scope.setProperty(PROPERTYNAME_INITIAL, startEventActivity); startEventActivity.setActivityBehavior(bpmnParse.getActivityBehaviorFactory().createNoneStartEventActivityBehavior(startEvent)); } else { LOGGER.warn("multiple start events not supported for subprocess {}", bpmnParse.getCurrentSubProcess().getId()); } } }
startEventActivity.setActivityBehavior(bpmnParse.getActivityBehaviorFactory().createNoneStartEventActivityBehavior(startEvent)); } else { bpmnParse.getBpmnModel().addProblem("multiple start events not supported for subprocess", bpmnParse.getCurrentSubProcess());
@Override protected void executeParse(BpmnParse bpmnParse, StartEvent element) { if (element.getSubProcess() != null && element.getSubProcess() instanceof EventSubProcess) { if (CollectionUtil.isNotEmpty(element.getEventDefinitions())) { EventDefinition eventDefinition = element.getEventDefinitions().get(0); if (eventDefinition instanceof MessageEventDefinition) { MessageEventDefinition messageDefinition = (MessageEventDefinition) eventDefinition; BpmnModel bpmnModel = bpmnParse.getBpmnModel(); String messageRef = messageDefinition.getMessageRef(); if (bpmnModel.containsMessageId(messageRef)) { Message message = bpmnModel.getMessage(messageRef); messageDefinition.setMessageRef(message.getName()); messageDefinition.setExtensionElements(message.getExtensionElements()); } element.setBehavior(bpmnParse.getActivityBehaviorFactory().createEventSubProcessMessageStartEventActivityBehavior(element, messageDefinition)); } else if (eventDefinition instanceof ErrorEventDefinition) { element.setBehavior(bpmnParse.getActivityBehaviorFactory().createEventSubProcessErrorStartEventActivityBehavior(element)); } } } else if (CollectionUtil.isEmpty(element.getEventDefinitions())) { element.setBehavior(bpmnParse.getActivityBehaviorFactory().createNoneStartEventActivityBehavior(element)); } if (element.getSubProcess() == null && (CollectionUtil.isEmpty(element.getEventDefinitions()) || bpmnParse.getCurrentProcess().getInitialFlowElement() == null)) { bpmnParse.getCurrentProcess().setInitialFlowElement(element); } }