Fix wrong work flow for service delete 37/18737/3
authorc00149107 <chenchuanyu@huawei.com>
Fri, 13 Oct 2017 09:15:30 +0000 (17:15 +0800)
committerSeshu Kumar M <seshu.kumar.m@huawei.com>
Fri, 13 Oct 2017 09:58:32 +0000 (09:58 +0000)
Fix wrong work flow for service delete bpmn logic

Change-Id: I86287cc484b85ed0a31fcf70bea9049d896ade91
Issue-ID:SO-218
Signed-off-by: c00149107 <chenchuanyu@huawei.com>
bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateE2EServiceInstance.groovy
bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCustomDeleteE2EServiceInstance.groovy
bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoDeleteVFCNetworkServiceInstance.groovy
bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoCreateE2EServiceInstance.bpmn
bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoCustomDeleteE2EServiceInstance.bpmn

index b053b4e..a2be303 100644 (file)
@@ -619,7 +619,7 @@ public class DoCreateE2EServiceInstance extends AbstractServiceTaskProcessor {
             String progress = "0"
             String reason = ""
             String operationContent = "Prepare service creation"
-            utils.log("DEBUG", "Generated new operation for Service Instance serviceId:" + serviceId + " operationId:" + operationId, isDebugEnabled)
+            utils.log("DEBUG", "Generated new operation for Service Instance serviceId:" + serviceId + " operationId:" + operationId + " operationType:" + oprationType, isDebugEnabled)
             serviceId = UriUtils.encode(serviceId,"UTF-8")
             execution.setVariable("serviceInstanceId", serviceId)
             execution.setVariable("operationId", operationId)
@@ -669,7 +669,7 @@ public class DoCreateE2EServiceInstance extends AbstractServiceTaskProcessor {
        /**
         * prepare resource create request
         */
-       public void preResourceRequest(execution, resourceName){
+       public void preResourceRequest(execution, resourceType){
            def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
            String serviceInstanceName = execution.getVariable("serviceInstanceName")
            String nsServiceName = nsName + "_" + serviceInstanceName
@@ -687,11 +687,10 @@ public class DoCreateE2EServiceInstance extends AbstractServiceTaskProcessor {
         def segmentList = serviceReq.service.parameters.segments                
         if (segmentList != null) {
             segmentList.each {
-                if(StringUtils.containsIgnoreCase(it.resourceName, nsName)){
-                    String resourceActualName = it.resourceName
+                if(StringUtils.containsIgnoreCase(it.resourceName, resourceType)){
                     String resourceUUID  = it.resourceUUID
                     String resourceParameters = it.nsParameters
-                    execution.setVariable("resourceName", resourceActualName)
+                    execution.setVariable("resourceType", resourceType)
                     execution.setVariable("resourceUUID", resourceUUID)
                     execution.setVariable("resourceParameters", resourceParameters)
                 }                
index 041ff62..b7aaef0 100644 (file)
@@ -473,4 +473,123 @@ public class DoDeleteE2EServiceInstance extends AbstractServiceTaskProcessor {
                }
                utils.log("DEBUG"," *** Exit postProcessAAIDEL *** ", isDebugEnabled)
        }
+       
+   public void preInitResourcesOperStatus(Execution execution){
+        def isDebugEnabled = execution.getVariable("isDebugLogEnabled")
+
+        utils.log("DEBUG", " ======== STARTED preInitResourcesOperStatus Process ======== ", isDebugEnabled)
+        try{
+            String serviceId = execution.getVariable("serviceInstanceId")
+            String operationId = execution.getVariable("operationId")
+            String operationType = execution.getVariable("operationType")
+            String resourceTemplateUUIDs = ""
+            String result = "processing"
+            String progress = "0"
+            String reason = ""
+            String operationContent = "Prepare service creation"
+            utils.log("DEBUG", "Generated new operation for Service Instance serviceId:" + serviceId + " operationId:" + operationId + " operationType:" + oprationType, isDebugEnabled)
+            serviceId = UriUtils.encode(serviceId,"UTF-8")
+            execution.setVariable("serviceInstanceId", serviceId)
+            execution.setVariable("operationId", operationId)
+            execution.setVariable("operationType", operationType)
+            // we use resource instance ids for delete flow as resourceTemplateUUIDs
+            /*[
+             {
+                 "resourceInstanceId":"1111",
+                 "resourceType":"vIMS"
+             },
+             {
+                 "resourceInstanceId":"222",
+                 "resourceType":"vEPC"
+             },
+             {
+                 "resourceInstanceId":"3333",
+                 "resourceType":"overlay"
+             },
+             {
+                 "resourceInstanceId":"4444",
+                 "resourceType":"underlay"
+             }
+         ]*/
+            String serviceRelationShip = execution.getVariable("serviceRelationShip")
+            
+            def jsonSlurper = new JsonSlurper()
+            def jsonOutput = new JsonOutput()         
+            List relationShipList =  jsonSlurper.parseText(serviceRelationShip)
+                    
+            if (relationShipList != null) {
+                relationShipList.each {
+                    resourceTemplateUUIDs  = resourceTemplateUUIDs + it.resourceInstanceId + ":"
+                }
+            }           
+
+            def dbAdapterEndpoint = execution.getVariable("URN_mso_openecomp_adapters_db_endpoint")
+            execution.setVariable("CVFMI_dbAdapterEndpoint", dbAdapterEndpoint)
+            utils.log("DEBUG", "DB Adapter Endpoint is: " + dbAdapterEndpoint, isDebugEnabled)
+
+            String payload =
+                """<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
+                        xmlns:ns="http://org.openecomp.mso/requestsdb">
+                        <soapenv:Header/>
+                        <soapenv:Body>
+                            <ns:initResourceOperationStatus xmlns:ns="http://org.openecomp.mso/requestsdb">
+                            <serviceId>${serviceId}</serviceId>
+                            <operationId>${operationId}</operationId>
+                            <operationType>${operationType}</operationType>
+                            <resourceTemplateUUIDs>${resourceTemplateUUIDs}</resourceTemplateUUIDs>
+                        </ns:initResourceOperationStatus>
+                    </soapenv:Body>
+                </soapenv:Envelope>"""
+
+            payload = utils.formatXml(payload)
+            execution.setVariable("CVFMI_initResOperStatusRequest", payload)
+            utils.log("DEBUG", "Outgoing initResourceOperationStatus: \n" + payload, isDebugEnabled)
+            utils.logAudit("CreateVfModuleInfra Outgoing initResourceOperationStatus Request: " + payload)
+
+        }catch(Exception e){
+            utils.log("ERROR", "Exception Occured Processing preInitResourcesOperStatus. Exception is:\n" + e, isDebugEnabled)
+            execution.setVariable("CVFMI_ErrorResponse", "Error Occurred during preInitResourcesOperStatus Method:\n" + e.getMessage())
+        }
+        utils.log("DEBUG", "======== COMPLETED preInitResourcesOperStatus Process ======== ", isDebugEnabled)  
+    }
+   
+   /**
+    * prepare delete parameters
+    */
+   public void preResourceDelete(execution, resourceName){
+       // we use resource instance ids for delete flow as resourceTemplateUUIDs
+       /*[
+        {
+            "resourceInstanceId":"1111",
+            "resourceType":"vIMS"
+        },
+        {
+            "resourceInstanceId":"222",
+            "resourceType":"vEPC"
+        },
+        {
+            "resourceInstanceId":"3333",
+            "resourceType":"overlay"
+        },
+        {
+            "resourceInstanceId":"4444",
+            "resourceType":"underlay"
+        }
+    ]*/
+       String serviceRelationShip = execution.getVariable("serviceRelationShip")       
+       def jsonSlurper = new JsonSlurper()
+       def jsonOutput = new JsonOutput()         
+       List relationShipList =  jsonSlurper.parseText(serviceRelationShip)
+               
+       if (relationShipList != null) {
+           relationShipList.each {
+               if(resouceName.equals(it.resouceType))
+               String resouceTemplateUUID = it.resourceInstanceId
+               String resouceInstanceUUID = it.resouceInstanceId
+               execution.setVariable("resouceTemplateUUID", resouceTemplateUUID)
+               execution.setVariable("resouceInstanceId", resouceInstanceUUID)
+               execution.setResourceType("resourceType", resouceName)
+           }
+       }    
+   }
 }
index f3659ed..bec1290 100644 (file)
@@ -75,9 +75,9 @@ public class DODeleteVFCNetworkServiceInstance extends AbstractServiceTaskProces
             utils.log("DEBUG", "serviceId:" + serviceId, isDebugEnabled)\r
             String operationId = execution.getVariable("operationId")\r
             utils.log("DEBUG", "serviceType:" + serviceType, isDebugEnabled)\r
-            String nodeTemplateUUID = execution.getVariable("nodeTemplateUUID")\r
+            String nodeTemplateUUID = execution.getVariable("resourceTemplateUUID")\r
             utils.log("DEBUG", "nodeTemplateUUID:" + nodeTemplateUUID, isDebugEnabled)\r
-            String nsInstanceId = execution.getVariable("nsInstanceId")\r
+            String nsInstanceId = execution.getVariable("resourceInstanceId")\r
             utils.log("DEBUG", "nsInstanceId:" + nsInstanceId, isDebugEnabled)\r
             String nsOperationKey = "{\"globalSubscriberId\":\"" + globalSubscriberId + "\",\"serviceType:\""\r
                   + serviceType + "\",\"serviceId\":\"" + serviceId + "\",\"operationId\":\"" + operationId\r
index a760366..109cf69 100644 (file)
@@ -127,12 +127,13 @@ def ddsi = new DoCreateE2EServiceInstance()
 ddsi.postProcessAAIPUT(execution)]]></bpmn2:script>
     </bpmn2:scriptTask>
     <bpmn2:sequenceFlow id="SequenceFlow_1dd86x8" sourceRef="ScriptTask_0q37vn9" targetRef="ExclusiveGateway_1nk6aol" />
-    <bpmn2:scriptTask id="ScriptTask_0081lne" name="Prepare SDN-C Adaptor Data Request" scriptFormat="groovy">
-      <bpmn2:incoming>SequenceFlow_1hgiln0</bpmn2:incoming>
+    <bpmn2:scriptTask id="ScriptTask_0081lne" name="Prepare  Resource Requst For overlay" scriptFormat="groovy">
+      <bpmn2:incoming>SequenceFlow_1pjr82f</bpmn2:incoming>
       <bpmn2:outgoing>SequenceFlow_0ofqw6v</bpmn2:outgoing>
       <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
+String nsName = "overlay"
 def csi = new  DoCreateE2EServiceInstance()
-csi.preSDNCRequest(execution)]]></bpmn2:script>
+csi.preResourceRequest(execution, nsName)]]></bpmn2:script>
     </bpmn2:scriptTask>
     <bpmn2:scriptTask id="ScriptTask_0wvq4t8" name="Prepare Resource Request for vEPC" scriptFormat="groovy">
       <bpmn2:incoming>SequenceFlow_05gdjox</bpmn2:incoming>
