Add sync response for VFCNS delete

Add sync response for VFCNS delete

Change-Id: I4917f0a83fc0c33d51b9b90d91f10dbdc023e690
Issue-ID: SO-422
Signed-off-by: subhash kumar singh <subhash.kumar.singh@huawei.com>
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DeleteVFCNSResource.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DeleteVFCNSResource.groovy
index be099eb..e9d51b2 100644
--- a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DeleteVFCNSResource.groovy
+++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DeleteVFCNSResource.groovy
@@ -44,4 +44,25 @@
 
         utils.log("INFO"," ***** end postProcessRequest *****",  isDebugEnabled)
     }
+
+    public void sendSyncResponse (DelegateExecution execution) {
+        def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
+        utils.log("DEBUG", " *** sendSyncResponse *** ", isDebugEnabled)
+
+        try {
+            String nsInstanceId = execution.getVariable("nsInstanceId")
+            String operationStatus = execution.getVariable("operationStatus")
+            // RESTResponse for main flow
+            String createVFCResourceRestRsp = """{"nsInstanceId":"${nsInstanceId}","operationStatus":"${operationStatus}"}""".trim()
+            utils.log("DEBUG", " sendSyncResponse to APIH:" + "\n" + createVFCResourceRestRsp, isDebugEnabled)
+            sendWorkflowResponse(execution, 202, createVFCResourceRestRsp)
+            execution.setVariable("sentSyncResponse", true)
+
+        } catch (Exception ex) {
+            String msg = "Exceptuion in sendSyncResponse:" + ex.getMessage()
+            utils.log("DEBUG", msg, isDebugEnabled)
+            exceptionUtil.buildAndThrowWorkflowException(execution, 7000, msg)
+        }
+        utils.log("DEBUG"," ***** Exit sendSyncResopnse *****",  isDebugEnabled)
+    }
 }
\ No newline at end of file
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/resources/process/DeleteVFCNSResource.bpmn b/bpmn/MSOInfrastructureBPMN/src/main/resources/process/DeleteVFCNSResource.bpmn
index 514abb0..d7a4bba 100644
--- a/bpmn/MSOInfrastructureBPMN/src/main/resources/process/DeleteVFCNSResource.bpmn
+++ b/bpmn/MSOInfrastructureBPMN/src/main/resources/process/DeleteVFCNSResource.bpmn
@@ -8,9 +8,9 @@
     <bpmn:sequenceFlow id="SequenceFlow_00vpfm3" sourceRef="Task_0yl3rau" targetRef="Task_14gmbq4" />
     <bpmn:sequenceFlow id="SequenceFlow_1s4cyms" sourceRef="Task_14gmbq4" targetRef="Task_1e27uaw" />
     <bpmn:endEvent id="EndEvent_07ew0rf" name="End Custom Delete E2E NS">
-      <bpmn:incoming>SequenceFlow_152xb4z</bpmn:incoming>
+      <bpmn:incoming>SequenceFlow_0jvtdhv</bpmn:incoming>
     </bpmn:endEvent>
-    <bpmn:sequenceFlow id="SequenceFlow_152xb4z" sourceRef="Task_1e27uaw" targetRef="EndEvent_07ew0rf" />
+    <bpmn:sequenceFlow id="SequenceFlow_152xb4z" sourceRef="Task_1e27uaw" targetRef="ScriptTask_0pkuukn" />
     <bpmn:scriptTask id="Task_0yl3rau" name="DoCustomDeleteE2ENS prepare" scriptFormat="groovy">
       <bpmn:incoming>SequenceFlow_0x2e9we</bpmn:incoming>
       <bpmn:outgoing>SequenceFlow_00vpfm3</bpmn:outgoing>
@@ -57,6 +57,14 @@
       <bpmn:sequenceFlow id="SequenceFlow_0yro7o2" sourceRef="StartEvent_0zwedl6" targetRef="ScriptTask_0tdtqwh" />
       <bpmn:sequenceFlow id="SequenceFlow_0p0ayci" sourceRef="ScriptTask_0tdtqwh" targetRef="EndEvent_10tfowz" />
     </bpmn:subProcess>
+    <bpmn:scriptTask id="ScriptTask_0pkuukn" name="Send Sync Ack Response" scriptFormat="groovy">
+      <bpmn:incoming>SequenceFlow_152xb4z</bpmn:incoming>
+      <bpmn:outgoing>SequenceFlow_0jvtdhv</bpmn:outgoing>
+      <bpmn:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
+def dsi = new  DeleteVFCNSResource()
+dsi.sendSyncResponse(execution)]]></bpmn:script>
+    </bpmn:scriptTask>
+    <bpmn:sequenceFlow id="SequenceFlow_0jvtdhv" sourceRef="ScriptTask_0pkuukn" targetRef="EndEvent_07ew0rf" />
   </bpmn:process>
   <bpmndi:BPMNDiagram id="BPMNDiagram_1">
     <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="DeleteVFCNSResource">
