Class BpmnParse
java.lang.Object
org.xml.sax.helpers.DefaultHandler
org.camunda.bpm.engine.impl.util.xml.Parse
org.camunda.bpm.engine.impl.bpmn.parser.BpmnParse
- All Implemented Interfaces:
ContentHandler,DTDHandler,EntityResolver,ErrorHandler
Specific parsing of one BPMN 2.0 XML file, created by the
BpmnParser.
Instances of this class should not be reused and are also not threadsafe.- Author:
- Tom Baeyens, Bernd Ruecker, Joram Barrez, Christian Stettler, Frederik Heremans, Falko Menge, Esteban Robles, Daniel Meyer, Saeid Mirzaei, Nico Rehwaldt, Ronny Bräunlich, Christopher Zell, Deivarayan Azhagappan, Ingo Richtsmeier
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final Stringprotected static final Stringprotected static final Stringstatic final Namespacestatic final Namespacestatic final Namespacestatic final Stringprotected static final Stringprotected static final Stringprotected static final Stringprotected static final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringprotected DeploymentEntityThe deployment to which the parsed process definitions will be added.protected static final StringA list of all element IDs.static final StringMapping of found errors in BPMN 2.0 filestatic final Stringprotected Map<String,Escalation> Mapping of found escalation elementsprotected ExpressionManagerprotected static final Stringprotected static final Stringprotected static final Stringprotected static final Stringprotected Map<String,XMLImporter> static final Stringprotected Map<String,List<JobDeclaration<?, ?>>> Mapping from a process definition key to his containing list of job declarationsstatic final Stringprotected static final BpmnParseLoggerstatic final Stringprotected Map<String,MessageDefinition> Mapping containing values stored during the first phase of parsing since other elements can reference these messages.static final Stringstatic final Namespaceprotected List<BpmnParseListener>A map for storing the process references of participantsprotected static final Stringprotected static final Stringprotected static final Stringprotected List<ProcessDefinitionEntity>The end result of the parsing: a list of process definition.static final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final StringDeprecated.static final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final StringDeprecated.static final Stringstatic final Stringstatic final Stringprotected static final Stringprotected Map<String,TransitionImpl> A map for storing sequence flow based on their id during parsing.static final Stringprotected Map<String,SignalDefinition> protected Stringstatic final Stringstatic final Stringstatic final Stringprotected static final Stringstatic final NamespaceFields inherited from class org.camunda.bpm.engine.impl.util.xml.Parse
JAXP_ACCESS_EXTERNAL_SCHEMA, JAXP_ACCESS_EXTERNAL_SCHEMA_ALL, JAXP_ACCESS_EXTERNAL_SCHEMA_SYSTEM_PROPERTY, JAXP_SCHEMA_LANGUAGE, JAXP_SCHEMA_SOURCE, name, parser, rootElement, schemaResource, streamSource, W3C_XML_SCHEMA, warnings -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected booleanactivityAlreadyContainsJobDeclarationEventType(List<EventSubscriptionJobDeclaration> jobDeclarationsForActivity, EventSubscriptionJobDeclaration jobDeclaration) Assumes that an activity has at most one declaration of a certain eventType.protected voidaddErrorEventDefinition(ErrorEventDefinition errorEventDefinition, ScopeImpl catchingScope) protected voidaddEscalationEventDefinition(ScopeImpl catchingScope, EscalationEventDefinition escalationEventDefinition, Element element, String escalationElementId) protected voidaddEventSubscriptionDeclaration(EventSubscriptionDeclaration subscription, ScopeImpl scope, Element element) protected voidaddEventSubscriptionJobDeclaration(EventSubscriptionJobDeclaration jobDeclaration, ActivityImpl activity, Element element) protected voidaddJobDeclarationToProcessDefinition(JobDeclaration<?, ?> jobDeclaration, ProcessDefinition processDefinition) protected voidaddMessageJobDeclaration(MessageJobDeclaration messageJobDeclaration, ActivityImpl activity, boolean exclusive) Adds the new message job declaration to existing declarations.protected voidaddMessageJobDeclarationToActivity(MessageJobDeclaration messageJobDeclaration, ActivityImpl activity) protected voidaddTimeCycleWarning(Element timeCycleElement, String type, String timerElementId) protected voidaddTimerDeclaration(ScopeImpl scope, TimerDeclarationImpl timerDeclaration) protected voidaddTimerListenerDeclaration(String listenerId, ScopeImpl scope, TimerDeclarationImpl timerDeclaration) protected voidaddVariableDeclaration(ScopeImpl scope, VariableDeclaration variableDeclaration) protected booleanattributeValueEquals(Element element, String attribute, String comparisonValue) protected booleancheckActivityInputOutputSupported(Element activityElement, ActivityImpl activity, IoMapping inputOutput) protected booleancheckActivityOutputParameterSupported(Element activityElement, ActivityImpl activity) protected voidcreateActivityOnScope(Element activityElement, ScopeImpl scopeElement) Parses the generic information of an activity element (id, name, documentation, etc.), and creates a newActivityImplon the given scope element.protected EscalationcreateEscalation(String id, Element element) protected EscalationEventDefinitioncreateEscalationEventDefinitionForEscalationHandler(Element escalationEventDefinitionElement, ActivityImpl escalationHandler, boolean cancelActivity, String parentElementId) protected ParameterValueProvidercreateParameterValueProvider(Object value, ExpressionManager expressionManager) deployment(DeploymentEntity deployment) protected voidensureNoExpressionInMessageStartEvent(Element element, EventSubscriptionDeclaration messageStartEventSubscriptionDeclaration, String parentElementId) protected voidensureNoIoMappingDefined(Element element) execute()protected booleanexists(MessageJobDeclaration msgJobdecl, String procDefKey, String activityId) Checks whether the message declaration already exists.filterCompensationHandlers(List<Element> activityElements) filterIntermediateCatchEvents(List<Element> activityElements) protected EscalationfindEscalationForEscalationEventDefinition(Element escalationEventDefinition, String escalationElementId) Find the referenced escalation of the given escalation event definition.protected StringgetAssignmentId(String expression, String prefix) static StringgetIdForMiBody(String id) protected XMLImportergetImporter(String importType, Element theImport) Map<String,List<JobDeclaration<?, ?>>> List<JobDeclaration<?,?>> getJobDeclarationsByKey(String processDefinitionKey) protected ActivityImplgetMultiInstanceScope(ActivityImpl activity) getProcessDefinition(String processDefinitionKey) protected StringgetStringValueFromAttributeOrElement(String attributeName, String elementName, Element element, String ancestorElementId) protected booleanhasConnector(Element element) protected booleanhasMultipleConditionalEventDefinitionsWithSameCondition(EventSubscriptionDeclaration subscription, Collection<EventSubscriptionDeclaration> eventDefinitions) protected booleanhasMultipleEventDefinitionsWithSameName(EventSubscriptionDeclaration subscription, Collection<EventSubscriptionDeclaration> eventDefinitions, String eventType) protected booleanhasMultipleMessageEventDefinitionsWithSameName(EventSubscriptionDeclaration subscription, Collection<EventSubscriptionDeclaration> eventDefinitions) protected booleanhasMultipleSignalEventDefinitionsWithSameName(EventSubscriptionDeclaration subscription, Collection<EventSubscriptionDeclaration> eventDefinitions) protected booleanisAsyncAfter(Element element) protected booleanisAsyncBefore(Element element) protected booleanisCompensationHandler(Element activityElement) protected booleanisExclusive(Element element) protected booleanisServiceTaskLike(Element element) protected booleanisStartable(Element element) protected booleanisValidEventNameForScope(String eventName, Element listenerElement, String ancestorElementId) Check if the given event name is valid.voidparseActivities(List<Element> activityElements, Element parentElement, ScopeImpl scopeElement) Parses the activities of a certain level in the process (process, subprocess or another scope).protected ActivityImplparseActivity(Element activityElement, Element parentElement, ScopeImpl scopeElement) protected voidparseActivityInputOutput(Element activityElement, ActivityImpl activity) protected voidparseAssociationOfCompensationBoundaryEvent(Element associationElement, ActivityImpl sourceActivity, ActivityImpl targetActivity) protected voidparseAssociations(Element scopeElement, ScopeImpl parentScope, Map<String, Element> compensationHandlers) protected voidparseAsynchronousContinuation(Element element, ActivityImpl activity) Parse async continuation of the given element and create async jobs for the activity.protected voidparseAsynchronousContinuationForActivity(Element activityElement, ActivityImpl activity) Parse async continuation of an activity and create async jobs for the activity.protected voidparseBinding(Element callActivityElement, ActivityImpl activity, BaseCallableElement callableElement, String bindingAttributeName) parseBooleanAttribute(String booleanText) parseBooleanAttribute(String booleanText, boolean defaultValue) protected ActivityBehaviorparseBoundaryCancelEventDefinition(Element cancelEventDefinition, ActivityImpl activity) protected voidparseBoundaryCompensateEventDefinition(Element compensateEventDefinition, ActivityImpl activity) parseBoundaryConditionalEventDefinition(Element element, boolean interrupting, ActivityImpl conditionalActivity) Parses the given element as conditional boundary event.voidparseBoundaryErrorEventDefinition(Element errorEventDefinition, ActivityImpl boundaryEventActivity) protected voidparseBoundaryEscalationEventDefinition(Element escalationEventDefinitionElement, boolean cancelActivity, ActivityImpl boundaryEventActivity) voidparseBoundaryEvents(Element parentElement, ScopeImpl flowScope) Parses the boundary events of a certain 'level' (process, subprocess or other scope).voidparseBoundaryMessageEventDefinition(Element element, boolean interrupting, ActivityImpl messageActivity) voidparseBoundarySignalEventDefinition(Element element, boolean interrupting, ActivityImpl signalActivity) voidparseBoundaryTimerEventDefinition(Element timerEventDefinition, boolean interrupting, ActivityImpl boundaryActivity) Parses a boundary timer event.voidparseBPMNDiagram(Element bpmndiagramElement) voidparseBPMNEdge(Element bpmnEdgeElement) voidparseBPMNPlane(Element bpmnPlaneElement) voidparseBPMNShape(Element bpmnShapeElement) parseBusinessRuleTask(Element businessRuleTaskElement, ScopeImpl scope) Parses a businessRuleTask declaration.protected CallableElementParameterparseCallableElementProvider(Element parameterElement, String ancestorElementId) parseCallActivity(Element callActivityElement, ScopeImpl scope, boolean isMultiInstance) Parses a call activity (currently only supporting calling subprocesses).parseCamundaErrorEventDefinitions(ActivityImpl activity, Element scopeElement) voidParses the collaboration definition defined within the 'definitions' root element and get all participants to lookup their process references during DI parsing.Parses the given String as a list of comma separated entries, where an entry can possibly be an expression that has comma's.protected voidparseCompensationEventSubprocess(ActivityImpl startEventActivity, Element startEventElement, ActivityImpl scopeActivity, Element compensateEventDefinition) protected ActivityImplparseCompensationHandlerForCompensationBoundaryEvent(ScopeImpl parentScope, ActivityImpl sourceActivity, String targetRef, Map<String, Element> compensationHandlers) protected voidparseCompensationHandlers(ScopeImpl parentScope, Map<String, Element> compensationHandlers) protected ConditionalEventDefinitionparseConditionalEventDefinition(Element element, ActivityImpl conditionalActivity) Parses the given element and returns an ConditionalEventDefinition object.parseConditionalStartEventForEventSubprocess(Element element, ActivityImpl conditionalActivity, boolean interrupting) Parses the given element as conditional start event of an event subprocess.protected ConditionparseConditionExpression(Element conditionExprElement, String ancestorElementId) protected DecisionResultMapperparseDecisionResultMapper(Element businessRuleTaskElement) protected voidvoidprotected voidparseDIBounds(Element bpmnShapeElement, HasDIBounds target) protected ActivityImplparseDmnBusinessRuleTask(Element businessRuleTaskElement, ScopeImpl scope) Parse a Business Rule Task which references a decision.static StringparseDocumentation(List<String> docStrings) parseDocumentation(Element element) parseDoubleAttribute(Element element, String attributeName, String doubleText, boolean required) protected voidparseEmailServiceTask(ActivityImpl activity, Element serviceTaskElement, List<FieldDeclaration> fieldDeclarations) voidparseEndEvents(Element parentElement, ScopeImpl scope) Parses the end events of a certain level in the process (process, subprocess or another scope).voidprotected voidparseErrorStartEventDefinition(Element errorEventDefinition, ActivityImpl startEventActivity) protected voidparseEventBasedGateway(Element eventBasedGwElement, Element parentElement, ScopeImpl scope) protected voidparseEventDefinitionForSubprocess(EventSubscriptionDeclaration subscriptionDeclaration, ActivityImpl activity, Element element) parseExclusiveGateway(Element exclusiveGwElement, ScopeImpl scope) Parses an exclusive gateway declaration.parseExecutionListener(Element executionListenerElement, String ancestorElementId) Parses anExecutionListenerimplementation for the given executionListener element.voidparseExecutionListenersOnScope(Element scopeElement, ScopeImpl scope) Parses all execution-listeners on a scope.voidparseExecutionListenersOnTransition(Element activitiElement, TransitionImpl activity) protected ExpressionparseExpression(Element parent, String name) protected FieldDeclarationparseExpressionFieldDeclaration(Element fieldDeclarationElement, Element serviceTaskElement, String fieldName) protected voidparseExternalServiceTask(ActivityImpl activity, Element serviceTaskElement, Element camundaPropertiesElement) protected FieldDeclarationparseFieldDeclaration(Element serviceTaskElement, Element fieldDeclarationElement) parseFieldDeclarations(Element element) protected FormDefinitionparseFormDefinition(Element flowNodeElement) protected voidparseHumanPerformer(Element taskElement, TaskDefinition taskDefinition) protected voidparseHumanPerformerResourceAssignment(Element performerElement, TaskDefinition taskDefinition) protected voidParses the rootElement importing structuresparseInclusiveGateway(Element inclusiveGwElement, ScopeImpl scope) Parses an inclusive gateway declaration.protected voidparseInputParameter(Element elementWithParameters, CallableElement callableElement) parseIntermediateCatchEvent(Element intermediateEventElement, ScopeImpl scopeElement, ActivityImpl eventBasedGateway) protected voidparseIntermediateCatchEvents(Element scopeElement, ScopeImpl parentScope, Map<String, Element> intermediateCatchEventElements) parseIntermediateConditionalEventDefinition(Element element, ActivityImpl conditionalActivity) Parses the given element as intermediate conditional event.protected voidparseIntermediateLinkEventCatchBehavior(Element intermediateEventElement, ActivityImpl activity, Element linkEventDefinitionElement) protected voidparseIntermediateMessageEventDefinition(Element messageEventDefinition, ActivityImpl nestedActivity) protected voidparseIntermediateSignalEventDefinition(Element element, ActivityImpl signalActivity) parseIntermediateThrowEvent(Element intermediateEventElement, ScopeImpl scopeElement) protected voidparseIntermediateTimerEventDefinition(Element timerEventDefinition, ActivityImpl timerActivity) protected voidparseLanes(Element laneSetElement, LaneSet laneSet) protected voidparseLaneSets(Element parentElement, ProcessDefinitionEntity processDefinition) parseManualTask(Element manualTaskElement, ScopeImpl scope) Parses a manual task.protected EventSubscriptionDeclarationparseMessageEventDefinition(Element messageEventDefinition, String messageElementId) voidParses the messages of the given definitions file.parseMultiInstanceLoopCharacteristics(Element activityElement, ScopeImpl scope) Parses loopCharacteristics (standardLoop/Multi-instance) of an activity, if any is defined.protected voidparseOutputParameter(Element callActivityElement, ActivityImpl activity, CallableElement callableElement) parseParallelGateway(Element parallelGwElement, ScopeImpl scope) Parses a parallel gateway declaration.protected voidparsePotentialOwner(Element taskElement, TaskDefinition taskDefinition) protected voidparsePotentialOwnerResourceAssignment(Element performerElement, TaskDefinition taskDefinition) protected voidparsePotentialStarterResourceAssignment(Element performerElement, ProcessDefinitionEntity processDefinition) protected ParameterValueProviderparsePriority(Element element, String priorityAttribute) parseProcess(Element processElement) Parses one process (ie anything inside a <process> element).protected voidparseProcessDefinitionCustomExtensions(Element scopeElement, ProcessDefinition definition) voidParses all the process definitions defined within the 'definitions' root element.protected voidparseProcessDefinitionStartEvent(ActivityImpl startEventActivity, Element startEventElement, Element parentElement, ScopeImpl scope) voidparseProperties(Element element, ActivityImpl activity) Parses the properties of an element (if any) that can contain properties (processes, activities, etc.) Returns true if property subelemens are found.voidparseProperty(Element propertyElement, ActivityImpl activity) Parses one property definition.voidparsePropertyCustomExtensions(ActivityImpl activity, Element propertyElement, String propertyName, String propertyType) Parses the custom extensions for properties.parseReceiveTask(Element receiveTaskElement, ScopeImpl scope) Parses a receive task.protected StringparseResultVariable(Element element) protected voidParses the 'definitions' root elementvoidparseScope(Element scopeElement, ScopeImpl parentScope) Parses a scope: a process, subprocess, etc.protected voidparseScopeStartEvent(ActivityImpl startEventActivity, Element startEventElement, Element parentElement, ActivityImpl scopeActivity) parseScriptTask(Element scriptTaskElement, ScopeImpl scope) Parses a scriptTask declaration.protected ScriptTaskActivityBehaviorparseScriptTaskElement(Element scriptTaskElement) Returns aScriptTaskActivityBehaviorfor the script task element corresponding to the script source or resource specified.parseSendTask(Element sendTaskElement, ScopeImpl scope) Parses a sendTask declaration.voidparseSequenceFlow(Element processElement, ScopeImpl scope, Map<String, Element> compensationHandlers) Parses all sequence flow of a scope.voidparseSequenceFlowConditionExpression(Element seqFlowElement, TransitionImpl seqFlow) Parses a condition expression on a sequence flow.parseServiceTask(Element serviceTaskElement, ScopeImpl scope) Parses a serviceTask declaration.voidparseServiceTaskLike(ActivityImpl activity, String elementName, Element serviceTaskElement, Element camundaPropertiesElement, ScopeImpl scope) protected voidparseShellServiceTask(ActivityImpl activity, Element serviceTaskElement, List<FieldDeclaration> fieldDeclarations) protected voidparseSignalCatchEventDefinition(Element element, ActivityImpl signalActivity, boolean isStartEvent) protected EventSubscriptionDeclarationparseSignalEventDefinition(Element signalEventDefinitionElement, boolean isThrowing, String signalElementId) Parses the Signal Event Definition XML including payload definition.protected voidParses the signals of the given definitions file.protected voidparseStartAuthorization(Element scopeElement, ProcessDefinition definition) voidparseStartEvents(Element parentElement, ScopeImpl scope) Parses the start events of a certain level in the process (process, subprocess or another scope).protected voidparseStartFormHandlers(List<Element> startEventElements, ProcessDefinitionEntity processDefinition) protected FieldDeclarationparseStringFieldDeclaration(Element fieldDeclarationElement, Element serviceTaskElement, String fieldName) parseSubProcess(Element subProcessElement, ScopeImpl scope) Parses a subprocess (formally known as an embedded subprocess): a subprocess defined within another process definition.Parses a task with no specific type (behaves as passthrough).parseTaskDefinition(Element taskElement, String taskDefinitionKey, ActivityImpl activity, ProcessDefinitionEntity processDefinition) protected TaskListenerparseTaskListener(Element taskListenerElement, String taskElementId) protected voidparseTaskListeners(Element userTaskElement, ActivityImpl activity, TaskDefinition taskDefinition) protected voidparseTenantId(Element callingActivityElement, ActivityImpl activity, BaseCallableElement callableElement, String attrName) protected CompensateEventDefinitionparseThrowCompensateEventDefinition(Element compensateEventDefinitionElement, ScopeImpl scopeElement, String parentElementId) protected TaskListenerparseTimeoutTaskListener(Element taskListenerElement, ActivityImpl timerActivity, TaskDefinition taskDefinition) protected TimerDeclarationImplparseTimer(Element timerEventDefinition, ActivityImpl timerActivity, String jobHandlerType) protected voidparseTimerStartEventDefinition(Element timerEventDefinition, ActivityImpl timerActivity, ProcessDefinitionEntity processDefinition) protected voidparseTimerStartEventDefinitionForEventSubprocess(Element timerEventDefinition, ActivityImpl timerActivity, boolean interrupting) protected ParameterValueProviderparseTopic(Element element, String topicAttribute) protected ActivityImplparseTransaction(Element transactionElement, ScopeImpl scope) parseUserTask(Element userTaskElement, ScopeImpl scope) Parses a userTask declaration.protected voidparseUserTaskCustomExtensions(Element taskElement, ActivityImpl activity, TaskDefinition taskDefinition) protected voidparseVersion(Element callingActivityElement, ActivityImpl activity, BaseCallableElement callableElement, String bindingAttributeName, String versionAttributeName) protected voidparseVersionTag(Element callingActivityElement, ActivityImpl activity, BaseCallableElement callableElement, String bindingAttributeName, String versionTagAttributeName) protected voidremoveMessageJobDeclarationWithJobConfiguration(ActivityImpl activity, String jobConfiguration) Removes a job declaration which belongs to the given activity and has the given job configuration.protected StringresolveName(String name) protected voidselectInitial(List<ActivityImpl> startEventActivities, ProcessDefinitionEntity processDefinition, Element parentElement) protected voidsetActivityAsyncDelegates(ActivityImpl activity) Sets the delegates for the activity, which will be called if the attribute asyncAfter or asyncBefore was changed.protected voidsetErrorCodeVariableOnErrorEventDefinition(Element errorEventDefinition, ErrorEventDefinition definition) Sets the value for "camunda:errorCodeVariable" on the passed definition if it's present.protected voidsetErrorMessageVariableOnErrorEventDefinition(Element errorEventDefinition, ErrorEventDefinition definition) Sets the value for "camunda:errorMessageVariable" on the passed definition if it's present.sourceInputStream(InputStream inputStream) sourceResource(String resource) sourceResource(String resource, ClassLoader classLoader) sourceString(String string) voidvalidateActivities(List<ActivityImpl> activities) protected voidvalidateActivity(ActivityImpl activity) protected voidvalidateAndSetHTTL(Element processElement, ProcessDefinitionEntity processDefinition, boolean skipEnforceTtl) protected voidvalidateCatchCompensateEventDefinition(Element compensateEventDefinitionElement, String parentElementId) voidvalidateExclusiveGateway(ActivityImpl activity) protected voidvalidateFieldDeclarationsForEmail(Element serviceTaskElement, List<FieldDeclaration> fieldDeclarations) protected voidvalidateFieldDeclarationsForShell(Element serviceTaskElement, List<FieldDeclaration> fieldDeclarations) protected voidvalidateOutgoingFlows(ActivityImpl activity) protected voidvalidateServiceTaskLike(ActivityImpl activity, String elementName, Element serviceTaskElement) Methods inherited from class org.camunda.bpm.engine.impl.util.xml.Parse
addError, addError, addError, addError, addError, addWarning, addWarning, addWarning, getProblems, getRootElement, hasErrors, hasWarnings, logWarnings, resolveAccessExternalSchemaProperty, setSchemaResource, setStreamSource, throwExceptionForErrorsMethods inherited from class org.xml.sax.helpers.DefaultHandler
characters, endDocument, endElement, endPrefixMapping, error, fatalError, ignorableWhitespace, notationDecl, processingInstruction, resolveEntity, setDocumentLocator, skippedEntity, startDocument, startElement, startPrefixMapping, unparsedEntityDecl, warningMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.xml.sax.ContentHandler
declaration
-
Field Details
-
MULTI_INSTANCE_BODY_ID_SUFFIX
- See Also:
-
LOG
-
PROPERTYNAME_DOCUMENTATION
- See Also:
-
PROPERTYNAME_INITIATOR_VARIABLE_NAME
- See Also:
-
PROPERTYNAME_HAS_CONDITIONAL_EVENTS
- See Also:
-
PROPERTYNAME_CONDITION
- See Also:
-
PROPERTYNAME_CONDITION_TEXT
- See Also:
-
PROPERTYNAME_VARIABLE_DECLARATIONS
- See Also:
-
PROPERTYNAME_TIMER_DECLARATION
- See Also:
-
PROPERTYNAME_MESSAGE_JOB_DECLARATION
- See Also:
-
PROPERTYNAME_ISEXPANDED
- See Also:
-
PROPERTYNAME_START_TIMER
- See Also:
-
PROPERTYNAME_COMPENSATION_HANDLER_ID
- See Also:
-
PROPERTYNAME_IS_FOR_COMPENSATION
- See Also:
-
PROPERTYNAME_EVENT_SUBSCRIPTION_JOB_DECLARATION
- See Also:
-
PROPERTYNAME_THROWS_COMPENSATION
- See Also:
-
PROPERTYNAME_CONSUMES_COMPENSATION
- See Also:
-
PROPERTYNAME_JOB_PRIORITY
- See Also:
-
PROPERTYNAME_TASK_PRIORITY
- See Also:
-
PROPERTYNAME_EXTERNAL_TASK_TOPIC
- See Also:
-
PROPERTYNAME_CLASS
- See Also:
-
PROPERTYNAME_EXPRESSION
- See Also:
-
PROPERTYNAME_DELEGATE_EXPRESSION
- See Also:
-
PROPERTYNAME_VARIABLE_MAPPING_CLASS
- See Also:
-
PROPERTYNAME_VARIABLE_MAPPING_DELEGATE_EXPRESSION
- See Also:
-
PROPERTYNAME_RESOURCE
- See Also:
-
PROPERTYNAME_LANGUAGE
- See Also:
-
TYPE
- See Also:
-
TRUE
- See Also:
-
INTERRUPTING
- See Also:
-
CONDITIONAL_EVENT_DEFINITION
- See Also:
-
ESCALATION_EVENT_DEFINITION
- See Also:
-
COMPENSATE_EVENT_DEFINITION
- See Also:
-
TIMER_EVENT_DEFINITION
- See Also:
-
SIGNAL_EVENT_DEFINITION
- See Also:
-
MESSAGE_EVENT_DEFINITION
- See Also:
-
ERROR_EVENT_DEFINITION
- See Also:
-
CANCEL_EVENT_DEFINITION
- See Also:
-
LINK_EVENT_DEFINITION
- See Also:
-
CONDITION_EXPRESSION
- See Also:
-
CONDITION
- See Also:
-
VARIABLE_EVENTS
-
PROPERTYNAME_TYPE
Deprecated. -
PROPERTYNAME_ERROR_EVENT_DEFINITIONS
Deprecated. -
POTENTIAL_STARTER
- See Also:
-
CANDIDATE_STARTER_USERS_EXTENSION
- See Also:
-
CANDIDATE_STARTER_GROUPS_EXTENSION
- See Also:
-
ATTRIBUTEVALUE_T_FORMAL_EXPRESSION
- See Also:
-
PROPERTYNAME_IS_MULTI_INSTANCE
- See Also:
-
CAMUNDA_BPMN_EXTENSIONS_NS
-
XSI_NS
-
BPMN_DI_NS
-
OMG_DI_NS
-
BPMN_DC_NS
-
ALL
- See Also:
-
deployment
The deployment to which the parsed process definitions will be added. -
processDefinitions
The end result of the parsing: a list of process definition. -
errors
Mapping of found errors in BPMN 2.0 file -
escalations
Mapping of found escalation elements -
jobDeclarations
Mapping from a process definition key to his containing list of job declarations -
sequenceFlows
A map for storing sequence flow based on their id during parsing. -
elementIds
A list of all element IDs. This allows us to parse only what we actually support but still validate the references among elements we do not support. -
participantProcesses
A map for storing the process references of participants -
messages
Mapping containing values stored during the first phase of parsing since other elements can reference these messages. All the map's elements are defined outside the process definition(s), which means that this map doesn't need to be re-initialized for each new process definition. -
signals
-
expressionManager
-
parseListeners
-
importers
-
prefixs
-
targetNamespace
-
HUMAN_PERFORMER
- See Also:
-
POTENTIAL_OWNER
- See Also:
-
RESOURCE_ASSIGNMENT_EXPR
- See Also:
-
FORMAL_EXPRESSION
- See Also:
-
USER_PREFIX
- See Also:
-
GROUP_PREFIX
- See Also:
-
ASSIGNEE_EXTENSION
- See Also:
-
CANDIDATE_USERS_EXTENSION
- See Also:
-
CANDIDATE_GROUPS_EXTENSION
- See Also:
-
DUE_DATE_EXTENSION
- See Also:
-
FOLLOW_UP_DATE_EXTENSION
- See Also:
-
PRIORITY_EXTENSION
- See Also:
-
-
Constructor Details
-
BpmnParse
Constructor to be called by theBpmnParser.
-
-
Method Details
-
deployment
-
execute
-
parseRootElement
protected void parseRootElement()Parses the 'definitions' root element -
collectElementIds
protected void collectElementIds() -
parseDefinitionsAttributes
protected void parseDefinitionsAttributes() -
resolveName
-
parseImports
protected void parseImports()Parses the rootElement importing structures -
getImporter
-
parseMessages
public void parseMessages()Parses the messages of the given definitions file. Messages are not contained within a process element, but they can be referenced from inner process elements. -
parseSignals
protected void parseSignals()Parses the signals of the given definitions file. Signals are not contained within a process element, but they can be referenced from inner process elements. -
parseErrors
public void parseErrors() -
parseEscalations
protected void parseEscalations() -
createEscalation
-
parseProcessDefinitions
public void parseProcessDefinitions()Parses all the process definitions defined within the 'definitions' root element. -
parseCollaboration
public void parseCollaboration()Parses the collaboration definition defined within the 'definitions' root element and get all participants to lookup their process references during DI parsing. -
parseProcess
Parses one process (ie anything inside a <process> element).- Parameters:
processElement- The 'process' element.- Returns:
- The parsed version of the XML: a
ProcessDefinitionImplobject.
-
validateAndSetHTTL
protected void validateAndSetHTTL(Element processElement, ProcessDefinitionEntity processDefinition, boolean skipEnforceTtl) -
parseLaneSets
-
parseLanes
-
parseScope
Parses a scope: a process, subprocess, etc. Note that a process definition is a scope on itself.- Parameters:
scopeElement- The XML element defining the scopeparentScope- The scope that contains the nested scope.
-
filterIntermediateCatchEvents
-
filterCompensationHandlers
-
parseIntermediateCatchEvents
-
parseProcessDefinitionCustomExtensions
protected void parseProcessDefinitionCustomExtensions(Element scopeElement, ProcessDefinition definition) -
parseStartAuthorization
-
parsePotentialStarterResourceAssignment
protected void parsePotentialStarterResourceAssignment(Element performerElement, ProcessDefinitionEntity processDefinition) -
parseAssociations
-
parseCompensationHandlerForCompensationBoundaryEvent
protected ActivityImpl parseCompensationHandlerForCompensationBoundaryEvent(ScopeImpl parentScope, ActivityImpl sourceActivity, String targetRef, Map<String, Element> compensationHandlers) -
parseAssociationOfCompensationBoundaryEvent
protected void parseAssociationOfCompensationBoundaryEvent(Element associationElement, ActivityImpl sourceActivity, ActivityImpl targetActivity) -
parseCompensationHandlers
-
parseStartEvents
Parses the start events of a certain level in the process (process, subprocess or another scope).- Parameters:
parentElement- The 'parent' element that contains the start events (process, subprocess).scope- TheScopeImplto which the start events must be added.
-
selectInitial
protected void selectInitial(List<ActivityImpl> startEventActivities, ProcessDefinitionEntity processDefinition, Element parentElement) -
parseProcessDefinitionStartEvent
protected void parseProcessDefinitionStartEvent(ActivityImpl startEventActivity, Element startEventElement, Element parentElement, ScopeImpl scope) -
parseStartFormHandlers
protected void parseStartFormHandlers(List<Element> startEventElements, ProcessDefinitionEntity processDefinition) -
parseScopeStartEvent
protected void parseScopeStartEvent(ActivityImpl startEventActivity, Element startEventElement, Element parentElement, ActivityImpl scopeActivity) -
parseCompensationEventSubprocess
protected void parseCompensationEventSubprocess(ActivityImpl startEventActivity, Element startEventElement, ActivityImpl scopeActivity, Element compensateEventDefinition) -
parseErrorStartEventDefinition
protected void parseErrorStartEventDefinition(Element errorEventDefinition, ActivityImpl startEventActivity) -
setErrorCodeVariableOnErrorEventDefinition
protected void setErrorCodeVariableOnErrorEventDefinition(Element errorEventDefinition, ErrorEventDefinition definition) Sets the value for "camunda:errorCodeVariable" on the passed definition if it's present.- Parameters:
errorEventDefinition- the XML errorEventDefinition tagdefinition- the errorEventDefintion that can get the errorCodeVariable value
-
setErrorMessageVariableOnErrorEventDefinition
protected void setErrorMessageVariableOnErrorEventDefinition(Element errorEventDefinition, ErrorEventDefinition definition) Sets the value for "camunda:errorMessageVariable" on the passed definition if it's present.- Parameters:
errorEventDefinition- the XML errorEventDefinition tagdefinition- the errorEventDefintion that can get the errorMessageVariable value
-
parseMessageEventDefinition
protected EventSubscriptionDeclaration parseMessageEventDefinition(Element messageEventDefinition, String messageElementId) -
addEventSubscriptionDeclaration
protected void addEventSubscriptionDeclaration(EventSubscriptionDeclaration subscription, ScopeImpl scope, Element element) -
hasMultipleMessageEventDefinitionsWithSameName
protected boolean hasMultipleMessageEventDefinitionsWithSameName(EventSubscriptionDeclaration subscription, Collection<EventSubscriptionDeclaration> eventDefinitions) -
hasMultipleSignalEventDefinitionsWithSameName
protected boolean hasMultipleSignalEventDefinitionsWithSameName(EventSubscriptionDeclaration subscription, Collection<EventSubscriptionDeclaration> eventDefinitions) -
hasMultipleConditionalEventDefinitionsWithSameCondition
protected boolean hasMultipleConditionalEventDefinitionsWithSameCondition(EventSubscriptionDeclaration subscription, Collection<EventSubscriptionDeclaration> eventDefinitions) -
hasMultipleEventDefinitionsWithSameName
protected boolean hasMultipleEventDefinitionsWithSameName(EventSubscriptionDeclaration subscription, Collection<EventSubscriptionDeclaration> eventDefinitions, String eventType) -
addEventSubscriptionJobDeclaration
protected void addEventSubscriptionJobDeclaration(EventSubscriptionJobDeclaration jobDeclaration, ActivityImpl activity, Element element) -
activityAlreadyContainsJobDeclarationEventType
protected boolean activityAlreadyContainsJobDeclarationEventType(List<EventSubscriptionJobDeclaration> jobDeclarationsForActivity, EventSubscriptionJobDeclaration jobDeclaration) Assumes that an activity has at most one declaration of a certain eventType. -
parseActivities
public void parseActivities(List<Element> activityElements, Element parentElement, ScopeImpl scopeElement) Parses the activities of a certain level in the process (process, subprocess or another scope).- Parameters:
activityElements- The list of activities to be parsed. This list may be filtered before.parentElement- The 'parent' element that contains the activities (process, subprocess).scopeElement- TheScopeImplto which the activities must be added.
-
parseActivity
protected ActivityImpl parseActivity(Element activityElement, Element parentElement, ScopeImpl scopeElement) -
validateActivities
-
validateActivity
-
validateOutgoingFlows
-
validateExclusiveGateway
-
parseIntermediateCatchEvent
public ActivityImpl parseIntermediateCatchEvent(Element intermediateEventElement, ScopeImpl scopeElement, ActivityImpl eventBasedGateway) -
parseIntermediateLinkEventCatchBehavior
protected void parseIntermediateLinkEventCatchBehavior(Element intermediateEventElement, ActivityImpl activity, Element linkEventDefinitionElement) -
parseIntermediateMessageEventDefinition
protected void parseIntermediateMessageEventDefinition(Element messageEventDefinition, ActivityImpl nestedActivity) -
parseIntermediateThrowEvent
public ActivityImpl parseIntermediateThrowEvent(Element intermediateEventElement, ScopeImpl scopeElement) -
parseThrowCompensateEventDefinition
protected CompensateEventDefinition parseThrowCompensateEventDefinition(Element compensateEventDefinitionElement, ScopeImpl scopeElement, String parentElementId) -
validateCatchCompensateEventDefinition
-
parseBoundaryCompensateEventDefinition
protected void parseBoundaryCompensateEventDefinition(Element compensateEventDefinition, ActivityImpl activity) -
parseBoundaryCancelEventDefinition
protected ActivityBehavior parseBoundaryCancelEventDefinition(Element cancelEventDefinition, ActivityImpl activity) -
parseMultiInstanceLoopCharacteristics
Parses loopCharacteristics (standardLoop/Multi-instance) of an activity, if any is defined. -
getIdForMiBody
-
createActivityOnScope
Parses the generic information of an activity element (id, name, documentation, etc.), and creates a newActivityImplon the given scope element. -
setActivityAsyncDelegates
Sets the delegates for the activity, which will be called if the attribute asyncAfter or asyncBefore was changed.- Parameters:
activity- the activity which gets the delegates
-
addMessageJobDeclaration
protected void addMessageJobDeclaration(MessageJobDeclaration messageJobDeclaration, ActivityImpl activity, boolean exclusive) Adds the new message job declaration to existing declarations. There will be executed an existing check before the adding is executed.- Parameters:
messageJobDeclaration- the new message job declarationactivity- the corresponding activityexclusive- the flag which indicates if the async should be exclusive
-
exists
Checks whether the message declaration already exists.- Parameters:
msgJobdecl- the message job declaration which is searchedprocDefKey- the corresponding process definition keyactivityId- the corresponding activity id- Returns:
- true if the message job declaration exists, false otherwise
-
removeMessageJobDeclarationWithJobConfiguration
protected void removeMessageJobDeclarationWithJobConfiguration(ActivityImpl activity, String jobConfiguration) Removes a job declaration which belongs to the given activity and has the given job configuration.- Parameters:
activity- the activity of the job declarationjobConfiguration- the job configuration of the declaration
-
parseDocumentation
-
parseDocumentation
-
isCompensationHandler
-
parseExclusiveGateway
Parses an exclusive gateway declaration. -
parseInclusiveGateway
Parses an inclusive gateway declaration. -
parseEventBasedGateway
public ActivityImpl parseEventBasedGateway(Element eventBasedGwElement, Element parentElement, ScopeImpl scope) -
parseParallelGateway
Parses a parallel gateway declaration. -
parseScriptTask
Parses a scriptTask declaration. -
parseScriptTaskElement
Returns aScriptTaskActivityBehaviorfor the script task element corresponding to the script source or resource specified.- Parameters:
scriptTaskElement- the script task element- Returns:
- the corresponding
ScriptTaskActivityBehavior
-
parseResultVariable
-
parseServiceTask
Parses a serviceTask declaration. -
parseServiceTaskLike
public void parseServiceTaskLike(ActivityImpl activity, String elementName, Element serviceTaskElement, Element camundaPropertiesElement, ScopeImpl scope) - Parameters:
elementName-serviceTaskElement- the element that contains the camunda service task definition (e.g. camunda:class attributes)camundaPropertiesElement- the element that contains the camunda:properties extension elements that apply to this service task. Usually, but not always, this is the same as serviceTaskElementscope-
-
validateServiceTaskLike
protected void validateServiceTaskLike(ActivityImpl activity, String elementName, Element serviceTaskElement) -
parseBusinessRuleTask
Parses a businessRuleTask declaration. -
parseDmnBusinessRuleTask
Parse a Business Rule Task which references a decision. -
parseDecisionResultMapper
-
parseAsynchronousContinuationForActivity
protected void parseAsynchronousContinuationForActivity(Element activityElement, ActivityImpl activity) Parse async continuation of an activity and create async jobs for the activity.
When the activity is marked as multi instance, then async jobs create instead for the multi instance body. When the wrapped activity has async characteristics in 'multiInstanceLoopCharacteristics' element, then async jobs create additionally for the wrapped activity. -
parseAsynchronousContinuation
Parse async continuation of the given element and create async jobs for the activity.- Parameters:
element- with async characteristicsactivity-
-
parsePriority
-
parseTopic
-
addMessageJobDeclarationToActivity
protected void addMessageJobDeclarationToActivity(MessageJobDeclaration messageJobDeclaration, ActivityImpl activity) -
addJobDeclarationToProcessDefinition
protected void addJobDeclarationToProcessDefinition(JobDeclaration<?, ?> jobDeclaration, ProcessDefinition processDefinition) -
parseSendTask
Parses a sendTask declaration. -
parseEmailServiceTask
protected void parseEmailServiceTask(ActivityImpl activity, Element serviceTaskElement, List<FieldDeclaration> fieldDeclarations) -
parseShellServiceTask
protected void parseShellServiceTask(ActivityImpl activity, Element serviceTaskElement, List<FieldDeclaration> fieldDeclarations) -
parseExternalServiceTask
protected void parseExternalServiceTask(ActivityImpl activity, Element serviceTaskElement, Element camundaPropertiesElement) -
validateFieldDeclarationsForEmail
protected void validateFieldDeclarationsForEmail(Element serviceTaskElement, List<FieldDeclaration> fieldDeclarations) -
validateFieldDeclarationsForShell
protected void validateFieldDeclarationsForShell(Element serviceTaskElement, List<FieldDeclaration> fieldDeclarations) -
parseFieldDeclarations
-
parseFieldDeclaration
protected FieldDeclaration parseFieldDeclaration(Element serviceTaskElement, Element fieldDeclarationElement) -
parseStringFieldDeclaration
protected FieldDeclaration parseStringFieldDeclaration(Element fieldDeclarationElement, Element serviceTaskElement, String fieldName) -
parseExpressionFieldDeclaration
protected FieldDeclaration parseExpressionFieldDeclaration(Element fieldDeclarationElement, Element serviceTaskElement, String fieldName) -
getStringValueFromAttributeOrElement
-
parseTask
Parses a task with no specific type (behaves as passthrough). -
parseManualTask
Parses a manual task. -
parseReceiveTask
Parses a receive task. -
parseUserTask
Parses a userTask declaration. -
parseTaskDefinition
public TaskDefinition parseTaskDefinition(Element taskElement, String taskDefinitionKey, ActivityImpl activity, ProcessDefinitionEntity processDefinition) -
parseFormDefinition
-
parseHumanPerformer
-
parsePotentialOwner
-
parseHumanPerformerResourceAssignment
protected void parseHumanPerformerResourceAssignment(Element performerElement, TaskDefinition taskDefinition) -
parsePotentialOwnerResourceAssignment
protected void parsePotentialOwnerResourceAssignment(Element performerElement, TaskDefinition taskDefinition) -
getAssignmentId
-
parseUserTaskCustomExtensions
protected void parseUserTaskCustomExtensions(Element taskElement, ActivityImpl activity, TaskDefinition taskDefinition) -
parseCommaSeparatedList
Parses the given String as a list of comma separated entries, where an entry can possibly be an expression that has comma's. If somebody is smart enough to write a regex for this, please let us know.- Returns:
- the entries of the comma separated list, trimmed.
-
parseTaskListeners
protected void parseTaskListeners(Element userTaskElement, ActivityImpl activity, TaskDefinition taskDefinition) -
parseTaskListener
-
parseTimeoutTaskListener
protected TaskListener parseTimeoutTaskListener(Element taskListenerElement, ActivityImpl timerActivity, TaskDefinition taskDefinition) -
parseEndEvents
Parses the end events of a certain level in the process (process, subprocess or another scope).- Parameters:
parentElement- The 'parent' element that contains the end events (process, subprocess).scope- TheScopeImplto which the end events must be added.
-
parseBoundaryEvents
Parses the boundary events of a certain 'level' (process, subprocess or other scope). Note that the boundary events are not parsed during the parsing of the bpmn activities, since the semantics are different (boundaryEvent needs to be added as nested activity to the reference activity on PVM level).- Parameters:
parentElement- The 'parent' element that contains the activities (process, subprocess).flowScope- TheScopeImplto which the activities must be added.
-
parseCamundaErrorEventDefinitions
public List<CamundaErrorEventDefinition> parseCamundaErrorEventDefinitions(ActivityImpl activity, Element scopeElement) -
getMultiInstanceScope
-
parseBoundaryTimerEventDefinition
public void parseBoundaryTimerEventDefinition(Element timerEventDefinition, boolean interrupting, ActivityImpl boundaryActivity) Parses a boundary timer event. The end-result will be that the given nested activity will get the appropriateActivityBehavior.- Parameters:
timerEventDefinition- The XML element corresponding with the timer event detailsinterrupting- Indicates whether this timer is interrupting.boundaryActivity- The activity which maps to the structure of the timer event on the boundary of another activity. Note that this is NOT the activity onto which the boundary event is attached, but a nested activity inside this activity, specifically created for this event.
-
parseBoundarySignalEventDefinition
public void parseBoundarySignalEventDefinition(Element element, boolean interrupting, ActivityImpl signalActivity) -
parseBoundaryMessageEventDefinition
public void parseBoundaryMessageEventDefinition(Element element, boolean interrupting, ActivityImpl messageActivity) -
parseTimerStartEventDefinition
protected void parseTimerStartEventDefinition(Element timerEventDefinition, ActivityImpl timerActivity, ProcessDefinitionEntity processDefinition) -
parseTimerStartEventDefinitionForEventSubprocess
protected void parseTimerStartEventDefinitionForEventSubprocess(Element timerEventDefinition, ActivityImpl timerActivity, boolean interrupting) -
parseEventDefinitionForSubprocess
protected void parseEventDefinitionForSubprocess(EventSubscriptionDeclaration subscriptionDeclaration, ActivityImpl activity, Element element) -
parseIntermediateSignalEventDefinition
-
parseSignalCatchEventDefinition
protected void parseSignalCatchEventDefinition(Element element, ActivityImpl signalActivity, boolean isStartEvent) -
parseSignalEventDefinition
protected EventSubscriptionDeclaration parseSignalEventDefinition(Element signalEventDefinitionElement, boolean isThrowing, String signalElementId) Parses the Signal Event Definition XML including payload definition.- Parameters:
signalEventDefinitionElement- the Signal Event Definition elementisThrowing- true if a Throwing signal event is being parsed- Returns:
-
parseIntermediateTimerEventDefinition
protected void parseIntermediateTimerEventDefinition(Element timerEventDefinition, ActivityImpl timerActivity) -
parseTimer
protected TimerDeclarationImpl parseTimer(Element timerEventDefinition, ActivityImpl timerActivity, String jobHandlerType) -
parseExpression
-
parseBoundaryErrorEventDefinition
public void parseBoundaryErrorEventDefinition(Element errorEventDefinition, ActivityImpl boundaryEventActivity) -
addErrorEventDefinition
protected void addErrorEventDefinition(ErrorEventDefinition errorEventDefinition, ScopeImpl catchingScope) -
parseBoundaryEscalationEventDefinition
protected void parseBoundaryEscalationEventDefinition(Element escalationEventDefinitionElement, boolean cancelActivity, ActivityImpl boundaryEventActivity) -
findEscalationForEscalationEventDefinition
protected Escalation findEscalationForEscalationEventDefinition(Element escalationEventDefinition, String escalationElementId) Find the referenced escalation of the given escalation event definition. Add errors if the referenced escalation not found.- Returns:
- referenced escalation or
null, if referenced escalation not found
-
createEscalationEventDefinitionForEscalationHandler
protected EscalationEventDefinition createEscalationEventDefinitionForEscalationHandler(Element escalationEventDefinitionElement, ActivityImpl escalationHandler, boolean cancelActivity, String parentElementId) -
addEscalationEventDefinition
protected void addEscalationEventDefinition(ScopeImpl catchingScope, EscalationEventDefinition escalationEventDefinition, Element element, String escalationElementId) -
addTimerDeclaration
-
addTimerListenerDeclaration
protected void addTimerListenerDeclaration(String listenerId, ScopeImpl scope, TimerDeclarationImpl timerDeclaration) -
addVariableDeclaration
-
parseBoundaryConditionalEventDefinition
public BoundaryConditionalEventActivityBehavior parseBoundaryConditionalEventDefinition(Element element, boolean interrupting, ActivityImpl conditionalActivity) Parses the given element as conditional boundary event.- Parameters:
element- the XML element which contains the conditional event informationinterrupting- indicates if the event is interrupting or notconditionalActivity- the conditional event activity- Returns:
- the boundary conditional event behavior which contains the condition
-
parseIntermediateConditionalEventDefinition
public ConditionalEventDefinition parseIntermediateConditionalEventDefinition(Element element, ActivityImpl conditionalActivity) Parses the given element as intermediate conditional event.- Parameters:
element- the XML element which contains the conditional event informationconditionalActivity- the conditional event activity- Returns:
- returns the conditional activity with the parsed information
-
parseConditionalStartEventForEventSubprocess
public ConditionalEventDefinition parseConditionalStartEventForEventSubprocess(Element element, ActivityImpl conditionalActivity, boolean interrupting) Parses the given element as conditional start event of an event subprocess.- Parameters:
element- the XML element which contains the conditional event informationinterrupting- indicates if the event is interrupting or notconditionalActivity- the conditional event activity- Returns:
-
parseConditionalEventDefinition
protected ConditionalEventDefinition parseConditionalEventDefinition(Element element, ActivityImpl conditionalActivity) Parses the given element and returns an ConditionalEventDefinition object.- Parameters:
element- the XML element which contains the conditional event informationconditionalActivity- the conditional event activity- Returns:
- the conditional event definition which was parsed
-
parseSubProcess
Parses a subprocess (formally known as an embedded subprocess): a subprocess defined within another process definition.- Parameters:
subProcessElement- The XML element corresponding with the subprocess definitionscope- The current scope on which the subprocess is defined.
-
parseTransaction
-
parseCallActivity
public ActivityImpl parseCallActivity(Element callActivityElement, ScopeImpl scope, boolean isMultiInstance) Parses a call activity (currently only supporting calling subprocesses).- Parameters:
callActivityElement- The XML element defining the call activityscope- The current scope on which the call activity is defined.
-
parseBinding
protected void parseBinding(Element callActivityElement, ActivityImpl activity, BaseCallableElement callableElement, String bindingAttributeName) -
parseTenantId
protected void parseTenantId(Element callingActivityElement, ActivityImpl activity, BaseCallableElement callableElement, String attrName) -
parseVersion
protected void parseVersion(Element callingActivityElement, ActivityImpl activity, BaseCallableElement callableElement, String bindingAttributeName, String versionAttributeName) -
parseVersionTag
protected void parseVersionTag(Element callingActivityElement, ActivityImpl activity, BaseCallableElement callableElement, String bindingAttributeName, String versionTagAttributeName) -
parseInputParameter
-
parseOutputParameter
protected void parseOutputParameter(Element callActivityElement, ActivityImpl activity, CallableElement callableElement) -
attributeValueEquals
-
parseCallableElementProvider
protected CallableElementParameter parseCallableElementProvider(Element parameterElement, String ancestorElementId) -
parseProperties
Parses the properties of an element (if any) that can contain properties (processes, activities, etc.) Returns true if property subelemens are found.- Parameters:
element- The element that can contain properties.activity- The activity where the property declaration is done.
-
parseProperty
Parses one property definition.- Parameters:
propertyElement- The 'property' element that defines how a property looks like and is handled.
-
parsePropertyCustomExtensions
public void parsePropertyCustomExtensions(ActivityImpl activity, Element propertyElement, String propertyName, String propertyType) Parses the custom extensions for properties.- Parameters:
activity- The activity where the property declaration is done.propertyElement- The 'property' element defining the property.propertyName- The name of the property.propertyType- The type of the property.
-
parseSequenceFlow
public void parseSequenceFlow(Element processElement, ScopeImpl scope, Map<String, Element> compensationHandlers) Parses all sequence flow of a scope.- Parameters:
processElement- The 'process' element wherein the sequence flow are defined.scope- The scope to which the sequence flow must be added.compensationHandlers-
-
parseSequenceFlowConditionExpression
Parses a condition expression on a sequence flow.- Parameters:
seqFlowElement- The 'sequenceFlow' element that can contain a condition.seqFlow- The sequenceFlow object representation to which the condition must be added.
-
parseConditionExpression
-
parseExecutionListenersOnScope
Parses all execution-listeners on a scope.- Parameters:
scopeElement- the XML element containing the scope definition.scope- the scope to add the executionListeners to.
-
isValidEventNameForScope
protected boolean isValidEventNameForScope(String eventName, Element listenerElement, String ancestorElementId) Check if the given event name is valid. If not, an appropriate error is added. -
parseExecutionListenersOnTransition
-
parseExecutionListener
public ExecutionListener parseExecutionListener(Element executionListenerElement, String ancestorElementId) Parses anExecutionListenerimplementation for the given executionListener element.- Parameters:
executionListenerElement- the XML element containing the executionListener definition.
-
parseDiagramInterchangeElements
public void parseDiagramInterchangeElements() -
parseBPMNDiagram
-
parseBPMNPlane
-
parseBPMNShape
-
parseDIBounds
-
parseBPMNEdge
-
getProcessDefinitions
-
getProcessDefinition
-
name
-
sourceInputStream
- Overrides:
sourceInputStreamin classParse
-
sourceResource
- Overrides:
sourceResourcein classParse
-
sourceResource
- Overrides:
sourceResourcein classParse
-
sourceString
- Overrides:
sourceStringin classParse
-
sourceUrl
-
sourceUrl
-
parseBooleanAttribute
-
parseBooleanAttribute
-
parseDoubleAttribute
-
isStartable
-
isExclusive
-
isAsyncBefore
-
isAsyncAfter
-
isServiceTaskLike
-
hasConnector
-
getJobDeclarations
-
getJobDeclarationsByKey
-
parseActivityInputOutput
-
checkActivityInputOutputSupported
protected boolean checkActivityInputOutputSupported(Element activityElement, ActivityImpl activity, IoMapping inputOutput) -
checkActivityOutputParameterSupported
protected boolean checkActivityOutputParameterSupported(Element activityElement, ActivityImpl activity) -
ensureNoIoMappingDefined
-
createParameterValueProvider
protected ParameterValueProvider createParameterValueProvider(Object value, ExpressionManager expressionManager) -
addTimeCycleWarning
-
ensureNoExpressionInMessageStartEvent
protected void ensureNoExpressionInMessageStartEvent(Element element, EventSubscriptionDeclaration messageStartEventSubscriptionDeclaration, String parentElementId)
-
BpmnProperties.ERROR_EVENT_DEFINITIONS