@@ -142,19 +143,6 @@ String resourceName= "vEPC"
 def csi = new  DoCreateE2EServiceInstance()
 csi.preResourceRequest(execution, resourceName)]]></bpmn2:script>
     </bpmn2:scriptTask>
-    <bpmn2:callActivity id="CallActivity_09c3ajg" name="Call DoCreateE2ENetworkInstance" calledElement="DoCreateWANNetworkInstance">
-      <bpmn2:extensionElements>
-        <camunda:in source="serviceId" target="serviceId" />
-        <camunda:in source="operationId" target="operationId" />
-        <camunda:in source="operationType" target="operationType" />
-        <camunda:in source="resourceTemplateUUID" target="resourceTemplateUUID" />
-        <camunda:in source="resourceName" target="resourceName" />
-        <camunda:in source="resoureceNodeType" target="resoureceNodeType" />
-        <camunda:in source="resourceReqJson" target="resourceReqJson" />
-      </bpmn2:extensionElements>
-      <bpmn2:incoming>SequenceFlow_0ofqw6v</bpmn2:incoming>
-      <bpmn2:outgoing>SequenceFlow_1vvdkcs</bpmn2:outgoing>
-    </bpmn2:callActivity>
     <bpmn2:callActivity id="CallActivity_0uwm4l1" name="Call DoCreateVFCNetworkServiceInstance For vEPC" calledElement="DoCreateVFCNetworkServiceInstance">
       <bpmn2:extensionElements>
         <camunda:in source="nsServiceName" target="nsServiceName" />
@@ -163,9 +151,10 @@ csi.preResourceRequest(execution, resourceName)]]></bpmn2:script>
         <camunda:in source="serviceType" target="serviceType" />
         <camunda:in source="serviceId" target="serviceId" />
         <camunda:in source="operationId" target="operationId" />
-        <camunda:in source="resourceName" target="resourceName" />
+        <camunda:in source="resourceType" target="resourceType" />
         <camunda:in source="resourceUUID" target="resourceUUID" />
         <camunda:in source="resourceParameters" target="resourceParameters" />
+        <camunda:in source="operationType" target="operationType" />
       </bpmn2:extensionElements>
       <bpmn2:incoming>SequenceFlow_15zgrcq</bpmn2:incoming>
       <bpmn2:outgoing>SequenceFlow_0k4q7jm</bpmn2:outgoing>
@@ -226,7 +215,7 @@ String nsName = "vIMS"
 def csi = new  DoCreateE2EServiceInstance()
 csi.preResourceRequest(execution, nsName)]]></bpmn2:script>
     </bpmn2:scriptTask>
-    <bpmn2:sequenceFlow id="SequenceFlow_1hgiln0" sourceRef="Task_03n6y9h" targetRef="ScriptTask_0081lne" />
+    <bpmn2:sequenceFlow id="SequenceFlow_1hgiln0" sourceRef="Task_03n6y9h" targetRef="Task_0io5qby" />
     <bpmn2:callActivity id="Task_03n6y9h" name="Call DoCreateVFCNetworkServiceInstance For vIMS" calledElement="DoCreateVFCNetworkServiceInstance">
       <bpmn2:extensionElements>
         <camunda:in source="nsServiceName" target="nsServiceName" />
@@ -235,13 +224,37 @@ csi.preResourceRequest(execution, nsName)]]></bpmn2:script>
         <camunda:in source="serviceType" target="serviceType" />
         <camunda:in source="serviceId" target="serviceId" />
         <camunda:in source="operationId" target="operationId" />
-        <camunda:in source="resourceName" target="resourceName" />
+        <camunda:in source="resourceType" target="resourceType" />
         <camunda:in source="resourceUUID" target="resourceUUID" />
         <camunda:in source="resourceParameters" target="resourceParameters" />
+        <camunda:in source="operationType" target="operationType" />
       </bpmn2:extensionElements>
       <bpmn2:incoming>SequenceFlow_0ua1bbk</bpmn2:incoming>
       <bpmn2:outgoing>SequenceFlow_1hgiln0</bpmn2:outgoing>
     </bpmn2:callActivity>
+    <bpmn2:sequenceFlow id="SequenceFlow_1vo0235" sourceRef="Task_0io5qby" targetRef="Task_0pkhzoj" />
+    <bpmn2:serviceTask id="Task_0io5qby" name="Call Sync SDNC service Create " camunda:class="org.openecomp.mso.bpmn.infrastructure.workflow.serviceTask.SdncServiceTopologyOperationTask">
+      <bpmn2:incoming>SequenceFlow_1hgiln0</bpmn2:incoming>
+      <bpmn2:outgoing>SequenceFlow_1vo0235</bpmn2:outgoing>
+    </bpmn2:serviceTask>
+    <bpmn2:sequenceFlow id="SequenceFlow_17i1ors" sourceRef="Task_0pkhzoj" targetRef="Task_0gs55f1" />
+    <bpmn2:sequenceFlow id="SequenceFlow_1pjr82f" sourceRef="Task_0gs55f1" targetRef="ScriptTask_0081lne" />
+    <bpmn2:scriptTask id="Task_0pkhzoj" name="Prepare Resource Request For underlay">
+      <bpmn2:incoming>SequenceFlow_1vo0235</bpmn2:incoming>
+      <bpmn2:outgoing>SequenceFlow_17i1ors</bpmn2:outgoing>
+      <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
+String nsName = "underlay"
+def csi = new  DoCreateE2EServiceInstance()
+csi.preResourceRequest(execution, nsName)]]></bpmn2:script>
+    </bpmn2:scriptTask>
+    <bpmn2:serviceTask id="Task_0gs55f1" name="Call Underlay Create" camunda:class="org.openecomp.mso.bpmn.infrastructure.workflow.serviceTask.SdncNetworkTopologyOperationTask">
+      <bpmn2:incoming>SequenceFlow_17i1ors</bpmn2:incoming>
+      <bpmn2:outgoing>SequenceFlow_1pjr82f</bpmn2:outgoing>
+    </bpmn2:serviceTask>
+    <bpmn2:serviceTask id="CallActivity_09c3ajg" name="Call Overlay Create" camunda:class="org.openecomp.mso.bpmn.infrastructure.workflow.serviceTask.SdncNetworkTopologyOperationTask">
+      <bpmn2:incoming>SequenceFlow_0ofqw6v</bpmn2:incoming>
+      <bpmn2:outgoing>SequenceFlow_1vvdkcs</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" />
@@ -417,25 +430,22 @@ csi.preResourceRequest(execution, nsName)]]></bpmn2:script>
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNShape id="ScriptTask_0081lne_di" bpmnElement="ScriptTask_0081lne">
-        <dc:Bounds x="211" y="819" width="100" height="80" />
+        <dc:Bounds x="-410" y="819" width="100" height="80" />
       </bpmndi:BPMNShape>
       <bpmndi:BPMNShape id="ScriptTask_0wvq4t8_di" bpmnElement="ScriptTask_0wvq4t8">
         <dc:Bounds x="789" y="819" width="100" height="80" />
       </bpmndi:BPMNShape>
