diff options
7 files changed, 306 insertions, 360 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 index b4954e0b75..5fd9701880 100644 --- 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 @@ -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: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.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: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="3.1.2"> <bpmn:process id="WorkflowActionBB" name="WorkflowActionBB" isExecutable="true"> <bpmn:extensionElements> <camunda:executionListener class="org.onap.so.bpmn.core.plugins.AsyncTaskExecutorListener" event="end" /> @@ -41,7 +41,7 @@ <bpmn:outgoing>SequenceFlow_0mqrkxv</bpmn:outgoing> </bpmn:serviceTask> <bpmn:exclusiveGateway id="ExclusiveGateway_Finished" default="SequenceFlow_01j184u"> - <bpmn:incoming>SequenceFlow_16fwl31</bpmn:incoming> + <bpmn:incoming>SequenceFlow_1fftixk</bpmn:incoming> <bpmn:outgoing>SequenceFlow_1m2eezj</bpmn:outgoing> <bpmn:outgoing>SequenceFlow_0v588sm</bpmn:outgoing> <bpmn:outgoing>SequenceFlow_11530ei</bpmn:outgoing> @@ -49,7 +49,7 @@ <bpmn:outgoing>SequenceFlow_0l7kaba</bpmn:outgoing> </bpmn:exclusiveGateway> <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("isRollback")==false&&execution.getVariable("handlingCode")=="Success"}]]></bpmn:conditionExpression> + <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression">${execution.getVariable("completed")==true&&execution.getVariable("isRollback")==false&&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> @@ -86,7 +86,7 @@ </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:conditionExpression xsi:type="bpmn:tFormalExpression">${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.sendErrorSyncAck(execution)}"> @@ -95,10 +95,10 @@ </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"||execution.getVariable("handlingCode")=="RollbackToAssigned"||execution.getVariable("handlingCode")=="RollbackToCreated"||execution.getVariable("handlingCode")=="RollbackToCreatedNoConfiguration"}]]></bpmn:conditionExpression> + <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression">${execution.getVariable("handlingCode")=="Rollback"||execution.getVariable("handlingCode")=="RollbackToAssigned"||execution.getVariable("handlingCode")=="RollbackToCreated"||execution.getVariable("handlingCode")=="RollbackToCreatedNoConfiguration"}</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:conditionExpression xsi:type="bpmn:tFormalExpression">${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> @@ -107,7 +107,7 @@ </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:conditionExpression xsi:type="bpmn:tFormalExpression">${execution.getVariable("handlingCode")=="Abort"}</bpmn:conditionExpression> </bpmn:sequenceFlow> <bpmn:serviceTask id="Task_AbortAndCallErrorHandling" name="Update Request To Failed" camunda:expression="${WorkflowActionBBFailure.updateRequestStatusToFailed(execution)}"> <bpmn:incoming>SequenceFlow_02ksbt0</bpmn:incoming> @@ -130,7 +130,7 @@ </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_PreValidateWorkflow"> - <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression"><![CDATA[${execution.getVariable("isTopLevelFlow")==false}]]></bpmn:conditionExpression> + <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression">${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> @@ -139,7 +139,7 @@ </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:conditionExpression xsi:type="bpmn:tFormalExpression">${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> @@ -147,13 +147,13 @@ <bpmn:outgoing>SequenceFlow_0kf5sen</bpmn:outgoing> </bpmn:exclusiveGateway> <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:conditionExpression xsi:type="bpmn:tFormalExpression">${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:conditionExpression xsi:type="bpmn:tFormalExpression">${execution.getVariable("isRollbackNeeded")==false}</bpmn:conditionExpression> </bpmn:sequenceFlow> <bpmn:serviceTask id="Task_UpdateRequestToFailed" name="Update Request To Failed" camunda:expression="${WorkflowActionBBFailure.updateRequestStatusToFailedWithRollback(execution)}"> <bpmn:incoming>SequenceFlow_11dlyzt</bpmn:incoming> @@ -161,7 +161,7 @@ <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("isRollback")==true&&execution.getVariable("handlingCode")=="Success"}]]></bpmn:conditionExpression> + <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression">${execution.getVariable("completed")==true&&execution.getVariable("isRollback")==true&&execution.getVariable("handlingCode")=="Success"}</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"> @@ -193,9 +193,10 @@ </bpmn:serviceTask> <bpmn:serviceTask id="ServiceTask_0lbkcyp" name="Post Processing Execute BB" camunda:expression="${WorkflowActionBBTasks.postProcessingExecuteBB(execution)}"> <bpmn:incoming>SequenceFlow_1hsqed1</bpmn:incoming> - <bpmn:outgoing>SequenceFlow_0tps01a</bpmn:outgoing> + <bpmn:outgoing>SequenceFlow_1fftixk</bpmn:outgoing> </bpmn:serviceTask> <bpmn:sequenceFlow id="SequenceFlow_1hsqed1" sourceRef="Call_ExecuteBB" targetRef="ServiceTask_0lbkcyp" /> + <bpmn:sequenceFlow id="SequenceFlow_1fftixk" sourceRef="ServiceTask_0lbkcyp" targetRef="ExclusiveGateway_Finished" /> <bpmn:sequenceFlow id="SequenceFlow_1pnkpim" sourceRef="Task_0a31dkf" targetRef="Task_SelectBB" /> <bpmn:exclusiveGateway id="ExclusiveGateway_1dez26n" name="Generated Id's?"> <bpmn:incoming>SequenceFlow_1lrz41x</bpmn:incoming> @@ -204,399 +205,302 @@ </bpmn:exclusiveGateway> <bpmn:sequenceFlow id="SequenceFlow_1lrz41x" sourceRef="Task_SendSync" targetRef="ExclusiveGateway_1dez26n" /> <bpmn:sequenceFlow id="SequenceFlow_0etawv5" name="no" sourceRef="ExclusiveGateway_1dez26n" targetRef="Task_PreValidateWorkflow"> - <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression"><![CDATA[${execution.getVariable("generateIdsOnly") == null || execution.getVariable("generateIdsOnly")==false}]]></bpmn:conditionExpression> + <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression">${execution.getVariable("generateIdsOnly") == null || execution.getVariable("generateIdsOnly")==false}</bpmn:conditionExpression> </bpmn:sequenceFlow> <bpmn:endEvent id="EndEvent_12f15tu" name="End"> <bpmn:incoming>SequenceFlow_0ilo6lo</bpmn:incoming> </bpmn:endEvent> <bpmn:sequenceFlow id="SequenceFlow_0ilo6lo" name="yes" sourceRef="ExclusiveGateway_1dez26n" targetRef="EndEvent_12f15tu" /> - <bpmn:serviceTask id="Call_FlowManipulator" name="FlowManipulator Workflow" camunda:expression="${WorkflowActionBBTasks.runFlowManipulator(execution)}"> - <bpmn:incoming>SequenceFlow_0tps01a</bpmn:incoming> - <bpmn:outgoing>SequenceFlow_16fwl31</bpmn:outgoing> - </bpmn:serviceTask> - <bpmn:sequenceFlow id="SequenceFlow_0tps01a" sourceRef="ServiceTask_0lbkcyp" targetRef="Call_FlowManipulator" /> - <bpmn:sequenceFlow id="SequenceFlow_16fwl31" sourceRef="Call_FlowManipulator" targetRef="ExclusiveGateway_Finished" /> </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:BPMNEdge id="SequenceFlow_16fwl31_di" bpmnElement="SequenceFlow_16fwl31"> - <di:waypoint xsi:type="dc:Point" x="1590" y="396" /> - <di:waypoint xsi:type="dc:Point" x="1669" y="396" /> + <bpmndi:BPMNShape id="_BPMNShape_StartEvent_2" bpmnElement="Start_WorkflowActionBB"> + <dc:Bounds x="156" y="378" width="36" height="36" /> <bpmndi:BPMNLabel> - <dc:Bounds x="1636" y="375" width="0" height="12" /> + <dc:Bounds x="164" y="414" width="22" height="14" /> </bpmndi:BPMNLabel> - </bpmndi:BPMNEdge> - <bpmndi:BPMNEdge id="SequenceFlow_0tps01a_di" bpmnElement="SequenceFlow_0tps01a"> - <di:waypoint xsi:type="dc:Point" x="1425" y="396" /> - <di:waypoint xsi:type="dc:Point" x="1490" y="396" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="EndEvent_1uv6erv_di" bpmnElement="End_WorkflowActionBB"> + <dc:Bounds x="1894" y="423" width="36" height="36" /> <bpmndi:BPMNLabel> - <dc:Bounds x="1464" y="375" width="0" height="12" /> + <dc:Bounds x="1903" y="403" width="19" height="14" /> </bpmndi:BPMNLabel> - </bpmndi:BPMNEdge> - <bpmndi:BPMNEdge id="SequenceFlow_0ilo6lo_di" bpmnElement="SequenceFlow_0ilo6lo"> - <di:waypoint xsi:type="dc:Point" x="720" y="215" /> - <di:waypoint xsi:type="dc:Point" x="720" y="142" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_15s0okp_di" bpmnElement="SequenceFlow_15s0okp"> + <di:waypoint x="192" y="396" /> + <di:waypoint x="225" y="396" /> <bpmndi:BPMNLabel> - <dc:Bounds x="727" y="173" width="18" height="14" /> + <dc:Bounds x="-381" y="99" width="0" height="0" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> - <bpmndi:BPMNEdge id="SequenceFlow_0etawv5_di" bpmnElement="SequenceFlow_0etawv5"> - <di:waypoint xsi:type="dc:Point" x="720" y="265" /> - <di:waypoint xsi:type="dc:Point" x="720" y="356" /> + <bpmndi:BPMNShape id="CallActivity_03m7z4y_di" bpmnElement="Call_ExecuteBB"> + <dc:Bounds x="1150" y="356" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_0mqrkxv_di" bpmnElement="SequenceFlow_0mqrkxv"> + <di:waypoint x="929" y="396" /> + <di:waypoint x="990" y="396" /> <bpmndi:BPMNLabel> - <dc:Bounds x="729" y="305" width="13" height="14" /> + <dc:Bounds x="324.5" y="105" width="90" height="0" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> - <bpmndi:BPMNEdge id="SequenceFlow_1lrz41x_di" bpmnElement="SequenceFlow_1lrz41x"> - <di:waypoint xsi:type="dc:Point" x="590" y="240" /> - <di:waypoint xsi:type="dc:Point" x="695" y="240" /> + <bpmndi:BPMNShape id="ServiceTask_1snenqk_di" bpmnElement="Task_SelectBB"> + <dc:Bounds x="829" y="356" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="ExclusiveGateway_0m1zt0q_di" bpmnElement="ExclusiveGateway_Finished" isMarkerVisible="true"> + <dc:Bounds x="1501" y="371" width="50" height="50" /> <bpmndi:BPMNLabel> - <dc:Bounds x="52.5" y="-57" width="0" height="12" /> + <dc:Bounds x="850" y="42" width="90" height="0" /> </bpmndi:BPMNLabel> - </bpmndi:BPMNEdge> - <bpmndi:BPMNEdge id="SequenceFlow_1pnkpim_di" bpmnElement="SequenceFlow_1pnkpim"> - <di:waypoint xsi:type="dc:Point" x="1644" y="240" /> - <di:waypoint xsi:type="dc:Point" x="879" y="240" /> - <di:waypoint xsi:type="dc:Point" x="879" y="356" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_1m2eezj_di" bpmnElement="SequenceFlow_1m2eezj"> + <di:waypoint x="1539" y="408" /> + <di:waypoint x="1570" y="441" /> + <di:waypoint x="1650" y="441" /> <bpmndi:BPMNLabel> - <dc:Bounds x="1216.5" y="219" width="90" height="12" /> + <dc:Bounds x="1557" y="444" width="85" height="14" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> - <bpmndi:BPMNEdge id="SequenceFlow_1hsqed1_di" bpmnElement="SequenceFlow_1hsqed1"> - <di:waypoint xsi:type="dc:Point" x="1250" y="396" /> - <di:waypoint xsi:type="dc:Point" x="1325" y="396" /> + <bpmndi:BPMNShape id="ServiceTask_0kn8jt8_di" bpmnElement="Task_RetrieveBBExectuionList"> + <dc:Bounds x="225" y="356" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="ServiceTask_0654g3m_di" bpmnElement="Task_SendSync"> + <dc:Bounds x="490" y="200" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="ServiceTask_0wzh11j_di" bpmnElement="Task_UpdateRequestComplete"> + <dc:Bounds x="1751" y="482" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_1pz6edz_di" bpmnElement="SequenceFlow_1pz6edz"> + <di:waypoint x="1851" y="522" /> + <di:waypoint x="1912" y="522" /> + <di:waypoint x="1912" y="459" /> <bpmndi:BPMNLabel> - <dc:Bounds x="697.5" y="99" width="0" height="12" /> + <dc:Bounds x="1247" y="231" width="90" height="0" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> - <bpmndi:BPMNEdge id="SequenceFlow_1tfizxf_di" bpmnElement="SequenceFlow_1tfizxf"> - <di:waypoint xsi:type="dc:Point" x="770" y="396" /> - <di:waypoint xsi:type="dc:Point" x="801" y="396" /> - <di:waypoint xsi:type="dc:Point" x="801" y="396" /> - <di:waypoint xsi:type="dc:Point" x="829" y="396" /> + <bpmndi:BPMNShape id="SubProcess_18226x4_di" bpmnElement="SubProcess_18226x4" isExpanded="true"> + <dc:Bounds x="1088" y="720" width="438" height="297" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="StartEvent_184g7f3_di" bpmnElement="ErrorStart"> + <dc:Bounds x="1110" y="915" width="36" height="36" /> <bpmndi:BPMNLabel> - <dc:Bounds x="226" y="120" width="0" height="0" /> + <dc:Bounds x="1116" y="958" width="24" height="14" /> </bpmndi:BPMNLabel> - </bpmndi:BPMNEdge> - <bpmndi:BPMNEdge id="SequenceFlow_0kf5sen_di" bpmnElement="SequenceFlow_0kf5sen"> - <di:waypoint xsi:type="dc:Point" x="1843" y="466" /> - <di:waypoint xsi:type="dc:Point" x="1843" y="522" /> - <di:waypoint xsi:type="dc:Point" x="1919" y="522" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="EndEvent_0l4edvr_di" bpmnElement="ErrorEnd"> + <dc:Bounds x="1470" y="915" width="36" height="36" /> <bpmndi:BPMNLabel> - <dc:Bounds x="1850" y="494" width="19" height="12" /> + <dc:Bounds x="1480" y="957" width="19" height="14" /> </bpmndi:BPMNLabel> - </bpmndi:BPMNEdge> - <bpmndi:BPMNEdge id="SequenceFlow_0mew9im_di" bpmnElement="SequenceFlow_0mew9im"> - <di:waypoint xsi:type="dc:Point" x="1090" y="396" /> - <di:waypoint xsi:type="dc:Point" x="1150" y="396" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_0v588sm_di" bpmnElement="SequenceFlow_0v588sm"> + <di:waypoint x="1526" y="421" /> + <di:waypoint x="1526" y="538" /> + <di:waypoint x="929" y="538" /> <bpmndi:BPMNLabel> - <dc:Bounds x="530" y="99" width="0" height="12" /> + <dc:Bounds x="1359" y="548" width="74" height="14" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> - <bpmndi:BPMNEdge id="SequenceFlow_1ui67mc_di" bpmnElement="SequenceFlow_1ui67mc"> - <di:waypoint xsi:type="dc:Point" x="1818" y="641" /> - <di:waypoint xsi:type="dc:Point" x="1892" y="641" /> - <di:waypoint xsi:type="dc:Point" x="1892" y="641" /> - <di:waypoint xsi:type="dc:Point" x="1917" y="641" /> + <bpmndi:BPMNEdge id="SequenceFlow_1atzsgn_di" bpmnElement="SequenceFlow_1atzsgn"> + <di:waypoint x="879" y="498" /> + <di:waypoint x="879" y="436" /> <bpmndi:BPMNLabel> - <dc:Bounds x="1272" y="359" width="90" height="13" /> + <dc:Bounds x="259" y="191" width="90" height="0" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> - <bpmndi:BPMNEdge id="SequenceFlow_0l7kaba_di" bpmnElement="SequenceFlow_0l7kaba"> - <di:waypoint xsi:type="dc:Point" x="1700" y="415" /> - <di:waypoint xsi:type="dc:Point" x="1734" y="528" /> - <di:waypoint xsi:type="dc:Point" x="1774" y="528" /> - <di:waypoint xsi:type="dc:Point" x="1774" y="601" /> + <bpmndi:BPMNShape id="ServiceTask_19t1oyr_di" bpmnElement="Task_RollbackExecutionPath"> + <dc:Bounds x="829" y="498" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_0vc9go9_di" bpmnElement="SequenceFlow_0vc9go9"> + <di:waypoint x="325" y="396" /> + <di:waypoint x="362" y="396" /> <bpmndi:BPMNLabel> - <dc:Bounds x="1716" y="531" width="55" height="24" /> + <dc:Bounds x="-246" y="105" width="0" height="0" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> - <bpmndi:BPMNEdge id="SequenceFlow_11dlyzt_di" bpmnElement="SequenceFlow_11dlyzt"> - <di:waypoint xsi:type="dc:Point" x="879" y="578" /> - <di:waypoint xsi:type="dc:Point" x="879" y="644" /> - <di:waypoint xsi:type="dc:Point" x="1718" y="644" /> + <bpmndi:BPMNEdge id="SequenceFlow_11530ei_di" bpmnElement="SequenceFlow_11530ei"> + <di:waypoint x="1536" y="381" /> + <di:waypoint x="1573" y="320" /> + <di:waypoint x="1650" y="321" /> <bpmndi:BPMNLabel> - <dc:Bounds x="1002.1713859910583" y="601" width="65" height="24" /> + <dc:Bounds x="1565" y="293" width="58" height="14" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> - <bpmndi:BPMNEdge id="SequenceFlow_0x4urgp_di" bpmnElement="SequenceFlow_0x4urgp"> - <di:waypoint xsi:type="dc:Point" x="1868" y="441" /> - <di:waypoint xsi:type="dc:Point" x="1978" y="441" /> - <di:waypoint xsi:type="dc:Point" x="1978" y="441" /> - <di:waypoint xsi:type="dc:Point" x="2062" y="441" /> + <bpmndi:BPMNShape id="ServiceTask_0jo36ez_di" bpmnElement="Task_AbortAndCallErrorHandling"> + <dc:Bounds x="1766" y="200" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="EndEvent_0lzz1ya_di" bpmnElement="EndEvent_0lzz1ya"> + <dc:Bounds x="1976" y="303" width="36" height="36" /> <bpmndi:BPMNLabel> - <dc:Bounds x="2014" y="416" width="13" height="12" /> + <dc:Bounds x="1985" y="343" width="19" height="14" /> </bpmndi:BPMNLabel> - </bpmndi:BPMNEdge> - <bpmndi:BPMNEdge id="SequenceFlow_1r570x3_di" bpmnElement="SequenceFlow_1r570x3"> - <di:waypoint xsi:type="dc:Point" x="1868" y="321" /> - <di:waypoint xsi:type="dc:Point" x="2144" y="321" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_1p8yxu6_di" bpmnElement="SequenceFlow_1p8yxu6"> + <di:waypoint x="1866" y="240" /> + <di:waypoint x="1949" y="240" /> + <di:waypoint x="1949" y="321" /> + <di:waypoint x="1976" y="321" /> <bpmndi:BPMNLabel> - <dc:Bounds x="2000" y="296" width="13" height="12" /> + <dc:Bounds x="1329" y="5" width="90" height="0" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> - <bpmndi:BPMNEdge id="SequenceFlow_02ksbt0_di" bpmnElement="SequenceFlow_02ksbt0"> - <di:waypoint xsi:type="dc:Point" x="1843" y="296" /> - <di:waypoint xsi:type="dc:Point" x="1843" y="239" /> - <di:waypoint xsi:type="dc:Point" x="1934" y="239" /> + <bpmndi:BPMNEdge id="SequenceFlow_01j184u_di" bpmnElement="SequenceFlow_01j184u"> + <di:waypoint x="1526" y="371" /> + <di:waypoint x="1526" y="331" /> + <di:waypoint x="1526" y="331" /> + <di:waypoint x="1526" y="280" /> <bpmndi:BPMNLabel> - <dc:Bounds x="1850" y="268" width="19" height="12" /> + <dc:Bounds x="906" y="49" width="90" height="0" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> - <bpmndi:BPMNEdge id="SequenceFlow_0unbew4_di" bpmnElement="SequenceFlow_0unbew4"> - <di:waypoint xsi:type="dc:Point" x="412" y="396" /> - <di:waypoint xsi:type="dc:Point" x="670" y="396" /> + <bpmndi:BPMNShape id="ServiceTask_1c1v3p1_di" bpmnElement="Task_0a31dkf"> + <dc:Bounds x="1476" y="200" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="ExclusiveGateway_0ptb1yi_di" bpmnElement="ExclusiveGateway_isTopLevelFlow" isMarkerVisible="true"> + <dc:Bounds x="362" y="371" width="50" height="50" /> <bpmndi:BPMNLabel> - <dc:Bounds x="503" y="376" width="13" height="14" /> + <dc:Bounds x="357" y="421" width="60" height="27" /> </bpmndi:BPMNLabel> - </bpmndi:BPMNEdge> + </bpmndi:BPMNShape> <bpmndi:BPMNEdge id="SequenceFlow_0sckerv_di" bpmnElement="SequenceFlow_0sckerv"> - <di:waypoint xsi:type="dc:Point" x="388" y="372" /> - <di:waypoint xsi:type="dc:Point" x="388" y="240" /> - <di:waypoint xsi:type="dc:Point" x="490" y="240" /> + <di:waypoint x="388" y="372" /> + <di:waypoint x="388" y="240" /> + <di:waypoint x="490" y="240" /> <bpmndi:BPMNLabel> <dc:Bounds x="396" y="294" width="18" height="14" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> - <bpmndi:BPMNEdge id="SequenceFlow_01j184u_di" bpmnElement="SequenceFlow_01j184u"> - <di:waypoint xsi:type="dc:Point" x="1694" y="371" /> - <di:waypoint xsi:type="dc:Point" x="1694" y="331" /> - <di:waypoint xsi:type="dc:Point" x="1694" y="331" /> - <di:waypoint xsi:type="dc:Point" x="1694" y="280" /> - <bpmndi:BPMNLabel> - <dc:Bounds x="1074" y="49" width="90" height="0" /> - </bpmndi:BPMNLabel> - </bpmndi:BPMNEdge> - <bpmndi:BPMNEdge id="SequenceFlow_1p8yxu6_di" bpmnElement="SequenceFlow_1p8yxu6"> - <di:waypoint xsi:type="dc:Point" x="2034" y="240" /> - <di:waypoint xsi:type="dc:Point" x="2117" y="240" /> - <di:waypoint xsi:type="dc:Point" x="2117" y="321" /> - <di:waypoint xsi:type="dc:Point" x="2144" y="321" /> - <bpmndi:BPMNLabel> - <dc:Bounds x="1497" y="5" width="90" height="0" /> - </bpmndi:BPMNLabel> - </bpmndi:BPMNEdge> - <bpmndi:BPMNEdge id="SequenceFlow_11530ei_di" bpmnElement="SequenceFlow_11530ei"> - <di:waypoint xsi:type="dc:Point" x="1704" y="381" /> - <di:waypoint xsi:type="dc:Point" x="1741" y="320" /> - <di:waypoint xsi:type="dc:Point" x="1818" y="321" /> - <bpmndi:BPMNLabel> - <dc:Bounds x="1732" y="293" width="61" height="12" /> - </bpmndi:BPMNLabel> - </bpmndi:BPMNEdge> - <bpmndi:BPMNEdge id="SequenceFlow_0vc9go9_di" bpmnElement="SequenceFlow_0vc9go9"> - <di:waypoint xsi:type="dc:Point" x="325" y="396" /> - <di:waypoint xsi:type="dc:Point" x="362" y="396" /> - <bpmndi:BPMNLabel> - <dc:Bounds x="-246" y="105" width="0" height="0" /> - </bpmndi:BPMNLabel> - </bpmndi:BPMNEdge> - <bpmndi:BPMNEdge id="SequenceFlow_1atzsgn_di" bpmnElement="SequenceFlow_1atzsgn"> - <di:waypoint xsi:type="dc:Point" x="879" y="498" /> - <di:waypoint xsi:type="dc:Point" x="879" y="436" /> + <bpmndi:BPMNEdge id="SequenceFlow_0unbew4_di" bpmnElement="SequenceFlow_0unbew4"> + <di:waypoint x="412" y="396" /> + <di:waypoint x="670" y="396" /> <bpmndi:BPMNLabel> - <dc:Bounds x="259" y="191" width="90" height="0" /> + <dc:Bounds x="503" y="376" width="13" height="14" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> - <bpmndi:BPMNEdge id="SequenceFlow_0v588sm_di" bpmnElement="SequenceFlow_0v588sm"> - <di:waypoint xsi:type="dc:Point" x="1694" y="421" /> - <di:waypoint xsi:type="dc:Point" x="1694" y="538" /> - <di:waypoint xsi:type="dc:Point" x="929" y="538" /> + <bpmndi:BPMNShape id="ExclusiveGateway_001g41v_di" bpmnElement="ExclusiveGateway_isTopLevelFlowAbort" isMarkerVisible="true"> + <dc:Bounds x="1650" y="296" width="50" height="50" /> <bpmndi:BPMNLabel> - <dc:Bounds x="1489.4170854271356" y="548" width="76" height="12" /> + <dc:Bounds x="1646" y="346" width="60" height="27" /> </bpmndi:BPMNLabel> - </bpmndi:BPMNEdge> - <bpmndi:BPMNEdge id="SequenceFlow_1pz6edz_di" bpmnElement="SequenceFlow_1pz6edz"> - <di:waypoint xsi:type="dc:Point" x="2019" y="522" /> - <di:waypoint xsi:type="dc:Point" x="2080" y="522" /> - <di:waypoint xsi:type="dc:Point" x="2080" y="459" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_02ksbt0_di" bpmnElement="SequenceFlow_02ksbt0"> + <di:waypoint x="1675" y="296" /> + <di:waypoint x="1675" y="239" /> + <di:waypoint x="1766" y="239" /> <bpmndi:BPMNLabel> - <dc:Bounds x="1415" y="231" width="90" height="0" /> + <dc:Bounds x="1682" y="268" width="18" height="14" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> - <bpmndi:BPMNEdge id="SequenceFlow_1m2eezj_di" bpmnElement="SequenceFlow_1m2eezj"> - <di:waypoint xsi:type="dc:Point" x="1707" y="408" /> - <di:waypoint xsi:type="dc:Point" x="1738" y="441" /> - <di:waypoint xsi:type="dc:Point" x="1818" y="441" /> + <bpmndi:BPMNEdge id="SequenceFlow_1r570x3_di" bpmnElement="SequenceFlow_1r570x3"> + <di:waypoint x="1700" y="321" /> + <di:waypoint x="1976" y="321" /> <bpmndi:BPMNLabel> - <dc:Bounds x="1724" y="444" width="88" height="12" /> + <dc:Bounds x="1832" y="296" width="13" height="14" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> - <bpmndi:BPMNEdge id="SequenceFlow_0mqrkxv_di" bpmnElement="SequenceFlow_0mqrkxv"> - <di:waypoint xsi:type="dc:Point" x="929" y="396" /> - <di:waypoint xsi:type="dc:Point" x="990" y="396" /> + <bpmndi:BPMNShape id="ExclusiveGateway_1er1kam_di" bpmnElement="ExclusiveGateway_isTopLevelFlowC" isMarkerVisible="true"> + <dc:Bounds x="1650" y="416" width="50" height="50" /> <bpmndi:BPMNLabel> - <dc:Bounds x="324.5" y="105" width="90" height="0" /> + <dc:Bounds x="1646" y="384" width="60" height="27" /> </bpmndi:BPMNLabel> - </bpmndi:BPMNEdge> - <bpmndi:BPMNEdge id="SequenceFlow_15s0okp_di" bpmnElement="SequenceFlow_15s0okp"> - <di:waypoint xsi:type="dc:Point" x="192" y="396" /> - <di:waypoint xsi:type="dc:Point" x="225" y="396" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_0x4urgp_di" bpmnElement="SequenceFlow_0x4urgp"> + <di:waypoint x="1700" y="441" /> + <di:waypoint x="1810" y="441" /> + <di:waypoint x="1810" y="441" /> + <di:waypoint x="1894" y="441" /> <bpmndi:BPMNLabel> - <dc:Bounds x="-381" y="99" width="0" height="0" /> + <dc:Bounds x="1846" y="416" width="13" height="14" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> - <bpmndi:BPMNShape id="_BPMNShape_StartEvent_2" bpmnElement="Start_WorkflowActionBB"> - <dc:Bounds x="156" y="378" width="36" height="36" /> - <bpmndi:BPMNLabel> - <dc:Bounds x="164" y="414" width="22" height="14" /> - </bpmndi:BPMNLabel> - </bpmndi:BPMNShape> - <bpmndi:BPMNShape id="EndEvent_1uv6erv_di" bpmnElement="End_WorkflowActionBB"> - <dc:Bounds x="2062" y="423" width="36" height="36" /> + <bpmndi:BPMNShape id="EndEvent_1q8eh5e_di" bpmnElement="End_RollbackFailed"> + <dc:Bounds x="1749" y="623" width="36" height="36" /> <bpmndi:BPMNLabel> - <dc:Bounds x="2071" y="403" width="20" height="12" /> + <dc:Bounds x="1767" y="675" width="19" height="14" /> </bpmndi:BPMNLabel> </bpmndi:BPMNShape> - <bpmndi:BPMNShape id="CallActivity_03m7z4y_di" bpmnElement="Call_ExecuteBB"> - <dc:Bounds x="1150" y="356" width="100" height="80" /> - </bpmndi:BPMNShape> - <bpmndi:BPMNShape id="ServiceTask_1snenqk_di" bpmnElement="Task_SelectBB"> - <dc:Bounds x="829" y="356" width="100" height="80" /> - </bpmndi:BPMNShape> - <bpmndi:BPMNShape id="ExclusiveGateway_0m1zt0q_di" bpmnElement="ExclusiveGateway_Finished" isMarkerVisible="true"> - <dc:Bounds x="1669" y="371" width="50" height="50" /> + <bpmndi:BPMNEdge id="SequenceFlow_11dlyzt_di" bpmnElement="SequenceFlow_11dlyzt"> + <di:waypoint x="879" y="578" /> + <di:waypoint x="879" y="644" /> + <di:waypoint x="1550" y="644" /> <bpmndi:BPMNLabel> - <dc:Bounds x="1018" y="42" width="90" height="0" /> + <dc:Bounds x="972" y="601" width="63" height="27" /> </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="ServiceTask_1h154rn_di" bpmnElement="Task_UpdateDb"> + <dc:Bounds x="1303" y="893" width="100" height="80" /> </bpmndi:BPMNShape> - <bpmndi:BPMNShape id="ServiceTask_0kn8jt8_di" bpmnElement="Task_RetrieveBBExectuionList"> - <dc:Bounds x="225" y="356" width="100" height="80" /> - </bpmndi:BPMNShape> - <bpmndi:BPMNShape id="ServiceTask_0654g3m_di" bpmnElement="Task_SendSync"> - <dc:Bounds x="490" y="200" width="100" height="80" /> - </bpmndi:BPMNShape> - <bpmndi:BPMNShape id="ServiceTask_0wzh11j_di" bpmnElement="Task_UpdateRequestComplete"> - <dc:Bounds x="1919" y="482" width="100" height="80" /> - </bpmndi:BPMNShape> - <bpmndi:BPMNShape id="ServiceTask_1ko47om_di" bpmnElement="Call_FlowManipulator"> - <dc:Bounds x="1490" y="356" width="100" height="80" /> - </bpmndi:BPMNShape> - <bpmndi:BPMNShape id="SubProcess_18226x4_di" bpmnElement="SubProcess_18226x4" isExpanded="true"> - <dc:Bounds x="1088" y="720" width="438" height="297" /> + <bpmndi:BPMNShape id="ServiceTask_1t8n9gd_di" bpmnElement="Task_UpdateRequestToFailed"> + <dc:Bounds x="1550" y="601" width="100" height="80" /> </bpmndi:BPMNShape> - <bpmndi:BPMNEdge id="SequenceFlow_0eana0l_di" bpmnElement="SequenceFlow_0eana0l"> - <di:waypoint xsi:type="dc:Point" x="1353" y="864" /> - <di:waypoint xsi:type="dc:Point" x="1353" y="893" /> - <bpmndi:BPMNLabel> - <dc:Bounds x="778" y="596.5" width="0" height="12" /> - </bpmndi:BPMNLabel> - </bpmndi:BPMNEdge> - <bpmndi:BPMNEdge id="SequenceFlow_0vi883o_di" bpmnElement="SequenceFlow_0vi883o"> - <di:waypoint xsi:type="dc:Point" x="1217" y="908" /> - <di:waypoint xsi:type="dc:Point" x="1217" y="824" /> - <di:waypoint xsi:type="dc:Point" x="1303" y="824" /> + <bpmndi:BPMNEdge id="SequenceFlow_0l7kaba_di" bpmnElement="SequenceFlow_0l7kaba"> + <di:waypoint x="1532" y="415" /> + <di:waypoint x="1566" y="528" /> + <di:waypoint x="1606" y="528" /> + <di:waypoint x="1606" y="601" /> <bpmndi:BPMNLabel> - <dc:Bounds x="1223" y="860" width="18" height="14" /> + <dc:Bounds x="1548" y="531" width="54" height="27" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> - <bpmndi:BPMNEdge id="SequenceFlow_024g0d1_di" bpmnElement="SequenceFlow_024g0d1"> - <di:waypoint xsi:type="dc:Point" x="1242" y="933" /> - <di:waypoint xsi:type="dc:Point" x="1273" y="933" /> - <di:waypoint xsi:type="dc:Point" x="1273" y="933" /> - <di:waypoint xsi:type="dc:Point" x="1303" y="933" /> + <bpmndi:BPMNEdge id="SequenceFlow_1edjl5x_di" bpmnElement="SequenceFlow_1edjl5x"> + <di:waypoint x="1146" y="933" /> + <di:waypoint x="1192" y="933" /> <bpmndi:BPMNLabel> - <dc:Bounds x="1267" y="910" width="13" height="14" /> + <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="1403" y="933" /> - <di:waypoint xsi:type="dc:Point" x="1470" y="933" /> + <di:waypoint x="1403" y="933" /> + <di:waypoint x="1470" y="933" /> <bpmndi:BPMNLabel> <dc:Bounds x="801.5" y="636" width="90" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> - <bpmndi:BPMNEdge id="SequenceFlow_1edjl5x_di" bpmnElement="SequenceFlow_1edjl5x"> - <di:waypoint xsi:type="dc:Point" x="1146" y="933" /> - <di:waypoint xsi:type="dc:Point" x="1192" y="933" /> + <bpmndi:BPMNEdge id="SequenceFlow_1ui67mc_di" bpmnElement="SequenceFlow_1ui67mc"> + <di:waypoint x="1650" y="641" /> + <di:waypoint x="1724" y="641" /> + <di:waypoint x="1724" y="641" /> + <di:waypoint x="1749" y="641" /> <bpmndi:BPMNLabel> - <dc:Bounds x="534" y="636" width="90" height="12" /> + <dc:Bounds x="1104" y="359" width="90" height="13" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> - <bpmndi:BPMNShape id="StartEvent_184g7f3_di" bpmnElement="ErrorStart"> - <dc:Bounds x="1110" y="915" width="36" height="36" /> - <bpmndi:BPMNLabel> - <dc:Bounds x="1116" y="958" width="24" height="14" /> - </bpmndi:BPMNLabel> - </bpmndi:BPMNShape> - <bpmndi:BPMNShape id="EndEvent_0l4edvr_di" bpmnElement="ErrorEnd"> - <dc:Bounds x="1470" y="915" width="36" height="36" /> - <bpmndi:BPMNLabel> - <dc:Bounds x="1480" y="957" width="19" height="14" /> - </bpmndi:BPMNLabel> - </bpmndi:BPMNShape> - <bpmndi:BPMNShape id="ServiceTask_1h154rn_di" bpmnElement="Task_UpdateDb"> - <dc:Bounds x="1303" y="893" width="100" height="80" /> - </bpmndi:BPMNShape> <bpmndi:BPMNShape id="ExclusiveGateway_10q79b6_di" bpmnElement="ExclusiveGateway_10q79b6" isMarkerVisible="true"> <dc:Bounds x="1192" y="908" width="50" height="50" /> <bpmndi:BPMNLabel> <dc:Bounds x="1174" y="962" width="86" height="40" /> </bpmndi:BPMNLabel> </bpmndi:BPMNShape> - <bpmndi:BPMNShape id="ServiceTask_10hs368_di" bpmnElement="Task_SendSyncAckError"> - <dc:Bounds x="1303" y="784" width="100" height="80" /> - </bpmndi:BPMNShape> - <bpmndi:BPMNShape id="ServiceTask_19t1oyr_di" bpmnElement="Task_RollbackExecutionPath"> - <dc:Bounds x="829" y="498" width="100" height="80" /> - </bpmndi:BPMNShape> - <bpmndi:BPMNShape id="ServiceTask_0jo36ez_di" bpmnElement="Task_AbortAndCallErrorHandling"> - <dc:Bounds x="1934" y="200" width="100" height="80" /> - </bpmndi:BPMNShape> - <bpmndi:BPMNShape id="EndEvent_0lzz1ya_di" bpmnElement="EndEvent_0lzz1ya"> - <dc:Bounds x="2144" y="303" width="36" height="36" /> - <bpmndi:BPMNLabel> - <dc:Bounds x="2153" y="343" width="20" height="12" /> - </bpmndi:BPMNLabel> - </bpmndi:BPMNShape> - <bpmndi:BPMNShape id="ServiceTask_1c1v3p1_di" bpmnElement="Task_0a31dkf"> - <dc:Bounds x="1644" y="200" width="100" height="80" /> - </bpmndi:BPMNShape> - <bpmndi:BPMNShape id="ExclusiveGateway_0ptb1yi_di" bpmnElement="ExclusiveGateway_isTopLevelFlow" isMarkerVisible="true"> - <dc:Bounds x="362" y="371" width="50" height="50" /> - <bpmndi:BPMNLabel> - <dc:Bounds x="357" y="421" width="60" height="27" /> - </bpmndi:BPMNLabel> - </bpmndi:BPMNShape> - <bpmndi:BPMNShape id="ExclusiveGateway_001g41v_di" bpmnElement="ExclusiveGateway_isTopLevelFlowAbort" isMarkerVisible="true"> - <dc:Bounds x="1818" y="296" width="50" height="50" /> + <bpmndi:BPMNEdge id="SequenceFlow_024g0d1_di" bpmnElement="SequenceFlow_024g0d1"> + <di:waypoint x="1242" y="933" /> + <di:waypoint x="1273" y="933" /> + <di:waypoint x="1273" y="933" /> + <di:waypoint x="1303" y="933" /> <bpmndi:BPMNLabel> - <dc:Bounds x="1813" y="346" width="62" height="24" /> + <dc:Bounds x="1267" y="910" width="13" height="14" /> </bpmndi:BPMNLabel> - </bpmndi:BPMNShape> - <bpmndi:BPMNShape id="ExclusiveGateway_1er1kam_di" bpmnElement="ExclusiveGateway_isTopLevelFlowC" isMarkerVisible="true"> - <dc:Bounds x="1818" y="416" width="50" height="50" /> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_0vi883o_di" bpmnElement="SequenceFlow_0vi883o"> + <di:waypoint x="1217" y="908" /> + <di:waypoint x="1217" y="824" /> + <di:waypoint x="1303" y="824" /> <bpmndi:BPMNLabel> - <dc:Bounds x="1813" y="384" width="62" height="24" /> + <dc:Bounds x="1223" y="860" width="18" height="14" /> </bpmndi:BPMNLabel> - </bpmndi:BPMNShape> - <bpmndi:BPMNShape id="EndEvent_1q8eh5e_di" bpmnElement="End_RollbackFailed"> - <dc:Bounds x="1917" y="623" width="36" height="36" /> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_0eana0l_di" bpmnElement="SequenceFlow_0eana0l"> + <di:waypoint x="1353" y="864" /> + <di:waypoint x="1353" y="893" /> <bpmndi:BPMNLabel> - <dc:Bounds x="1935" y="675" width="20" height="12" /> + <dc:Bounds x="778" y="596.5" width="0" height="12" /> </bpmndi:BPMNLabel> - </bpmndi:BPMNShape> - <bpmndi:BPMNShape id="ServiceTask_1t8n9gd_di" bpmnElement="Task_UpdateRequestToFailed"> - <dc:Bounds x="1718" y="601" width="100" height="80" /> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="ServiceTask_10hs368_di" bpmnElement="Task_SendSyncAckError"> + <dc:Bounds x="1303" y="784" width="100" height="80" /> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="SubProcess_0fuugr9_di" bpmnElement="SubProcess_0fuugr9" isExpanded="true"> <dc:Bounds x="1105" y="1068" width="404" height="165" /> </bpmndi:BPMNShape> - <bpmndi:BPMNEdge id="SequenceFlow_0w4sx88_di" bpmnElement="SequenceFlow_0w4sx88"> - <di:waypoint xsi:type="dc:Point" x="1380" y="1151" /> - <di:waypoint xsi:type="dc:Point" x="1446" y="1151" /> - <bpmndi:BPMNLabel> - <dc:Bounds x="778" y="854" width="0" height="12" /> - </bpmndi:BPMNLabel> - </bpmndi:BPMNEdge> - <bpmndi:BPMNEdge id="SequenceFlow_11d126w_di" bpmnElement="SequenceFlow_11d126w"> - <di:waypoint xsi:type="dc:Point" x="1196" y="1151" /> - <di:waypoint xsi:type="dc:Point" x="1280" y="1151" /> - <bpmndi:BPMNLabel> - <dc:Bounds x="603" y="854" width="0" height="12" /> - </bpmndi:BPMNLabel> - </bpmndi:BPMNEdge> <bpmndi:BPMNShape id="StartEvent_15qkxd7_di" bpmnElement="StartEvent_runtimeError"> <dc:Bounds x="1160" y="1133" width="36" height="36" /> <bpmndi:BPMNLabel> @@ -612,27 +516,108 @@ <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 x="1196" y="1151" /> + <di:waypoint x="1280" y="1151" /> + <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 x="1380" y="1151" /> + <di:waypoint x="1446" y="1151" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="778" y="854" width="0" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> <bpmndi:BPMNShape id="ServiceTask_0e2p0xs_di" bpmnElement="ServiceTask_0e2p0xs"> <dc:Bounds x="990" y="356" width="100" height="80" /> </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_0mew9im_di" bpmnElement="SequenceFlow_0mew9im"> + <di:waypoint x="1090" y="396" /> + <di:waypoint x="1150" y="396" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="530" y="99" width="0" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_0kf5sen_di" bpmnElement="SequenceFlow_0kf5sen"> + <di:waypoint x="1675" y="466" /> + <di:waypoint x="1675" y="522" /> + <di:waypoint x="1751" y="522" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1682" y="494" width="18" height="14" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_1tfizxf_di" bpmnElement="SequenceFlow_1tfizxf"> + <di:waypoint x="770" y="396" /> + <di:waypoint x="801" y="396" /> + <di:waypoint x="801" y="396" /> + <di:waypoint x="829" y="396" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="226" y="120" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> <bpmndi:BPMNShape id="ServiceTask_0m5xr0e_di" bpmnElement="Task_PreValidateWorkflow"> <dc:Bounds x="670" y="356" width="100" height="80" /> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="ServiceTask_0lbkcyp_di" bpmnElement="ServiceTask_0lbkcyp"> <dc:Bounds x="1325" y="356" width="100" height="80" /> </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_1hsqed1_di" bpmnElement="SequenceFlow_1hsqed1"> + <di:waypoint x="1250" y="396" /> + <di:waypoint x="1325" y="396" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="697.5" y="99" width="0" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_1fftixk_di" bpmnElement="SequenceFlow_1fftixk"> + <di:waypoint x="1425" y="396" /> + <di:waypoint x="1501" y="396" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="873" y="99" width="0" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_1pnkpim_di" bpmnElement="SequenceFlow_1pnkpim"> + <di:waypoint x="1476" y="240" /> + <di:waypoint x="879" y="240" /> + <di:waypoint x="879" y="356" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="587.5" y="-57" width="0" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> <bpmndi:BPMNShape id="ExclusiveGateway_1dez26n_di" bpmnElement="ExclusiveGateway_1dez26n" isMarkerVisible="true"> <dc:Bounds x="695" y="215" width="50" height="50" /> <bpmndi:BPMNLabel> <dc:Bounds x="745" y="228" width="78" height="14" /> </bpmndi:BPMNLabel> </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_1lrz41x_di" bpmnElement="SequenceFlow_1lrz41x"> + <di:waypoint x="590" y="240" /> + <di:waypoint x="695" y="240" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="52.5" y="-57" width="0" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_0etawv5_di" bpmnElement="SequenceFlow_0etawv5"> + <di:waypoint x="720" y="265" /> + <di:waypoint x="720" y="356" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="729" y="305" width="13" height="14" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> <bpmndi:BPMNShape id="EndEvent_12f15tu_di" bpmnElement="EndEvent_12f15tu"> <dc:Bounds x="702" y="106" width="36" height="36" /> <bpmndi:BPMNLabel> <dc:Bounds x="710" y="81" width="20" height="14" /> </bpmndi:BPMNLabel> </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_0ilo6lo_di" bpmnElement="SequenceFlow_0ilo6lo"> + <di:waypoint x="720" y="215" /> + <di:waypoint x="720" y="142" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="727" y="173" width="18" height="14" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> </bpmndi:BPMNPlane> </bpmndi:BPMNDiagram> </bpmn:definitions> diff --git a/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/workflow/tasks/WorkflowActionBBTasks.java b/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/workflow/tasks/WorkflowActionBBTasks.java index 0cb8fb2ccd..43a85051be 100644 --- a/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/workflow/tasks/WorkflowActionBBTasks.java +++ b/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/workflow/tasks/WorkflowActionBBTasks.java @@ -103,6 +103,7 @@ public class WorkflowActionBBTasks { (List<ExecuteBuildingBlock>) execution.getVariable("flowsToExecute"); execution.setVariable("MacroRollback", false); + flowManipulatorListenerRunner.modifyFlows(flowsToExecute, new DelegateExecutionImpl(execution)); int currentSequence = (int) execution.getVariable(G_CURRENT_SEQUENCE); ExecuteBuildingBlock ebb = flowsToExecute.get(currentSequence); @@ -113,12 +114,6 @@ public class WorkflowActionBBTasks { execution.setVariable(G_CURRENT_SEQUENCE, currentSequence); } - public void runFlowManipulator(DelegateExecution execution) { - List<ExecuteBuildingBlock> flowsToExecute = - (List<ExecuteBuildingBlock>) execution.getVariable("flowsToExecute"); - flowManipulatorListenerRunner.modifyFlows(flowsToExecute, new DelegateExecutionImpl(execution)); - } - public void updateFlowStatistics(DelegateExecution execution) { try { int currentSequence = (int) execution.getVariable(G_CURRENT_SEQUENCE); diff --git a/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/workflow/tasks/listeners/SkipCDSBuildingBlockListener.java b/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/workflow/tasks/listeners/SkipCDSBuildingBlockListener.java index 42aab4c16e..2119ced951 100644 --- a/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/workflow/tasks/listeners/SkipCDSBuildingBlockListener.java +++ b/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/workflow/tasks/listeners/SkipCDSBuildingBlockListener.java @@ -52,8 +52,6 @@ public class SkipCDSBuildingBlockListener implements FlowManipulator { private Set<String> pnfActions = new HashSet<>(Arrays.asList("config-assign", "config-deploy", "PnfConfigAssign", "PnfConfigDeploy")); - private static final String COMPLETED = "completed"; - @Override public boolean shouldRunFor(String currentBBName, boolean isFirst, BuildingBlockExecution execution) { @@ -72,7 +70,6 @@ public class SkipCDSBuildingBlockListener implements FlowManipulator { public void run(List<ExecuteBuildingBlock> flowsToExecute, ExecuteBuildingBlock currentBB, BuildingBlockExecution execution) { String customizationUUID = currentBB.getBuildingBlock().getKey(); - int flowsToExecuteSize = flowsToExecute.size(); if (Strings.isEmpty(customizationUUID)) { return; @@ -88,7 +85,7 @@ public class SkipCDSBuildingBlockListener implements FlowManipulator { vnfResourceCustomizations); if (null != vrc) { boolean skipConfigVNF = vrc.isSkipPostInstConf(); - currentSequenceSkipCheck(execution, skipConfigVNF, flowsToExecuteSize); + currentSequenceSkipCheck(execution, skipConfigVNF); } } @@ -100,7 +97,7 @@ public class SkipCDSBuildingBlockListener implements FlowManipulator { if (null != vfc) { boolean skipVfModule = vfc.isSkipPostInstConf(); - currentSequenceSkipCheck(execution, skipVfModule, flowsToExecuteSize); + currentSequenceSkipCheck(execution, skipVfModule); } } else if (currentBB.getBuildingBlock().getBpmnScope().equalsIgnoreCase("PNF") @@ -110,7 +107,7 @@ public class SkipCDSBuildingBlockListener implements FlowManipulator { if (null != pnfResourceCustomization) { boolean skipConfigPNF = pnfResourceCustomization.isSkipPostInstConf(); - currentSequenceSkipCheck(execution, skipConfigPNF, flowsToExecuteSize); + currentSequenceSkipCheck(execution, skipConfigPNF); } } } @@ -121,16 +118,10 @@ public class SkipCDSBuildingBlockListener implements FlowManipulator { } - private void currentSequenceSkipCheck(BuildingBlockExecution execution, boolean skipModule, - int flowsToExecuteSize) { + private void currentSequenceSkipCheck(BuildingBlockExecution execution, boolean skipModule) { if (skipModule) { int currentSequence = execution.getVariable(BBConstants.G_CURRENT_SEQUENCE); - currentSequence++; - if (currentSequence >= flowsToExecuteSize) { - execution.setVariable(COMPLETED, true); - } else { - execution.setVariable(BBConstants.G_CURRENT_SEQUENCE, currentSequence); - } + execution.setVariable(BBConstants.G_CURRENT_SEQUENCE, currentSequence + 1); } } diff --git a/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/workflow/tasks/WorkflowActionBBTasksTest.java b/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/workflow/tasks/WorkflowActionBBTasksTest.java index b0358c51f0..3290bb3dce 100644 --- a/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/workflow/tasks/WorkflowActionBBTasksTest.java +++ b/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/workflow/tasks/WorkflowActionBBTasksTest.java @@ -41,6 +41,7 @@ import org.onap.aai.domain.yang.ServiceInstance; import org.onap.aai.domain.yang.VfModule; import org.onap.aai.domain.yang.VolumeGroup; import org.onap.so.bpmn.BaseTaskTest; +import org.onap.so.bpmn.common.listener.flowmanipulator.FlowManipulatorListenerRunner; import org.onap.so.bpmn.core.WorkflowException; import org.onap.so.bpmn.servicedecomposition.entities.BuildingBlock; import org.onap.so.bpmn.servicedecomposition.entities.ConfigurationResourceKeys; @@ -89,6 +90,9 @@ public class WorkflowActionBBTasksTest extends BaseTaskTest { @Mock protected Environment environment; + @Mock + private FlowManipulatorListenerRunner flowManipulatorListenerRunner; + @Rule public ExpectedException thrown = ExpectedException.none(); diff --git a/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/workflow/tasks/listeners/SkipCDSBuildingBlockListenerTest.java b/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/workflow/tasks/listeners/SkipCDSBuildingBlockListenerTest.java index 1d68cf0adb..fdf4d36c89 100644 --- a/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/workflow/tasks/listeners/SkipCDSBuildingBlockListenerTest.java +++ b/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/workflow/tasks/listeners/SkipCDSBuildingBlockListenerTest.java @@ -55,10 +55,10 @@ public class SkipCDSBuildingBlockListenerTest { private static final String PNFModule_TEST_ACTION = "config-assign"; private static final String MODELCUSTOMIZATIONUUID = "123456789"; private static final String BBNAME = "ControllerExecutionBB"; - private static final String COMPLETED = "completed"; private static final boolean ISFIRST = true; private int actual; + private List<ExecuteBuildingBlock> flowsToExecute = new ArrayList<>(); private List<VnfResourceCustomization> vnfResourceCustomization; private List<VfModuleCustomization> vfModuleCustomization; private ExecuteBuildingBlock executeBuildingBlock = new ExecuteBuildingBlock(); @@ -91,9 +91,6 @@ public class SkipCDSBuildingBlockListenerTest { @Test public void testProcessForVNFToSkipCDSBB() { - List<ExecuteBuildingBlock> flowsToExecute = new ArrayList<>(); - flowsToExecute.add(executeBuildingBlock); - flowsToExecute.add(new ExecuteBuildingBlock()); // given setBuildingBlockAndCurrentSequence(VNF_SCOPE, VNF_TEST_ACTION, 0); vnfResourceCustomization = getVnfResourceCustomizationList(true); @@ -115,9 +112,6 @@ public class SkipCDSBuildingBlockListenerTest { @Test public void testProcessForVNFNotToSkipCDSBB() { - List<ExecuteBuildingBlock> flowsToExecute = new ArrayList<>(); - flowsToExecute.add(executeBuildingBlock); - flowsToExecute.add(new ExecuteBuildingBlock()); // given setBuildingBlockAndCurrentSequence(VNF_SCOPE, VNF_TEST_ACTION, 0); vnfResourceCustomization = getVnfResourceCustomizationList(false); @@ -140,9 +134,6 @@ public class SkipCDSBuildingBlockListenerTest { @Test public void testProcessForVFToSkipCDSBB() { - List<ExecuteBuildingBlock> flowsToExecute = new ArrayList<>(); - flowsToExecute.add(executeBuildingBlock); - flowsToExecute.add(new ExecuteBuildingBlock()); // given setBuildingBlockAndCurrentSequence(VF_SCOPE, VFModule_TEST_ACTION, 0); vfModuleCustomization = getVfModuleCustomizationList(true); @@ -162,9 +153,6 @@ public class SkipCDSBuildingBlockListenerTest { @Test public void testProcessForVFNotToSkipCDSBB() { - List<ExecuteBuildingBlock> flowsToExecute = new ArrayList<>(); - flowsToExecute.add(executeBuildingBlock); - flowsToExecute.add(new ExecuteBuildingBlock()); // given setBuildingBlockAndCurrentSequence(VF_SCOPE, VFModule_TEST_ACTION, 0); vfModuleCustomization = getVfModuleCustomizationList(false); @@ -184,9 +172,6 @@ public class SkipCDSBuildingBlockListenerTest { @Test public void testProcessForPNFToSkipCDSBB() { - List<ExecuteBuildingBlock> flowsToExecute = new ArrayList<>(); - flowsToExecute.add(executeBuildingBlock); - flowsToExecute.add(new ExecuteBuildingBlock()); // given setBuildingBlockAndCurrentSequence(PNF_SCOPE, PNFModule_TEST_ACTION, 0); pnfResourceCustomization = getPnfResourceCustomization(true); @@ -205,32 +190,7 @@ public class SkipCDSBuildingBlockListenerTest { } @Test - public void testProcessForPNFToSkipCDSBBLastBBInList() { - List<ExecuteBuildingBlock> flowsToExecute = new ArrayList<>(); - flowsToExecute.add(executeBuildingBlock); - // given - setBuildingBlockAndCurrentSequence(PNF_SCOPE, PNFModule_TEST_ACTION, 0); - pnfResourceCustomization = getPnfResourceCustomization(true); - - when(catalogDbClient - .getPnfResourceCustomizationByModelCustomizationUUID(executeBuildingBlock.getBuildingBlock().getKey())) - .thenReturn(pnfResourceCustomization); - - // when - skipCDSBuildingBlockListener.run(flowsToExecute, executeBuildingBlock, buildingBlockExecution); - - // then - actual = buildingBlockExecution.getVariable(BBConstants.G_CURRENT_SEQUENCE); - boolean isCompleted = buildingBlockExecution.getVariable(COMPLETED); - assertEquals(true, isCompleted); - assertEquals(0, actual); - } - - @Test public void testProcessForPNFNotToSkipCDSBB() { - List<ExecuteBuildingBlock> flowsToExecute = new ArrayList<>(); - flowsToExecute.add(executeBuildingBlock); - flowsToExecute.add(new ExecuteBuildingBlock()); // given setBuildingBlockAndCurrentSequence(PNF_SCOPE, PNFModule_TEST_ACTION, 0); pnfResourceCustomization = getPnfResourceCustomization(false); diff --git a/common/src/main/java/org/onap/so/configuration/rest/HttpClientConnectionConfiguration.java b/common/src/main/java/org/onap/so/configuration/rest/HttpClientConnectionConfiguration.java index 6c2c76e87c..b17b1fe0fe 100644 --- a/common/src/main/java/org/onap/so/configuration/rest/HttpClientConnectionConfiguration.java +++ b/common/src/main/java/org/onap/so/configuration/rest/HttpClientConnectionConfiguration.java @@ -38,15 +38,18 @@ public class HttpClientConnectionConfiguration { @Value(value = "${rest.http.client.configuration.socketTimeOutInSec:180}") private int socketTimeOutInSeconds; - @Value(value = "${rest.http.client.configuration.socketTimeOutInSec:600}") + @Value(value = "${rest.http.client.configuration.timeToLiveInSeconds:600}") private int timeToLiveInSeconds; - @Value(value = "${rest.http.client.configuration.maxConnections:10}") + @Value(value = "${rest.http.client.configuration.maxConnections:100}") private int maxConnections; - @Value(value = "${rest.http.client.configuration.maxConnectionsPerRoute:2}") + @Value(value = "${rest.http.client.configuration.maxConnectionsPerRoute:20}") private int maxConnectionsPerRoute; + @Value(value = "${rest.http.client.configuration.evictIdleConnectionsTimeInSec:5}") + private int evictIdleConnectionsTimeInSec; + /** * @return the socket connection time out in milliseconds */ @@ -82,4 +85,8 @@ public class HttpClientConnectionConfiguration { return (int) TimeUnit.SECONDS.toMinutes(timeToLiveInSeconds); } + public long getEvictIdleConnectionsTimeInSec() { + return evictIdleConnectionsTimeInSec; + } + } diff --git a/common/src/main/java/org/onap/so/configuration/rest/HttpComponentsClientConfiguration.java b/common/src/main/java/org/onap/so/configuration/rest/HttpComponentsClientConfiguration.java index 882ed95cfc..aef2ed165e 100644 --- a/common/src/main/java/org/onap/so/configuration/rest/HttpComponentsClientConfiguration.java +++ b/common/src/main/java/org/onap/so/configuration/rest/HttpComponentsClientConfiguration.java @@ -22,6 +22,7 @@ package org.onap.so.configuration.rest; import java.util.concurrent.TimeUnit; import org.apache.http.client.config.RequestConfig; +import org.apache.http.impl.NoConnectionReuseStrategy; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.HttpClientBuilder; import org.apache.http.impl.conn.PoolingHttpClientConnectionManager; @@ -55,7 +56,10 @@ public class HttpComponentsClientConfiguration { return HttpClientBuilder.create().setConnectionManager(poolingHttpClientConnectionManager()) .setMaxConnPerRoute(clientConnectionConfiguration.getMaxConnectionsPerRoute()) .setMaxConnTotal(clientConnectionConfiguration.getMaxConnections()) - .setDefaultRequestConfig(requestConfig()).build(); + .setDefaultRequestConfig(requestConfig()).setConnectionReuseStrategy(NoConnectionReuseStrategy.INSTANCE) + .evictExpiredConnections().evictIdleConnections( + clientConnectionConfiguration.getEvictIdleConnectionsTimeInSec(), TimeUnit.SECONDS) + .build(); } @Bean |