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:
org.xml.sax.ContentHandler,org.xml.sax.DTDHandler,org.xml.sax.EntityResolver,org.xml.sax.ErrorHandler
public class BpmnParse extends Parse
Specific parsing of one BPMN 2.0 XML file, created by theBpmnParser. 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
Fields Modifier and Type Field Description static java.lang.StringALLprotected static java.lang.StringASSIGNEE_EXTENSIONprotected static java.lang.StringATTRIBUTEVALUE_T_FORMAL_EXPRESSIONstatic NamespaceBPMN_DC_NSstatic NamespaceBPMN_DI_NSstatic NamespaceCAMUNDA_BPMN_EXTENSIONS_NSstatic java.lang.StringCANCEL_EVENT_DEFINITIONprotected static java.lang.StringCANDIDATE_GROUPS_EXTENSIONprotected static java.lang.StringCANDIDATE_STARTER_GROUPS_EXTENSIONprotected static java.lang.StringCANDIDATE_STARTER_USERS_EXTENSIONprotected static java.lang.StringCANDIDATE_USERS_EXTENSIONstatic java.lang.StringCOMPENSATE_EVENT_DEFINITIONstatic java.lang.StringCONDITIONstatic java.lang.StringCONDITION_EXPRESSIONstatic java.lang.StringCONDITIONAL_EVENT_DEFINITIONprotected DeploymentEntitydeploymentThe deployment to which the parsed process definitions will be added.protected static java.lang.StringDUE_DATE_EXTENSIONprotected java.util.List<java.lang.String>elementIdsA list of all element IDs.static java.lang.StringERROR_EVENT_DEFINITIONprotected java.util.Map<java.lang.String,Error>errorsMapping of found errors in BPMN 2.0 filestatic java.lang.StringESCALATION_EVENT_DEFINITIONprotected java.util.Map<java.lang.String,Escalation>escalationsMapping of found escalation elementsprotected ExpressionManagerexpressionManagerprotected static java.lang.StringFOLLOW_UP_DATE_EXTENSIONprotected static java.lang.StringFORMAL_EXPRESSIONprotected static java.lang.StringGROUP_PREFIXprotected static java.lang.StringHUMAN_PERFORMERprotected java.util.Map<java.lang.String,XMLImporter>importersstatic java.lang.StringINTERRUPTINGprotected java.util.Map<java.lang.String,java.util.List<JobDeclaration<?,?>>>jobDeclarationsMapping from a process definition key to his containing list of job declarationsstatic java.lang.StringLINK_EVENT_DEFINITIONprotected static BpmnParseLoggerLOGstatic java.lang.StringMESSAGE_EVENT_DEFINITIONprotected java.util.Map<java.lang.String,MessageDefinition>messagesMapping containing values stored during the first phase of parsing since other elements can reference these messages.static java.lang.StringMULTI_INSTANCE_BODY_ID_SUFFIXstatic NamespaceOMG_DI_NSprotected java.util.List<BpmnParseListener>parseListenersprotected java.util.Map<java.lang.String,java.lang.String>participantProcessesA map for storing the process references of participantsprotected static java.lang.StringPOTENTIAL_OWNERprotected static java.lang.StringPOTENTIAL_STARTERprotected java.util.Map<java.lang.String,java.lang.String>prefixsprotected static java.lang.StringPRIORITY_EXTENSIONprotected java.util.List<ProcessDefinitionEntity>processDefinitionsThe end result of the parsing: a list of process definition.static java.lang.StringPROPERTYNAME_CLASSstatic java.lang.StringPROPERTYNAME_COMPENSATION_HANDLER_IDstatic java.lang.StringPROPERTYNAME_CONDITIONstatic java.lang.StringPROPERTYNAME_CONDITION_TEXTstatic java.lang.StringPROPERTYNAME_CONSUMES_COMPENSATIONstatic java.lang.StringPROPERTYNAME_DELEGATE_EXPRESSIONstatic java.lang.StringPROPERTYNAME_DOCUMENTATIONstatic java.lang.StringPROPERTYNAME_ERROR_EVENT_DEFINITIONSDeprecated.static java.lang.StringPROPERTYNAME_EVENT_SUBSCRIPTION_JOB_DECLARATIONstatic java.lang.StringPROPERTYNAME_EXPRESSIONstatic java.lang.StringPROPERTYNAME_EXTERNAL_TASK_TOPICstatic java.lang.StringPROPERTYNAME_HAS_CONDITIONAL_EVENTSstatic java.lang.StringPROPERTYNAME_INITIATOR_VARIABLE_NAMEstatic java.lang.StringPROPERTYNAME_IS_FOR_COMPENSATIONstatic java.lang.StringPROPERTYNAME_IS_MULTI_INSTANCEstatic java.lang.StringPROPERTYNAME_ISEXPANDEDstatic java.lang.StringPROPERTYNAME_JOB_PRIORITYstatic java.lang.StringPROPERTYNAME_LANGUAGEstatic java.lang.StringPROPERTYNAME_MESSAGE_JOB_DECLARATIONstatic java.lang.StringPROPERTYNAME_RESOURCEstatic java.lang.StringPROPERTYNAME_START_TIMERstatic java.lang.StringPROPERTYNAME_TASK_PRIORITYstatic java.lang.StringPROPERTYNAME_THROWS_COMPENSATIONstatic java.lang.StringPROPERTYNAME_TIMER_DECLARATIONstatic java.lang.StringPROPERTYNAME_TYPEDeprecated.static java.lang.StringPROPERTYNAME_VARIABLE_DECLARATIONSstatic java.lang.StringPROPERTYNAME_VARIABLE_MAPPING_CLASSstatic java.lang.StringPROPERTYNAME_VARIABLE_MAPPING_DELEGATE_EXPRESSIONprotected static java.lang.StringRESOURCE_ASSIGNMENT_EXPRprotected java.util.Map<java.lang.String,TransitionImpl>sequenceFlowsA map for storing sequence flow based on their id during parsing.static java.lang.StringSIGNAL_EVENT_DEFINITIONprotected java.util.Map<java.lang.String,SignalDefinition>signalsprotected java.lang.StringtargetNamespacestatic java.lang.StringTIMER_EVENT_DEFINITIONstatic java.lang.StringTRUEstatic java.lang.StringTYPEprotected static java.lang.StringUSER_PREFIXstatic java.util.List<java.lang.String>VARIABLE_EVENTSstatic NamespaceXSI_NS-
Fields 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 Constructor Description BpmnParse(BpmnParser parser)Constructor to be called by theBpmnParser.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected booleanactivityAlreadyContainsJobDeclarationEventType(java.util.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, java.lang.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, java.lang.String type, java.lang.String timerElementId)protected voidaddTimerDeclaration(ScopeImpl scope, TimerDeclarationImpl timerDeclaration)protected voidaddTimerListenerDeclaration(java.lang.String listenerId, ScopeImpl scope, TimerDeclarationImpl timerDeclaration)protected voidaddVariableDeclaration(ScopeImpl scope, VariableDeclaration variableDeclaration)protected booleanattributeValueEquals(Element element, java.lang.String attribute, java.lang.String comparisonValue)protected booleancheckActivityInputOutputSupported(Element activityElement, ActivityImpl activity, IoMapping inputOutput)protected booleancheckActivityOutputParameterSupported(Element activityElement, ActivityImpl activity)protected voidcollectElementIds()ActivityImplcreateActivityOnScope(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(java.lang.String id, Element element)protected EscalationEventDefinitioncreateEscalationEventDefinitionForEscalationHandler(Element escalationEventDefinitionElement, ActivityImpl escalationHandler, boolean cancelActivity, java.lang.String parentElementId)protected ParameterValueProvidercreateParameterValueProvider(java.lang.Object value, ExpressionManager expressionManager)BpmnParsedeployment(DeploymentEntity deployment)protected voidensureNoExpressionInMessageStartEvent(Element element, EventSubscriptionDeclaration messageStartEventSubscriptionDeclaration, java.lang.String parentElementId)protected voidensureNoIoMappingDefined(Element element)BpmnParseexecute()protected booleanexists(MessageJobDeclaration msgJobdecl, java.lang.String procDefKey, java.lang.String activityId)Checks whether the message declaration already exists.protected java.util.HashMap<java.lang.String,Element>filterCompensationHandlers(java.util.List<Element> activityElements)protected java.util.HashMap<java.lang.String,Element>filterIntermediateCatchEvents(java.util.List<Element> activityElements)protected EscalationfindEscalationForEscalationEventDefinition(Element escalationEventDefinition, java.lang.String escalationElementId)Find the referenced escalation of the given escalation event definition.protected java.lang.StringgetAssignmentId(java.lang.String expression, java.lang.String prefix)static java.lang.StringgetIdForMiBody(java.lang.String id)protected XMLImportergetImporter(java.lang.String importType, Element theImport)java.util.Map<java.lang.String,java.util.List<JobDeclaration<?,?>>>getJobDeclarations()java.util.List<JobDeclaration<?,?>>getJobDeclarationsByKey(java.lang.String processDefinitionKey)protected ActivityImplgetMultiInstanceScope(ActivityImpl activity)ProcessDefinitionEntitygetProcessDefinition(java.lang.String processDefinitionKey)java.util.List<ProcessDefinitionEntity>getProcessDefinitions()protected java.lang.StringgetStringValueFromAttributeOrElement(java.lang.String attributeName, java.lang.String elementName, Element element, java.lang.String ancestorElementId)protected booleanhasConnector(Element element)protected booleanhasMultipleConditionalEventDefinitionsWithSameCondition(EventSubscriptionDeclaration subscription, java.util.Collection<EventSubscriptionDeclaration> eventDefinitions)protected booleanhasMultipleEventDefinitionsWithSameName(EventSubscriptionDeclaration subscription, java.util.Collection<EventSubscriptionDeclaration> eventDefinitions, java.lang.String eventType)protected booleanhasMultipleMessageEventDefinitionsWithSameName(EventSubscriptionDeclaration subscription, java.util.Collection<EventSubscriptionDeclaration> eventDefinitions)protected booleanhasMultipleSignalEventDefinitionsWithSameName(EventSubscriptionDeclaration subscription, java.util.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(java.lang.String eventName, Element listenerElement, java.lang.String ancestorElementId)Check if the given event name is valid.BpmnParsename(java.lang.String name)voidparseActivities(java.util.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, java.util.Map<java.lang.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, java.lang.String bindingAttributeName)java.lang.BooleanparseBooleanAttribute(java.lang.String booleanText)java.lang.BooleanparseBooleanAttribute(java.lang.String booleanText, boolean defaultValue)protected ActivityBehaviorparseBoundaryCancelEventDefinition(Element cancelEventDefinition, ActivityImpl activity)protected voidparseBoundaryCompensateEventDefinition(Element compensateEventDefinition, ActivityImpl activity)BoundaryConditionalEventActivityBehaviorparseBoundaryConditionalEventDefinition(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)ActivityImplparseBusinessRuleTask(Element businessRuleTaskElement, ScopeImpl scope)Parses a businessRuleTask declaration.protected CallableElementParameterparseCallableElementProvider(Element parameterElement, java.lang.String ancestorElementId)ActivityImplparseCallActivity(Element callActivityElement, ScopeImpl scope, boolean isMultiInstance)Parses a call activity (currently only supporting calling subprocesses).java.util.List<CamundaErrorEventDefinition>parseCamundaErrorEventDefinitions(ActivityImpl activity, Element scopeElement)voidparseCollaboration()Parses the collaboration definition defined within the 'definitions' root element and get all participants to lookup their process references during DI parsing.protected java.util.List<java.lang.String>parseCommaSeparatedList(java.lang.String s)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, java.lang.String targetRef, java.util.Map<java.lang.String,Element> compensationHandlers)protected voidparseCompensationHandlers(ScopeImpl parentScope, java.util.Map<java.lang.String,Element> compensationHandlers)protected ConditionalEventDefinitionparseConditionalEventDefinition(Element element, ActivityImpl conditionalActivity)Parses the given element and returns an ConditionalEventDefinition object.ConditionalEventDefinitionparseConditionalStartEventForEventSubprocess(Element element, ActivityImpl conditionalActivity, boolean interrupting)Parses the given element as conditional start event of an event subprocess.protected ConditionparseConditionExpression(Element conditionExprElement, java.lang.String ancestorElementId)protected DecisionResultMapperparseDecisionResultMapper(Element businessRuleTaskElement)protected voidparseDefinitionsAttributes()voidparseDiagramInterchangeElements()protected voidparseDIBounds(Element bpmnShapeElement, HasDIBounds target)protected ActivityImplparseDmnBusinessRuleTask(Element businessRuleTaskElement, ScopeImpl scope)Parse a Business Rule Task which references a decision.static java.lang.StringparseDocumentation(java.util.List<java.lang.String> docStrings)java.lang.StringparseDocumentation(Element element)java.lang.DoubleparseDoubleAttribute(Element element, java.lang.String attributeName, java.lang.String doubleText, boolean required)protected voidparseEmailServiceTask(ActivityImpl activity, Element serviceTaskElement, java.util.List<FieldDeclaration> fieldDeclarations)voidparseEndEvents(Element parentElement, ScopeImpl scope)Parses the end events of a certain level in the process (process, subprocess or another scope).voidparseErrors()protected voidparseErrorStartEventDefinition(Element errorEventDefinition, ActivityImpl startEventActivity)protected voidparseEscalations()ActivityImplparseEventBasedGateway(Element eventBasedGwElement, Element parentElement, ScopeImpl scope)protected voidparseEventDefinitionForSubprocess(EventSubscriptionDeclaration subscriptionDeclaration, ActivityImpl activity, Element element)ActivityImplparseExclusiveGateway(Element exclusiveGwElement, ScopeImpl scope)Parses an exclusive gateway declaration.ExecutionListenerparseExecutionListener(Element executionListenerElement, java.lang.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, java.lang.String name)protected FieldDeclarationparseExpressionFieldDeclaration(Element fieldDeclarationElement, Element serviceTaskElement, java.lang.String fieldName)protected voidparseExternalServiceTask(ActivityImpl activity, Element serviceTaskElement, Element camundaPropertiesElement)protected FieldDeclarationparseFieldDeclaration(Element serviceTaskElement, Element fieldDeclarationElement)java.util.List<FieldDeclaration>parseFieldDeclarations(Element element)protected FormDefinitionparseFormDefinition(Element flowNodeElement)protected voidparseHumanPerformer(Element taskElement, TaskDefinition taskDefinition)protected voidparseHumanPerformerResourceAssignment(Element performerElement, TaskDefinition taskDefinition)protected voidparseImports()Parses the rootElement importing structuresActivityImplparseInclusiveGateway(Element inclusiveGwElement, ScopeImpl scope)Parses an inclusive gateway declaration.protected voidparseInputParameter(Element elementWithParameters, CallableElement callableElement)ActivityImplparseIntermediateCatchEvent(Element intermediateEventElement, ScopeImpl scopeElement, ActivityImpl eventBasedGateway)protected voidparseIntermediateCatchEvents(Element scopeElement, ScopeImpl parentScope, java.util.Map<java.lang.String,Element> intermediateCatchEventElements)ConditionalEventDefinitionparseIntermediateConditionalEventDefinition(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)ActivityImplparseIntermediateThrowEvent(Element intermediateEventElement, ScopeImpl scopeElement)protected voidparseIntermediateTimerEventDefinition(Element timerEventDefinition, ActivityImpl timerActivity)protected voidparseLanes(Element laneSetElement, LaneSet laneSet)protected voidparseLaneSets(Element parentElement, ProcessDefinitionEntity processDefinition)ActivityImplparseManualTask(Element manualTaskElement, ScopeImpl scope)Parses a manual task.protected EventSubscriptionDeclarationparseMessageEventDefinition(Element messageEventDefinition, java.lang.String messageElementId)voidparseMessages()Parses the messages of the given definitions file.ScopeImplparseMultiInstanceLoopCharacteristics(Element activityElement, ScopeImpl scope)Parses loopCharacteristics (standardLoop/Multi-instance) of an activity, if any is defined.protected voidparseOutputParameter(Element callActivityElement, ActivityImpl activity, CallableElement callableElement)ActivityImplparseParallelGateway(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, java.lang.String priorityAttribute)ProcessDefinitionEntityparseProcess(Element processElement)Parses one process (ie anything inside a <process> element).protected voidparseProcessDefinitionCustomExtensions(Element scopeElement, ProcessDefinition definition)voidparseProcessDefinitions()Parses 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, java.lang.String propertyName, java.lang.String propertyType)Parses the custom extensions for properties.ActivityImplparseReceiveTask(Element receiveTaskElement, ScopeImpl scope)Parses a receive task.protected java.lang.StringparseResultVariable(Element element)protected voidparseRootElement()Parses 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)ActivityImplparseScriptTask(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.ActivityImplparseSendTask(Element sendTaskElement, ScopeImpl scope)Parses a sendTask declaration.voidparseSequenceFlow(Element processElement, ScopeImpl scope, java.util.Map<java.lang.String,Element> compensationHandlers)Parses all sequence flow of a scope.voidparseSequenceFlowConditionExpression(Element seqFlowElement, TransitionImpl seqFlow)Parses a condition expression on a sequence flow.ActivityImplparseServiceTask(Element serviceTaskElement, ScopeImpl scope)Parses a serviceTask declaration.voidparseServiceTaskLike(ActivityImpl activity, java.lang.String elementName, Element serviceTaskElement, Element camundaPropertiesElement, ScopeImpl scope)protected voidparseShellServiceTask(ActivityImpl activity, Element serviceTaskElement, java.util.List<FieldDeclaration> fieldDeclarations)protected voidparseSignalCatchEventDefinition(Element element, ActivityImpl signalActivity, boolean isStartEvent)protected EventSubscriptionDeclarationparseSignalEventDefinition(Element signalEventDefinitionElement, boolean isThrowing, java.lang.String signalElementId)Parses the Signal Event Definition XML including payload definition.protected voidparseSignals()Parses 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(java.util.List<Element> startEventElements, ProcessDefinitionEntity processDefinition)protected FieldDeclarationparseStringFieldDeclaration(Element fieldDeclarationElement, Element serviceTaskElement, java.lang.String fieldName)ActivityImplparseSubProcess(Element subProcessElement, ScopeImpl scope)Parses a subprocess (formally known as an embedded subprocess): a subprocess defined within another process definition.ActivityImplparseTask(Element taskElement, ScopeImpl scope)Parses a task with no specific type (behaves as passthrough).TaskDefinitionparseTaskDefinition(Element taskElement, java.lang.String taskDefinitionKey, ActivityImpl activity, ProcessDefinitionEntity processDefinition)protected TaskListenerparseTaskListener(Element taskListenerElement, java.lang.String taskElementId)protected voidparseTaskListeners(Element userTaskElement, ActivityImpl activity, TaskDefinition taskDefinition)protected voidparseTenantId(Element callingActivityElement, ActivityImpl activity, BaseCallableElement callableElement, java.lang.String attrName)protected CompensateEventDefinitionparseThrowCompensateEventDefinition(Element compensateEventDefinitionElement, ScopeImpl scopeElement, java.lang.String parentElementId)protected TaskListenerparseTimeoutTaskListener(Element taskListenerElement, ActivityImpl timerActivity, TaskDefinition taskDefinition)protected TimerDeclarationImplparseTimer(Element timerEventDefinition, ActivityImpl timerActivity, java.lang.String jobHandlerType)protected voidparseTimerStartEventDefinition(Element timerEventDefinition, ActivityImpl timerActivity, ProcessDefinitionEntity processDefinition)protected voidparseTimerStartEventDefinitionForEventSubprocess(Element timerEventDefinition, ActivityImpl timerActivity, boolean interrupting)protected ParameterValueProviderparseTopic(Element element, java.lang.String topicAttribute)protected ActivityImplparseTransaction(Element transactionElement, ScopeImpl scope)ActivityImplparseUserTask(Element userTaskElement, ScopeImpl scope)Parses a userTask declaration.protected voidparseUserTaskCustomExtensions(Element taskElement, ActivityImpl activity, TaskDefinition taskDefinition)protected voidparseVersion(Element callingActivityElement, ActivityImpl activity, BaseCallableElement callableElement, java.lang.String bindingAttributeName, java.lang.String versionAttributeName)protected voidparseVersionTag(Element callingActivityElement, ActivityImpl activity, BaseCallableElement callableElement, java.lang.String bindingAttributeName, java.lang.String versionTagAttributeName)protected voidremoveMessageJobDeclarationWithJobConfiguration(ActivityImpl activity, java.lang.String jobConfiguration)Removes a job declaration which belongs to the given activity and has the given job configuration.protected java.lang.StringresolveName(java.lang.String name)protected voidselectInitial(java.util.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.BpmnParsesourceInputStream(java.io.InputStream inputStream)BpmnParsesourceResource(java.lang.String resource)BpmnParsesourceResource(java.lang.String resource, java.lang.ClassLoader classLoader)BpmnParsesourceString(java.lang.String string)BpmnParsesourceUrl(java.lang.String url)BpmnParsesourceUrl(java.net.URL url)voidvalidateActivities(java.util.List<ActivityImpl> activities)protected voidvalidateActivity(ActivityImpl activity)protected voidvalidateCatchCompensateEventDefinition(Element compensateEventDefinitionElement, java.lang.String parentElementId)voidvalidateExclusiveGateway(ActivityImpl activity)protected voidvalidateFieldDeclarationsForEmail(Element serviceTaskElement, java.util.List<FieldDeclaration> fieldDeclarations)protected voidvalidateFieldDeclarationsForShell(Element serviceTaskElement, java.util.List<FieldDeclaration> fieldDeclarations)protected voidvalidateOutgoingFlows(ActivityImpl activity)protected voidvalidateServiceTaskLike(ActivityImpl activity, java.lang.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, throwExceptionForErrors
-
Methods inherited from class org.xml.sax.helpers.DefaultHandler
characters, endDocument, endElement, endPrefixMapping, error, fatalError, ignorableWhitespace, notationDecl, processingInstruction, resolveEntity, setDocumentLocator, skippedEntity, startDocument, startElement, startPrefixMapping, unparsedEntityDecl, warning
-
-
-
-
Field Detail
-
MULTI_INSTANCE_BODY_ID_SUFFIX
public static final java.lang.String MULTI_INSTANCE_BODY_ID_SUFFIX
- See Also:
- Constant Field Values
-
LOG
protected static final BpmnParseLogger LOG
-
PROPERTYNAME_DOCUMENTATION
public static final java.lang.String PROPERTYNAME_DOCUMENTATION
- See Also:
- Constant Field Values
-
PROPERTYNAME_INITIATOR_VARIABLE_NAME
public static final java.lang.String PROPERTYNAME_INITIATOR_VARIABLE_NAME
- See Also:
- Constant Field Values
-
PROPERTYNAME_HAS_CONDITIONAL_EVENTS
public static final java.lang.String PROPERTYNAME_HAS_CONDITIONAL_EVENTS
- See Also:
- Constant Field Values
-
PROPERTYNAME_CONDITION
public static final java.lang.String PROPERTYNAME_CONDITION
- See Also:
- Constant Field Values
-
PROPERTYNAME_CONDITION_TEXT
public static final java.lang.String PROPERTYNAME_CONDITION_TEXT
- See Also:
- Constant Field Values
-
PROPERTYNAME_VARIABLE_DECLARATIONS
public static final java.lang.String PROPERTYNAME_VARIABLE_DECLARATIONS
- See Also:
- Constant Field Values
-
PROPERTYNAME_TIMER_DECLARATION
public static final java.lang.String PROPERTYNAME_TIMER_DECLARATION
- See Also:
- Constant Field Values
-
PROPERTYNAME_MESSAGE_JOB_DECLARATION
public static final java.lang.String PROPERTYNAME_MESSAGE_JOB_DECLARATION
- See Also:
- Constant Field Values
-
PROPERTYNAME_ISEXPANDED
public static final java.lang.String PROPERTYNAME_ISEXPANDED
- See Also:
- Constant Field Values
-
PROPERTYNAME_START_TIMER
public static final java.lang.String PROPERTYNAME_START_TIMER
- See Also:
- Constant Field Values
-
PROPERTYNAME_COMPENSATION_HANDLER_ID
public static final java.lang.String PROPERTYNAME_COMPENSATION_HANDLER_ID
- See Also:
- Constant Field Values
-
PROPERTYNAME_IS_FOR_COMPENSATION
public static final java.lang.String PROPERTYNAME_IS_FOR_COMPENSATION
- See Also:
- Constant Field Values
-
PROPERTYNAME_EVENT_SUBSCRIPTION_JOB_DECLARATION
public static final java.lang.String PROPERTYNAME_EVENT_SUBSCRIPTION_JOB_DECLARATION
- See Also:
- Constant Field Values
-
PROPERTYNAME_THROWS_COMPENSATION
public static final java.lang.String PROPERTYNAME_THROWS_COMPENSATION
- See Also:
- Constant Field Values
-
PROPERTYNAME_CONSUMES_COMPENSATION
public static final java.lang.String PROPERTYNAME_CONSUMES_COMPENSATION
- See Also:
- Constant Field Values
-
PROPERTYNAME_JOB_PRIORITY
public static final java.lang.String PROPERTYNAME_JOB_PRIORITY
- See Also:
- Constant Field Values
-
PROPERTYNAME_TASK_PRIORITY
public static final java.lang.String PROPERTYNAME_TASK_PRIORITY
- See Also:
- Constant Field Values
-
PROPERTYNAME_EXTERNAL_TASK_TOPIC
public static final java.lang.String PROPERTYNAME_EXTERNAL_TASK_TOPIC
- See Also:
- Constant Field Values
-
PROPERTYNAME_CLASS
public static final java.lang.String PROPERTYNAME_CLASS
- See Also:
- Constant Field Values
-
PROPERTYNAME_EXPRESSION
public static final java.lang.String PROPERTYNAME_EXPRESSION
- See Also:
- Constant Field Values
-
PROPERTYNAME_DELEGATE_EXPRESSION
public static final java.lang.String PROPERTYNAME_DELEGATE_EXPRESSION
- See Also:
- Constant Field Values
-
PROPERTYNAME_VARIABLE_MAPPING_CLASS
public static final java.lang.String PROPERTYNAME_VARIABLE_MAPPING_CLASS
- See Also:
- Constant Field Values
-
PROPERTYNAME_VARIABLE_MAPPING_DELEGATE_EXPRESSION
public static final java.lang.String PROPERTYNAME_VARIABLE_MAPPING_DELEGATE_EXPRESSION
- See Also:
- Constant Field Values
-
PROPERTYNAME_RESOURCE
public static final java.lang.String PROPERTYNAME_RESOURCE
- See Also:
- Constant Field Values
-
PROPERTYNAME_LANGUAGE
public static final java.lang.String PROPERTYNAME_LANGUAGE
- See Also:
- Constant Field Values
-
TYPE
public static final java.lang.String TYPE
- See Also:
- Constant Field Values
-
TRUE
public static final java.lang.String TRUE
- See Also:
- Constant Field Values
-
INTERRUPTING
public static final java.lang.String INTERRUPTING
- See Also:
- Constant Field Values
-
CONDITIONAL_EVENT_DEFINITION
public static final java.lang.String CONDITIONAL_EVENT_DEFINITION
- See Also:
- Constant Field Values
-
ESCALATION_EVENT_DEFINITION
public static final java.lang.String ESCALATION_EVENT_DEFINITION
- See Also:
- Constant Field Values
-
COMPENSATE_EVENT_DEFINITION
public static final java.lang.String COMPENSATE_EVENT_DEFINITION
- See Also:
- Constant Field Values
-
TIMER_EVENT_DEFINITION
public static final java.lang.String TIMER_EVENT_DEFINITION
- See Also:
- Constant Field Values
-
SIGNAL_EVENT_DEFINITION
public static final java.lang.String SIGNAL_EVENT_DEFINITION
- See Also:
- Constant Field Values
-
MESSAGE_EVENT_DEFINITION
public static final java.lang.String MESSAGE_EVENT_DEFINITION
- See Also:
- Constant Field Values
-
ERROR_EVENT_DEFINITION
public static final java.lang.String ERROR_EVENT_DEFINITION
- See Also:
- Constant Field Values
-
CANCEL_EVENT_DEFINITION
public static final java.lang.String CANCEL_EVENT_DEFINITION
- See Also:
- Constant Field Values
-
LINK_EVENT_DEFINITION
public static final java.lang.String LINK_EVENT_DEFINITION
- See Also:
- Constant Field Values
-
CONDITION_EXPRESSION
public static final java.lang.String CONDITION_EXPRESSION
- See Also:
- Constant Field Values
-
CONDITION
public static final java.lang.String CONDITION
- See Also:
- Constant Field Values
-
VARIABLE_EVENTS
public static final java.util.List<java.lang.String> VARIABLE_EVENTS
-
PROPERTYNAME_TYPE
@Deprecated public static final java.lang.String PROPERTYNAME_TYPE
Deprecated.
-
PROPERTYNAME_ERROR_EVENT_DEFINITIONS
@Deprecated public static final java.lang.String PROPERTYNAME_ERROR_EVENT_DEFINITIONS
Deprecated.
-
POTENTIAL_STARTER
protected static final java.lang.String POTENTIAL_STARTER
- See Also:
- Constant Field Values
-
CANDIDATE_STARTER_USERS_EXTENSION
protected static final java.lang.String CANDIDATE_STARTER_USERS_EXTENSION
- See Also:
- Constant Field Values
-
CANDIDATE_STARTER_GROUPS_EXTENSION
protected static final java.lang.String CANDIDATE_STARTER_GROUPS_EXTENSION
- See Also:
- Constant Field Values
-
ATTRIBUTEVALUE_T_FORMAL_EXPRESSION
protected static final java.lang.String ATTRIBUTEVALUE_T_FORMAL_EXPRESSION
- See Also:
- Constant Field Values
-
PROPERTYNAME_IS_MULTI_INSTANCE
public static final java.lang.String PROPERTYNAME_IS_MULTI_INSTANCE
- See Also:
- Constant Field Values
-
CAMUNDA_BPMN_EXTENSIONS_NS
public static final Namespace CAMUNDA_BPMN_EXTENSIONS_NS
-
XSI_NS
public static final Namespace XSI_NS
-
BPMN_DI_NS
public static final Namespace BPMN_DI_NS
-
OMG_DI_NS
public static final Namespace OMG_DI_NS
-
BPMN_DC_NS
public static final Namespace BPMN_DC_NS
-
ALL
public static final java.lang.String ALL
- See Also:
- Constant Field Values
-
deployment
protected DeploymentEntity deployment
The deployment to which the parsed process definitions will be added.
-
processDefinitions
protected java.util.List<ProcessDefinitionEntity> processDefinitions
The end result of the parsing: a list of process definition.
-
errors
protected java.util.Map<java.lang.String,Error> errors
Mapping of found errors in BPMN 2.0 file
-
escalations
protected java.util.Map<java.lang.String,Escalation> escalations
Mapping of found escalation elements
-
jobDeclarations
protected java.util.Map<java.lang.String,java.util.List<JobDeclaration<?,?>>> jobDeclarations
Mapping from a process definition key to his containing list of job declarations
-
sequenceFlows
protected java.util.Map<java.lang.String,TransitionImpl> sequenceFlows
A map for storing sequence flow based on their id during parsing.
-
elementIds
protected java.util.List<java.lang.String> 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
protected java.util.Map<java.lang.String,java.lang.String> participantProcesses
A map for storing the process references of participants
-
messages
protected java.util.Map<java.lang.String,MessageDefinition> 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
protected java.util.Map<java.lang.String,SignalDefinition> signals
-
expressionManager
protected ExpressionManager expressionManager
-
parseListeners
protected java.util.List<BpmnParseListener> parseListeners
-
importers
protected java.util.Map<java.lang.String,XMLImporter> importers
-
prefixs
protected java.util.Map<java.lang.String,java.lang.String> prefixs
-
targetNamespace
protected java.lang.String targetNamespace
-
HUMAN_PERFORMER
protected static final java.lang.String HUMAN_PERFORMER
- See Also:
- Constant Field Values
-
POTENTIAL_OWNER
protected static final java.lang.String POTENTIAL_OWNER
- See Also:
- Constant Field Values
-
RESOURCE_ASSIGNMENT_EXPR
protected static final java.lang.String RESOURCE_ASSIGNMENT_EXPR
- See Also:
- Constant Field Values
-
FORMAL_EXPRESSION
protected static final java.lang.String FORMAL_EXPRESSION
- See Also:
- Constant Field Values
-
USER_PREFIX
protected static final java.lang.String USER_PREFIX
- See Also:
- Constant Field Values
-
GROUP_PREFIX
protected static final java.lang.String GROUP_PREFIX
- See Also:
- Constant Field Values
-
ASSIGNEE_EXTENSION
protected static final java.lang.String ASSIGNEE_EXTENSION
- See Also:
- Constant Field Values
-
CANDIDATE_USERS_EXTENSION
protected static final java.lang.String CANDIDATE_USERS_EXTENSION
- See Also:
- Constant Field Values
-
CANDIDATE_GROUPS_EXTENSION
protected static final java.lang.String CANDIDATE_GROUPS_EXTENSION
- See Also:
- Constant Field Values
-
DUE_DATE_EXTENSION
protected static final java.lang.String DUE_DATE_EXTENSION
- See Also:
- Constant Field Values
-
FOLLOW_UP_DATE_EXTENSION
protected static final java.lang.String FOLLOW_UP_DATE_EXTENSION
- See Also:
- Constant Field Values
-
PRIORITY_EXTENSION
protected static final java.lang.String PRIORITY_EXTENSION
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
BpmnParse
public BpmnParse(BpmnParser parser)
Constructor to be called by theBpmnParser.
-
-
Method Detail
-
deployment
public BpmnParse deployment(DeploymentEntity deployment)
-
parseRootElement
protected void parseRootElement()
Parses the 'definitions' root element
-
collectElementIds
protected void collectElementIds()
-
parseDefinitionsAttributes
protected void parseDefinitionsAttributes()
-
resolveName
protected java.lang.String resolveName(java.lang.String name)
-
parseImports
protected void parseImports()
Parses the rootElement importing structures
-
getImporter
protected XMLImporter getImporter(java.lang.String importType, Element theImport)
-
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
protected Escalation createEscalation(java.lang.String id, Element element)
-
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
public ProcessDefinitionEntity parseProcess(Element processElement)
Parses one process (ie anything inside a <process> element).- Parameters:
processElement- The 'process' element.- Returns:
- The parsed version of the XML: a
ProcessDefinitionImplobject.
-
parseLaneSets
protected void parseLaneSets(Element parentElement, ProcessDefinitionEntity processDefinition)
-
parseScope
public void parseScope(Element scopeElement, ScopeImpl parentScope)
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
protected java.util.HashMap<java.lang.String,Element> filterIntermediateCatchEvents(java.util.List<Element> activityElements)
-
filterCompensationHandlers
protected java.util.HashMap<java.lang.String,Element> filterCompensationHandlers(java.util.List<Element> activityElements)
-
parseIntermediateCatchEvents
protected void parseIntermediateCatchEvents(Element scopeElement, ScopeImpl parentScope, java.util.Map<java.lang.String,Element> intermediateCatchEventElements)
-
parseProcessDefinitionCustomExtensions
protected void parseProcessDefinitionCustomExtensions(Element scopeElement, ProcessDefinition definition)
-
parseStartAuthorization
protected void parseStartAuthorization(Element scopeElement, ProcessDefinition definition)
-
parsePotentialStarterResourceAssignment
protected void parsePotentialStarterResourceAssignment(Element performerElement, ProcessDefinitionEntity processDefinition)
-
parseAssociations
protected void parseAssociations(Element scopeElement, ScopeImpl parentScope, java.util.Map<java.lang.String,Element> compensationHandlers)
-
parseCompensationHandlerForCompensationBoundaryEvent
protected ActivityImpl parseCompensationHandlerForCompensationBoundaryEvent(ScopeImpl parentScope, ActivityImpl sourceActivity, java.lang.String targetRef, java.util.Map<java.lang.String,Element> compensationHandlers)
-
parseAssociationOfCompensationBoundaryEvent
protected void parseAssociationOfCompensationBoundaryEvent(Element associationElement, ActivityImpl sourceActivity, ActivityImpl targetActivity)
-
parseCompensationHandlers
protected void parseCompensationHandlers(ScopeImpl parentScope, java.util.Map<java.lang.String,Element> compensationHandlers)
-
parseStartEvents
public void parseStartEvents(Element parentElement, ScopeImpl scope)
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(java.util.List<ActivityImpl> startEventActivities, ProcessDefinitionEntity processDefinition, Element parentElement)
-
parseProcessDefinitionStartEvent
protected void parseProcessDefinitionStartEvent(ActivityImpl startEventActivity, Element startEventElement, Element parentElement, ScopeImpl scope)
-
parseStartFormHandlers
protected void parseStartFormHandlers(java.util.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, java.lang.String messageElementId)
-
addEventSubscriptionDeclaration
protected void addEventSubscriptionDeclaration(EventSubscriptionDeclaration subscription, ScopeImpl scope, Element element)
-
hasMultipleMessageEventDefinitionsWithSameName
protected boolean hasMultipleMessageEventDefinitionsWithSameName(EventSubscriptionDeclaration subscription, java.util.Collection<EventSubscriptionDeclaration> eventDefinitions)
-
hasMultipleSignalEventDefinitionsWithSameName
protected boolean hasMultipleSignalEventDefinitionsWithSameName(EventSubscriptionDeclaration subscription, java.util.Collection<EventSubscriptionDeclaration> eventDefinitions)
-
hasMultipleConditionalEventDefinitionsWithSameCondition
protected boolean hasMultipleConditionalEventDefinitionsWithSameCondition(EventSubscriptionDeclaration subscription, java.util.Collection<EventSubscriptionDeclaration> eventDefinitions)
-
hasMultipleEventDefinitionsWithSameName
protected boolean hasMultipleEventDefinitionsWithSameName(EventSubscriptionDeclaration subscription, java.util.Collection<EventSubscriptionDeclaration> eventDefinitions, java.lang.String eventType)
-
addEventSubscriptionJobDeclaration
protected void addEventSubscriptionJobDeclaration(EventSubscriptionJobDeclaration jobDeclaration, ActivityImpl activity, Element element)
-
activityAlreadyContainsJobDeclarationEventType
protected boolean activityAlreadyContainsJobDeclarationEventType(java.util.List<EventSubscriptionJobDeclaration> jobDeclarationsForActivity, EventSubscriptionJobDeclaration jobDeclaration)
Assumes that an activity has at most one declaration of a certain eventType.
-
parseActivities
public void parseActivities(java.util.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
public void validateActivities(java.util.List<ActivityImpl> activities)
-
validateActivity
protected void validateActivity(ActivityImpl activity)
-
validateOutgoingFlows
protected void validateOutgoingFlows(ActivityImpl activity)
-
validateExclusiveGateway
public void validateExclusiveGateway(ActivityImpl activity)
-
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, java.lang.String parentElementId)
-
validateCatchCompensateEventDefinition
protected void validateCatchCompensateEventDefinition(Element compensateEventDefinitionElement, java.lang.String parentElementId)
-
parseBoundaryCompensateEventDefinition
protected void parseBoundaryCompensateEventDefinition(Element compensateEventDefinition, ActivityImpl activity)
-
parseBoundaryCancelEventDefinition
protected ActivityBehavior parseBoundaryCancelEventDefinition(Element cancelEventDefinition, ActivityImpl activity)
-
parseMultiInstanceLoopCharacteristics
public ScopeImpl parseMultiInstanceLoopCharacteristics(Element activityElement, ScopeImpl scope)
Parses loopCharacteristics (standardLoop/Multi-instance) of an activity, if any is defined.
-
getIdForMiBody
public static java.lang.String getIdForMiBody(java.lang.String id)
-
createActivityOnScope
public ActivityImpl createActivityOnScope(Element activityElement, ScopeImpl scopeElement)
Parses the generic information of an activity element (id, name, documentation, etc.), and creates a newActivityImplon the given scope element.
-
setActivityAsyncDelegates
protected void setActivityAsyncDelegates(ActivityImpl activity)
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
protected boolean exists(MessageJobDeclaration msgJobdecl, java.lang.String procDefKey, java.lang.String activityId)
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, java.lang.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
public java.lang.String parseDocumentation(Element element)
-
parseDocumentation
public static java.lang.String parseDocumentation(java.util.List<java.lang.String> docStrings)
-
isCompensationHandler
protected boolean isCompensationHandler(Element activityElement)
-
parseExclusiveGateway
public ActivityImpl parseExclusiveGateway(Element exclusiveGwElement, ScopeImpl scope)
Parses an exclusive gateway declaration.
-
parseInclusiveGateway
public ActivityImpl parseInclusiveGateway(Element inclusiveGwElement, ScopeImpl scope)
Parses an inclusive gateway declaration.
-
parseEventBasedGateway
public ActivityImpl parseEventBasedGateway(Element eventBasedGwElement, Element parentElement, ScopeImpl scope)
-
parseParallelGateway
public ActivityImpl parseParallelGateway(Element parallelGwElement, ScopeImpl scope)
Parses a parallel gateway declaration.
-
parseScriptTask
public ActivityImpl parseScriptTask(Element scriptTaskElement, ScopeImpl scope)
Parses a scriptTask declaration.
-
parseScriptTaskElement
protected ScriptTaskActivityBehavior parseScriptTaskElement(Element scriptTaskElement)
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
protected java.lang.String parseResultVariable(Element element)
-
parseServiceTask
public ActivityImpl parseServiceTask(Element serviceTaskElement, ScopeImpl scope)
Parses a serviceTask declaration.
-
parseServiceTaskLike
public void parseServiceTaskLike(ActivityImpl activity, java.lang.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, java.lang.String elementName, Element serviceTaskElement)
-
parseBusinessRuleTask
public ActivityImpl parseBusinessRuleTask(Element businessRuleTaskElement, ScopeImpl scope)
Parses a businessRuleTask declaration.
-
parseDmnBusinessRuleTask
protected ActivityImpl parseDmnBusinessRuleTask(Element businessRuleTaskElement, ScopeImpl scope)
Parse a Business Rule Task which references a decision.
-
parseDecisionResultMapper
protected DecisionResultMapper parseDecisionResultMapper(Element businessRuleTaskElement)
-
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
protected void parseAsynchronousContinuation(Element element, ActivityImpl activity)
Parse async continuation of the given element and create async jobs for the activity.- Parameters:
element- with async characteristicsactivity-
-
parsePriority
protected ParameterValueProvider parsePriority(Element element, java.lang.String priorityAttribute)
-
parseTopic
protected ParameterValueProvider parseTopic(Element element, java.lang.String topicAttribute)
-
addMessageJobDeclarationToActivity
protected void addMessageJobDeclarationToActivity(MessageJobDeclaration messageJobDeclaration, ActivityImpl activity)
-
addJobDeclarationToProcessDefinition
protected void addJobDeclarationToProcessDefinition(JobDeclaration<?,?> jobDeclaration, ProcessDefinition processDefinition)
-
parseSendTask
public ActivityImpl parseSendTask(Element sendTaskElement, ScopeImpl scope)
Parses a sendTask declaration.
-
parseEmailServiceTask
protected void parseEmailServiceTask(ActivityImpl activity, Element serviceTaskElement, java.util.List<FieldDeclaration> fieldDeclarations)
-
parseShellServiceTask
protected void parseShellServiceTask(ActivityImpl activity, Element serviceTaskElement, java.util.List<FieldDeclaration> fieldDeclarations)
-
parseExternalServiceTask
protected void parseExternalServiceTask(ActivityImpl activity, Element serviceTaskElement, Element camundaPropertiesElement)
-
validateFieldDeclarationsForEmail
protected void validateFieldDeclarationsForEmail(Element serviceTaskElement, java.util.List<FieldDeclaration> fieldDeclarations)
-
validateFieldDeclarationsForShell
protected void validateFieldDeclarationsForShell(Element serviceTaskElement, java.util.List<FieldDeclaration> fieldDeclarations)
-
parseFieldDeclarations
public java.util.List<FieldDeclaration> parseFieldDeclarations(Element element)
-
parseFieldDeclaration
protected FieldDeclaration parseFieldDeclaration(Element serviceTaskElement, Element fieldDeclarationElement)
-
parseStringFieldDeclaration
protected FieldDeclaration parseStringFieldDeclaration(Element fieldDeclarationElement, Element serviceTaskElement, java.lang.String fieldName)
-
parseExpressionFieldDeclaration
protected FieldDeclaration parseExpressionFieldDeclaration(Element fieldDeclarationElement, Element serviceTaskElement, java.lang.String fieldName)
-
getStringValueFromAttributeOrElement
protected java.lang.String getStringValueFromAttributeOrElement(java.lang.String attributeName, java.lang.String elementName, Element element, java.lang.String ancestorElementId)
-
parseTask
public ActivityImpl parseTask(Element taskElement, ScopeImpl scope)
Parses a task with no specific type (behaves as passthrough).
-
parseManualTask
public ActivityImpl parseManualTask(Element manualTaskElement, ScopeImpl scope)
Parses a manual task.
-
parseReceiveTask
public ActivityImpl parseReceiveTask(Element receiveTaskElement, ScopeImpl scope)
Parses a receive task.
-
parseUserTask
public ActivityImpl parseUserTask(Element userTaskElement, ScopeImpl scope)
Parses a userTask declaration.
-
parseTaskDefinition
public TaskDefinition parseTaskDefinition(Element taskElement, java.lang.String taskDefinitionKey, ActivityImpl activity, ProcessDefinitionEntity processDefinition)
-
parseFormDefinition
protected FormDefinition parseFormDefinition(Element flowNodeElement)
-
parseHumanPerformer
protected void parseHumanPerformer(Element taskElement, TaskDefinition taskDefinition)
-
parsePotentialOwner
protected void parsePotentialOwner(Element taskElement, TaskDefinition taskDefinition)
-
parseHumanPerformerResourceAssignment
protected void parseHumanPerformerResourceAssignment(Element performerElement, TaskDefinition taskDefinition)
-
parsePotentialOwnerResourceAssignment
protected void parsePotentialOwnerResourceAssignment(Element performerElement, TaskDefinition taskDefinition)
-
getAssignmentId
protected java.lang.String getAssignmentId(java.lang.String expression, java.lang.String prefix)
-
parseUserTaskCustomExtensions
protected void parseUserTaskCustomExtensions(Element taskElement, ActivityImpl activity, TaskDefinition taskDefinition)
-
parseCommaSeparatedList
protected java.util.List<java.lang.String> parseCommaSeparatedList(java.lang.String s)
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
protected TaskListener parseTaskListener(Element taskListenerElement, java.lang.String taskElementId)
-
parseTimeoutTaskListener
protected TaskListener parseTimeoutTaskListener(Element taskListenerElement, ActivityImpl timerActivity, TaskDefinition taskDefinition)
-
parseEndEvents
public void parseEndEvents(Element parentElement, ScopeImpl scope)
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
public void parseBoundaryEvents(Element parentElement, ScopeImpl flowScope)
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 java.util.List<CamundaErrorEventDefinition> parseCamundaErrorEventDefinitions(ActivityImpl activity, Element scopeElement)
-
getMultiInstanceScope
protected ActivityImpl getMultiInstanceScope(ActivityImpl activity)
-
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
protected void parseIntermediateSignalEventDefinition(Element element, ActivityImpl signalActivity)
-
parseSignalCatchEventDefinition
protected void parseSignalCatchEventDefinition(Element element, ActivityImpl signalActivity, boolean isStartEvent)
-
parseSignalEventDefinition
protected EventSubscriptionDeclaration parseSignalEventDefinition(Element signalEventDefinitionElement, boolean isThrowing, java.lang.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, java.lang.String jobHandlerType)
-
parseExpression
protected Expression parseExpression(Element parent, java.lang.String name)
-
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, java.lang.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, java.lang.String parentElementId)
-
addEscalationEventDefinition
protected void addEscalationEventDefinition(ScopeImpl catchingScope, EscalationEventDefinition escalationEventDefinition, Element element, java.lang.String escalationElementId)
-
addTimerDeclaration
protected void addTimerDeclaration(ScopeImpl scope, TimerDeclarationImpl timerDeclaration)
-
addTimerListenerDeclaration
protected void addTimerListenerDeclaration(java.lang.String listenerId, ScopeImpl scope, TimerDeclarationImpl timerDeclaration)
-
addVariableDeclaration
protected void addVariableDeclaration(ScopeImpl scope, VariableDeclaration variableDeclaration)
-
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
public ActivityImpl parseSubProcess(Element subProcessElement, ScopeImpl scope)
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
protected ActivityImpl parseTransaction(Element transactionElement, ScopeImpl scope)
-
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, java.lang.String bindingAttributeName)
-
parseTenantId
protected void parseTenantId(Element callingActivityElement, ActivityImpl activity, BaseCallableElement callableElement, java.lang.String attrName)
-
parseVersion
protected void parseVersion(Element callingActivityElement, ActivityImpl activity, BaseCallableElement callableElement, java.lang.String bindingAttributeName, java.lang.String versionAttributeName)
-
parseVersionTag
protected void parseVersionTag(Element callingActivityElement, ActivityImpl activity, BaseCallableElement callableElement, java.lang.String bindingAttributeName, java.lang.String versionTagAttributeName)
-
parseInputParameter
protected void parseInputParameter(Element elementWithParameters, CallableElement callableElement)
-
parseOutputParameter
protected void parseOutputParameter(Element callActivityElement, ActivityImpl activity, CallableElement callableElement)
-
attributeValueEquals
protected boolean attributeValueEquals(Element element, java.lang.String attribute, java.lang.String comparisonValue)
-
parseCallableElementProvider
protected CallableElementParameter parseCallableElementProvider(Element parameterElement, java.lang.String ancestorElementId)
-
parseProperties
public void parseProperties(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.- Parameters:
element- The element that can contain properties.activity- The activity where the property declaration is done.
-
parseProperty
public void parseProperty(Element propertyElement, ActivityImpl activity)
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, java.lang.String propertyName, java.lang.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, java.util.Map<java.lang.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
public void parseSequenceFlowConditionExpression(Element seqFlowElement, TransitionImpl seqFlow)
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
protected Condition parseConditionExpression(Element conditionExprElement, java.lang.String ancestorElementId)
-
parseExecutionListenersOnScope
public void parseExecutionListenersOnScope(Element scopeElement, ScopeImpl scope)
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(java.lang.String eventName, Element listenerElement, java.lang.String ancestorElementId)Check if the given event name is valid. If not, an appropriate error is added.
-
parseExecutionListenersOnTransition
public void parseExecutionListenersOnTransition(Element activitiElement, TransitionImpl activity)
-
parseExecutionListener
public ExecutionListener parseExecutionListener(Element executionListenerElement, java.lang.String ancestorElementId)
Parses anExecutionListenerimplementation for the given executionListener element.- Parameters:
executionListenerElement- the XML element containing the executionListener definition.
-
parseDiagramInterchangeElements
public void parseDiagramInterchangeElements()
-
parseBPMNDiagram
public void parseBPMNDiagram(Element bpmndiagramElement)
-
parseBPMNPlane
public void parseBPMNPlane(Element bpmnPlaneElement)
-
parseBPMNShape
public void parseBPMNShape(Element bpmnShapeElement)
-
parseDIBounds
protected void parseDIBounds(Element bpmnShapeElement, HasDIBounds target)
-
parseBPMNEdge
public void parseBPMNEdge(Element bpmnEdgeElement)
-
getProcessDefinitions
public java.util.List<ProcessDefinitionEntity> getProcessDefinitions()
-
getProcessDefinition
public ProcessDefinitionEntity getProcessDefinition(java.lang.String processDefinitionKey)
-
sourceInputStream
public BpmnParse sourceInputStream(java.io.InputStream inputStream)
- Overrides:
sourceInputStreamin classParse
-
sourceResource
public BpmnParse sourceResource(java.lang.String resource, java.lang.ClassLoader classLoader)
- Overrides:
sourceResourcein classParse
-
sourceResource
public BpmnParse sourceResource(java.lang.String resource)
- Overrides:
sourceResourcein classParse
-
sourceString
public BpmnParse sourceString(java.lang.String string)
- Overrides:
sourceStringin classParse
-
parseBooleanAttribute
public java.lang.Boolean parseBooleanAttribute(java.lang.String booleanText, boolean defaultValue)
-
parseBooleanAttribute
public java.lang.Boolean parseBooleanAttribute(java.lang.String booleanText)
-
parseDoubleAttribute
public java.lang.Double parseDoubleAttribute(Element element, java.lang.String attributeName, java.lang.String doubleText, boolean required)
-
isStartable
protected boolean isStartable(Element element)
-
isExclusive
protected boolean isExclusive(Element element)
-
isAsyncBefore
protected boolean isAsyncBefore(Element element)
-
isAsyncAfter
protected boolean isAsyncAfter(Element element)
-
isServiceTaskLike
protected boolean isServiceTaskLike(Element element)
-
hasConnector
protected boolean hasConnector(Element element)
-
getJobDeclarations
public java.util.Map<java.lang.String,java.util.List<JobDeclaration<?,?>>> getJobDeclarations()
-
getJobDeclarationsByKey
public java.util.List<JobDeclaration<?,?>> getJobDeclarationsByKey(java.lang.String processDefinitionKey)
-
parseActivityInputOutput
protected void parseActivityInputOutput(Element activityElement, ActivityImpl activity)
-
checkActivityInputOutputSupported
protected boolean checkActivityInputOutputSupported(Element activityElement, ActivityImpl activity, IoMapping inputOutput)
-
checkActivityOutputParameterSupported
protected boolean checkActivityOutputParameterSupported(Element activityElement, ActivityImpl activity)
-
ensureNoIoMappingDefined
protected void ensureNoIoMappingDefined(Element element)
-
createParameterValueProvider
protected ParameterValueProvider createParameterValueProvider(java.lang.Object value, ExpressionManager expressionManager)
-
addTimeCycleWarning
protected void addTimeCycleWarning(Element timeCycleElement, java.lang.String type, java.lang.String timerElementId)
-
ensureNoExpressionInMessageStartEvent
protected void ensureNoExpressionInMessageStartEvent(Element element, EventSubscriptionDeclaration messageStartEventSubscriptionDeclaration, java.lang.String parentElementId)
-
-