-      <bpmndi:BPMNShape id="CallActivity_09c3ajg_di" bpmnElement="CallActivity_09c3ajg">
-        <dc:Bounds x="43" y="819" width="100" height="80" />
-      </bpmndi:BPMNShape>
       <bpmndi:BPMNShape id="CallActivity_0uwm4l1_di" bpmnElement="CallActivity_0uwm4l1">
         <dc:Bounds x="632" y="819" width="100" height="80" />
       </bpmndi:BPMNShape>
       <bpmndi:BPMNShape id="ScriptTask_1xdjlzm_di" bpmnElement="ScriptTask_1xdjlzm">
-        <dc:Bounds x="-152" y="819" width="100" height="80" />
+        <dc:Bounds x="-741" y="819" width="100" height="80" />
       </bpmndi:BPMNShape>
       <bpmndi:BPMNEdge id="SequenceFlow_0ofqw6v_di" bpmnElement="SequenceFlow_0ofqw6v">
-        <di:waypoint xsi:type="dc:Point" x="211" y="859" />
-        <di:waypoint xsi:type="dc:Point" x="143" y="859" />
+        <di:waypoint xsi:type="dc:Point" x="-410" y="859" />
+        <di:waypoint xsi:type="dc:Point" x="-478" y="859" />
         <bpmndi:BPMNLabel>
-          <dc:Bounds x="132" y="838" width="90" height="12" />
+          <dc:Bounds x="-489" y="838" width="90" height="12" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNEdge id="SequenceFlow_15zgrcq_di" bpmnElement="SequenceFlow_15zgrcq">
@@ -446,17 +456,17 @@ csi.preResourceRequest(execution, nsName)]]></bpmn2:script>
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNEdge id="SequenceFlow_1vvdkcs_di" bpmnElement="SequenceFlow_1vvdkcs">
-        <di:waypoint xsi:type="dc:Point" x="43" y="859" />
-        <di:waypoint xsi:type="dc:Point" x="-52" y="859" />
+        <di:waypoint xsi:type="dc:Point" x="-578" y="859" />
+        <di:waypoint xsi:type="dc:Point" x="-641" y="859" />
         <bpmndi:BPMNLabel>
-          <dc:Bounds x="-49.5" y="838" width="90" height="12" />
+          <dc:Bounds x="-654.5" y="838" width="90" height="12" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNEdge id="SequenceFlow_092ghvu_di" bpmnElement="SequenceFlow_092ghvu">
-        <di:waypoint xsi:type="dc:Point" x="-152" y="859" />
-        <di:waypoint xsi:type="dc:Point" x="-191" y="859" />
+        <di:waypoint xsi:type="dc:Point" x="-741" y="859" />
+        <di:waypoint xsi:type="dc:Point" x="-787" y="859" />
         <bpmndi:BPMNLabel>
-          <dc:Bounds x="-216.5" y="838" width="90" height="12" />
+          <dc:Bounds x="-809" y="838" width="90" height="12" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNEdge id="SequenceFlow_1170ztf_di" bpmnElement="SequenceFlow_1170ztf">
@@ -467,9 +477,9 @@ csi.preResourceRequest(execution, nsName)]]></bpmn2:script>
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNShape id="EndEvent_01p249c_di" bpmnElement="EndEvent_0kbbt94">
-        <dc:Bounds x="-227" y="841" width="36" height="36" />
+        <dc:Bounds x="-823" y="841" width="36" height="36" />
         <bpmndi:BPMNLabel>
-          <dc:Bounds x="-345" y="881" width="90" height="12" />
+          <dc:Bounds x="-941" y="881" width="90" height="12" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNShape>
       <bpmndi:BPMNEdge id="SequenceFlow_0k4q7jm_di" bpmnElement="SequenceFlow_0k4q7jm">
@@ -502,23 +512,56 @@ csi.preResourceRequest(execution, nsName)]]></bpmn2:script>
       </bpmndi:BPMNShape>
       <bpmndi:BPMNEdge id="SequenceFlow_0ua1bbk_di" bpmnElement="SequenceFlow_0ua1bbk">
         <di:waypoint xsi:type="dc:Point" x="496" y="859" />
-        <di:waypoint xsi:type="dc:Point" x="458" y="859" />
+        <di:waypoint xsi:type="dc:Point" x="446" y="859" />
         <bpmndi:BPMNLabel>
-          <dc:Bounds x="477" y="838" width="0" height="12" />
+          <dc:Bounds x="471" y="838" width="0" height="12" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNShape id="ScriptTask_0ue196s_di" bpmnElement="Task_0aidjmp">
         <dc:Bounds x="496" y="819" width="100" height="80" />
       </bpmndi:BPMNShape>
       <bpmndi:BPMNEdge id="SequenceFlow_1hgiln0_di" bpmnElement="SequenceFlow_1hgiln0">
-        <di:waypoint xsi:type="dc:Point" x="358" y="859" />
-        <di:waypoint xsi:type="dc:Point" x="311" y="859" />
+        <di:waypoint xsi:type="dc:Point" x="346" y="859" />
+        <di:waypoint xsi:type="dc:Point" x="191" y="859" />
         <bpmndi:BPMNLabel>
-          <dc:Bounds x="334.5" y="838" width="0" height="12" />
+          <dc:Bounds x="268.5" y="838" width="0" height="12" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNShape id="CallActivity_1hcdpgq_di" bpmnElement="Task_03n6y9h">
-        <dc:Bounds x="358" y="819" width="100" height="80" />
+        <dc:Bounds x="346" y="819" width="100" height="80" />
+      </bpmndi:BPMNShape>
+      <bpmndi:BPMNEdge id="SequenceFlow_1vo0235_di" bpmnElement="SequenceFlow_1vo0235">
+        <di:waypoint xsi:type="dc:Point" x="91" y="859" />
+        <di:waypoint xsi:type="dc:Point" x="46" y="859" />
+        <bpmndi:BPMNLabel>
+          <dc:Bounds x="68.5" y="838" width="0" height="12" />
+        </bpmndi:BPMNLabel>
+      </bpmndi:BPMNEdge>
+      <bpmndi:BPMNShape id="ServiceTask_0qi8cgg_di" bpmnElement="Task_0io5qby">
+        <dc:Bounds x="91" y="819" width="100" height="80" />
+      </bpmndi:BPMNShape>
+      <bpmndi:BPMNEdge id="SequenceFlow_17i1ors_di" bpmnElement="SequenceFlow_17i1ors">
+        <di:waypoint xsi:type="dc:Point" x="-54" y="859" />
+        <di:waypoint xsi:type="dc:Point" x="-125" y="859" />
+        <bpmndi:BPMNLabel>
+          <dc:Bounds x="-134.5" y="838" width="90" height="12" />
+        </bpmndi:BPMNLabel>
+      </bpmndi:BPMNEdge>
+      <bpmndi:BPMNEdge id="SequenceFlow_1pjr82f_di" bpmnElement="SequenceFlow_1pjr82f">
+        <di:waypoint xsi:type="dc:Point" x="-225" y="859" />
+        <di:waypoint xsi:type="dc:Point" x="-310" y="859" />
+        <bpmndi:BPMNLabel>
+          <dc:Bounds x="-312.5" y="838" width="90" height="12" />
+        </bpmndi:BPMNLabel>
+      </bpmndi:BPMNEdge>
+      <bpmndi:BPMNShape id="ScriptTask_0ue4dzp_di" bpmnElement="Task_0pkhzoj">
+        <dc:Bounds x="-54" y="819" width="100" height="80" />
+      </bpmndi:BPMNShape>
+      <bpmndi:BPMNShape id="ServiceTask_1q727pm_di" bpmnElement="Task_0gs55f1">
+        <dc:Bounds x="-225" y="819" width="100" height="80" />
+      </bpmndi:BPMNShape>
+      <bpmndi:BPMNShape id="ServiceTask_1cnnn5b_di" bpmnElement="CallActivity_09c3ajg">
+        <dc:Bounds x="-578" y="819" width="100" height="80" />
       </bpmndi:BPMNShape>
     </bpmndi:BPMNPlane>
   </bpmndi:BPMNDiagram>
