Class BpmnParse
java.lang.Object
org.flowable.engine.impl.bpmn.parser.BpmnParse
- All Implemented Interfaces:
BpmnXMLConstants
Specific parsing of one BPMN 2.0 XML file, created by the
BpmnParser.- Author:
- Tijs Rademakers, Joram Barrez
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected ActivityBehaviorFactoryprotected BpmnModelprotected BpmnParseHandlersprotected FlowElementprotected Processprotected ProcessDefinitionEntityprotected LinkedList<SubProcess>protected EngineDeploymentThe deployment to which the parsed process definitions will be added.protected ListenerFactoryprotected static final org.slf4j.Loggerprotected StringMapping containing values stored during the first phase of parsing since other elements can reference these messages.protected 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 Stringstatic final Stringstatic final Stringstatic final Stringprotected Map<String,SequenceFlow> A map for storing sequence flow based on their id during parsing.protected Stringprotected StreamSourceprotected Stringprotected booleanprotected booleanFields inherited from interface org.flowable.bpmn.constants.BpmnXMLConstants
ACTIVITI_EXTENSIONS_NAMESPACE, ACTIVITI_EXTENSIONS_PREFIX, ALFRESCO_TYPE, ATTRIBUTE_ACTIVITY_ASYNCHRONOUS, ATTRIBUTE_ACTIVITY_ASYNCHRONOUS_BEFORE, ATTRIBUTE_ACTIVITY_ASYNCHRONOUS_LEAVE, ATTRIBUTE_ACTIVITY_ASYNCHRONOUS_LEAVE_EXCLUSIVE, ATTRIBUTE_ACTIVITY_EXCLUSIVE, ATTRIBUTE_ACTIVITY_ISFORCOMPENSATION, ATTRIBUTE_ACTIVITY_TRIGGERABLE, ATTRIBUTE_ASSOCIATION_DIRECTION, ATTRIBUTE_BOUNDARY_ATTACHEDTOREF, ATTRIBUTE_BOUNDARY_CANCELACTIVITY, ATTRIBUTE_BUSINESS_KEY, ATTRIBUTE_CALENDAR_NAME, ATTRIBUTE_CALL_ACTIVITY_CALLEDELEMENT, ATTRIBUTE_CALL_ACTIVITY_CALLEDELEMENTTYPE, ATTRIBUTE_CALL_ACTIVITY_COMPLETE_ASYNC, ATTRIBUTE_CALL_ACTIVITY_INHERITVARIABLES, ATTRIBUTE_CALL_ACTIVITY_PROCESS_INSTANCE_NAME, ATTRIBUTE_CALL_ACTIVITY_USE_LOCALSCOPE_FOR_OUTPARAMETERS, ATTRIBUTE_CALLED_ELEMENT_BINDING, ATTRIBUTE_CANCEL_REMAINING_INSTANCES, ATTRIBUTE_CASE_TASK_CASE_DEFINITION_KEY, ATTRIBUTE_CASE_TASK_CASE_INSTANCE_NAME, ATTRIBUTE_COMPENSATE_ACTIVITYREF, ATTRIBUTE_COMPENSATE_WAITFORCOMPLETION, ATTRIBUTE_DATA_ID, ATTRIBUTE_DATA_ITEM_REF, ATTRIBUTE_DATA_NAME, ATTRIBUTE_DATA_STORE_REF, ATTRIBUTE_DEFAULT, ATTRIBUTE_DI_BPMNELEMENT, ATTRIBUTE_DI_HEIGHT, ATTRIBUTE_DI_IS_EXPANDED, ATTRIBUTE_DI_ROTATION, ATTRIBUTE_DI_SOURCE_DOCKER_X, ATTRIBUTE_DI_SOURCE_DOCKER_Y, ATTRIBUTE_DI_TARGET_DOCKER_X, ATTRIBUTE_DI_TARGET_DOCKER_Y, ATTRIBUTE_DI_WIDTH, ATTRIBUTE_DI_X, ATTRIBUTE_DI_Y, ATTRIBUTE_END_DATE, ATTRIBUTE_ERROR_CODE, ATTRIBUTE_ERROR_REF, ATTRIBUTE_ERROR_VARIABLE_LOCAL_SCOPE, ATTRIBUTE_ERROR_VARIABLE_NAME, ATTRIBUTE_ERROR_VARIABLE_TRANSIENT, ATTRIBUTE_ESCALATION_CODE, ATTRIBUTE_ESCALATION_REF, ATTRIBUTE_EVENT_START_INITIATOR, ATTRIBUTE_EVENT_START_INTERRUPTING, ATTRIBUTE_EXPORTER, ATTRIBUTE_EXPORTER_VERSION, ATTRIBUTE_FALLBACK_TO_DEFAULT_TENANT, ATTRIBUTE_FIELD_EXPRESSION, ATTRIBUTE_FIELD_NAME, ATTRIBUTE_FIELD_STRING, ATTRIBUTE_FLOW_SKIP_EXPRESSION, ATTRIBUTE_FLOW_SOURCE_REF, ATTRIBUTE_FLOW_TARGET_REF, ATTRIBUTE_FORM_DATEPATTERN, ATTRIBUTE_FORM_DEFAULT, ATTRIBUTE_FORM_EXPRESSION, ATTRIBUTE_FORM_FIELD_VALIDATION, ATTRIBUTE_FORM_FORMKEY, ATTRIBUTE_FORM_ID, ATTRIBUTE_FORM_NAME, ATTRIBUTE_FORM_READABLE, ATTRIBUTE_FORM_REQUIRED, ATTRIBUTE_FORM_TYPE, ATTRIBUTE_FORM_VARIABLE, ATTRIBUTE_FORM_WRITABLE, ATTRIBUTE_ID, ATTRIBUTE_ID_VARIABLE_NAME, ATTRIBUTE_IMPLEMENTATION_REF, ATTRIBUTE_IMPORT_TYPE, ATTRIBUTE_INHERIT_BUSINESS_KEY, ATTRIBUTE_IOPARAMETER_SOURCE, ATTRIBUTE_IOPARAMETER_SOURCE_EXPRESSION, ATTRIBUTE_IOPARAMETER_SOURCE_TYPE, ATTRIBUTE_IOPARAMETER_TARGET, ATTRIBUTE_IOPARAMETER_TARGET_EXPRESSION, ATTRIBUTE_IOPARAMETER_TARGET_TYPE, ATTRIBUTE_IOPARAMETER_TRANSIENT, ATTRIBUTE_IOPARAMETER_VARIABLES, ATTRIBUTE_ITEM_KIND, ATTRIBUTE_ITEM_REF, ATTRIBUTE_ITEM_SUBJECT_REF, ATTRIBUTE_LISTENER_CLASS, ATTRIBUTE_LISTENER_CUSTOM_PROPERTIES_RESOLVER_CLASS, ATTRIBUTE_LISTENER_CUSTOM_PROPERTIES_RESOLVER_DELEGATEEXPRESSION, ATTRIBUTE_LISTENER_CUSTOM_PROPERTIES_RESOLVER_EXPRESSION, ATTRIBUTE_LISTENER_DELEGATEEXPRESSION, ATTRIBUTE_LISTENER_ENTITY_TYPE, ATTRIBUTE_LISTENER_EVENT, ATTRIBUTE_LISTENER_EVENTS, ATTRIBUTE_LISTENER_EXPRESSION, ATTRIBUTE_LISTENER_ON_TRANSACTION, ATTRIBUTE_LISTENER_THROW_ERROR_EVENT_CODE, ATTRIBUTE_LISTENER_THROW_EVENT_TYPE, ATTRIBUTE_LISTENER_THROW_EVENT_TYPE_ERROR, ATTRIBUTE_LISTENER_THROW_EVENT_TYPE_GLOBAL_SIGNAL, ATTRIBUTE_LISTENER_THROW_EVENT_TYPE_MESSAGE, ATTRIBUTE_LISTENER_THROW_EVENT_TYPE_SIGNAL, ATTRIBUTE_LISTENER_THROW_MESSAGE_EVENT_NAME, ATTRIBUTE_LISTENER_THROW_SIGNAL_EVENT_NAME, ATTRIBUTE_LISTENER_TYPE, ATTRIBUTE_LISTENER_TYPE_SCRIPT, ATTRIBUTE_LOCATION, ATTRIBUTE_MESSAGE_EXPRESSION, ATTRIBUTE_MESSAGE_REF, ATTRIBUTE_MULTIINSTANCE_COLLECTION, ATTRIBUTE_MULTIINSTANCE_COLLECTION_CLASS, ATTRIBUTE_MULTIINSTANCE_COLLECTION_DELEGATEEXPRESSION, ATTRIBUTE_MULTIINSTANCE_INDEX_VARIABLE, ATTRIBUTE_MULTIINSTANCE_NO_WAIT_STATES_ASYNC_LEAVE, ATTRIBUTE_MULTIINSTANCE_SEQUENTIAL, ATTRIBUTE_MULTIINSTANCE_VARIABLE, ATTRIBUTE_NAME, ATTRIBUTE_NAMESPACE, ATTRIBUTE_ORDERING, ATTRIBUTE_PROCESS_CANDIDATE_GROUPS, ATTRIBUTE_PROCESS_CANDIDATE_USERS, ATTRIBUTE_PROCESS_EAGER_EXECUTION_FETCHING, ATTRIBUTE_PROCESS_EXECUTABLE, ATTRIBUTE_PROCESS_REF, ATTRIBUTE_SAME_DEPLOYMENT, ATTRIBUTE_SCOPE, ATTRIBUTE_SCRIPT_LANGUAGE, ATTRIBUTE_SCRIPT_RESULTVARIABLE, ATTRIBUTE_SIGNAL_EXPRESSION, ATTRIBUTE_SIGNAL_REF, ATTRIBUTE_STRUCTURE_REF, ATTRIBUTE_TASK_COMPLETER_VARIABLE_NAME, ATTRIBUTE_TASK_EXTERNAL_WORKER_TOPIC, ATTRIBUTE_TASK_HTTP_PARALLEL_IN_SAME_TRANSACTION, ATTRIBUTE_TASK_ID_VARIABLE_NAME, ATTRIBUTE_TASK_IMPLEMENTATION, ATTRIBUTE_TASK_OPERATION_REF, ATTRIBUTE_TASK_RULE_CLASS, ATTRIBUTE_TASK_RULE_EXCLUDE, ATTRIBUTE_TASK_RULE_RESULT_VARIABLE, ATTRIBUTE_TASK_RULE_RULES, ATTRIBUTE_TASK_RULE_VARIABLES_INPUT, ATTRIBUTE_TASK_SCRIPT_AUTO_STORE_VARIABLE, ATTRIBUTE_TASK_SCRIPT_FORMAT, ATTRIBUTE_TASK_SCRIPT_RESULTVARIABLE, ATTRIBUTE_TASK_SCRIPT_SKIP_EXPRESSION, ATTRIBUTE_TASK_SCRIPT_TEXT, ATTRIBUTE_TASK_SERVICE_CLASS, ATTRIBUTE_TASK_SERVICE_DELEGATEEXPRESSION, ATTRIBUTE_TASK_SERVICE_EXPRESSION, ATTRIBUTE_TASK_SERVICE_EXTENSIONID, ATTRIBUTE_TASK_SERVICE_RESULT_VARIABLE, ATTRIBUTE_TASK_SERVICE_RESULT_VARIABLE_NAME, ATTRIBUTE_TASK_SERVICE_SKIP_EXPRESSION, ATTRIBUTE_TASK_SERVICE_STORE_RESULT_AS_TRANSIENT, ATTRIBUTE_TASK_SERVICE_USE_LOCAL_SCOPE_FOR_RESULT_VARIABLE, ATTRIBUTE_TASK_USER_ASSIGNEE, ATTRIBUTE_TASK_USER_BUSINESS_CALENDAR_NAME, ATTRIBUTE_TASK_USER_CANDIDATEGROUPS, ATTRIBUTE_TASK_USER_CANDIDATEUSERS, ATTRIBUTE_TASK_USER_CATEGORY, ATTRIBUTE_TASK_USER_DUEDATE, ATTRIBUTE_TASK_USER_OWNER, ATTRIBUTE_TASK_USER_PRIORITY, ATTRIBUTE_TASK_USER_SKIP_EXPRESSION, ATTRIBUTE_TERMINATE_ALL, ATTRIBUTE_TERMINATE_MULTI_INSTANCE, ATTRIBUTE_TEXTFORMAT, ATTRIBUTE_TIMER_CYCLE, ATTRIBUTE_TIMER_DATE, ATTRIBUTE_TIMER_DURATION, ATTRIBUTE_TRIGGERABLE, ATTRIBUTE_TRIGGERED_BY, ATTRIBUTE_TYPE, ATTRIBUTE_VALUE_FALSE, ATTRIBUTE_VALUE_TRUE, ATTRIBUTE_VARIABLE_AGGREGATION_CREATE_OVERVIEW, ATTRIBUTE_VARIABLE_AGGREGATION_STORE_AS_TRANSIENT_VARIABLE, ATTRIBUTE_VARIABLE_AGGREGATION_VARIABLE, ATTRIBUTE_VARIABLE_CHANGE_TYPE, ATTRIBUTE_VARIABLE_NAME, BPMN2_NAMESPACE, BPMNDI_NAMESPACE, BPMNDI_PREFIX, CAMUNDA_EXTENSIONS_NAMESPACE, ELEMENT_ADHOC_SUBPROCESS, ELEMENT_ASSIGNMENT, ELEMENT_ASSOCIATION, ELEMENT_CALL_ACTIVITY, ELEMENT_COLLABORATION, ELEMENT_COMPLETION_CONDITION, ELEMENT_CONDITION, ELEMENT_CUSTOM_RESOURCE, ELEMENT_DATA_INPUT, ELEMENT_DATA_INPUT_REFS, ELEMENT_DATA_OBJECT, ELEMENT_DATA_OUTPUT, ELEMENT_DATA_OUTPUT_REFS, ELEMENT_DATA_STATE, ELEMENT_DATA_STORE, ELEMENT_DATA_STORE_REFERENCE, ELEMENT_DATA_VALUE, ELEMENT_DEFINITIONS, ELEMENT_DI_BOUNDS, ELEMENT_DI_DIAGRAM, ELEMENT_DI_EDGE, ELEMENT_DI_LABEL, ELEMENT_DI_PLANE, ELEMENT_DI_SHAPE, ELEMENT_DI_WAYPOINT, ELEMENT_DOCUMENTATION, ELEMENT_ERROR, ELEMENT_ESCALATION, ELEMENT_EVENT_BOUNDARY, ELEMENT_EVENT_CANCELDEFINITION, ELEMENT_EVENT_CATCH, ELEMENT_EVENT_COMPENSATEDEFINITION, ELEMENT_EVENT_CONDITIONALDEFINITION, ELEMENT_EVENT_CORRELATION_PARAMETER, ELEMENT_EVENT_END, ELEMENT_EVENT_ERRORDEFINITION, ELEMENT_EVENT_ESCALATIONDEFINITION, ELEMENT_EVENT_IN_PARAMETER, ELEMENT_EVENT_LISTENER, ELEMENT_EVENT_MESSAGEDEFINITION, ELEMENT_EVENT_OUT_PARAMETER, ELEMENT_EVENT_SIGNALDEFINITION, ELEMENT_EVENT_START, ELEMENT_EVENT_TERMINATEDEFINITION, ELEMENT_EVENT_THROW, ELEMENT_EVENT_TIMERDEFINITION, ELEMENT_EVENT_TYPE, ELEMENT_EVENT_VARIABLELISTENERDEFINITION, ELEMENT_EXECUTION_LISTENER, ELEMENT_EXTENSIONS, ELEMENT_FIELD, ELEMENT_FIELD_STRING, ELEMENT_FLOW_CONDITION, ELEMENT_FLOWNODE_REF, ELEMENT_FORMAL_EXPRESSION, ELEMENT_FORMPROPERTY, ELEMENT_FROM, ELEMENT_GATEWAY_COMPLEX, ELEMENT_GATEWAY_EVENT, ELEMENT_GATEWAY_EXCLUSIVE, ELEMENT_GATEWAY_INCLUSIVE, ELEMENT_GATEWAY_PARALLEL, ELEMENT_HTTP_REQUEST_HANDLER, ELEMENT_HTTP_RESPONSE_HANDLER, ELEMENT_IMPORT, ELEMENT_IN_MESSAGE, ELEMENT_IN_PARAMETERS, ELEMENT_INPUT_ASSOCIATION, ELEMENT_INTERFACE, ELEMENT_IOSPECIFICATION, ELEMENT_ITEM_DEFINITION, ELEMENT_LANE, ELEMENT_LANESET, ELEMENT_MESSAGE, ELEMENT_MESSAGE_FLOW, ELEMENT_MULTIINSTANCE, ELEMENT_MULTIINSTANCE_CARDINALITY, ELEMENT_MULTIINSTANCE_COLLECTION, ELEMENT_MULTIINSTANCE_COLLECTION_EXPRESSION, ELEMENT_MULTIINSTANCE_COLLECTION_STRING, ELEMENT_MULTIINSTANCE_CONDITION, ELEMENT_MULTIINSTANCE_DATAINPUT, ELEMENT_MULTIINSTANCE_DATAITEM, ELEMENT_OPERATION, ELEMENT_OUT_MESSAGE, ELEMENT_OUT_PARAMETERS, ELEMENT_OUTPUT_ASSOCIATION, ELEMENT_PARTICIPANT, ELEMENT_POTENTIAL_STARTER, ELEMENT_PROCESS, ELEMENT_RESOURCE, ELEMENT_RESOURCE_ASSIGNMENT, ELEMENT_RESOURCE_REF, ELEMENT_SCRIPT, ELEMENT_SEND_SYNCHRONOUSLY, ELEMENT_SEQUENCE_FLOW, ELEMENT_SIGNAL, ELEMENT_SOURCE_REF, ELEMENT_SUBPROCESS, ELEMENT_TARGET_REF, ELEMENT_TASK, ELEMENT_TASK_BUSINESSRULE, ELEMENT_TASK_LISTENER, ELEMENT_TASK_MAIL, ELEMENT_TASK_MANUAL, ELEMENT_TASK_RECEIVE, ELEMENT_TASK_SCRIPT, ELEMENT_TASK_SEND, ELEMENT_TASK_SERVICE, ELEMENT_TASK_USER, ELEMENT_TEXT_ANNOTATION, ELEMENT_TEXT_ANNOTATION_TEXT, ELEMENT_TO, ELEMENT_TRANSACTION, ELEMENT_TRANSFORMATION, ELEMENT_TRIGGER_EVENT_CORRELATION_PARAMETER, ELEMENT_TRIGGER_EVENT_TYPE, ELEMENT_VALUE, ELEMENT_VARIABLE_AGGREGATION, EXPRESSION_LANGUAGE_ATTRIBUTE, FAILED_JOB_RETRY_TIME_CYCLE, FLOWABLE_EXTENSIONS_NAMESPACE, FLOWABLE_EXTENSIONS_PREFIX, MAP_EXCEPTION, MAP_EXCEPTION_ANDCHILDREN, MAP_EXCEPTION_ERRORCODE, MAP_EXCEPTION_ROOTCAUSE, OMGDC_NAMESPACE, OMGDC_PREFIX, OMGDI_NAMESPACE, OMGDI_PREFIX, PROCESS_NAMESPACE, SCHEMA_NAMESPACE, START_EVENT_CORRELATION_CONFIGURATION, START_EVENT_CORRELATION_MANUAL, START_EVENT_CORRELATION_STORE_AS_UNIQUE_REFERENCE_ID, TARGET_NAMESPACE_ATTRIBUTE, TYPE_LANGUAGE_ATTRIBUTE, XPATH_NAMESPACE, XSD_PREFIX, XSI_NAMESPACE, XSI_PREFIX -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voidParses the 'definitions' root elementvoidcreateBPMNEdge(String key, List<GraphicInfo> graphicList) deployment(EngineDeployment deployment) execute()getProcessDefinition(String processDefinitionKey) booleanbooleanvoidvoidprocessFlowElements(Collection<FlowElement> flowElements) voidvoidsetActivityBehaviorFactory(ActivityBehaviorFactory activityBehaviorFactory) voidsetBpmnModel(BpmnModel bpmnModel) voidsetBpmnParserHandlers(BpmnParseHandlers bpmnParserHandlers) voidsetCurrentFlowElement(FlowElement currentFlowElement) voidsetCurrentProcess(Process currentProcess) voidsetCurrentProcessDefinition(ProcessDefinitionEntity currentProcessDefinition) voidsetCurrentSubProcess(SubProcess subProcess) voidsetDeployment(EngineDeployment deployment) voidsetListenerFactory(ListenerFactory listenerFactory) setSourceSystemId(String sourceSystemId) protected voidsetStreamSource(StreamSource streamSource) voidsetValidateProcess(boolean validateProcess) voidsetValidateSchema(boolean validateSchema) sourceInputStream(InputStream inputStream) sourceResource(String resource) sourceResource(String resource, ClassLoader classLoader) sourceString(String string)
-
Field Details
-
LOGGER
protected static final org.slf4j.Logger LOGGER -
PROPERTYNAME_INITIAL
- See Also:
-
PROPERTYNAME_INITIATOR_VARIABLE_NAME
- See Also:
-
PROPERTYNAME_CONDITION
- See Also:
-
PROPERTYNAME_CONDITION_TEXT
- See Also:
-
PROPERTYNAME_TIMER_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_ERROR_EVENT_DEFINITIONS
- See Also:
-
PROPERTYNAME_EVENT_SUBSCRIPTION_DECLARATION
- See Also:
-
name
-
validateSchema
protected boolean validateSchema -
validateProcess
protected boolean validateProcess -
streamSource
-
sourceSystemId
-
bpmnModel
-
targetNamespace
-
deployment
The deployment to which the parsed process definitions will be added. -
processDefinitions
The end result of the parsing: a list of process definition. -
sequenceFlows
A map for storing sequence flow based on their id during parsing. -
bpmnParserHandlers
-
currentProcessDefinition
-
currentProcess
-
currentFlowElement
-
currentSubprocessStack
-
prefixs
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. -
activityBehaviorFactory
-
listenerFactory
-
-
Constructor Details
-
BpmnParse
Constructor to be called by theBpmnParser.
-
-
Method Details
-
deployment
-
execute
-
name
-
sourceInputStream
-
sourceResource
-
sourceUrl
-
sourceUrl
-
sourceResource
-
sourceString
-
setStreamSource
-
setSourceSystemId
-
applyParseHandlers
protected void applyParseHandlers()Parses the 'definitions' root element -
processFlowElements
-
processDI
public void processDI() -
createBPMNEdge
-
getProcessDefinition
-
isValidateSchema
public boolean isValidateSchema() -
setValidateSchema
public void setValidateSchema(boolean validateSchema) -
isValidateProcess
public boolean isValidateProcess() -
setValidateProcess
public void setValidateProcess(boolean validateProcess) -
getProcessDefinitions
-
getTargetNamespace
-
getBpmnParserHandlers
-
setBpmnParserHandlers
-
getDeployment
-
setDeployment
-
getBpmnModel
-
setBpmnModel
-
getActivityBehaviorFactory
-
setActivityBehaviorFactory
-
getListenerFactory
-
setListenerFactory
-
getSequenceFlows
-
getCurrentProcessDefinition
-
setCurrentProcessDefinition
-
getCurrentFlowElement
-
setCurrentFlowElement
-
getCurrentProcess
-
setCurrentProcess
-
setCurrentSubProcess
-
getCurrentSubProcess
-
removeCurrentSubProcess
public void removeCurrentSubProcess()
-