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 ActivityBehaviorFactory
protected BpmnModel
protected BpmnParseHandlers
protected FlowElement
protected Process
protected ProcessDefinitionEntity
protected LinkedList<SubProcess>
protected EngineDeployment
The deployment to which the parsed process definitions will be added.protected ListenerFactory
protected static final org.slf4j.Logger
protected String
Mapping 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 String
static final String
static final String
static final String
static final String
static final String
static final String
static final String
static final String
static final String
static final String
protected Map<String,
SequenceFlow> A map for storing sequence flow based on their id during parsing.protected String
protected StreamSource
protected String
protected boolean
protected boolean
Fields 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 void
Parses the 'definitions' root elementvoid
createBPMNEdge
(String key, List<GraphicInfo> graphicList) deployment
(EngineDeployment deployment) execute()
getProcessDefinition
(String processDefinitionKey) boolean
boolean
void
void
processFlowElements
(Collection<FlowElement> flowElements) void
void
setActivityBehaviorFactory
(ActivityBehaviorFactory activityBehaviorFactory) void
setBpmnModel
(BpmnModel bpmnModel) void
setBpmnParserHandlers
(BpmnParseHandlers bpmnParserHandlers) void
setCurrentFlowElement
(FlowElement currentFlowElement) void
setCurrentProcess
(Process currentProcess) void
setCurrentProcessDefinition
(ProcessDefinitionEntity currentProcessDefinition) void
setCurrentSubProcess
(SubProcess subProcess) void
setDeployment
(EngineDeployment deployment) void
setListenerFactory
(ListenerFactory listenerFactory) setSourceSystemId
(String sourceSystemId) protected void
setStreamSource
(StreamSource streamSource) void
setValidateProcess
(boolean validateProcess) void
setValidateSchema
(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()
-