index c354ef6..91f5404 100644 (file)
@@ -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.7.2">
+<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:process id="DoCustomDeleteE2EServiceInstance" isExecutable="true">
     <bpmn:startEvent id="StartEvent_0212h2r" name="Start Flow">
       <bpmn:outgoing>SequenceFlow_0vz7cd9</bpmn:outgoing>
@@ -26,8 +26,8 @@ ddsi.preProcessRequest(execution)
         <camunda:out source="GENDS_SuccessIndicator" target="GENDS_SuccessIndicator" />
         <camunda:out source="WorkflowException" target="WorkflowExcpeton" />
       </bpmn:extensionElements>
-      <bpmn:incoming>SequenceFlow_0ph3iin</bpmn:incoming>
       <bpmn:incoming>SequenceFlow_0uhpfcl</bpmn:incoming>
+      <bpmn:incoming>SequenceFlow_0vg4q7x</bpmn:incoming>
       <bpmn:outgoing>SequenceFlow_0g6bxqw</bpmn:outgoing>
     </bpmn:callActivity>
     <bpmn:exclusiveGateway id="ExclusiveGateway_0c6gz3v" name="SI found in AAI" default="SequenceFlow_0g20hqr">
@@ -98,46 +98,34 @@ ex.processJavaException(execution)]]></bpmn:script>
     </bpmn:sequenceFlow>
     <bpmn:sequenceFlow id="SequenceFlow_0g20hqr" name="no" sourceRef="ExclusiveGateway_0c6gz3v" targetRef="EndEvent_0123yz3" />
     <bpmn:sequenceFlow id="SequenceFlow_0sj8yc8" sourceRef="CallActivity_0x2ulh3" targetRef="ScriptTask_1rtnsh8" />
-    <bpmn:callActivity id="CallActivity_Del_VFC" name="Call Custom Delete VFC" calledElement="CustomVFCDelete">
+    <bpmn:callActivity id="CallActivity_Del_VFC" name="Call Network Service Delete for vEPC" calledElement="DODeleteVFCNetworkServiceInstance">
       <bpmn:extensionElements>
-        <camunda:in source="serviceInstanceId" target="GENGS_serviceInstanceId" />
-        <camunda:in sourceExpression="service-instance" target="GENGS_type" />
-        <camunda:out source="GENGS_FoundIndicator" target="GENGS_FoundIndicator" />
-        <camunda:out source="GENGS_SuccessIndicator" target="GENGS_SuccessIndicator" />
-        <camunda:out source="WorkflowException" target="WorkflowException" />
-        <camunda:out source="GENGS_siResourceLink" target="GENGS_siResourceLink" />
-        <camunda:out source="GENGS_service" target="GENGS_service" />
+        <camunda:in source="globalSubscriberId" target="globalSubscriberId" />
+        <camunda:in source="serviceType" target="serviceType" />
+        <camunda:in source="serviceId" target="serviceId" />
+        <camunda:in source="operationId" target="operationId" />
+        <camunda:in source="resouceTemplateUUID" target="resouceTemplateUUID" />
+        <camunda:in source="resouceInstanceId" target="resouceInstanceId" />
+        <camunda:in source="resourceType" target="resourceType" />
+        <camunda:in source="operationType" target="operationType" />
       </bpmn:extensionElements>
       <bpmn:incoming>SequenceFlow_1wmjau1</bpmn:incoming>
       <bpmn:outgoing>SequenceFlow_0qquvgc</bpmn:outgoing>
     </bpmn:callActivity>
-    <bpmn:sequenceFlow id="SequenceFlow_1av166w" sourceRef="ExclusiveGateway_0veiutm" targetRef="ScriptTask_0vcz9mj" />
-    <bpmn:callActivity id="CallActivity_Del_SDNC_cust" name="Call Custom Delete SDNC" calledElement="CustomSDNCDelete">
-      <bpmn:extensionElements>
-        <camunda:in source="serviceInstanceId" target="GENGS_serviceInstanceId" />
-        <camunda:in sourceExpression="service-instance" target="GENGS_type" />
-        <camunda:out source="GENGS_FoundIndicator" target="GENGS_FoundIndicator" />
-        <camunda:out source="GENGS_SuccessIndicator" target="GENGS_SuccessIndicator" />
-        <camunda:out source="WorkflowException" target="WorkflowException" />
-        <camunda:out source="GENGS_siResourceLink" target="GENGS_siResourceLink" />
-        <camunda:out source="GENGS_service" target="GENGS_service" />
-      </bpmn:extensionElements>
-      <bpmn:incoming>SequenceFlow_1dza4q4</bpmn:incoming>
-      <bpmn:outgoing>SequenceFlow_0rpu756</bpmn:outgoing>
-    </bpmn:callActivity>
+    <bpmn:sequenceFlow id="SequenceFlow_1av166w" sourceRef="ExclusiveGateway_0veiutm" targetRef="Task_0oriv78" />
     <bpmn:sequenceFlow id="SequenceFlow_0qquvgc" sourceRef="CallActivity_Del_VFC" targetRef="ScriptTask_0mdub03" />
-    <bpmn:sequenceFlow id="SequenceFlow_0ph3iin" sourceRef="ScriptTask_1g0tsto" targetRef="CallActivity_06izbke" />
-    <bpmn:scriptTask id="ScriptTask_0vcz9mj" name="PreProcess VFC Delete" scriptFormat="groovy">
-      <bpmn:incoming>SequenceFlow_1av166w</bpmn:incoming>
+    <bpmn:scriptTask id="ScriptTask_0vcz9mj" name="Prepare Resource Delele For vEPC" scriptFormat="groovy">
+      <bpmn:incoming>SequenceFlow_1931m8u</bpmn:incoming>
       <bpmn:outgoing>SequenceFlow_1wmjau1</bpmn:outgoing>
       <bpmn:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
+String resourceName = "vEPC"
 def ddsi = new DoCustomDeleteE2EServiceInstance()
-ddsi.preProcessVFCDelete(execution)]]></bpmn:script>
+ddsi.preResourceDelete(execution, resourceName )]]></bpmn:script>
     </bpmn:scriptTask>
     <bpmn:sequenceFlow id="SequenceFlow_1wmjau1" sourceRef="ScriptTask_0vcz9mj" targetRef="CallActivity_Del_VFC" />
     <bpmn:scriptTask id="ScriptTask_0mdub03" name="Post Process VFC Delete" scriptFormat="groovy">
       <bpmn:incoming>SequenceFlow_0qquvgc</bpmn:incoming>
-      <bpmn:outgoing>SequenceFlow_01o68xa</bpmn:outgoing>
+      <bpmn:outgoing>SequenceFlow_0vg4q7x</bpmn:outgoing>
       <bpmn:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
 
 String response = execution.getVariable("vfcDeleteResponse")
@@ -145,240 +133,388 @@ def ddsi = new DoCustomDeleteE2EServiceInstance()
 ddsi.postProcessVFCDelete(execution, response, "delete")]]></bpmn:script>
     </bpmn:scriptTask>
     <bpmn:scriptTask id="ScriptTask_1g0tsto" name="Post Process SDNC Delete" scriptFormat="groovy">
-      <bpmn:incoming>SequenceFlow_0rpu756</bpmn:incoming>
-      <bpmn:outgoing>SequenceFlow_0ph3iin</bpmn:outgoing>
+      <bpmn:incoming>SequenceFlow_0uc2beq</bpmn:incoming>
+      <bpmn:outgoing>SequenceFlow_1m7tont</bpmn:outgoing>
       <bpmn:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
 
 String response = execution.getVariable("sdncDeleteResponse")
 def ddsi = new DoCustomDeleteE2EServiceInstance()
 ddsi.postProcessSDNCDelete(execution, response, "delete")]]></bpmn:script>
     </bpmn:scriptTask>
