blob: 23916093c2e2fce9629ef01c3928f7558cd059ca [file] [log] [blame]
.. This work is licensed under a Creative Commons Attribution 4.0 International License.
.. http://creativecommons.org/licenses/by/4.0
.. Copyright 2017 Huawei Technologies Co., Ltd.
BPMN Project Structure
=======================
BPMN main process flow
----------------------
A BPMN main process flow is a top-level flow. All main process flows are under the src/main/resources/process folder.
CreateVfModuleVolumeInfraV1 is a main process flow.
.. image:: ../images/bpmn_project_structure_1.png
Open BPMN files with the camunda modeler (standalone application). To launch the modeler from eclipse, right-clickopen-withOtherBrowse. Select Check the boxes on the dialog so that eclipse will open all .bpmn files with the camunda-modeler executable.
BPMN subprocess flow
---------------------
A BPMN subprocess flow is meant to be invoked by other flows (either main process flows or other subprocess flows). All subprocess flows are under the src/main/resources/subprocess folder.
The CreateVfModuleVolumeInfraV1 process flow is delivered with two custom subflows: DoCreateVfModuleVolumeV2 and DoCreateVfModuleVolumeRollback.
.. image:: ../images/bpmn_project_structure_2.png
Groovy scripts
---------------
There is one groovy script for each BPMN file. Groovy scripts are invoked by script tasks within the BPMN flows.
.. image:: ../images/bpmn_project_structure_3.png
Unit Tests
-----------
Normally, we create a unit test class for every flow. This one is missing a unit test for its rollback flow.
.. image:: ../images/bpmn_project_structure_4.png
Unit Test Resource Files
------------------------
Any files needed by the unit tests are kept under the src/test/resources/__files folder.
.. image:: ../images/bpmn_project_structure_5.png