Add generic workflow for delete NS

Add generic workflow for delete NS.

Change-Id: I2bc1fe01aec3066e7ec6d8627c8bdcb79ce262fc
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
new file mode 100644
index 0000000..be099eb
--- /dev/null
+++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DeleteVFCNSResource.groovy
@@ -0,0 +1,47 @@
+
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP - SO
+ * ================================================================================
+ * Copyright (C) 2018 Huawei Technologies Co., Ltd. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+package org.openecomp.mso.bpmn.infrastructure.scripts
+
+import org.openecomp.mso.bpmn.common.scripts.AbstractServiceTaskProcessor
+import org.camunda.bpm.engine.delegate.DelegateExecution
+import org.openecomp.mso.bpmn.core.json.JsonUtils
+import org.openecomp.mso.bpmn.common.scripts.ExceptionUtil
+
+
+public class DeleteVFCNSResource extends AbstractServiceTaskProcessor {
+
+    String Prefix = "DCUSE_"
+    ExceptionUtil exceptionUtil = new ExceptionUtil()
+    JsonUtils jsonUtil = new JsonUtils()
+
+    public void preProcessRequest (DelegateExecution execution) {
+        def isDebugEnabled = execution.getVariable("isDebugLogEnabled")
+        utils.log("INFO"," ***** start preProcessRequest *****",  isDebugEnabled)
+
+        utils.log("INFO"," ***** end preProcessRequest *****",  isDebugEnabled)
+    }
+
+    public void postProcessRequest (DelegateExecution execution) {
+        utils.log("INFO"," ***** start postProcessRequest *****",  isDebugEnabled)
+
+        utils.log("INFO"," ***** end postProcessRequest *****",  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
new file mode 100644
index 0000000..514abb0
--- /dev/null
+++ b/bpmn/MSOInfrastructureBPMN/src/main/resources/process/DeleteVFCNSResource.bpmn
@@ -0,0 +1,146 @@
+<?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.11.3">
+  <bpmn:process id="DeleteVFCNSResource" name="DeleteVFCNSResource" isExecutable="true">
+    <bpmn:startEvent id="StartEvent_1" name="Start Custom Delete E2E NS">
+      <bpmn:outgoing>SequenceFlow_0x2e9we</bpmn:outgoing>
+    </bpmn:startEvent>
+    <bpmn:sequenceFlow id="SequenceFlow_0x2e9we" sourceRef="StartEvent_1" targetRef="Task_0yl3rau" />
+    <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:endEvent>
+    <bpmn:sequenceFlow id="SequenceFlow_152xb4z" sourceRef="Task_1e27uaw" targetRef="EndEvent_07ew0rf" />
+    <bpmn:scriptTask id="Task_0yl3rau" name="DoCustomDeleteE2ENS prepare" scriptFormat="groovy">
+      <bpmn:incoming>SequenceFlow_0x2e9we</bpmn:incoming>
+      <bpmn:outgoing>SequenceFlow_00vpfm3</bpmn:outgoing>
+      <bpmn:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
+def ddsi = new DeleteVFCNSResource()
+ddsi.preProcessRequest(execution)]]></bpmn:script>
+    </bpmn:scriptTask>
+    <bpmn:scriptTask id="Task_1e27uaw" name="Post delet NS resource" scriptFormat="groovy">
+      <bpmn:incoming>SequenceFlow_1s4cyms</bpmn:incoming>
+      <bpmn:outgoing>SequenceFlow_152xb4z</bpmn:outgoing>
+      <bpmn:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
+def ddsi = new DeleteVFCNSResource()
+ddsi.postProcessRequest(execution)]]></bpmn:script>
+    </bpmn:scriptTask>
+    <bpmn:callActivity id="Task_14gmbq4" name="Call Delete NS Instance" calledElement="DoDeleteVFCNetworkServiceInstance">
+      <bpmn:extensionElements>
+        <camunda:in source="globalSubscriberId" target="globalSubscriberId" />
+        <camunda:in source="serviceType" target="serviceType" />
+        <camunda:in source="serviceInstanceId" target="serviceId" />
+        <camunda:in source="operationId" target="operationId" />
+        <camunda:in source="resourceTemplateId" target="resourceTemplateId" />
+        <camunda:in source="resourceInstanceId" target="resourceInstanceId" />
+        <camunda:in source="resourceType" target="resourceType" />
+        <camunda:in source="operationType" target="operationType" />
+      </bpmn:extensionElements>
+      <bpmn:incoming>SequenceFlow_00vpfm3</bpmn:incoming>
+      <bpmn:outgoing>SequenceFlow_1s4cyms</bpmn:outgoing>
+    </bpmn:callActivity>
+    <bpmn:subProcess id="SubProcess_11qmm22" triggeredByEvent="true">
+      <bpmn:startEvent id="StartEvent_0zwedl6">
+        <bpmn:outgoing>SequenceFlow_0yro7o2</bpmn:outgoing>
+        <bpmn:errorEventDefinition />
+      </bpmn:startEvent>
+      <bpmn:endEvent id="EndEvent_10tfowz">
+        <bpmn:incoming>SequenceFlow_0p0ayci</bpmn:incoming>
+      </bpmn:endEvent>
+      <bpmn:scriptTask id="ScriptTask_0tdtqwh" name="Log / Print Unexpected Error">
+        <bpmn:incoming>SequenceFlow_0yro7o2</bpmn:incoming>
+        <bpmn:outgoing>SequenceFlow_0p0ayci</bpmn:outgoing>
+        <bpmn:script><![CDATA[import org.openecomp.mso.bpmn.common.scripts.*
+ExceptionUtil ex = new ExceptionUtil()
+ex.processJavaException(execution)]]></bpmn:script>
+      </bpmn:scriptTask>
+      <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:process>
+  <bpmndi:BPMNDiagram id="BPMNDiagram_1">
+    <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="DeleteVFCNSResource">
+      <bpmndi:BPMNShape id="_BPMNShape_StartEvent_2" bpmnElement="StartEvent_1">
+        <dc:Bounds x="330" y="336" width="36" height="36" />
+        <bpmndi:BPMNLabel>
+          <dc:Bounds x="312" y="372" width="76" height="24" />
+        </bpmndi:BPMNLabel>
+      </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" />
+        <bpmndi:BPMNLabel>
+          <dc:Bounds x="448" y="333" width="0" 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" />
+        <bpmndi:BPMNLabel>
+          <dc:Bounds x="702" y="333" width="0" 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" />
+        <bpmndi:BPMNLabel>
+          <dc:Bounds x="946" y="333" width="0" height="12" />
+        </bpmndi:BPMNLabel>
+      </bpmndi:BPMNEdge>
+      <bpmndi:BPMNShape id="EndEvent_07ew0rf_di" bpmnElement="EndEvent_07ew0rf">
+        <dc:Bounds x="1313" y="336" width="36" height="36" />
+        <bpmndi:BPMNLabel>
+          <dc:Bounds x="1293" y="376" width="76" height="24" />
+        </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" />
+        <bpmndi:BPMNLabel>
+          <dc:Bounds x="1215.5" y="333" width="0" 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" />
+      </bpmndi:BPMNShape>
+      <bpmndi:BPMNShape id="ScriptTask_092ktxo_di" bpmnElement="Task_1e27uaw">
+        <dc:Bounds x="1018" 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" />
+      </bpmndi:BPMNShape>
+      <bpmndi:BPMNShape id="SubProcess_11qmm22_di" bpmnElement="SubProcess_11qmm22" isExpanded="true">
+        <dc:Bounds x="636" y="539" width="350" height="200" />
+      </bpmndi:BPMNShape>
+      <bpmndi:BPMNShape id="StartEvent_0zwedl6_di" bpmnElement="StartEvent_0zwedl6">
+        <dc:Bounds x="667" y="606" width="36" height="36" />
+        <bpmndi:BPMNLabel>
+          <dc:Bounds x="639" y="644" width="0" height="12" />
+        </bpmndi:BPMNLabel>
+      </bpmndi:BPMNShape>
+      <bpmndi:BPMNShape id="EndEvent_10tfowz_di" bpmnElement="EndEvent_10tfowz">
+        <dc:Bounds x="931" y="606" width="36" height="36" />
+        <bpmndi:BPMNLabel>
+          <dc:Bounds x="904" y="645" width="0" height="12" />
+        </bpmndi:BPMNLabel>
+      </bpmndi:BPMNShape>
+      <bpmndi:BPMNShape id="ScriptTask_0tdtqwh_di" bpmnElement="ScriptTask_0tdtqwh">
+        <dc:Bounds x="763" y="584" width="100" height="80" />
+      </bpmndi:BPMNShape>
+      <bpmndi:BPMNEdge id="SequenceFlow_0yro7o2_di" bpmnElement="SequenceFlow_0yro7o2">
+        <di:waypoint xsi:type="dc:Point" x="703" y="624" />
+        <di:waypoint xsi:type="dc:Point" x="763" y="624" />
+        <bpmndi:BPMNLabel>
+          <dc:Bounds x="688" y="603" width="0" height="12" />
+        </bpmndi:BPMNLabel>
+      </bpmndi:BPMNEdge>
+      <bpmndi:BPMNEdge id="SequenceFlow_0p0ayci_di" bpmnElement="SequenceFlow_0p0ayci">
+        <di:waypoint xsi:type="dc:Point" x="863" y="624" />
+        <di:waypoint xsi:type="dc:Point" x="931" y="624" />
+        <bpmndi:BPMNLabel>
+          <dc:Bounds x="852" y="603" width="0" height="12" />
+        </bpmndi:BPMNLabel>
+      </bpmndi:BPMNEdge>
+    </bpmndi:BPMNPlane>
+  </bpmndi:BPMNDiagram>
+</bpmn:definitions>