-    <bpmn:scriptTask id="ScriptTask_0z30dax" name="PreProcess SDNC Delete" scriptFormat="groovy">
-      <bpmn:incoming>SequenceFlow_01o68xa</bpmn:incoming>
+    <bpmn:scriptTask id="ScriptTask_0z30dax" name="Prepare Resource Delele For Overlay" scriptFormat="groovy">
+      <bpmn:incoming>SequenceFlow_13sc98g</bpmn:incoming>
       <bpmn:outgoing>SequenceFlow_1dza4q4</bpmn:outgoing>
       <bpmn:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
+String resourceName = "overlay"
 def ddsi = new DoCustomDeleteE2EServiceInstance()
-ddsi.preProcessSDNCDelete(execution)]]></bpmn:script>
+ddsi.preResourceDelete(execution, resourceName )]]></bpmn:script>
     </bpmn:scriptTask>
-    <bpmn:sequenceFlow id="SequenceFlow_01o68xa" sourceRef="ScriptTask_0mdub03" targetRef="ScriptTask_0z30dax" />
     <bpmn:sequenceFlow id="SequenceFlow_1dza4q4" sourceRef="ScriptTask_0z30dax" targetRef="CallActivity_Del_SDNC_cust" />
-    <bpmn:sequenceFlow id="SequenceFlow_0rpu756" sourceRef="CallActivity_Del_SDNC_cust" targetRef="ScriptTask_1g0tsto" />
+    <bpmn:sequenceFlow id="SequenceFlow_0rpu756" sourceRef="CallActivity_Del_SDNC_cust" targetRef="Task_14erap6" />
     <bpmn:sequenceFlow id="SequenceFlow_0uhpfcl" name="yes" sourceRef="ExclusiveGateway_0veiutm" targetRef="CallActivity_06izbke">
       <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression"><![CDATA[#{ execution.getVariable("sdncVersion" )   == "1610" }]]></bpmn:conditionExpression>
     </bpmn:sequenceFlow>
+    <bpmn:sequenceFlow id="SequenceFlow_030y6yz" sourceRef="Task_0oriv78" targetRef="Task_0pkgoxn" />
+    <bpmn:scriptTask id="Task_0oriv78" name="Prepare Resource Oper Status">
+      <bpmn:incoming>SequenceFlow_1av166w</bpmn:incoming>
+      <bpmn:outgoing>SequenceFlow_030y6yz</bpmn:outgoing>
+      <bpmn:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
+def ddsi = new DoCustomDeleteE2EServiceInstance()
+ddsi.preInitResourcesOperStatus(execution)]]></bpmn:script>
+    </bpmn:scriptTask>
+    <bpmn:serviceTask id="Task_0pkgoxn" name="Init Resource Oper Status">
+      <bpmn:extensionElements>
+        <camunda:connector>
+          <camunda:inputOutput>
+            <camunda:inputParameter name="url">${URN_mso_openecomp_adapters_db_endpoint}</camunda:inputParameter>
+            <camunda:inputParameter name="headers">
+              <camunda:map>
+                <camunda:entry key="content-type">application/soap+xml</camunda:entry>
+                <camunda:entry key="Authorization">#{BasicAuthHeaderValueDB}</camunda:entry>
+              </camunda:map>
+            </camunda:inputParameter>
+            <camunda:inputParameter name="payload">${CVFMI_initResOperStatusRequest}</camunda:inputParameter>
+            <camunda:inputParameter name="method">POST</camunda:inputParameter>
+            <camunda:outputParameter name="CVFMI_dbResponseCode">${statusCode}</camunda:outputParameter>
+            <camunda:outputParameter name="CVFMI_dbResponse">${response}</camunda:outputParameter>
+          </camunda:inputOutput>
+          <camunda:connectorId>http-connector</camunda:connectorId>
+        </camunda:connector>
+      </bpmn:extensionElements>
+      <bpmn:incoming>SequenceFlow_030y6yz</bpmn:incoming>
+      <bpmn:outgoing>SequenceFlow_13sc98g</bpmn:outgoing>
+    </bpmn:serviceTask>
+    <bpmn:sequenceFlow id="SequenceFlow_1wnkgpx" sourceRef="Task_0z1x3sg" targetRef="Task_0963dho" />
+    <bpmn:sequenceFlow id="SequenceFlow_1931m8u" sourceRef="Task_0963dho" targetRef="ScriptTask_0vcz9mj" />
+    <bpmn:scriptTask id="Task_0z1x3sg" name="Prepare Resource Delele For vIMS">
+      <bpmn:incoming>SequenceFlow_1m7tont</bpmn:incoming>
+      <bpmn:outgoing>SequenceFlow_1wnkgpx</bpmn:outgoing>
+      <bpmn:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
+String resourceName = "vIMS"
+def ddsi = new DoCustomDeleteE2EServiceInstance()
+ddsi.preResourceDelete(execution, resourceName )]]></bpmn:script>
+    </bpmn:scriptTask>
+    <bpmn:sequenceFlow id="SequenceFlow_1m7tont" sourceRef="ScriptTask_1g0tsto" targetRef="Task_0z1x3sg" />
+    <bpmn:sequenceFlow id="SequenceFlow_13sc98g" sourceRef="Task_0pkgoxn" targetRef="ScriptTask_0z30dax" />
+    <bpmn:callActivity id="Task_0963dho" name="Call Network Service Delete for vIMS" calledElement="DODeleteVFCNetworkServiceInstance">
+      <bpmn:extensionElements>
+        <camunda:in source="globalSubscriberId" target="globalSubscriberId" />
+        <camunda:in source="serviceType" target="serviceType" />
+        <camunda:in source="serviceId" target="serviceId" />
+        <camunda:in source="operationId" target="operationId" />
+        <camunda:in source="resouceTemplateUUID" target="resouceTemplateUUID" />
+        <camunda:in source="resouceInstanceId" target="resouceInstanceId" />
+        <camunda:in source="resourceType" target="resourceType" />
+        <camunda:in source="operationType" target="operationType" />
+      </bpmn:extensionElements>
+      <bpmn:incoming>SequenceFlow_1wnkgpx</bpmn:incoming>
+      <bpmn:outgoing>SequenceFlow_1931m8u</bpmn:outgoing>
+    </bpmn:callActivity>
+    <bpmn:sequenceFlow id="SequenceFlow_0vg4q7x" sourceRef="ScriptTask_0mdub03" targetRef="CallActivity_06izbke" />
+    <bpmn:serviceTask id="CallActivity_Del_SDNC_cust" name="Call Custom Delete SDNC Overlay" camunda:class="org.openecomp.mso.bpmn.infrastructure.workflow.serviceTask.SdncNetworkTopologyOperationTask">
+      <bpmn:incoming>SequenceFlow_1dza4q4</bpmn:incoming>
+      <bpmn:outgoing>SequenceFlow_0rpu756</bpmn:outgoing>
+    </bpmn:serviceTask>
+    <bpmn:sequenceFlow id="SequenceFlow_0d9lmlv" sourceRef="Task_14erap6" targetRef="Task_1j1u666" />
+    <bpmn:sequenceFlow id="SequenceFlow_1g4djgh" sourceRef="Task_1j1u666" targetRef="Task_0edkv0m" />
+    <bpmn:sequenceFlow id="SequenceFlow_0uc2beq" sourceRef="Task_0edkv0m" targetRef="ScriptTask_1g0tsto" />
+    <bpmn:scriptTask id="Task_14erap6" name="Prepare Resource Delele For Underlay">
+      <bpmn:incoming>SequenceFlow_0rpu756</bpmn:incoming>
+      <bpmn:outgoing>SequenceFlow_0d9lmlv</bpmn:outgoing>
+      <bpmn:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
+String resourceName = "underlay"
+def ddsi = new DoCustomDeleteE2EServiceInstance()
+ddsi.preResourceDelete(execution, resourceName )]]></bpmn:script>
+    </bpmn:scriptTask>
+    <bpmn:serviceTask id="Task_1j1u666" name="Call Custom Delete SDNC Underlay" camunda:class="org.openecomp.mso.bpmn.infrastructure.workflow.serviceTask.SdncNetworkTopologyOperationTask">
+      <bpmn:incoming>SequenceFlow_0d9lmlv</bpmn:incoming>
+      <bpmn:outgoing>SequenceFlow_1g4djgh</bpmn:outgoing>
+    </bpmn:serviceTask>
+    <bpmn:serviceTask id="Task_0edkv0m" name="Call Delete SDNC Service Topology" camunda:class="org.openecomp.mso.bpmn.infrastructure.workflow.serviceTask.SdncServiceTopologyOperationTask">
+      <bpmn:incoming>SequenceFlow_1g4djgh</bpmn:incoming>
+      <bpmn:outgoing>SequenceFlow_0uc2beq</bpmn:outgoing>
+    </bpmn:serviceTask>
   </bpmn:process>
   <bpmndi:BPMNDiagram id="BPMNDiagram_1">
