aboutsummaryrefslogtreecommitdiffstats
path: root/bpmn/so-bpmn-building-blocks/src/main/resources/subprocess/BuildingBlock/WorkflowActionBB.bpmn
diff options
context:
space:
mode:
Diffstat (limited to 'bpmn/so-bpmn-building-blocks/src/main/resources/subprocess/BuildingBlock/WorkflowActionBB.bpmn')
-rw-r--r--bpmn/so-bpmn-building-blocks/src/main/resources/subprocess/BuildingBlock/WorkflowActionBB.bpmn550
1 files changed, 550 insertions, 0 deletions
diff --git a/bpmn/so-bpmn-building-blocks/src/main/resources/subprocess/BuildingBlock/WorkflowActionBB.bpmn b/bpmn/so-bpmn-building-blocks/src/main/resources/subprocess/BuildingBlock/WorkflowActionBB.bpmn
new file mode 100644
index 0000000000..6544387775
--- /dev/null
+++ b/bpmn/so-bpmn-building-blocks/src/main/resources/subprocess/BuildingBlock/WorkflowActionBB.bpmn
@@ -0,0 +1,550 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<bpmn:definitions xmlns:bpmn="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:camunda="http://camunda.org/schema/1.0/bpmn" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" id="Definitions_1" targetNamespace="http://bpmn.io/schema/bpmn" exporter="Camunda Modeler" exporterVersion="1.7.2">
+ <bpmn:process id="WorkflowActionBB" name="WorkflowActionBB" isExecutable="true">
+ <bpmn:startEvent id="Start_WorkflowActionBB" name="start">
+ <bpmn:outgoing>SequenceFlow_15s0okp</bpmn:outgoing>
+ </bpmn:startEvent>
+ <bpmn:endEvent id="End_WorkflowActionBB" name="end">
+ <bpmn:incoming>SequenceFlow_1rscv7d</bpmn:incoming>
+ <bpmn:incoming>SequenceFlow_0x4urgp</bpmn:incoming>
+ </bpmn:endEvent>
+ <bpmn:sequenceFlow id="SequenceFlow_15s0okp" sourceRef="Start_WorkflowActionBB" targetRef="Task_RetrieveBBExectuionList" />
+ <bpmn:callActivity id="Call_ExecuteBB" name="Execute BB" camunda:asyncBefore="true" calledElement="ExecuteBuildingBlock">
+ <bpmn:extensionElements>
+ <camunda:in source="buildingBlock" target="buildingBlock" />
+ <camunda:out source="buildingBlock" target="buildingBlock" />
+ <camunda:out source="handlingCode" target="handlingCode" />
+ <camunda:in source="mso-request-id" target="mso-request-id" />
+ <camunda:in source="retryCount" target="retryCount" />
+ <camunda:out source="WorkflowExceptionErrorMessage" target="WorkflowExceptionErrorMessage" />
+ </bpmn:extensionElements>
+ <bpmn:incoming>SequenceFlow_0mqrkxv</bpmn:incoming>
+ <bpmn:outgoing>SequenceFlow_07h9d4y</bpmn:outgoing>
+ </bpmn:callActivity>
+ <bpmn:sequenceFlow id="SequenceFlow_0mqrkxv" sourceRef="Task_SelectBB" targetRef="Call_ExecuteBB" />
+ <bpmn:serviceTask id="Task_SelectBB" name="Select BB" camunda:expression="${WorkflowActionBBTasks.selectBB(execution)}">
+ <bpmn:incoming>SequenceFlow_1atzsgn</bpmn:incoming>
+ <bpmn:incoming>SequenceFlow_1wb59ic</bpmn:incoming>
+ <bpmn:incoming>SequenceFlow_005hi8o</bpmn:incoming>
+ <bpmn:incoming>SequenceFlow_0unbew4</bpmn:incoming>
+ <bpmn:outgoing>SequenceFlow_0mqrkxv</bpmn:outgoing>
+ </bpmn:serviceTask>
+ <bpmn:exclusiveGateway id="ExclusiveGateway_Finished" default="SequenceFlow_01j184u">
+ <bpmn:incoming>SequenceFlow_07h9d4y</bpmn:incoming>
+ <bpmn:outgoing>SequenceFlow_1m2eezj</bpmn:outgoing>
+ <bpmn:outgoing>SequenceFlow_0v588sm</bpmn:outgoing>
+ <bpmn:outgoing>SequenceFlow_11530ei</bpmn:outgoing>
+ <bpmn:outgoing>SequenceFlow_01j184u</bpmn:outgoing>
+ <bpmn:outgoing>SequenceFlow_0l7kaba</bpmn:outgoing>
+ </bpmn:exclusiveGateway>
+ <bpmn:sequenceFlow id="SequenceFlow_07h9d4y" sourceRef="Call_ExecuteBB" targetRef="ExclusiveGateway_Finished" />
+ <bpmn:sequenceFlow id="SequenceFlow_1m2eezj" name="Completed = true" sourceRef="ExclusiveGateway_Finished" targetRef="ExclusiveGateway_isTopLevelFlowC">
+ <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression"><![CDATA[${execution.getVariable("completed")==true&&execution.getVariable("handlingCode")=="Success"}]]></bpmn:conditionExpression>
+ </bpmn:sequenceFlow>
+ <bpmn:serviceTask id="Task_RetrieveBBExectuionList" name="Retrieve BB Execution List" camunda:expression="${WorkflowAction.selectExecutionList(execution)}">
+ <bpmn:incoming>SequenceFlow_15s0okp</bpmn:incoming>
+ <bpmn:outgoing>SequenceFlow_0vc9go9</bpmn:outgoing>
+ </bpmn:serviceTask>
+ <bpmn:serviceTask id="Task_SendSync" name="Send Sync Ack API Handler" camunda:asyncAfter="true" camunda:expression="${WorkflowActionBBTasks.sendSyncAck(execution)}">
+ <bpmn:incoming>SequenceFlow_0sckerv</bpmn:incoming>
+ <bpmn:outgoing>SequenceFlow_1wb59ic</bpmn:outgoing>
+ </bpmn:serviceTask>
+ <bpmn:serviceTask id="Task_SetupCompleteMsoProcess" name="Setup Complete MSO Process" camunda:expression="${WorkflowActionBBTasks.setupCompleteMsoProcess(execution)}">
+ <bpmn:incoming>SequenceFlow_0kf5sen</bpmn:incoming>
+ <bpmn:outgoing>SequenceFlow_1pz6edz</bpmn:outgoing>
+ </bpmn:serviceTask>
+ <bpmn:callActivity id="Call_CompleteMsoProcess" name="Call CompleteMsoProcess" calledElement="CompleteMsoProcess">
+ <bpmn:extensionElements>
+ <camunda:in source="CompleteMsoProcessRequest" target="CompleteMsoProcessRequest" />
+ <camunda:in source="mso-request-id" target="mso-request-id" />
+ <camunda:in source="mso-service-instance-id" target="mso-service-instance-id" />
+ <camunda:out source="CMSO_ResponseCode" target="CMSO_ResponseCode" />
+ <camunda:out source="CompleteMsoProcessResponse" target="CompleteMsoProcessResponse" />
+ <camunda:out source="CMSO_ErrorResponse" target="CMSO_ErrorResponse" />
+ </bpmn:extensionElements>
+ <bpmn:incoming>SequenceFlow_1pz6edz</bpmn:incoming>
+ <bpmn:outgoing>SequenceFlow_1rscv7d</bpmn:outgoing>
+ </bpmn:callActivity>
+ <bpmn:sequenceFlow id="SequenceFlow_1pz6edz" sourceRef="Task_SetupCompleteMsoProcess" targetRef="Call_CompleteMsoProcess" />
+ <bpmn:sequenceFlow id="SequenceFlow_1rscv7d" sourceRef="Call_CompleteMsoProcess" targetRef="End_WorkflowActionBB" />
+ <bpmn:subProcess id="SubProcess_18226x4" name="Error Handling" triggeredByEvent="true">
+ <bpmn:startEvent id="ErrorStart" name="error">
+ <bpmn:outgoing>SequenceFlow_1edjl5x</bpmn:outgoing>
+ <bpmn:errorEventDefinition />
+ </bpmn:startEvent>
+ <bpmn:endEvent id="ErrorEnd" name="end">
+ <bpmn:incoming>SequenceFlow_0wvzfgf</bpmn:incoming>
+ </bpmn:endEvent>
+ <bpmn:serviceTask id="Task_UpdateDb" name="Update Request To Failed" camunda:expression="${WorkflowActionBBTasks.updateRequestStatusToFailed(execution)}">
+ <bpmn:incoming>SequenceFlow_024g0d1</bpmn:incoming>
+ <bpmn:incoming>SequenceFlow_0eana0l</bpmn:incoming>
+ <bpmn:outgoing>SequenceFlow_0wvzfgf</bpmn:outgoing>
+ </bpmn:serviceTask>
+ <bpmn:sequenceFlow id="SequenceFlow_1edjl5x" sourceRef="ErrorStart" targetRef="ExclusiveGateway_10q79b6" />
+ <bpmn:sequenceFlow id="SequenceFlow_0wvzfgf" sourceRef="Task_UpdateDb" targetRef="ErrorEnd" />
+ <bpmn:exclusiveGateway id="ExclusiveGateway_10q79b6" name="Is Top-Level Flow and Sync Ack not sent?" default="SequenceFlow_024g0d1">
+ <bpmn:incoming>SequenceFlow_1edjl5x</bpmn:incoming>
+ <bpmn:outgoing>SequenceFlow_024g0d1</bpmn:outgoing>
+ <bpmn:outgoing>SequenceFlow_0vi883o</bpmn:outgoing>
+ </bpmn:exclusiveGateway>
+ <bpmn:sequenceFlow id="SequenceFlow_024g0d1" name="no" sourceRef="ExclusiveGateway_10q79b6" targetRef="Task_UpdateDb" />
+ <bpmn:sequenceFlow id="SequenceFlow_0vi883o" name="yes" sourceRef="ExclusiveGateway_10q79b6" targetRef="Task_SendSyncAckError">
+ <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression"><![CDATA[${execution.getVariable("isTopLevelFlow")==true&&execution.getVariable("sentSyncResponse")==false}]]></bpmn:conditionExpression>
+ </bpmn:sequenceFlow>
+ <bpmn:sequenceFlow id="SequenceFlow_0eana0l" sourceRef="Task_SendSyncAckError" targetRef="Task_UpdateDb" />
+ <bpmn:serviceTask id="Task_SendSyncAckError" name="Send Sync Ack API Handler" camunda:asyncAfter="true" camunda:expression="${WorkflowActionBBTasks.sendSyncAck(execution)}">
+ <bpmn:incoming>SequenceFlow_0vi883o</bpmn:incoming>
+ <bpmn:outgoing>SequenceFlow_0eana0l</bpmn:outgoing>
+ </bpmn:serviceTask>
+ </bpmn:subProcess>
+ <bpmn:sequenceFlow id="SequenceFlow_0v588sm" name="Rollback = true" sourceRef="ExclusiveGateway_Finished" targetRef="Task_RollbackExecutionPath">
+ <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression"><![CDATA[${execution.getVariable("handlingCode")=="Rollback"}]]></bpmn:conditionExpression>
+ </bpmn:sequenceFlow>
+ <bpmn:sequenceFlow id="SequenceFlow_1atzsgn" sourceRef="Task_RollbackExecutionPath" targetRef="Task_SelectBB">
+ <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression"><![CDATA[${execution.getVariable("isRollbackNeeded")==true}]]></bpmn:conditionExpression>
+ </bpmn:sequenceFlow>
+ <bpmn:serviceTask id="Task_RollbackExecutionPath" name="Rollback Execution Path" camunda:expression="${WorkflowActionBBTasks.rollbackExecutionPath(execution)}">
+ <bpmn:incoming>SequenceFlow_0v588sm</bpmn:incoming>
+ <bpmn:outgoing>SequenceFlow_1atzsgn</bpmn:outgoing>
+ <bpmn:outgoing>SequenceFlow_11dlyzt</bpmn:outgoing>
+ </bpmn:serviceTask>
+ <bpmn:sequenceFlow id="SequenceFlow_0vc9go9" sourceRef="Task_RetrieveBBExectuionList" targetRef="ExclusiveGateway_isTopLevelFlow" />
+ <bpmn:sequenceFlow id="SequenceFlow_11530ei" name="Abort = true" sourceRef="ExclusiveGateway_Finished" targetRef="ExclusiveGateway_isTopLevelFlowAbort">
+ <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression"><![CDATA[${execution.getVariable("handlingCode")=="Abort"}]]></bpmn:conditionExpression>
+ </bpmn:sequenceFlow>
+ <bpmn:serviceTask id="Task_AbortAndCallErrorHandling" name="Update Request To Failed" camunda:expression="${WorkflowActionBBTasks.updateRequestStatusToFailed(execution)}">
+ <bpmn:incoming>SequenceFlow_02ksbt0</bpmn:incoming>
+ <bpmn:outgoing>SequenceFlow_1p8yxu6</bpmn:outgoing>
+ </bpmn:serviceTask>
+ <bpmn:endEvent id="EndEvent_0lzz1ya" name="end">
+ <bpmn:incoming>SequenceFlow_1p8yxu6</bpmn:incoming>
+ <bpmn:incoming>SequenceFlow_1r570x3</bpmn:incoming>
+ </bpmn:endEvent>
+ <bpmn:sequenceFlow id="SequenceFlow_1p8yxu6" sourceRef="Task_AbortAndCallErrorHandling" targetRef="EndEvent_0lzz1ya" />
+ <bpmn:sequenceFlow id="SequenceFlow_1wb59ic" sourceRef="Task_SendSync" targetRef="Task_SelectBB" />
+ <bpmn:sequenceFlow id="SequenceFlow_01j184u" sourceRef="ExclusiveGateway_Finished" targetRef="Task_0a31dkf" />
+ <bpmn:sequenceFlow id="SequenceFlow_005hi8o" sourceRef="Task_0a31dkf" targetRef="Task_SelectBB" />
+ <bpmn:serviceTask id="Task_0a31dkf" name="Check Retry Status" camunda:expression="${WorkflowActionBBTasks.checkRetryStatus(execution)}">
+ <bpmn:incoming>SequenceFlow_01j184u</bpmn:incoming>
+ <bpmn:outgoing>SequenceFlow_005hi8o</bpmn:outgoing>
+ </bpmn:serviceTask>
+ <bpmn:exclusiveGateway id="ExclusiveGateway_isTopLevelFlow" name="Is Top-Level Flow?" default="SequenceFlow_0sckerv">
+ <bpmn:incoming>SequenceFlow_0vc9go9</bpmn:incoming>
+ <bpmn:outgoing>SequenceFlow_0sckerv</bpmn:outgoing>
+ <bpmn:outgoing>SequenceFlow_0unbew4</bpmn:outgoing>
+ </bpmn:exclusiveGateway>
+ <bpmn:sequenceFlow id="SequenceFlow_0sckerv" name="yes" sourceRef="ExclusiveGateway_isTopLevelFlow" targetRef="Task_SendSync" />
+ <bpmn:sequenceFlow id="SequenceFlow_0unbew4" name="no" sourceRef="ExclusiveGateway_isTopLevelFlow" targetRef="Task_SelectBB">
+ <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression"><![CDATA[${execution.getVariable("isTopLevelFlow")==false}]]></bpmn:conditionExpression>
+ </bpmn:sequenceFlow>
+ <bpmn:exclusiveGateway id="ExclusiveGateway_isTopLevelFlowAbort" name="Is Top-Level Flow?" default="SequenceFlow_02ksbt0">
+ <bpmn:incoming>SequenceFlow_11530ei</bpmn:incoming>
+ <bpmn:outgoing>SequenceFlow_02ksbt0</bpmn:outgoing>
+ <bpmn:outgoing>SequenceFlow_1r570x3</bpmn:outgoing>
+ </bpmn:exclusiveGateway>
+ <bpmn:sequenceFlow id="SequenceFlow_02ksbt0" name="yes" sourceRef="ExclusiveGateway_isTopLevelFlowAbort" targetRef="Task_AbortAndCallErrorHandling" />
+ <bpmn:sequenceFlow id="SequenceFlow_1r570x3" name="no" sourceRef="ExclusiveGateway_isTopLevelFlowAbort" targetRef="EndEvent_0lzz1ya">
+ <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression"><![CDATA[${execution.getVariable("isTopLevelFlow")==false}]]></bpmn:conditionExpression>
+ </bpmn:sequenceFlow>
+ <bpmn:exclusiveGateway id="ExclusiveGateway_isTopLevelFlowC" name="Is Top-Level Flow?" default="SequenceFlow_0kf5sen">
+ <bpmn:incoming>SequenceFlow_1m2eezj</bpmn:incoming>
+ <bpmn:outgoing>SequenceFlow_0kf5sen</bpmn:outgoing>
+ <bpmn:outgoing>SequenceFlow_0x4urgp</bpmn:outgoing>
+ </bpmn:exclusiveGateway>
+ <bpmn:sequenceFlow id="SequenceFlow_0kf5sen" name="yes" sourceRef="ExclusiveGateway_isTopLevelFlowC" targetRef="Task_SetupCompleteMsoProcess" />
+ <bpmn:sequenceFlow id="SequenceFlow_0x4urgp" name="no" sourceRef="ExclusiveGateway_isTopLevelFlowC" targetRef="End_WorkflowActionBB">
+ <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression"><![CDATA[${execution.getVariable("isTopLevelFlow")==false}]]></bpmn:conditionExpression>
+ </bpmn:sequenceFlow>
+ <bpmn:endEvent id="End_RollbackFailed" name="end">
+ <bpmn:incoming>SequenceFlow_1ui67mc</bpmn:incoming>
+ </bpmn:endEvent>
+ <bpmn:sequenceFlow id="SequenceFlow_11dlyzt" name="Rollback Not Needed" sourceRef="Task_RollbackExecutionPath" targetRef="Task_UpdateRequestToFailed">
+ <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression"><![CDATA[${execution.getVariable("isRollbackNeeded")==false}]]></bpmn:conditionExpression>
+ </bpmn:sequenceFlow>
+ <bpmn:serviceTask id="Task_UpdateRequestToFailed" name="Update Request To Failed" camunda:expression="${WorkflowActionBBTasks.updateRequestStatusToFailed(execution)}">
+ <bpmn:incoming>SequenceFlow_11dlyzt</bpmn:incoming>
+ <bpmn:incoming>SequenceFlow_0l7kaba</bpmn:incoming>
+ <bpmn:outgoing>SequenceFlow_1ui67mc</bpmn:outgoing>
+ </bpmn:serviceTask>
+ <bpmn:sequenceFlow id="SequenceFlow_0l7kaba" name="Rollback Completed" sourceRef="ExclusiveGateway_Finished" targetRef="Task_UpdateRequestToFailed">
+ <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression"><![CDATA[${execution.getVariable("completed")==true&&execution.getVariable("handlingCode")=="PreformingRollback"}]]></bpmn:conditionExpression>
+ </bpmn:sequenceFlow>
+ <bpmn:sequenceFlow id="SequenceFlow_1ui67mc" sourceRef="Task_UpdateRequestToFailed" targetRef="End_RollbackFailed" />
+ <bpmn:subProcess id="SubProcess_0fuugr9" name="Java Exception Handling Sub Process" triggeredByEvent="true">
+ <bpmn:startEvent id="StartEvent_runtimeError" name="error">
+ <bpmn:outgoing>SequenceFlow_11d126w</bpmn:outgoing>
+ <bpmn:errorEventDefinition errorRef="Error_0kd2o2a" camunda:errorCodeVariable="BPMN_javaExpCode" camunda:errorMessageVariable="BPMN_javaExpMsg" />
+ </bpmn:startEvent>
+ <bpmn:serviceTask id="ServiceTask_HandleRuntimeError" name="Handle Runtime Exception" camunda:expression="${WorkflowAction.handleRuntimeException(execution)}">
+ <bpmn:incoming>SequenceFlow_11d126w</bpmn:incoming>
+ <bpmn:outgoing>SequenceFlow_0w4sx88</bpmn:outgoing>
+ </bpmn:serviceTask>
+ <bpmn:endEvent id="EndEvent__runtimeError">
+ <bpmn:incoming>SequenceFlow_0w4sx88</bpmn:incoming>
+ </bpmn:endEvent>
+ <bpmn:sequenceFlow id="SequenceFlow_11d126w" sourceRef="StartEvent_runtimeError" targetRef="ServiceTask_HandleRuntimeError" />
+ <bpmn:sequenceFlow id="SequenceFlow_0w4sx88" sourceRef="ServiceTask_HandleRuntimeError" targetRef="EndEvent__runtimeError" />
+ </bpmn:subProcess>
+ </bpmn:process>
+ <bpmn:error id="Error_0kd2o2a" name="java.lang.Exception" errorCode="java.lang.Exception" />
+ <bpmndi:BPMNDiagram id="BPMNDiagram_1">
+ <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="WorkflowActionBB">
+ <bpmndi:BPMNShape id="_BPMNShape_StartEvent_2" bpmnElement="Start_WorkflowActionBB">
+ <dc:Bounds x="-52" y="102" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="-45" y="138" width="22" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="EndEvent_1uv6erv_di" bpmnElement="End_WorkflowActionBB">
+ <dc:Bounds x="1281" y="147" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1290" y="186" width="19" height="13" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_15s0okp_di" bpmnElement="SequenceFlow_15s0okp">
+ <di:waypoint xsi:type="dc:Point" x="-16" y="120" />
+ <di:waypoint xsi:type="dc:Point" x="17" y="120" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="-44.5" y="98.5" width="90" height="13" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="CallActivity_03m7z4y_di" bpmnElement="Call_ExecuteBB">
+ <dc:Bounds x="560" y="80" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_0mqrkxv_di" bpmnElement="SequenceFlow_0mqrkxv">
+ <di:waypoint xsi:type="dc:Point" x="528" y="120" />
+ <di:waypoint xsi:type="dc:Point" x="560" y="120" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="544" y="99" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="ServiceTask_1snenqk_di" bpmnElement="Task_SelectBB">
+ <dc:Bounds x="428" y="80" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="ExclusiveGateway_0m1zt0q_di" bpmnElement="ExclusiveGateway_Finished" isMarkerVisible="true">
+ <dc:Bounds x="692" y="95" width="50" height="50" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="676" y="42" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_07h9d4y_di" bpmnElement="SequenceFlow_07h9d4y">
+ <di:waypoint xsi:type="dc:Point" x="660" y="120" />
+ <di:waypoint xsi:type="dc:Point" x="692" y="120" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="676" y="99" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_1m2eezj_di" bpmnElement="SequenceFlow_1m2eezj">
+ <di:waypoint xsi:type="dc:Point" x="730" y="132" />
+ <di:waypoint xsi:type="dc:Point" x="761" y="165" />
+ <di:waypoint xsi:type="dc:Point" x="841" y="165" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="749" y="168" width="83" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="ServiceTask_0kn8jt8_di" bpmnElement="Task_RetrieveBBExectuionList">
+ <dc:Bounds x="17" y="80" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="ServiceTask_0654g3m_di" bpmnElement="Task_SendSync">
+ <dc:Bounds x="235" y="-7" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="ServiceTask_0wzh11j_di" bpmnElement="Task_SetupCompleteMsoProcess">
+ <dc:Bounds x="900" y="210" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="CallActivity_1jxi5jq_di" bpmnElement="Call_CompleteMsoProcess">
+ <dc:Bounds x="1027" y="210" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_1pz6edz_di" bpmnElement="SequenceFlow_1pz6edz">
+ <di:waypoint xsi:type="dc:Point" x="1000" y="250" />
+ <di:waypoint xsi:type="dc:Point" x="1027" y="250" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1014" y="229" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_1rscv7d_di" bpmnElement="SequenceFlow_1rscv7d">
+ <di:waypoint xsi:type="dc:Point" x="1127" y="250" />
+ <di:waypoint xsi:type="dc:Point" x="1147" y="250" />
+ <di:waypoint xsi:type="dc:Point" x="1147" y="165" />
+ <di:waypoint xsi:type="dc:Point" x="1281" y="165" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1117" y="207.5" width="90" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="SubProcess_18226x4_di" bpmnElement="SubProcess_18226x4" isExpanded="true">
+ <dc:Bounds x="498" y="444" width="438" height="297" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="StartEvent_184g7f3_di" bpmnElement="ErrorStart">
+ <dc:Bounds x="520" y="639" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="526" y="682" width="24" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="EndEvent_0l4edvr_di" bpmnElement="ErrorEnd">
+ <dc:Bounds x="880" y="639" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="890" y="681" width="18" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_0v588sm_di" bpmnElement="SequenceFlow_0v588sm">
+ <di:waypoint xsi:type="dc:Point" x="717" y="145" />
+ <di:waypoint xsi:type="dc:Point" x="717" y="262" />
+ <di:waypoint xsi:type="dc:Point" x="528" y="262" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="638.5121951219512" y="272" width="74" height="13" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_1atzsgn_di" bpmnElement="SequenceFlow_1atzsgn">
+ <di:waypoint xsi:type="dc:Point" x="478" y="222" />
+ <di:waypoint xsi:type="dc:Point" x="478" y="160" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="448" y="191" width="90" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="ServiceTask_19t1oyr_di" bpmnElement="Task_RollbackExecutionPath">
+ <dc:Bounds x="428" y="222" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_0vc9go9_di" bpmnElement="SequenceFlow_0vc9go9">
+ <di:waypoint xsi:type="dc:Point" x="117" y="120" />
+ <di:waypoint xsi:type="dc:Point" x="150" y="120" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="134" y="105" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_11530ei_di" bpmnElement="SequenceFlow_11530ei">
+ <di:waypoint xsi:type="dc:Point" x="727" y="105" />
+ <di:waypoint xsi:type="dc:Point" x="764" y="44" />
+ <di:waypoint xsi:type="dc:Point" x="841" y="45" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="756" y="17.269982652857244" width="57" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="ServiceTask_0jo36ez_di" bpmnElement="Task_AbortAndCallErrorHandling">
+ <dc:Bounds x="957" y="-76" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="EndEvent_0lzz1ya_di" bpmnElement="EndEvent_0lzz1ya">
+ <dc:Bounds x="1167" y="27" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1176" y="67" width="18" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_1p8yxu6_di" bpmnElement="SequenceFlow_1p8yxu6">
+ <di:waypoint xsi:type="dc:Point" x="1057" y="-36" />
+ <di:waypoint xsi:type="dc:Point" x="1140" y="-36" />
+ <di:waypoint xsi:type="dc:Point" x="1140" y="45" />
+ <di:waypoint xsi:type="dc:Point" x="1167" y="45" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1155" y="4.5" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_1wb59ic_di" bpmnElement="SequenceFlow_1wb59ic">
+ <di:waypoint xsi:type="dc:Point" x="335" y="33" />
+ <di:waypoint xsi:type="dc:Point" x="382" y="33" />
+ <di:waypoint xsi:type="dc:Point" x="382" y="120" />
+ <di:waypoint xsi:type="dc:Point" x="428" y="120" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="397" y="76.5" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_01j184u_di" bpmnElement="SequenceFlow_01j184u">
+ <di:waypoint xsi:type="dc:Point" x="717" y="95" />
+ <di:waypoint xsi:type="dc:Point" x="717" y="55" />
+ <di:waypoint xsi:type="dc:Point" x="717" y="55" />
+ <di:waypoint xsi:type="dc:Point" x="717" y="4" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="732" y="49" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_005hi8o_di" bpmnElement="SequenceFlow_005hi8o">
+ <di:waypoint xsi:type="dc:Point" x="667" y="-36" />
+ <di:waypoint xsi:type="dc:Point" x="478" y="-36" />
+ <di:waypoint xsi:type="dc:Point" x="478" y="80" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="573" y="-57" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="ServiceTask_1c1v3p1_di" bpmnElement="Task_0a31dkf">
+ <dc:Bounds x="667" y="-76" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="ExclusiveGateway_0ptb1yi_di" bpmnElement="ExclusiveGateway_isTopLevelFlow" isMarkerVisible="true">
+ <dc:Bounds x="150" y="95" width="50" height="50" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="144" y="145" width="61" height="24" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_0sckerv_di" bpmnElement="SequenceFlow_0sckerv">
+ <di:waypoint xsi:type="dc:Point" x="176" y="96" />
+ <di:waypoint xsi:type="dc:Point" x="176" y="33" />
+ <di:waypoint xsi:type="dc:Point" x="235" y="33" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="182" y="54.5" width="18" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_0unbew4_di" bpmnElement="SequenceFlow_0unbew4">
+ <di:waypoint xsi:type="dc:Point" x="200" y="120" />
+ <di:waypoint xsi:type="dc:Point" x="428" y="120" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="308" y="95" width="12" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="ExclusiveGateway_001g41v_di" bpmnElement="ExclusiveGateway_isTopLevelFlowAbort" isMarkerVisible="true">
+ <dc:Bounds x="841" y="20" width="50" height="50" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="835" y="70" width="61" height="24" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_02ksbt0_di" bpmnElement="SequenceFlow_02ksbt0">
+ <di:waypoint xsi:type="dc:Point" x="866" y="20" />
+ <di:waypoint xsi:type="dc:Point" x="866" y="-37" />
+ <di:waypoint xsi:type="dc:Point" x="957" y="-37" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="872" y="-8.5" width="18" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_1r570x3_di" bpmnElement="SequenceFlow_1r570x3">
+ <di:waypoint xsi:type="dc:Point" x="891" y="45" />
+ <di:waypoint xsi:type="dc:Point" x="1167" y="45" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1023" y="20" width="12" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="ExclusiveGateway_1er1kam_di" bpmnElement="ExclusiveGateway_isTopLevelFlowC" isMarkerVisible="true">
+ <dc:Bounds x="841" y="140" width="50" height="50" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="835" y="108" width="61" height="24" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_0kf5sen_di" bpmnElement="SequenceFlow_0kf5sen">
+ <di:waypoint xsi:type="dc:Point" x="866" y="190" />
+ <di:waypoint xsi:type="dc:Point" x="866" y="250" />
+ <di:waypoint xsi:type="dc:Point" x="900" y="250" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="872" y="220" width="18" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_0x4urgp_di" bpmnElement="SequenceFlow_0x4urgp">
+ <di:waypoint xsi:type="dc:Point" x="891" y="165" />
+ <di:waypoint xsi:type="dc:Point" x="1281" y="165" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1080.2065217391305" y="140" width="13" height="13" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="EndEvent_1q8eh5e_di" bpmnElement="End_RollbackFailed">
+ <dc:Bounds x="940" y="347" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="958" y="399" width="18" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_11dlyzt_di" bpmnElement="SequenceFlow_11dlyzt">
+ <di:waypoint xsi:type="dc:Point" x="478" y="302" />
+ <di:waypoint xsi:type="dc:Point" x="478" y="368" />
+ <di:waypoint xsi:type="dc:Point" x="741" y="368" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="495" y="324.65" width="62" height="24" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="ServiceTask_1h154rn_di" bpmnElement="Task_UpdateDb">
+ <dc:Bounds x="713" y="617" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="ServiceTask_1t8n9gd_di" bpmnElement="Task_UpdateRequestToFailed">
+ <dc:Bounds x="741" y="325" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_0l7kaba_di" bpmnElement="SequenceFlow_0l7kaba">
+ <di:waypoint xsi:type="dc:Point" x="723" y="139" />
+ <di:waypoint xsi:type="dc:Point" x="757" y="252" />
+ <di:waypoint xsi:type="dc:Point" x="797" y="252" />
+ <di:waypoint xsi:type="dc:Point" x="797" y="325" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="739.7268586738111" y="255.4388401674105" width="52" height="24" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_1edjl5x_di" bpmnElement="SequenceFlow_1edjl5x">
+ <di:waypoint xsi:type="dc:Point" x="556" y="657" />
+ <di:waypoint xsi:type="dc:Point" x="602" y="657" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="534" y="636" width="90" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_0wvzfgf_di" bpmnElement="SequenceFlow_0wvzfgf">
+ <di:waypoint xsi:type="dc:Point" x="813" y="657" />
+ <di:waypoint xsi:type="dc:Point" x="880" y="657" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="801.5" y="636" width="90" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_1ui67mc_di" bpmnElement="SequenceFlow_1ui67mc">
+ <di:waypoint xsi:type="dc:Point" x="841" y="365" />
+ <di:waypoint xsi:type="dc:Point" x="915" y="365" />
+ <di:waypoint xsi:type="dc:Point" x="915" y="365" />
+ <di:waypoint xsi:type="dc:Point" x="940" y="365" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="885" y="358.5" width="90" height="13" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="ExclusiveGateway_10q79b6_di" bpmnElement="ExclusiveGateway_10q79b6" isMarkerVisible="true">
+ <dc:Bounds x="602" y="632" width="50" height="50" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="584" y="686" width="86" height="36" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_024g0d1_di" bpmnElement="SequenceFlow_024g0d1">
+ <di:waypoint xsi:type="dc:Point" x="652" y="657" />
+ <di:waypoint xsi:type="dc:Point" x="683" y="657" />
+ <di:waypoint xsi:type="dc:Point" x="683" y="657" />
+ <di:waypoint xsi:type="dc:Point" x="713" y="657" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="677" y="634" width="12" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_0vi883o_di" bpmnElement="SequenceFlow_0vi883o">
+ <di:waypoint xsi:type="dc:Point" x="627" y="632" />
+ <di:waypoint xsi:type="dc:Point" x="627" y="548" />
+ <di:waypoint xsi:type="dc:Point" x="713" y="548" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="633" y="584" width="18" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_0eana0l_di" bpmnElement="SequenceFlow_0eana0l">
+ <di:waypoint xsi:type="dc:Point" x="763" y="588" />
+ <di:waypoint xsi:type="dc:Point" x="763" y="617" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="778" y="596.5" width="0" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="ServiceTask_10hs368_di" bpmnElement="Task_SendSyncAckError">
+ <dc:Bounds x="713" y="508" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="SubProcess_0fuugr9_di" bpmnElement="SubProcess_0fuugr9" isExpanded="true">
+ <dc:Bounds x="515" y="792" width="404" height="165" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="StartEvent_15qkxd7_di" bpmnElement="StartEvent_runtimeError">
+ <dc:Bounds x="570" y="857" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="577" y="900" width="24" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="ServiceTask_1p4kxh2_di" bpmnElement="ServiceTask_HandleRuntimeError">
+ <dc:Bounds x="690" y="835" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="EndEvent_09e3lu5_di" bpmnElement="EndEvent__runtimeError">
+ <dc:Bounds x="856" y="857" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="784" y="897" width="0" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_11d126w_di" bpmnElement="SequenceFlow_11d126w">
+ <di:waypoint xsi:type="dc:Point" x="606" y="875" />
+ <di:waypoint xsi:type="dc:Point" x="690" y="875" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="603" y="854" width="0" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_0w4sx88_di" bpmnElement="SequenceFlow_0w4sx88">
+ <di:waypoint xsi:type="dc:Point" x="790" y="875" />
+ <di:waypoint xsi:type="dc:Point" x="856" y="875" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="778" y="854" width="0" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ </bpmndi:BPMNPlane>
+ </bpmndi:BPMNDiagram>
+</bpmn:definitions>