@@ -68,23 +76,23 @@
       </bpmndi:BPMNShape>
       <bpmndi:BPMNEdge id="SequenceFlow_0x2e9we_di" bpmnElement="SequenceFlow_0x2e9we">
         <di:waypoint xsi:type="dc:Point" x="366" y="354" />
-        <di:waypoint xsi:type="dc:Point" x="530" y="354" />
+        <di:waypoint xsi:type="dc:Point" x="474" y="354" />
         <bpmndi:BPMNLabel>
-          <dc:Bounds x="448" y="333" width="0" height="12" />
+          <dc:Bounds x="375" y="333" width="90" height="12" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNEdge id="SequenceFlow_00vpfm3_di" bpmnElement="SequenceFlow_00vpfm3">
-        <di:waypoint xsi:type="dc:Point" x="630" y="354" />
-        <di:waypoint xsi:type="dc:Point" x="774" y="354" />
+        <di:waypoint xsi:type="dc:Point" x="574" y="354" />
+        <di:waypoint xsi:type="dc:Point" x="661" y="354" />
         <bpmndi:BPMNLabel>
-          <dc:Bounds x="702" y="333" width="0" height="12" />
+          <dc:Bounds x="572.5" y="333" width="90" height="12" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNEdge id="SequenceFlow_1s4cyms_di" bpmnElement="SequenceFlow_1s4cyms">
-        <di:waypoint xsi:type="dc:Point" x="874" y="354" />
-        <di:waypoint xsi:type="dc:Point" x="1018" y="354" />
+        <di:waypoint xsi:type="dc:Point" x="761" y="354" />
+        <di:waypoint xsi:type="dc:Point" x="889" y="354" />
         <bpmndi:BPMNLabel>
-          <dc:Bounds x="946" y="333" width="0" height="12" />
+          <dc:Bounds x="780" y="333" width="90" height="12" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNShape id="EndEvent_07ew0rf_di" bpmnElement="EndEvent_07ew0rf">
@@ -94,20 +102,20 @@
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNShape>
       <bpmndi:BPMNEdge id="SequenceFlow_152xb4z_di" bpmnElement="SequenceFlow_152xb4z">
-        <di:waypoint xsi:type="dc:Point" x="1118" y="354" />
-        <di:waypoint xsi:type="dc:Point" x="1313" y="354" />
+        <di:waypoint xsi:type="dc:Point" x="989" y="354" />
+        <di:waypoint xsi:type="dc:Point" x="1113" y="354" />
         <bpmndi:BPMNLabel>
-          <dc:Bounds x="1215.5" y="333" width="0" height="12" />
+          <dc:Bounds x="1006" y="333" width="90" height="12" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNShape id="ScriptTask_1ssr09e_di" bpmnElement="Task_0yl3rau">
-        <dc:Bounds x="530" y="314" width="100" height="80" />
+        <dc:Bounds x="474" y="314" width="100" height="80" />
       </bpmndi:BPMNShape>
       <bpmndi:BPMNShape id="ScriptTask_092ktxo_di" bpmnElement="Task_1e27uaw">
-        <dc:Bounds x="1018" y="314" width="100" height="80" />
+        <dc:Bounds x="889" y="314" width="100" height="80" />
       </bpmndi:BPMNShape>
       <bpmndi:BPMNShape id="CallActivity_00p99pt_di" bpmnElement="Task_14gmbq4">
-        <dc:Bounds x="774" y="314" width="100" height="80" />
+        <dc:Bounds x="661" y="314" width="100" height="80" />
       </bpmndi:BPMNShape>
       <bpmndi:BPMNShape id="SubProcess_11qmm22_di" bpmnElement="SubProcess_11qmm22" isExpanded="true">
         <dc:Bounds x="636" y="539" width="350" height="200" />
@@ -141,6 +149,16 @@
           <dc:Bounds x="852" y="603" width="0" height="12" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
+      <bpmndi:BPMNShape id="ScriptTask_0pkuukn_di" bpmnElement="ScriptTask_0pkuukn">
+        <dc:Bounds x="1113" y="314" width="100" height="80" />
+      </bpmndi:BPMNShape>
+      <bpmndi:BPMNEdge id="SequenceFlow_0jvtdhv_di" bpmnElement="SequenceFlow_0jvtdhv">
+        <di:waypoint xsi:type="dc:Point" x="1213" y="354" />
+        <di:waypoint xsi:type="dc:Point" x="1313" y="354" />
+        <bpmndi:BPMNLabel>
+          <dc:Bounds x="1263" y="333" width="0" height="12" />
+        </bpmndi:BPMNLabel>
+      </bpmndi:BPMNEdge>
     </bpmndi:BPMNPlane>
   </bpmndi:BPMNDiagram>
 </bpmn:definitions>