-    <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="Process_1">
+    <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="DoCustomDeleteE2EServiceInstance">
       <bpmndi:BPMNShape id="StartEvent_0212h2r_di" bpmnElement="StartEvent_0212h2r">
-        <dc:Bounds x="-224" y="-35" width="36" height="36" />
+        <dc:Bounds x="-612" y="-35" width="36" height="36" />
         <bpmndi:BPMNLabel>
-          <dc:Bounds x="-230" y="6" width="50" height="12" />
+          <dc:Bounds x="-618" y="6" width="50" height="12" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNShape>
       <bpmndi:BPMNShape id="ScriptTask_06phzgv_di" bpmnElement="ScriptTask_06phzgv">
-        <dc:Bounds x="-155" y="-57" width="100" height="80" />
+        <dc:Bounds x="-519" y="-57" width="100" height="80" />
       </bpmndi:BPMNShape>
       <bpmndi:BPMNShape id="EndEvent_1uqzt26_di" bpmnElement="EndEvent_1uqzt26">
-        <dc:Bounds x="1660" y="107" width="36" height="36" />
+        <dc:Bounds x="1220" y="1109" width="36" height="36" />
         <bpmndi:BPMNLabel>
-          <dc:Bounds x="1588" y="148" width="90" height="12" />
+          <dc:Bounds x="1148" y="1150" width="90" height="12" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNShape>
       <bpmndi:BPMNShape id="CallActivity_06izbke_di" bpmnElement="CallActivity_06izbke">
-        <dc:Bounds x="1470" y="-57" width="100" height="80" />
+        <dc:Bounds x="1188" y="779" width="100" height="80" />
       </bpmndi:BPMNShape>
       <bpmndi:BPMNShape id="ExclusiveGateway_0c6gz3v_di" bpmnElement="ExclusiveGateway_0c6gz3v" isMarkerVisible="true">
-        <dc:Bounds x="260" y="-42" width="50" height="50" />
+        <dc:Bounds x="-89" y="-42" width="50" height="50" />
         <bpmndi:BPMNLabel>
-          <dc:Bounds x="250" y="-63" width="71" height="12" />
+          <dc:Bounds x="-99" y="-63" width="71" height="12" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNShape>
       <bpmndi:BPMNShape id="EndEvent_0123yz3_di" bpmnElement="EndEvent_0123yz3">
-        <dc:Bounds x="267" y="107" width="36" height="36" />
+        <dc:Bounds x="-82" y="107" width="36" height="36" />
         <bpmndi:BPMNLabel>
-          <dc:Bounds x="240" y="148" width="0" height="12" />
+          <dc:Bounds x="-154" y="148" width="90" height="12" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNShape>
       <bpmndi:BPMNShape id="ExclusiveGateway_0veiutm_di" bpmnElement="ExclusiveGateway_0veiutm" isMarkerVisible="true">
-        <dc:Bounds x="346" y="-42" width="50" height="50" />
+        <dc:Bounds x="-8" y="-42" width="50" height="50" />
         <bpmndi:BPMNLabel>
-          <dc:Bounds x="339" y="12" width="72" height="24" />
+          <dc:Bounds x="-15" y="12" width="72" height="24" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNShape>
       <bpmndi:BPMNShape id="CallActivity_0x2ulh3_di" bpmnElement="CallActivity_0x2ulh3">
-        <dc:Bounds x="-11" y="-57" width="100" height="80" />
+        <dc:Bounds x="-382" y="-57" width="100" height="80" />
       </bpmndi:BPMNShape>
       <bpmndi:BPMNShape id="ScriptTask_1rtnsh8_di" bpmnElement="ScriptTask_1rtnsh8">
-        <dc:Bounds x="130" y="-57" width="100" height="80" />
+        <dc:Bounds x="-231" y="-57" width="100" height="80" />
       </bpmndi:BPMNShape>
       <bpmndi:BPMNShape id="ScriptTask_01erufg_di" bpmnElement="ScriptTask_01erufg">
-        <dc:Bounds x="1628" y="-57" width="100" height="80" />
+        <dc:Bounds x="1188" y="915" width="100" height="80" />
       </bpmndi:BPMNShape>
       <bpmndi:BPMNShape id="SubProcess_1u8zt9i_di" bpmnElement="SubProcess_1u8zt9i" isExpanded="true">
-        <dc:Bounds x="351" y="210" width="467" height="193" />
+        <dc:Bounds x="445" y="320" width="467" height="193" />
       </bpmndi:BPMNShape>
       <bpmndi:BPMNEdge id="SequenceFlow_0vz7cd9_di" bpmnElement="SequenceFlow_0vz7cd9">
-        <di:waypoint xsi:type="dc:Point" x="-188" y="-17" />
-        <di:waypoint xsi:type="dc:Point" x="-155" y="-17" />
+        <di:waypoint xsi:type="dc:Point" x="-576" y="-17" />
+        <di:waypoint xsi:type="dc:Point" x="-519" y="-17" />
         <bpmndi:BPMNLabel>
-          <dc:Bounds x="-215.5" y="-32" width="0" height="12" />
+          <dc:Bounds x="-592.5" y="-38" width="90" height="12" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNEdge id="SequenceFlow_11e6bfy_di" bpmnElement="SequenceFlow_11e6bfy">
-        <di:waypoint xsi:type="dc:Point" x="-55" y="-17" />
-        <di:waypoint xsi:type="dc:Point" x="-11" y="-17" />
+        <di:waypoint xsi:type="dc:Point" x="-419" y="-17" />
+        <di:waypoint xsi:type="dc:Point" x="-382" y="-17" />
         <bpmndi:BPMNLabel>
-          <dc:Bounds x="-78" y="-32" width="0" height="12" />
+          <dc:Bounds x="-445.5" y="-38" width="90" height="12" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNEdge id="SequenceFlow_0e7inkl_di" bpmnElement="SequenceFlow_0e7inkl">
-        <di:waypoint xsi:type="dc:Point" x="1678" y="23" />
-        <di:waypoint xsi:type="dc:Point" x="1678" y="61" />
-        <di:waypoint xsi:type="dc:Point" x="1678" y="107" />
+        <di:waypoint xsi:type="dc:Point" x="1238" y="995" />
+        <di:waypoint xsi:type="dc:Point" x="1238" y="1109" />
         <bpmndi:BPMNLabel>
-          <dc:Bounds x="1648" y="36" width="90" height="12" />
+          <dc:Bounds x="1208" y="1046" width="90" height="12" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNEdge id="SequenceFlow_0g6bxqw_di" bpmnElement="SequenceFlow_0g6bxqw">
-        <di:waypoint xsi:type="dc:Point" x="1570" y="-17" />
-        <di:waypoint xsi:type="dc:Point" x="1628" y="-17" />
+        <di:waypoint xsi:type="dc:Point" x="1238" y="859" />
+        <di:waypoint xsi:type="dc:Point" x="1238" y="915" />
         <bpmndi:BPMNLabel>
-          <dc:Bounds x="1554" y="-38" width="90" height="12" />
+          <dc:Bounds x="1208" y="881" width="90" height="12" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNEdge id="SequenceFlow_0vi0sv6_di" bpmnElement="SequenceFlow_0vi0sv6">
-        <di:waypoint xsi:type="dc:Point" x="230" y="-17" />
-        <di:waypoint xsi:type="dc:Point" x="260" y="-17" />
+        <di:waypoint xsi:type="dc:Point" x="-131" y="-17" />
+        <di:waypoint xsi:type="dc:Point" x="-89" y="-17" />
         <bpmndi:BPMNLabel>
-          <dc:Bounds x="200" y="-32" width="0" height="12" />
+          <dc:Bounds x="-155" y="-38" width="90" height="12" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNEdge id="SequenceFlow_1pcmc9e_di" bpmnElement="SequenceFlow_1pcmc9e">
-        <di:waypoint xsi:type="dc:Point" x="310" y="-17" />
-        <di:waypoint xsi:type="dc:Point" x="346" y="-17" />
+        <di:waypoint xsi:type="dc:Point" x="-39" y="-17" />
+        <di:waypoint xsi:type="dc:Point" x="-8" y="-17" />
         <bpmndi:BPMNLabel>
