aboutsummaryrefslogtreecommitdiffstats
path: root/bpmn/so-bpmn-building-blocks/src/main/resources
diff options
context:
space:
mode:
authorKuleshov, Elena <evn@att.com>2020-01-24 16:33:39 -0500
committerBenjamin, Max (mb388a) <mb388a@att.com>2020-01-24 16:33:40 -0500
commit2eb23f4ac862f700f0abf6f2dc5b9fa662ec9c60 (patch)
tree4f4e5ad0aa89961c4b51eaf8fd32bc9f340b8c93 /bpmn/so-bpmn-building-blocks/src/main/resources
parent48cb43adc20ac10fa6f22c0e03fe2b6775d45b87 (diff)
add manual handling to rainy day handling for bbs
Initial Manual Handling addition to Rainy Day BB handling. Reenable task API, add task variable setup. TaskTimeout will come from the configuration settings. Update the base path for the APIH manual tasks junit. Additional JUNIT tests for manual handling Add Manual as a primary policy for Change Management BBs. Error handling changes and robot tests for manual handling. Correct failure data retrieval when serviceSubscription is unavailable. Correct failure data retrieval when serviceSubscription is unavailable. Keep WorkflowException when manual pause gets invoked; improved error reporting. Issue-ID: SO-2616 Signed-off-by: Benjamin, Max (mb388a) <mb388a@att.com> Change-Id: I98a84c1a489bb7b24b68e567f604aeb074fd7bf9
Diffstat (limited to 'bpmn/so-bpmn-building-blocks/src/main/resources')
-rw-r--r--bpmn/so-bpmn-building-blocks/src/main/resources/subprocess/BuildingBlock/ExecuteBuildingBlock.bpmn186
-rw-r--r--bpmn/so-bpmn-building-blocks/src/main/resources/subprocess/BuildingBlock/PauseForManualTaskRainyDay.bpmn164
2 files changed, 300 insertions, 50 deletions
diff --git a/bpmn/so-bpmn-building-blocks/src/main/resources/subprocess/BuildingBlock/ExecuteBuildingBlock.bpmn b/bpmn/so-bpmn-building-blocks/src/main/resources/subprocess/BuildingBlock/ExecuteBuildingBlock.bpmn
index e64c44eb94..443a571312 100644
--- a/bpmn/so-bpmn-building-blocks/src/main/resources/subprocess/BuildingBlock/ExecuteBuildingBlock.bpmn
+++ b/bpmn/so-bpmn-building-blocks/src/main/resources/subprocess/BuildingBlock/ExecuteBuildingBlock.bpmn
@@ -1,5 +1,5 @@
<?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:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:camunda="http://camunda.org/schema/1.0/bpmn" id="Definitions_1" targetNamespace="http://bpmn.io/schema/bpmn" exporter="Camunda Modeler" exporterVersion="1.10.0">
+<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:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:camunda="http://camunda.org/schema/1.0/bpmn" id="Definitions_1" targetNamespace="http://bpmn.io/schema/bpmn" exporter="Camunda Modeler" exporterVersion="1.4.0">
<bpmn:process id="ExecuteBuildingBlock" name="ExecuteBuildingBlock" isExecutable="true">
<bpmn:startEvent id="Start_ExecuteBuildingBlock" name="start">
<bpmn:outgoing>SequenceFlow_0rq4c5r</bpmn:outgoing>
@@ -44,8 +44,12 @@
</bpmn:serviceTask>
<bpmn:exclusiveGateway id="ExclusiveGateway_1aonzik" name="Check HandlingCode" default="SequenceFlow_0h8v45y">
<bpmn:incoming>SequenceFlow_0a62t4c</bpmn:incoming>
+ <bpmn:incoming>SequenceFlow_05le7o3</bpmn:incoming>
<bpmn:outgoing>SequenceFlow_0fwsjva</bpmn:outgoing>
<bpmn:outgoing>SequenceFlow_0h8v45y</bpmn:outgoing>
+ <bpmn:outgoing>SequenceFlow_1xh5ngw</bpmn:outgoing>
+ <bpmn:outgoing>SequenceFlow_0xyd2zl</bpmn:outgoing>
+ <bpmn:outgoing>SequenceFlow_1g7oq3t</bpmn:outgoing>
</bpmn:exclusiveGateway>
<bpmn:intermediateCatchEvent id="IntermediateCatchEvent_RetryTimer" name="RetryTimer">
<bpmn:incoming>SequenceFlow_0ndt8ft</bpmn:incoming>
@@ -87,6 +91,7 @@
</bpmn:endEvent>
<bpmn:serviceTask id="Task_QuerySecondaryPolicy" name="Query Secondary Policy" camunda:expression="${ExecuteBuildingBlockRainyDay.queryRainyDayTable(execution,false)}">
<bpmn:incoming>SequenceFlow_0541bid</bpmn:incoming>
+ <bpmn:incoming>SequenceFlow_1g7oq3t</bpmn:incoming>
<bpmn:outgoing>SequenceFlow_12ps9at</bpmn:outgoing>
</bpmn:serviceTask>
<bpmn:sequenceFlow id="SequenceFlow_0vdeqxv" sourceRef="Task_UpdateExtErrorSource" targetRef="Task_QueryRainyDayTable" />
@@ -99,6 +104,36 @@
<bpmn:incoming>SequenceFlow_09synl9</bpmn:incoming>
<bpmn:outgoing>SequenceFlow_0vdeqxv</bpmn:outgoing>
</bpmn:serviceTask>
+ <bpmn:sequenceFlow id="SequenceFlow_05le7o3" sourceRef="PauseForManualTaskRainyDay" targetRef="ExclusiveGateway_1aonzik" />
+ <bpmn:sequenceFlow id="SequenceFlow_1xh5ngw" name="Manual" sourceRef="ExclusiveGateway_1aonzik" targetRef="PauseForManualTaskRainyDay">
+ <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression"><![CDATA[${execution.getVariable("handlingCode")=="Manual"}]]></bpmn:conditionExpression>
+ </bpmn:sequenceFlow>
+ <bpmn:sequenceFlow id="SequenceFlow_0xyd2zl" name="Skip" sourceRef="ExclusiveGateway_1aonzik" targetRef="Task_setHandlingCodeSuccessOnSkip">
+ <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression"><![CDATA[${execution.getVariable("handlingCode")=="Skip"}]]></bpmn:conditionExpression>
+ </bpmn:sequenceFlow>
+ <bpmn:serviceTask id="Task_setHandlingCodeSuccessOnSkip" name="Set Handling Code to Success" camunda:expression="${ExecuteBuildingBlockRainyDay.setHandlingStatusSuccess(execution)}">
+ <bpmn:incoming>SequenceFlow_0xyd2zl</bpmn:incoming>
+ <bpmn:outgoing>SequenceFlow_1ynai9j</bpmn:outgoing>
+ </bpmn:serviceTask>
+ <bpmn:callActivity id="PauseForManualTaskRainyDay" name="Pause for Manual Task Rainy Day" calledElement="PauseForManualTaskRainyDay">
+ <bpmn:extensionElements>
+ <camunda:out source="responseValueTask" target="handlingCode" />
+ <camunda:in source="gBuildingBlockExecution" target="gBuildingBlockExecution" />
+ <camunda:in source="rainyDayServiceType" target="rainyDayServiceType" />
+ <camunda:in source="rainyDayVnfType" target="rainyDayVnfType" />
+ <camunda:in source="WorkflowException" target="WorkflowException" />
+ <camunda:in source="rainyDayVnfName" target="rainyDayVnfName" />
+ </bpmn:extensionElements>
+ <bpmn:incoming>SequenceFlow_1xh5ngw</bpmn:incoming>
+ <bpmn:outgoing>SequenceFlow_05le7o3</bpmn:outgoing>
+ </bpmn:callActivity>
+ <bpmn:endEvent id="EndEvent_1py1er4" name="end">
+ <bpmn:incoming>SequenceFlow_1ynai9j</bpmn:incoming>
+ </bpmn:endEvent>
+ <bpmn:sequenceFlow id="SequenceFlow_1ynai9j" sourceRef="Task_setHandlingCodeSuccessOnSkip" targetRef="EndEvent_1py1er4" />
+ <bpmn:sequenceFlow id="SequenceFlow_1g7oq3t" name="Timeout" sourceRef="ExclusiveGateway_1aonzik" targetRef="Task_QuerySecondaryPolicy">
+ <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression"><![CDATA[${execution.getVariable("handlingCode")=="Timeout"}]]></bpmn:conditionExpression>
+ </bpmn:sequenceFlow>
</bpmn:subProcess>
<bpmn:sequenceFlow id="SequenceFlow_16lmcxp" sourceRef="Task_setHandlingCodeSuccess" targetRef="End_ExecuteBuildingBlock" />
<bpmn:sequenceFlow id="SequenceFlow_1j0vskt" name="Silent Success" sourceRef="CheckOrchestrationStatusValidationResults" targetRef="Task_setHandlingCodeSuccess">
@@ -169,63 +204,63 @@
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="ExclusiveGateway_0ey4zpt_di" bpmnElement="ExclusiveGateway_0ey4zpt" isMarkerVisible="true">
- <dc:Bounds x="692" y="389" width="50" height="50" />
+ <dc:Bounds x="695" y="478" width="50" height="50" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="686" y="364" width="65" height="12" />
+ <dc:Bounds x="691" y="453" width="62" height="12" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="IntermediateCatchEvent_0qjyidb_di" bpmnElement="IntermediateCatchEvent_RetryTimer">
- <dc:Bounds x="936" y="396" width="36" height="36" />
+ <dc:Bounds x="939" y="485" width="36" height="36" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="927" y="371" width="56" height="12" />
+ <dc:Bounds x="930" y="460" width="55" height="12" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="ExclusiveGateway_1aonzik_di" bpmnElement="ExclusiveGateway_1aonzik" isMarkerVisible="true">
- <dc:Bounds x="539" y="389" width="50" height="50" />
+ <dc:Bounds x="542" y="478" width="50" height="50" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="528" y="351" width="72" height="24" />
+ <dc:Bounds x="533" y="440" width="68" height="24" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="SequenceFlow_1wbevp0_di" bpmnElement="SequenceFlow_1wbevp0">
- <di:waypoint xsi:type="dc:Point" x="742" y="414" />
- <di:waypoint xsi:type="dc:Point" x="807" y="414" />
+ <di:waypoint xsi:type="dc:Point" x="745" y="503" />
+ <di:waypoint xsi:type="dc:Point" x="810" y="503" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="759" y="389" width="19" height="12" />
+ <dc:Bounds x="763" y="478" width="18" height="12" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="SequenceFlow_0fwsjva_di" bpmnElement="SequenceFlow_0fwsjva">
- <di:waypoint xsi:type="dc:Point" x="589" y="414" />
- <di:waypoint xsi:type="dc:Point" x="692" y="414" />
+ <di:waypoint xsi:type="dc:Point" x="592" y="503" />
+ <di:waypoint xsi:type="dc:Point" x="695" y="503" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="627" y="422" width="28" height="12" />
+ <dc:Bounds x="630" y="511" width="27" height="12" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="SequenceFlow_0h8v45y_di" bpmnElement="SequenceFlow_0h8v45y">
- <di:waypoint xsi:type="dc:Point" x="564" y="439" />
- <di:waypoint xsi:type="dc:Point" x="564" y="495" />
+ <di:waypoint xsi:type="dc:Point" x="567" y="528" />
+ <di:waypoint xsi:type="dc:Point" x="567" y="584" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="570" y="460" width="88" height="12" />
+ <dc:Bounds x="575" y="549" width="84" height="12" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="ServiceTask_1tifgqh_di" bpmnElement="Task_QueryRainyDayTable">
- <dc:Bounds x="396" y="374" width="100" height="80" />
+ <dc:Bounds x="399" y="463" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="SequenceFlow_0ndt8ft_di" bpmnElement="SequenceFlow_0ndt8ft">
- <di:waypoint xsi:type="dc:Point" x="907" y="414" />
- <di:waypoint xsi:type="dc:Point" x="936" y="414" />
+ <di:waypoint xsi:type="dc:Point" x="910" y="503" />
+ <di:waypoint xsi:type="dc:Point" x="939" y="503" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="877" y="393" width="90" height="12" />
+ <dc:Bounds x="925" y="482" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="SequenceFlow_07a1ytc_di" bpmnElement="SequenceFlow_07a1ytc">
- <di:waypoint xsi:type="dc:Point" x="972" y="414" />
- <di:waypoint xsi:type="dc:Point" x="1010" y="414" />
+ <di:waypoint xsi:type="dc:Point" x="975" y="503" />
+ <di:waypoint xsi:type="dc:Point" x="1013" y="503" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="946" y="393" width="90" height="12" />
+ <dc:Bounds x="994" y="482" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="ServiceTask_1obvxht_di" bpmnElement="Task_SetRetryTimer">
- <dc:Bounds x="807" y="374" width="100" height="80" />
+ <dc:Bounds x="810" y="463" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="SequenceFlow_0kdjsnx_di" bpmnElement="Continue">
<di:waypoint xsi:type="dc:Point" x="508" y="180" />
@@ -251,25 +286,25 @@
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="SequenceFlow_0a62t4c_di" bpmnElement="SequenceFlow_0a62t4c">
- <di:waypoint xsi:type="dc:Point" x="496" y="414" />
- <di:waypoint xsi:type="dc:Point" x="539" y="414" />
+ <di:waypoint xsi:type="dc:Point" x="499" y="503" />
+ <di:waypoint xsi:type="dc:Point" x="542" y="503" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="473" y="393" width="90" height="13" />
+ <dc:Bounds x="521" y="482" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="SubProcess_0tv8zda_di" bpmnElement="SubProcess_0tv8zda" isExpanded="true">
- <dc:Bounds x="171" y="298" width="922" height="295" />
+ <dc:Bounds x="171" y="299" width="1020" height="432" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="EndEvent_0mvmk3i_di" bpmnElement="EndEvent_0mvmk3i">
- <dc:Bounds x="546" y="495" width="36" height="36" />
+ <dc:Bounds x="549" y="584" width="36" height="36" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="519" y="535" width="90" height="12" />
+ <dc:Bounds x="567" y="624" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="EndEvent_1aww7yx_di" bpmnElement="EndEvent_1sez2lh">
- <dc:Bounds x="1010" y="396" width="36" height="36" />
+ <dc:Bounds x="1013" y="485" width="36" height="36" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1020" y="436" width="20" height="12" />
+ <dc:Bounds x="1024" y="525" width="18" height="12" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="SequenceFlow_16lmcxp_di" bpmnElement="SequenceFlow_16lmcxp">
@@ -312,51 +347,102 @@
<dc:Bounds x="906" y="140" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="SequenceFlow_0541bid_di" bpmnElement="SequenceFlow_0541bid">
- <di:waypoint xsi:type="dc:Point" x="717" y="439" />
- <di:waypoint xsi:type="dc:Point" x="717" y="463" />
+ <di:waypoint xsi:type="dc:Point" x="720" y="528" />
+ <di:waypoint xsi:type="dc:Point" x="720" y="552" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="728" y="440" width="13" height="12" />
+ <dc:Bounds x="732" y="529" width="12" height="12" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="SequenceFlow_12ps9at_di" bpmnElement="SequenceFlow_12ps9at">
- <di:waypoint xsi:type="dc:Point" x="767" y="503" />
- <di:waypoint xsi:type="dc:Point" x="839" y="503" />
+ <di:waypoint xsi:type="dc:Point" x="770" y="592" />
+ <di:waypoint xsi:type="dc:Point" x="842" y="592" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="758" y="482" width="90" height="12" />
+ <dc:Bounds x="806" y="571" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="EndEvent_05vw85n_di" bpmnElement="EndEvent_0ex9298">
- <dc:Bounds x="839" y="485" width="36" height="36" />
+ <dc:Bounds x="842" y="574" width="36" height="36" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="848" y="525" width="20" height="12" />
+ <dc:Bounds x="852" y="614" width="18" height="12" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="ServiceTask_11f2c91_di" bpmnElement="Task_QuerySecondaryPolicy">
- <dc:Bounds x="667" y="463" width="100" height="80" />
+ <dc:Bounds x="670" y="552" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="SequenceFlow_0vdeqxv_di" bpmnElement="SequenceFlow_0vdeqxv">
- <di:waypoint xsi:type="dc:Point" x="361" y="414" />
- <di:waypoint xsi:type="dc:Point" x="396" y="414" />
+ <di:waypoint xsi:type="dc:Point" x="364" y="503" />
+ <di:waypoint xsi:type="dc:Point" x="399" y="503" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="378.5" y="393" width="0" height="12" />
+ <dc:Bounds x="382" y="482" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="StartEvent_0tmcs9g_di" bpmnElement="StartEvent_0tmcs9g">
- <dc:Bounds x="196" y="396" width="36" height="36" />
+ <dc:Bounds x="199" y="485" width="36" height="36" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="79" y="432" width="90" height="12" />
+ <dc:Bounds x="127" y="521" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="SequenceFlow_09synl9_di" bpmnElement="SequenceFlow_09synl9">
- <di:waypoint xsi:type="dc:Point" x="232" y="414" />
- <di:waypoint xsi:type="dc:Point" x="261" y="414" />
+ <di:waypoint xsi:type="dc:Point" x="235" y="503" />
+ <di:waypoint xsi:type="dc:Point" x="264" y="503" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="201.5" y="393" width="90" height="12" />
+ <dc:Bounds x="250" y="482" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="ServiceTask_10v49qn_di" bpmnElement="Task_UpdateExtErrorSource">
- <dc:Bounds x="261" y="374" width="100" height="80" />
+ <dc:Bounds x="264" y="463" width="100" height="80" />
</bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_05le7o3_di" bpmnElement="SequenceFlow_05le7o3">
+ <di:waypoint xsi:type="dc:Point" x="617" y="377" />
+ <di:waypoint xsi:type="dc:Point" x="659" y="377" />
+ <di:waypoint xsi:type="dc:Point" x="659" y="421" />
+ <di:waypoint xsi:type="dc:Point" x="580" y="491" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="674" y="399" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_1xh5ngw_di" bpmnElement="SequenceFlow_1xh5ngw">
+ <di:waypoint xsi:type="dc:Point" x="553" y="492" />
+ <di:waypoint xsi:type="dc:Point" x="462" y="423" />
+ <di:waypoint xsi:type="dc:Point" x="462" y="377" />
+ <di:waypoint xsi:type="dc:Point" x="517" y="377" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="468" y="400" width="35" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_0xyd2zl_di" bpmnElement="SequenceFlow_0xyd2zl">
+ <di:waypoint xsi:type="dc:Point" x="553" y="514" />
+ <di:waypoint xsi:type="dc:Point" x="449" y="589" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="506" y="549.4997153461163" width="21" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="ServiceTask_0ohzi8e_di" bpmnElement="Task_setHandlingCodeSuccessOnSkip">
+ <dc:Bounds x="399" y="589" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="CallActivity_0szwp51_di" bpmnElement="PauseForManualTaskRainyDay">
+ <dc:Bounds x="517" y="337" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="EndEvent_1py1er4_di" bpmnElement="EndEvent_1py1er4">
+ <dc:Bounds x="304" y="611" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="313" y="647" width="18" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_1ynai9j_di" bpmnElement="SequenceFlow_1ynai9j">
+ <di:waypoint xsi:type="dc:Point" x="399" y="629" />
+ <di:waypoint xsi:type="dc:Point" x="340" y="629" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="370" y="604" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_1g7oq3t_di" bpmnElement="SequenceFlow_1g7oq3t">
+ <di:waypoint xsi:type="dc:Point" x="583" y="512" />
+ <di:waypoint xsi:type="dc:Point" x="670" y="562" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="649" y="533" width="39" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
</bpmndi:BPMNPlane>
</bpmndi:BPMNDiagram>
</bpmn:definitions>
diff --git a/bpmn/so-bpmn-building-blocks/src/main/resources/subprocess/BuildingBlock/PauseForManualTaskRainyDay.bpmn b/bpmn/so-bpmn-building-blocks/src/main/resources/subprocess/BuildingBlock/PauseForManualTaskRainyDay.bpmn
new file mode 100644
index 0000000000..29657e17af
--- /dev/null
+++ b/bpmn/so-bpmn-building-blocks/src/main/resources/subprocess/BuildingBlock/PauseForManualTaskRainyDay.bpmn
@@ -0,0 +1,164 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<bpmn2:definitions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:bpmn2="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" xmlns:camunda="http://camunda.org/schema/1.0/bpmn" id="_MagIIMOUEeW8asg-vCEgWQ" targetNamespace="http://camunda.org/schema/1.0/bpmn" exporter="Camunda Modeler" exporterVersion="1.4.0" xsi:schemaLocation="http://www.omg.org/spec/BPMN/20100524/MODEL BPMN20.xsd">
+ <bpmn2:process id="PauseForManualTaskRainyDay" name="PauseForManualTaskRainyDay" isExecutable="true">
+ <bpmn2:startEvent id="PauseForManualTaskRainyDay_Start">
+ <bpmn2:outgoing>SequenceFlow_0jav6cu</bpmn2:outgoing>
+ </bpmn2:startEvent>
+ <bpmn2:endEvent id="PauseForManualTaskRainyDay_End">
+ <bpmn2:incoming>SequenceFlow_14cyk9v</bpmn2:incoming>
+ </bpmn2:endEvent>
+ <bpmn2:sequenceFlow id="SequenceFlow_0jav6cu" sourceRef="PauseForManualTaskRainyDay_Start" targetRef="InitRainyDayManualHandling" />
+ <bpmn2:sequenceFlow id="SequenceFlow_192yimz" sourceRef="ManualUserTask" targetRef="UpdateDbStatusToInProgress" />
+ <bpmn2:userTask id="ManualUserTask" name="Manual User Task">
+ <bpmn2:extensionElements>
+ <camunda:taskListener expression="${ManualHandlingTasks.completeTask(task)}" event="complete" />
+ <camunda:properties>
+ <camunda:property />
+ </camunda:properties>
+ <camunda:taskListener expression="${ManualHandlingTasks.setFalloutTaskVariables(task)}" event="create" />
+ </bpmn2:extensionElements>
+ <bpmn2:incoming>SequenceFlow_0igra4l</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_192yimz</bpmn2:outgoing>
+ </bpmn2:userTask>
+ <bpmn2:sequenceFlow id="SequenceFlow_0b84ki5" sourceRef="UpdateDbStatusToPendingManualTask" targetRef="CreateExternalTicket" />
+ <bpmn2:sequenceFlow id="SequenceFlow_14cyk9v" sourceRef="UpdateDbStatusToInProgress" targetRef="PauseForManualTaskRainyDay_End" />
+ <bpmn2:serviceTask id="UpdateDbStatusToPendingManualTask" name="Update Infra DB Status to PENDING_MANUAL_TASK" camunda:expression="${ManualHandlingTasks.updateRequestDbStatus(InjectExecution.execute(execution, execution.getVariable(&#34;gBuildingBlockExecution&#34;)),&#34;PENDING_MANUAL_TASK&#34;)}">
+ <bpmn2:incoming>SequenceFlow_1idwudp</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_0b84ki5</bpmn2:outgoing>
+ </bpmn2:serviceTask>
+ <bpmn2:serviceTask id="UpdateDbStatusToInProgress" name="Update Infra DB Status to IN_PROGRESS" camunda:expression="${ManualHandlingTasks.updateRequestDbStatus(InjectExecution.execute(execution, execution.getVariable(&#34;gBuildingBlockExecution&#34;)), &#34;IN_PROGRESS&#34;)}">
+ <bpmn2:incoming>SequenceFlow_192yimz</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_14cyk9v</bpmn2:outgoing>
+ </bpmn2:serviceTask>
+ <bpmn2:sequenceFlow id="SequenceFlow_0igra4l" sourceRef="CreateExternalTicket" targetRef="ManualUserTask" />
+ <bpmn2:boundaryEvent id="ManualTaskTimer" name="Timer" attachedToRef="ManualUserTask">
+ <bpmn2:outgoing>SequenceFlow_01k6zgt</bpmn2:outgoing>
+ <bpmn2:timerEventDefinition>
+ <bpmn2:timeDuration xsi:type="bpmn2:tFormalExpression"><![CDATA[${execution.getVariable("taskTimeout")}]]></bpmn2:timeDuration>
+ </bpmn2:timerEventDefinition>
+ </bpmn2:boundaryEvent>
+ <bpmn2:serviceTask id="CreateExternalTicket" name="Create ExternalTicket" camunda:expression="${ManualHandlingTasks.createExternalTicket(InjectExecution.execute(execution, execution.getVariable(&#34;gBuildingBlockExecution&#34;)))}">
+ <bpmn2:incoming>SequenceFlow_0b84ki5</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_0igra4l</bpmn2:outgoing>
+ </bpmn2:serviceTask>
+ <bpmn2:sequenceFlow id="SequenceFlow_01k6zgt" sourceRef="ManualTaskTimer" targetRef="UpdateDBStatusToTimeout" />
+ <bpmn2:serviceTask id="UpdateDBStatusToTimeout" name="Update Infra DB Status To TIMEOUT" camunda:expression="${ManualHandlingTasks.updateRequestDbStatus(InjectExecution.execute(execution, execution.getVariable(&#34;gBuildingBlockExecution&#34;)), &#34;TIMEOUT&#34;)}">
+ <bpmn2:incoming>SequenceFlow_01k6zgt</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_16bjdgj</bpmn2:outgoing>
+ </bpmn2:serviceTask>
+ <bpmn2:sequenceFlow id="SequenceFlow_16bjdgj" sourceRef="UpdateDBStatusToTimeout" targetRef="PauseForManualTaskRainyDay_Timeout" />
+ <bpmn2:endEvent id="PauseForManualTaskRainyDay_Timeout">
+ <bpmn2:incoming>SequenceFlow_16bjdgj</bpmn2:incoming>
+ </bpmn2:endEvent>
+ <bpmn2:sequenceFlow id="SequenceFlow_1idwudp" sourceRef="InitRainyDayManualHandling" targetRef="UpdateDbStatusToPendingManualTask" />
+ <bpmn2:serviceTask id="InitRainyDayManualHandling" name="Init Rainy Day Manual Handling" camunda:expression="${ManualHandlingTasks.initRainyDayManualHandling(InjectExecution.execute(execution, execution.getVariable(&#34;gBuildingBlockExecution&#34;)))}">
+ <bpmn2:incoming>SequenceFlow_0jav6cu</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_1idwudp</bpmn2:outgoing>
+ </bpmn2:serviceTask>
+ </bpmn2:process>
+ <bpmn2:error id="Error_2" name="MSOWorkflowException" errorCode="MSOWorkflowException" />
+ <bpmn2:error id="Error_1" name="java.lang.Exception" errorCode="java.lang.Exception" />
+ <bpmndi:BPMNDiagram id="BPMNDiagram_1">
+ <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="PauseForManualTaskRainyDay">
+ <bpmndi:BPMNShape id="_BPMNShape_StartEvent_47" bpmnElement="PauseForManualTaskRainyDay_Start">
+ <dc:Bounds x="46" y="79" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="65" y="120" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="_BPMNShape_EndEvent_177" bpmnElement="PauseForManualTaskRainyDay_End">
+ <dc:Bounds x="919" y="79" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="937" y="120" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_0jav6cu_di" bpmnElement="SequenceFlow_0jav6cu">
+ <di:waypoint xsi:type="dc:Point" x="82" y="97" />
+ <di:waypoint xsi:type="dc:Point" x="129" y="97" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="106" y="82" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_192yimz_di" bpmnElement="SequenceFlow_192yimz">
+ <di:waypoint xsi:type="dc:Point" x="688" y="97" />
+ <di:waypoint xsi:type="dc:Point" x="740" y="98" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="714" y="82.5" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="UserTask_1krqrz1_di" bpmnElement="ManualUserTask">
+ <dc:Bounds x="588" y="57" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_0b84ki5_di" bpmnElement="SequenceFlow_0b84ki5">
+ <di:waypoint xsi:type="dc:Point" x="370" y="97" />
+ <di:waypoint xsi:type="dc:Point" x="432" y="97" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="401" y="82" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_14cyk9v_di" bpmnElement="SequenceFlow_14cyk9v">
+ <di:waypoint xsi:type="dc:Point" x="840" y="98" />
+ <di:waypoint xsi:type="dc:Point" x="919" y="97" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="880" y="82.5" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="ServiceTask_0c0yopb_di" bpmnElement="UpdateDbStatusToPendingManualTask">
+ <dc:Bounds x="270" y="57" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="ServiceTask_1hc2ewj_di" bpmnElement="UpdateDbStatusToInProgress">
+ <dc:Bounds x="740" y="58" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_0igra4l_di" bpmnElement="SequenceFlow_0igra4l">
+ <di:waypoint xsi:type="dc:Point" x="532" y="97" />
+ <di:waypoint xsi:type="dc:Point" x="588" y="97" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="560" y="82" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="BoundaryEvent_1g8ju6a_di" bpmnElement="ManualTaskTimer">
+ <dc:Bounds x="652" y="119" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="692" y="144" width="28" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="ServiceTask_04rimht_di" bpmnElement="CreateExternalTicket">
+ <dc:Bounds x="432" y="57" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_01k6zgt_di" bpmnElement="SequenceFlow_01k6zgt">
+ <di:waypoint xsi:type="dc:Point" x="670" y="137" />
+ <di:waypoint xsi:type="dc:Point" x="670" y="265" />
+ <di:waypoint xsi:type="dc:Point" x="744" y="265" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="685" y="201" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="ServiceTask_18sdiiw_di" bpmnElement="UpdateDBStatusToTimeout">
+ <dc:Bounds x="744" y="225" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_16bjdgj_di" bpmnElement="SequenceFlow_16bjdgj">
+ <di:waypoint xsi:type="dc:Point" x="844" y="265" />
+ <di:waypoint xsi:type="dc:Point" x="919" y="265" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="882" y="250" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="EndEvent_172wy7j_di" bpmnElement="PauseForManualTaskRainyDay_Timeout">
+ <dc:Bounds x="919" y="247" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="937" y="283" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_1idwudp_di" bpmnElement="SequenceFlow_1idwudp">
+ <di:waypoint xsi:type="dc:Point" x="229" y="97" />
+ <di:waypoint xsi:type="dc:Point" x="270" y="97" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="250" y="82" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="ServiceTask_06ztv9g_di" bpmnElement="InitRainyDayManualHandling">
+ <dc:Bounds x="129" y="57" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ </bpmndi:BPMNPlane>
+ </bpmndi:BPMNDiagram>
+</bpmn2:definitions>