Package org.flowable.bpmn.converter
Class BpmnXMLConverter
java.lang.Object
org.flowable.bpmn.converter.BpmnXMLConverter
- All Implemented Interfaces:
BpmnXMLConstants
- Author:
- Tijs Rademakers, Joram Barrez
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected static final String
protected BpmnEdgeParser
protected BpmnShapeParser
protected ClassLoader
protected static Map<String,
BaseBpmnXMLConverter> protected static Map<Class<? extends BaseElement>,
BaseBpmnXMLConverter> protected DataStoreParser
protected static final String
protected DefinitionsParser
protected DocumentationParser
protected ExtensionElementsParser
protected ImportParser
protected InterfaceParser
protected IOSpecificationParser
protected ItemDefinitionParser
protected LaneParser
protected static final org.slf4j.Logger
protected MessageFlowParser
protected MessageParser
protected MultiInstanceParser
protected ParticipantParser
protected PotentialStarterParser
protected ProcessParser
protected ResourceParser
protected SignalParser
protected SubProcessParser
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 TypeMethodDescriptionstatic void
addConverter
(BaseBpmnXMLConverter converter) static void
addConverter
(BaseBpmnXMLConverter converter, Class<? extends BaseElement> elementType) convertToBpmnModel
(InputStreamProvider inputStreamProvider, boolean validateSchema, boolean enableSafeBpmnXml) convertToBpmnModel
(InputStreamProvider inputStreamProvider, boolean validateSchema, boolean enableSafeBpmnXml, String encoding) byte[]
convertToXML
(BpmnModel model) byte[]
convertToXML
(BpmnModel model, String encoding) protected Schema
protected void
createXML
(Artifact artifact, BpmnModel model, XMLStreamWriter xtw) protected void
createXML
(FlowElement flowElement, BpmnModel model, XMLStreamWriter xtw) protected FlowNode
getFlowNodeFromScope
(String elementId, BaseElement scope) protected void
processFlowElements
(Collection<FlowElement> flowElementList, BaseElement parentScope) void
setClassloader
(ClassLoader classloader) void
setStartEventFormTypes
(List<String> startEventFormTypes) void
setUserTaskFormTypes
(List<String> userTaskFormTypes) void
validateModel
(XMLStreamReader xmlStreamReader) void
validateModel
(InputStreamProvider inputStreamProvider)
-
Field Details
-
LOGGER
protected static final org.slf4j.Logger LOGGER -
BPMN_XSD
- See Also:
-
DEFAULT_ENCODING
- See Also:
-
convertersToBpmnMap
-
convertersToXMLMap
-
classloader
-
userTaskFormTypes
-
startEventFormTypes
-
bpmnEdgeParser
-
bpmnShapeParser
-
definitionsParser
-
documentationParser
-
extensionElementsParser
-
importParser
-
interfaceParser
-
itemDefinitionParser
-
ioSpecificationParser
-
dataStoreParser
-
laneParser
-
messageParser
-
messageFlowParser
-
multiInstanceParser
-
participantParser
-
potentialStarterParser
-
processParser
-
resourceParser
-
signalParser
-
subProcessParser
-
-
Constructor Details
-
BpmnXMLConverter
public BpmnXMLConverter()
-
-
Method Details
-
addConverter
-
addConverter
public static void addConverter(BaseBpmnXMLConverter converter, Class<? extends BaseElement> elementType) -
setClassloader
-
setUserTaskFormTypes
-
setStartEventFormTypes
-
validateModel
- Throws:
Exception
-
validateModel
- Throws:
Exception
-
createSchema
- Throws:
SAXException
-
convertToBpmnModel
public BpmnModel convertToBpmnModel(InputStreamProvider inputStreamProvider, boolean validateSchema, boolean enableSafeBpmnXml) -
convertToBpmnModel
public BpmnModel convertToBpmnModel(InputStreamProvider inputStreamProvider, boolean validateSchema, boolean enableSafeBpmnXml, String encoding) -
convertToBpmnModel
-
processFlowElements
protected void processFlowElements(Collection<FlowElement> flowElementList, BaseElement parentScope) -
getFlowNodeFromScope
-
convertToXML
-
convertToXML
-
createXML
protected void createXML(FlowElement flowElement, BpmnModel model, XMLStreamWriter xtw) throws Exception - Throws:
Exception
-
createXML
- Throws:
Exception
-