-          <dc:Bounds x="332" y="-15" width="19" height="12" />
+          <dc:Bounds x="-21.375" y="-15" width="19" height="12" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNEdge id="SequenceFlow_0g20hqr_di" bpmnElement="SequenceFlow_0g20hqr">
-        <di:waypoint xsi:type="dc:Point" x="285" y="8" />
-        <di:waypoint xsi:type="dc:Point" x="285" y="107" />
+        <di:waypoint xsi:type="dc:Point" x="-64" y="8" />
+        <di:waypoint xsi:type="dc:Point" x="-64" y="107" />
         <bpmndi:BPMNLabel>
-          <dc:Bounds x="266" y="24" width="12" height="12" />
+          <dc:Bounds x="-83" y="28" width="12" height="12" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNEdge id="SequenceFlow_0sj8yc8_di" bpmnElement="SequenceFlow_0sj8yc8">
-        <di:waypoint xsi:type="dc:Point" x="89" y="-17" />
-        <di:waypoint xsi:type="dc:Point" x="130" y="-17" />
+        <di:waypoint xsi:type="dc:Point" x="-282" y="-17" />
+        <di:waypoint xsi:type="dc:Point" x="-231" y="-17" />
         <bpmndi:BPMNLabel>
-          <dc:Bounds x="65.5" y="-32" width="0" height="12" />
+          <dc:Bounds x="-301.5" y="-38" width="90" height="12" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNShape id="StartEvent_0sf5lpt_di" bpmnElement="StartEvent_0sf5lpt">
-        <dc:Bounds x="419" y="277" width="36" height="36" />
+        <dc:Bounds x="513" y="387" width="36" height="36" />
         <bpmndi:BPMNLabel>
-          <dc:Bounds x="347" y="318" width="90" height="12" />
+          <dc:Bounds x="441" y="428" width="90" height="12" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNShape>
       <bpmndi:BPMNShape id="EndEvent_06utmg4_di" bpmnElement="EndEvent_06utmg4">
-        <dc:Bounds x="712" y="277" width="36" height="36" />
+        <dc:Bounds x="806" y="387" width="36" height="36" />
         <bpmndi:BPMNLabel>
-          <dc:Bounds x="640" y="318" width="90" height="12" />
+          <dc:Bounds x="734" y="428" width="90" height="12" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNShape>
       <bpmndi:BPMNShape id="ScriptTask_0nha3pr_di" bpmnElement="ScriptTask_0nha3pr">
-        <dc:Bounds x="523" y="255" width="100" height="80" />
+        <dc:Bounds x="617" y="365" width="100" height="80" />
       </bpmndi:BPMNShape>
       <bpmndi:BPMNEdge id="SequenceFlow_1921mo3_di" bpmnElement="SequenceFlow_1921mo3">
-        <di:waypoint xsi:type="dc:Point" x="455" y="295" />
-        <di:waypoint xsi:type="dc:Point" x="523" y="295" />
+        <di:waypoint xsi:type="dc:Point" x="549" y="405" />
+        <di:waypoint xsi:type="dc:Point" x="617" y="405" />
         <bpmndi:BPMNLabel>
-          <dc:Bounds x="399" y="280" width="90" height="12" />
+          <dc:Bounds x="493" y="390" width="90" height="12" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNEdge id="SequenceFlow_18vlzfo_di" bpmnElement="SequenceFlow_18vlzfo">
-        <di:waypoint xsi:type="dc:Point" x="623" y="295" />
-        <di:waypoint xsi:type="dc:Point" x="712" y="295" />
+        <di:waypoint xsi:type="dc:Point" x="717" y="405" />
+        <di:waypoint xsi:type="dc:Point" x="806" y="405" />
         <bpmndi:BPMNLabel>
-          <dc:Bounds x="579" y="280" width="90" height="12" />
+          <dc:Bounds x="673" y="390" width="90" height="12" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNShape id="CallActivity_1x56smn_di" bpmnElement="CallActivity_Del_VFC">
-        <dc:Bounds x="619" y="-57" width="100" height="80" />
+        <dc:Bounds x="1188" y="483" width="100" height="80" />
       </bpmndi:BPMNShape>
       <bpmndi:BPMNEdge id="SequenceFlow_1av166w_di" bpmnElement="SequenceFlow_1av166w">
-        <di:waypoint xsi:type="dc:Point" x="396" y="-17" />
-        <di:waypoint xsi:type="dc:Point" x="459" y="-17" />
+        <di:waypoint xsi:type="dc:Point" x="42" y="-17" />
+        <di:waypoint xsi:type="dc:Point" x="87" y="-17" />
         <bpmndi:BPMNLabel>
-          <dc:Bounds x="382.5" y="-38" width="90" height="12" />
+          <dc:Bounds x="19.5" y="-38" width="90" height="12" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
-      <bpmndi:BPMNShape id="CallActivity_1lb0hcm_di" bpmnElement="CallActivity_Del_SDNC_cust">
-        <dc:Bounds x="1138" y="-57" width="100" height="80" />
-      </bpmndi:BPMNShape>
       <bpmndi:BPMNEdge id="SequenceFlow_0qquvgc_di" bpmnElement="SequenceFlow_0qquvgc">
-        <di:waypoint xsi:type="dc:Point" x="719" y="-17" />
-        <di:waypoint xsi:type="dc:Point" x="787" y="-17" />
+        <di:waypoint xsi:type="dc:Point" x="1238" y="563" />
+        <di:waypoint xsi:type="dc:Point" x="1238" y="642" />
         <bpmndi:BPMNLabel>
-          <dc:Bounds x="708" y="-38" width="90" height="12" />
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNEdge>
-      <bpmndi:BPMNEdge id="SequenceFlow_0ph3iin_di" bpmnElement="SequenceFlow_0ph3iin">
-        <di:waypoint xsi:type="dc:Point" x="1400" y="-17" />
-        <di:waypoint xsi:type="dc:Point" x="1470" y="-17" />
-        <bpmndi:BPMNLabel>
-          <dc:Bounds x="1390" y="-38" width="90" height="12" />
+          <dc:Bounds x="1208" y="596.5" width="90" height="12" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNShape id="ScriptTask_0vcz9mj_di" bpmnElement="ScriptTask_0vcz9mj">
-        <dc:Bounds x="459" y="-57" width="100" height="80" />
+        <dc:Bounds x="1188" y="338" width="100" height="80" />
       </bpmndi:BPMNShape>
       <bpmndi:BPMNEdge id="SequenceFlow_1wmjau1_di" bpmnElement="SequenceFlow_1wmjau1">
-        <di:waypoint xsi:type="dc:Point" x="559" y="-17" />
-        <di:waypoint xsi:type="dc:Point" x="619" y="-17" />
+        <di:waypoint xsi:type="dc:Point" x="1238" y="418" />
+        <di:waypoint xsi:type="dc:Point" x="1238" y="483" />
         <bpmndi:BPMNLabel>
-          <dc:Bounds x="589" y="-38" width="0" height="12" />
+          <dc:Bounds x="1208" y="444.5" width="90" height="12" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNShape id="ScriptTask_0mdub03_di" bpmnElement="ScriptTask_0mdub03">
-        <dc:Bounds x="787" y="-57" width="100" height="80" />
+        <dc:Bounds x="1188" y="642" width="100" height="80" />
       </bpmndi:BPMNShape>
       <bpmndi:BPMNShape id="ScriptTask_1g0tsto_di" bpmnElement="ScriptTask_1g0tsto">
-        <dc:Bounds x="1300" y="-57" width="100" height="80" />
+        <dc:Bounds x="1188" y="-57" width="100" height="80" />
       </bpmndi:BPMNShape>
       <bpmndi:BPMNShape id="ScriptTask_0z30dax_di" bpmnElement="ScriptTask_0z30dax">
-        <dc:Bounds x="962" y="-57" width="100" height="80" />
+        <dc:Bounds x="377" y="-57" width="100" height="80" />
       </bpmndi:BPMNShape>
-      <bpmndi:BPMNEdge id="SequenceFlow_01o68xa_di" bpmnElement="SequenceFlow_01o68xa">
-        <di:waypoint xsi:type="dc:Point" x="887" y="-17" />
-        <di:waypoint xsi:type="dc:Point" x="962" y="-17" />
-        <bpmndi:BPMNLabel>
-          <dc:Bounds x="924.5" y="-38" width="0" height="12" />
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNEdge>
       <bpmndi:BPMNEdge id="SequenceFlow_1dza4q4_di" bpmnElement="SequenceFlow_1dza4q4">
