Class BpmnParse

java.lang.Object
org.activiti.engine.impl.bpmn.parser.BpmnParse
All Implemented Interfaces:
org.activiti.bpmn.constants.BpmnXMLConstants

public class BpmnParse extends Object implements org.activiti.bpmn.constants.BpmnXMLConstants
Specific parsing of one BPMN 2.0 XML file, created by the BpmnParser.
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
     
    protected org.activiti.bpmn.model.BpmnModel
     
     
    protected org.activiti.bpmn.model.FlowElement
     
    protected org.activiti.bpmn.model.Process
     
     
    protected LinkedList<org.activiti.bpmn.model.SubProcess>
     
    The deployment to which the parsed process definitions will be added.
    protected ListenerFactory
     
    protected static final org.slf4j.Logger
     
    protected String
     
    protected Map<String,String>
    Mapping containing values stored during the first phase of parsing since other elements can reference these messages.
    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,org.activiti.bpmn.model.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.activiti.bpmn.constants.BpmnXMLConstants

    ACTIVITI_EXTENSIONS_NAMESPACE, ACTIVITI_EXTENSIONS_PREFIX, ALFRESCO_TYPE, ATTRIBUTE_ACTIVITY_ASYNCHRONOUS, ATTRIBUTE_ACTIVITY_EXCLUSIVE, ATTRIBUTE_ACTIVITY_ISFORCOMPENSATION, ATTRIBUTE_ASSOCIATION_DIRECTION, ATTRIBUTE_BOUNDARY_ATTACHEDTOREF, ATTRIBUTE_BOUNDARY_CANCELACTIVITY, ATTRIBUTE_CALENDAR_NAME, ATTRIBUTE_CALL_ACTIVITY_BUSINESS_KEY, ATTRIBUTE_CALL_ACTIVITY_CALLEDELEMENT, ATTRIBUTE_CALL_ACTIVITY_INHERIT_BUSINESS_KEY, ATTRIBUTE_CALL_ACTIVITY_INHERITVARIABLES, ATTRIBUTE_CANCEL_REMAINING_INSTANCES, 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_WIDTH, ATTRIBUTE_DI_X, ATTRIBUTE_DI_Y, ATTRIBUTE_END_DATE, ATTRIBUTE_ERROR_CODE, ATTRIBUTE_ERROR_REF, ATTRIBUTE_EVENT_START_INITIATOR, ATTRIBUTE_EVENT_START_INTERRUPTING, 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_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_IMPLEMENTATION_REF, ATTRIBUTE_IMPORT_TYPE, ATTRIBUTE_IOPARAMETER_SOURCE, ATTRIBUTE_IOPARAMETER_SOURCE_EXPRESSION, ATTRIBUTE_IOPARAMETER_TARGET, 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_LOCATION, ATTRIBUTE_MESSAGE_CORRELATION_KEY, ATTRIBUTE_MESSAGE_EXPRESSION, ATTRIBUTE_MESSAGE_REF, ATTRIBUTE_MULTIINSTANCE_COLLECTION, ATTRIBUTE_MULTIINSTANCE_INDEX_VARIABLE, ATTRIBUTE_MULTIINSTANCE_SEQUENTIAL, ATTRIBUTE_MULTIINSTANCE_VARIABLE, ATTRIBUTE_NAME, ATTRIBUTE_NAMESPACE, ATTRIBUTE_ORDERING, ATTRIBUTE_PROCESS_CANDIDATE_GROUPS, ATTRIBUTE_PROCESS_CANDIDATE_USERS, ATTRIBUTE_PROCESS_EXECUTABLE, ATTRIBUTE_PROCESS_REF, ATTRIBUTE_SCOPE, ATTRIBUTE_SIGNAL_EXPRESSION, ATTRIBUTE_SIGNAL_REF, ATTRIBUTE_STRUCTURE_REF, 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_TEXT, ATTRIBUTE_TASK_SERVICE_CLASS, ATTRIBUTE_TASK_SERVICE_DELEGATEEXPRESSION, ATTRIBUTE_TASK_SERVICE_EXPRESSION, ATTRIBUTE_TASK_SERVICE_EXTENSIONID, ATTRIBUTE_TASK_SERVICE_RESULTVARIABLE, ATTRIBUTE_TASK_SERVICE_SKIP_EXPRESSION, 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_TRIGGERED_BY, ATTRIBUTE_TYPE, ATTRIBUTE_VALUE_FALSE, ATTRIBUTE_VALUE_TRUE, BPMN2_NAMESPACE, BPMN2_PREFIX, BPMNDI_NAMESPACE, BPMNDI_PREFIX, ELEMENT_ADHOC_SUBPROCESS, ELEMENT_ASSIGNMENT, ELEMENT_ASSOCIATION, ELEMENT_CALL_ACTIVITY, ELEMENT_CALL_ACTIVITY_IN_PARAMETERS, ELEMENT_CALL_ACTIVITY_OUT_PARAMETERS, ELEMENT_COLLABORATION, ELEMENT_COMPLETION_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_EVENT_BOUNDARY, ELEMENT_EVENT_CANCELDEFINITION, ELEMENT_EVENT_CATCH, ELEMENT_EVENT_COMPENSATEDEFINITION, ELEMENT_EVENT_END, ELEMENT_EVENT_ERRORDEFINITION, ELEMENT_EVENT_LISTENER, ELEMENT_EVENT_MESSAGEDEFINITION, ELEMENT_EVENT_SIGNALDEFINITION, ELEMENT_EVENT_START, ELEMENT_EVENT_TERMINATEDEFINITION, ELEMENT_EVENT_THROW, ELEMENT_EVENT_TIMERDEFINITION, 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_INCOMING, ELEMENT_GATEWAY_OUTGOING, ELEMENT_GATEWAY_PARALLEL, ELEMENT_IMPORT, ELEMENT_IN_MESSAGE, ELEMENT_INPUT_ASSOCIATION, ELEMENT_INTERFACE, ELEMENT_IOSPECIFICATION, ELEMENT_ITEM_DEFINITION, ELEMENT_LANE, ELEMENT_LANESET, ELEMENT_MESSAGE, ELEMENT_MESSAGE_FLOW, ELEMENT_MULTI_INSTANCE_DATA_OUTPUT, ELEMENT_MULTI_INSTANCE_OUTPUT_DATA_ITEM, ELEMENT_MULTIINSTANCE, ELEMENT_MULTIINSTANCE_CARDINALITY, ELEMENT_MULTIINSTANCE_CONDITION, ELEMENT_MULTIINSTANCE_DATAINPUT, ELEMENT_MULTIINSTANCE_DATAITEM, ELEMENT_OPERATION, ELEMENT_OUT_MESSAGE, ELEMENT_OUTPUT_ASSOCIATION, ELEMENT_PARTICIPANT, ELEMENT_POTENTIAL_STARTER, ELEMENT_PROCESS, ELEMENT_RESOURCE, ELEMENT_RESOURCE_ASSIGNMENT, ELEMENT_RESOURCE_REF, 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_VALUE, EXPRESSION_LANGUAGE_ATTRIBUTE, FAILED_JOB_RETRY_TIME_CYCLE, MAP_EXCEPTION, MAP_EXCEPTION_ANDCHILDREN, MAP_EXCEPTION_ERRORCODE, OMGDC_NAMESPACE, OMGDC_PREFIX, OMGDI_NAMESPACE, OMGDI_PREFIX, PROCESS_NAMESPACE, SCHEMA_NAMESPACE, TARGET_NAMESPACE_ATTRIBUTE, TYPE_LANGUAGE_ATTRIBUTE, XPATH_NAMESPACE, XSD_PREFIX, XSI_NAMESPACE, XSI_PREFIX
  • Constructor Summary

    Constructors
    Constructor
    Description
    Constructor to be called by the BpmnParser.
  • Method Summary

    Modifier and Type
    Method
    Description
    protected void
    Parses the 'definitions' root element
    void
    createBPMNEdge(String key, List<org.activiti.bpmn.model.GraphicInfo> graphicList)
     
     
     
     
    org.activiti.bpmn.model.BpmnModel
     
     
    org.activiti.bpmn.model.FlowElement
     
    org.activiti.bpmn.model.Process
     
     
    org.activiti.bpmn.model.SubProcess
     
     
     
    getProcessDefinition(String processDefinitionKey)
     
     
    Map<String,org.activiti.bpmn.model.SequenceFlow>
     
     
    boolean
     
    boolean
     
    name(String name)
     
    void
     
    void
    processFlowElements(Collection<org.activiti.bpmn.model.FlowElement> flowElements)
     
    void
     
    void
     
    void
    setBpmnModel(org.activiti.bpmn.model.BpmnModel bpmnModel)
     
    void
     
    void
    setCurrentFlowElement(org.activiti.bpmn.model.FlowElement currentFlowElement)
     
    void
    setCurrentProcess(org.activiti.bpmn.model.Process currentProcess)
     
    void
     
    void
    setCurrentSubProcess(org.activiti.bpmn.model.SubProcess subProcess)
     
    void
     
    void
     
    setSourceSystemId(String sourceSystemId)
     
    protected void
     
    void
    setValidateProcess(boolean validateProcess)
     
    void
    setValidateSchema(boolean validateSchema)
     
     
     
    sourceResource(String resource, ClassLoader classLoader)
     
     
     
     

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • LOGGER

      protected static final org.slf4j.Logger LOGGER
    • PROPERTYNAME_INITIAL

      public static final String PROPERTYNAME_INITIAL
      See Also:
    • PROPERTYNAME_INITIATOR_VARIABLE_NAME

      public static final String PROPERTYNAME_INITIATOR_VARIABLE_NAME
      See Also:
    • PROPERTYNAME_CONDITION

      public static final String PROPERTYNAME_CONDITION
      See Also:
    • PROPERTYNAME_CONDITION_TEXT

      public static final String PROPERTYNAME_CONDITION_TEXT
      See Also:
    • PROPERTYNAME_TIMER_DECLARATION

      public static final String PROPERTYNAME_TIMER_DECLARATION
      See Also:
    • PROPERTYNAME_ISEXPANDED

      public static final String PROPERTYNAME_ISEXPANDED
      See Also:
    • PROPERTYNAME_START_TIMER

      public static final String PROPERTYNAME_START_TIMER
      See Also:
    • PROPERTYNAME_COMPENSATION_HANDLER_ID

      public static final String PROPERTYNAME_COMPENSATION_HANDLER_ID
      See Also:
    • PROPERTYNAME_IS_FOR_COMPENSATION

      public static final String PROPERTYNAME_IS_FOR_COMPENSATION
      See Also:
    • PROPERTYNAME_ERROR_EVENT_DEFINITIONS

      public static final String PROPERTYNAME_ERROR_EVENT_DEFINITIONS
      See Also:
    • PROPERTYNAME_EVENT_SUBSCRIPTION_DECLARATION

      public static final String PROPERTYNAME_EVENT_SUBSCRIPTION_DECLARATION
      See Also:
    • name

      protected String name
    • validateSchema

      protected boolean validateSchema
    • validateProcess

      protected boolean validateProcess
    • streamSource

      protected StreamSource streamSource
    • sourceSystemId

      protected String sourceSystemId
    • bpmnModel

      protected org.activiti.bpmn.model.BpmnModel bpmnModel
    • targetNamespace

      protected String targetNamespace
    • deployment

      protected DeploymentEntity deployment
      The deployment to which the parsed process definitions will be added.
    • processDefinitions

      protected List<ProcessDefinitionEntity> processDefinitions
      The end result of the parsing: a list of process definition.
    • sequenceFlows

      protected Map<String,org.activiti.bpmn.model.SequenceFlow> sequenceFlows
      A map for storing sequence flow based on their id during parsing.
    • bpmnParserHandlers

      protected BpmnParseHandlers bpmnParserHandlers
    • currentProcessDefinition

      protected ProcessDefinitionEntity currentProcessDefinition
    • currentProcess

      protected org.activiti.bpmn.model.Process currentProcess
    • currentFlowElement

      protected org.activiti.bpmn.model.FlowElement currentFlowElement
    • currentSubprocessStack

      protected LinkedList<org.activiti.bpmn.model.SubProcess> currentSubprocessStack
    • prefixs

      protected Map<String,String> 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

      protected ActivityBehaviorFactory activityBehaviorFactory
    • listenerFactory

      protected ListenerFactory listenerFactory
  • Constructor Details

  • Method Details

    • deployment

      public BpmnParse deployment(DeploymentEntity deployment)
    • execute

      public BpmnParse execute()
    • name

      public BpmnParse name(String name)
    • sourceInputStream

      public BpmnParse sourceInputStream(InputStream inputStream)
    • sourceResource

      public BpmnParse sourceResource(String resource)
    • sourceUrl

      public BpmnParse sourceUrl(URL url)
    • sourceUrl

      public BpmnParse sourceUrl(String url)
    • sourceResource

      public BpmnParse sourceResource(String resource, ClassLoader classLoader)
    • sourceString

      public BpmnParse sourceString(String string)
    • setStreamSource

      protected void setStreamSource(StreamSource streamSource)
    • setSourceSystemId

      public BpmnParse setSourceSystemId(String sourceSystemId)
    • applyParseHandlers

      protected void applyParseHandlers()
      Parses the 'definitions' root element
    • processFlowElements

      public void processFlowElements(Collection<org.activiti.bpmn.model.FlowElement> flowElements)
    • processDI

      public void processDI()
    • createBPMNEdge

      public void createBPMNEdge(String key, List<org.activiti.bpmn.model.GraphicInfo> graphicList)
    • getProcessDefinition

      public ProcessDefinitionEntity getProcessDefinition(String processDefinitionKey)
    • isValidateSchema

      public boolean isValidateSchema()
    • setValidateSchema

      public void setValidateSchema(boolean validateSchema)
    • isValidateProcess

      public boolean isValidateProcess()
    • setValidateProcess

      public void setValidateProcess(boolean validateProcess)
    • getProcessDefinitions

      public List<ProcessDefinitionEntity> getProcessDefinitions()
    • getTargetNamespace

      public String getTargetNamespace()
    • getBpmnParserHandlers

      public BpmnParseHandlers getBpmnParserHandlers()
    • setBpmnParserHandlers

      public void setBpmnParserHandlers(BpmnParseHandlers bpmnParserHandlers)
    • getDeployment

      public DeploymentEntity getDeployment()
    • setDeployment

      public void setDeployment(DeploymentEntity deployment)
    • getBpmnModel

      public org.activiti.bpmn.model.BpmnModel getBpmnModel()
    • setBpmnModel

      public void setBpmnModel(org.activiti.bpmn.model.BpmnModel bpmnModel)
    • getActivityBehaviorFactory

      public ActivityBehaviorFactory getActivityBehaviorFactory()
    • setActivityBehaviorFactory

      public void setActivityBehaviorFactory(ActivityBehaviorFactory activityBehaviorFactory)
    • getListenerFactory

      public ListenerFactory getListenerFactory()
    • setListenerFactory

      public void setListenerFactory(ListenerFactory listenerFactory)
    • getSequenceFlows

      public Map<String,org.activiti.bpmn.model.SequenceFlow> getSequenceFlows()
    • getCurrentProcessDefinition

      public ProcessDefinitionEntity getCurrentProcessDefinition()
    • setCurrentProcessDefinition

      public void setCurrentProcessDefinition(ProcessDefinitionEntity currentProcessDefinition)
    • getCurrentFlowElement

      public org.activiti.bpmn.model.FlowElement getCurrentFlowElement()
    • setCurrentFlowElement

      public void setCurrentFlowElement(org.activiti.bpmn.model.FlowElement currentFlowElement)
    • getCurrentProcess

      public org.activiti.bpmn.model.Process getCurrentProcess()
    • setCurrentProcess

      public void setCurrentProcess(org.activiti.bpmn.model.Process currentProcess)
    • setCurrentSubProcess

      public void setCurrentSubProcess(org.activiti.bpmn.model.SubProcess subProcess)
    • getCurrentSubProcess

      public org.activiti.bpmn.model.SubProcess getCurrentSubProcess()
    • removeCurrentSubProcess

      public void removeCurrentSubProcess()