-        <di:waypoint xsi:type="dc:Point" x="1062" y="-17" />
-        <di:waypoint xsi:type="dc:Point" x="1138" y="-17" />
+        <di:waypoint xsi:type="dc:Point" x="477" y="-17" />
+        <di:waypoint xsi:type="dc:Point" x="523" y="-17" />
         <bpmndi:BPMNLabel>
-          <dc:Bounds x="1100" y="-38" width="0" height="12" />
+          <dc:Bounds x="455" y="-38" width="90" height="12" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNEdge id="SequenceFlow_0rpu756_di" bpmnElement="SequenceFlow_0rpu756">
-        <di:waypoint xsi:type="dc:Point" x="1238" y="-17" />
-        <di:waypoint xsi:type="dc:Point" x="1300" y="-17" />
+        <di:waypoint xsi:type="dc:Point" x="623" y="-17" />
+        <di:waypoint xsi:type="dc:Point" x="711" y="-17" />
         <bpmndi:BPMNLabel>
-          <dc:Bounds x="1269" y="-38" width="0" height="12" />
+          <dc:Bounds x="622" y="-38" width="90" height="12" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNEdge id="SequenceFlow_0uhpfcl_di" bpmnElement="SequenceFlow_0uhpfcl">
-        <di:waypoint xsi:type="dc:Point" x="371" y="-42" />
-        <di:waypoint xsi:type="dc:Point" x="371" y="-134" />
-        <di:waypoint xsi:type="dc:Point" x="1520" y="-134" />
-        <di:waypoint xsi:type="dc:Point" x="1520" y="-57" />
+        <di:waypoint xsi:type="dc:Point" x="17" y="8" />
+        <di:waypoint xsi:type="dc:Point" x="17" y="819" />
+        <di:waypoint xsi:type="dc:Point" x="1188" y="819" />
+        <bpmndi:BPMNLabel>
+          <dc:Bounds x="540.0043516100959" y="793" width="19" height="12" />
+        </bpmndi:BPMNLabel>
+      </bpmndi:BPMNEdge>
+      <bpmndi:BPMNEdge id="SequenceFlow_030y6yz_di" bpmnElement="SequenceFlow_030y6yz">
+        <di:waypoint xsi:type="dc:Point" x="187" y="-17" />
+        <di:waypoint xsi:type="dc:Point" x="212" y="-17" />
+        <bpmndi:BPMNLabel>
+          <dc:Bounds x="199.5" y="-38" width="0" height="12" />
+        </bpmndi:BPMNLabel>
+      </bpmndi:BPMNEdge>
+      <bpmndi:BPMNShape id="ScriptTask_19o0tpz_di" bpmnElement="Task_0oriv78">
+        <dc:Bounds x="87" y="-57" width="100" height="80" />
+      </bpmndi:BPMNShape>
+      <bpmndi:BPMNShape id="ServiceTask_07erhm6_di" bpmnElement="Task_0pkgoxn">
+        <dc:Bounds x="212" y="-57" width="100" height="80" />
+      </bpmndi:BPMNShape>
+      <bpmndi:BPMNEdge id="SequenceFlow_1wnkgpx_di" bpmnElement="SequenceFlow_1wnkgpx">
+        <di:waypoint xsi:type="dc:Point" x="1237" y="134" />
+        <di:waypoint xsi:type="dc:Point" x="1238" y="192" />
+        <bpmndi:BPMNLabel>
+          <dc:Bounds x="1237.5" y="142" width="0" height="12" />
+        </bpmndi:BPMNLabel>
+      </bpmndi:BPMNEdge>
+      <bpmndi:BPMNEdge id="SequenceFlow_1931m8u_di" bpmnElement="SequenceFlow_1931m8u">
+        <di:waypoint xsi:type="dc:Point" x="1237" y="272" />
+        <di:waypoint xsi:type="dc:Point" x="1238" y="338" />
+        <bpmndi:BPMNLabel>
+          <dc:Bounds x="1237.5" y="284" width="0" height="12" />
+        </bpmndi:BPMNLabel>
+      </bpmndi:BPMNEdge>
+      <bpmndi:BPMNShape id="ScriptTask_00301ai_di" bpmnElement="Task_0z1x3sg">
+        <dc:Bounds x="1188" y="54" width="100" height="80" />
+      </bpmndi:BPMNShape>
+      <bpmndi:BPMNEdge id="SequenceFlow_1m7tont_di" bpmnElement="SequenceFlow_1m7tont">
+        <di:waypoint xsi:type="dc:Point" x="1238" y="23" />
+        <di:waypoint xsi:type="dc:Point" x="1238" y="54" />
         <bpmndi:BPMNLabel>
-          <dc:Bounds x="884.6283985846136" y="-160" width="18" height="12" />
+          <dc:Bounds x="1253" y="32.5" width="0" height="12" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
+      <bpmndi:BPMNEdge id="SequenceFlow_13sc98g_di" bpmnElement="SequenceFlow_13sc98g">
+        <di:waypoint xsi:type="dc:Point" x="312" y="-17" />
+        <di:waypoint xsi:type="dc:Point" x="377" y="-17" />
+        <bpmndi:BPMNLabel>
+          <dc:Bounds x="344.5" y="-38" width="0" height="12" />
+        </bpmndi:BPMNLabel>
+      </bpmndi:BPMNEdge>
+      <bpmndi:BPMNShape id="CallActivity_1mwacgl_di" bpmnElement="Task_0963dho">
+        <dc:Bounds x="1188" y="192" width="100" height="80" />
+      </bpmndi:BPMNShape>
+      <bpmndi:BPMNEdge id="SequenceFlow_0vg4q7x_di" bpmnElement="SequenceFlow_0vg4q7x">
+        <di:waypoint xsi:type="dc:Point" x="1238" y="722" />
+        <di:waypoint xsi:type="dc:Point" x="1238" y="779" />
+        <bpmndi:BPMNLabel>
+          <dc:Bounds x="1253" y="744.5" width="0" height="12" />
+        </bpmndi:BPMNLabel>
+      </bpmndi:BPMNEdge>
+      <bpmndi:BPMNShape id="ServiceTask_0v9q75y_di" bpmnElement="CallActivity_Del_SDNC_cust">
+        <dc:Bounds x="523" y="-57" width="100" height="80" />
+      </bpmndi:BPMNShape>
+      <bpmndi:BPMNEdge id="SequenceFlow_0d9lmlv_di" bpmnElement="SequenceFlow_0d9lmlv">
+        <di:waypoint xsi:type="dc:Point" x="811" y="-17" />
+        <di:waypoint xsi:type="dc:Point" x="898" y="-17" />
+        <bpmndi:BPMNLabel>
+          <dc:Bounds x="854.5" y="-38" width="0" height="12" />
+        </bpmndi:BPMNLabel>
+      </bpmndi:BPMNEdge>
+      <bpmndi:BPMNEdge id="SequenceFlow_1g4djgh_di" bpmnElement="SequenceFlow_1g4djgh">
+        <di:waypoint xsi:type="dc:Point" x="998" y="-17" />
+        <di:waypoint xsi:type="dc:Point" x="1052" y="-17" />
+        <bpmndi:BPMNLabel>
+          <dc:Bounds x="1025" y="-38" width="0" height="12" />
+        </bpmndi:BPMNLabel>
+      </bpmndi:BPMNEdge>
+      <bpmndi:BPMNEdge id="SequenceFlow_0uc2beq_di" bpmnElement="SequenceFlow_0uc2beq">
+        <di:waypoint xsi:type="dc:Point" x="1152" y="-17" />
+        <di:waypoint xsi:type="dc:Point" x="1188" y="-17" />
+        <bpmndi:BPMNLabel>
+          <dc:Bounds x="1170" y="-38" width="0" height="12" />
+        </bpmndi:BPMNLabel>
+      </bpmndi:BPMNEdge>
+      <bpmndi:BPMNShape id="ScriptTask_1e5z0wu_di" bpmnElement="Task_14erap6">
+        <dc:Bounds x="711" y="-57" width="100" height="80" />
+      </bpmndi:BPMNShape>
+      <bpmndi:BPMNShape id="ServiceTask_0f0965f_di" bpmnElement="Task_1j1u666">
+        <dc:Bounds x="898" y="-57" width="100" height="80" />
+      </bpmndi:BPMNShape>
+      <bpmndi:BPMNShape id="ServiceTask_0p4b7e1_di" bpmnElement="Task_0edkv0m">
+        <dc:Bounds x="1052" y="-57" width="100" height="80" />
+      </bpmndi:BPMNShape>
     </bpmndi:BPMNPlane>
   </bpmndi:BPMNDiagram>
 </bpmn:definitions>