Merge "Add exclusive block for invoking deactivate"
diff --git a/bpmn/so-bpmn-infrastructure-flows/src/main/resources/process/DeleteSDNCNetworkResource.bpmn b/bpmn/so-bpmn-infrastructure-flows/src/main/resources/process/DeleteSDNCNetworkResource.bpmn
index a1c75a8..781a54b 100644
--- a/bpmn/so-bpmn-infrastructure-flows/src/main/resources/process/DeleteSDNCNetworkResource.bpmn
+++ b/bpmn/so-bpmn-infrastructure-flows/src/main/resources/process/DeleteSDNCNetworkResource.bpmn
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<bpmn:definitions xmlns:bpmn="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:camunda="http://camunda.org/schema/1.0/bpmn" id="Definitions_1" targetNamespace="http://bpmn.io/schema/bpmn" exporter="Camunda Modeler" exporterVersion="1.10.0">
+<bpmn:definitions xmlns:bpmn="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:camunda="http://camunda.org/schema/1.0/bpmn" id="Definitions_1" targetNamespace="http://bpmn.io/schema/bpmn" exporter="Camunda Modeler" exporterVersion="1.16.2">
   <bpmn:process id="DeleteSDNCNetworkResource" name="DeleteSDNCNetworkResource" isExecutable="true">
     <bpmn:startEvent id="deleteNetworkResource_StartEvent" name="deleteNetworkResource_StartEvent">
       <bpmn:outgoing>SequenceFlow_1qo2pln</bpmn:outgoing>
@@ -7,11 +7,12 @@
     <bpmn:sequenceFlow id="SequenceFlow_1qo2pln" sourceRef="deleteNetworkResource_StartEvent" targetRef="Task_1dlrfiw" />
     <bpmn:sequenceFlow id="SequenceFlow_0khtova" sourceRef="PreprocessIncomingRequest_task" targetRef="Task_0tezqd4" />
     <bpmn:scriptTask id="PreprocessIncomingRequest_task" name="prepare SDNC Request" scriptFormat="groovy">
-      <bpmn:incoming>SequenceFlow_18l3crb</bpmn:incoming>
+      <bpmn:incoming>SequenceFlow_0jh88qw</bpmn:incoming>
+      <bpmn:incoming>SequenceFlow_00vqgvt</bpmn:incoming>
       <bpmn:outgoing>SequenceFlow_0khtova</bpmn:outgoing>
-      <bpmn:script><![CDATA[import org.onap.so.bpmn.infrastructure.scripts.*
+      <bpmn:script>import org.openecomp.mso.bpmn.infrastructure.scripts.*
 def dcsi = new DeleteSDNCNetworkResource()
-dcsi.prepareSDNCRequest(execution)]]></bpmn:script>
+dcsi.prepareSDNCRequest(execution)</bpmn:script>
     </bpmn:scriptTask>
     <bpmn:endEvent id="EndEvent_1x6k78c" name="delete SDNC call end">
       <bpmn:incoming>SequenceFlow_15wux6a</bpmn:incoming>
@@ -33,43 +34,43 @@
     <bpmn:sequenceFlow id="SequenceFlow_1xk5xed" sourceRef="CallActivity_1600xlj" targetRef="Task_0uwlr22" />
     <bpmn:sequenceFlow id="SequenceFlow_0ow44q0" sourceRef="Task_023hred" targetRef="ScriptTask_1emjxm2" />
     <bpmn:scriptTask id="Task_023hred" name="post SDNC delete call">
-      <bpmn:incoming>SequenceFlow_1vnx1pp</bpmn:incoming>
+      <bpmn:incoming>SequenceFlow_0ds04u5</bpmn:incoming>
       <bpmn:outgoing>SequenceFlow_0ow44q0</bpmn:outgoing>
-      <bpmn:script><![CDATA[import org.onap.so.bpmn.infrastructure.scripts.*
+      <bpmn:script>import org.openecomp.mso.bpmn.infrastructure.scripts.*
 def dcsi = new DeleteSDNCNetworkResource()
-dcsi.postDeleteSDNCCall(execution)]]></bpmn:script>
+dcsi.postDeleteSDNCCall(execution)</bpmn:script>
     </bpmn:scriptTask>
     <bpmn:sequenceFlow id="SequenceFlow_0w2es8j" sourceRef="Task_1dlrfiw" targetRef="Task_13sx2bp" />
-    <bpmn:sequenceFlow id="SequenceFlow_18l3crb" sourceRef="Task_13sx2bp" targetRef="PreprocessIncomingRequest_task" />
+    <bpmn:sequenceFlow id="SequenceFlow_18l3crb" sourceRef="Task_13sx2bp" targetRef="ExclusiveGateway_0xrgeq3" />
     <bpmn:scriptTask id="Task_1dlrfiw" name="Set the Recipe DesignTimeParam" scriptFormat="groovy">
       <bpmn:incoming>SequenceFlow_1qo2pln</bpmn:incoming>
       <bpmn:outgoing>SequenceFlow_0w2es8j</bpmn:outgoing>
-      <bpmn:script><![CDATA[String recipeParamXsdDemo="""{"operationType":"GRE"}"""
+      <bpmn:script>String recipeParamXsdDemo="""{"operationType":"GRE"}"""
 String recipeParamXsd=""
-execution.setVariable("recipeParamXsd", recipeParamXsd)]]></bpmn:script>
+execution.setVariable("recipeParamXsd", recipeParamXsd)</bpmn:script>
     </bpmn:scriptTask>
     <bpmn:scriptTask id="Task_13sx2bp" name="Pre Process Request" scriptFormat="groovy">
       <bpmn:incoming>SequenceFlow_0w2es8j</bpmn:incoming>
       <bpmn:outgoing>SequenceFlow_18l3crb</bpmn:outgoing>
-      <bpmn:script><![CDATA[import org.onap.so.bpmn.infrastructure.scripts.*
+      <bpmn:script>import org.openecomp.mso.bpmn.infrastructure.scripts.*
 def dcsi = new DeleteSDNCNetworkResource()
-dcsi.preProcessRequest(execution)]]></bpmn:script>
+dcsi.preProcessRequest(execution)</bpmn:script>
     </bpmn:scriptTask>
     <bpmn:sequenceFlow id="SequenceFlow_1mz0vdx" sourceRef="Task_0tezqd4" targetRef="Task_18tomkl" />
     <bpmn:sequenceFlow id="SequenceFlow_15mvedq" sourceRef="Task_18tomkl" targetRef="CallActivity_1600xlj" />
     <bpmn:scriptTask id="Task_0tezqd4" name="Delete progress update parameters before delete" scriptFormat="groovy">
       <bpmn:incoming>SequenceFlow_0khtova</bpmn:incoming>
       <bpmn:outgoing>SequenceFlow_1mz0vdx</bpmn:outgoing>
-      <bpmn:script><![CDATA[import org.onap.so.bpmn.infrastructure.scripts.*
+      <bpmn:script>import org.openecomp.mso.bpmn.infrastructure.scripts.*
 def dcsi = new DeleteSDNCNetworkResource()
-dcsi.prepareUpdateBeforeDeleteSDNCResource(execution)]]></bpmn:script>
+dcsi.prepareUpdateBeforeDeleteSDNCResource(execution)</bpmn:script>
     </bpmn:scriptTask>
     <bpmn:scriptTask id="Task_0uwlr22" name="Create progress update parameters After delete" scriptFormat="groovy">
       <bpmn:incoming>SequenceFlow_1xk5xed</bpmn:incoming>
       <bpmn:outgoing>SequenceFlow_1jr6zi0</bpmn:outgoing>
-      <bpmn:script><![CDATA[import org.onap.so.bpmn.infrastructure.scripts.*
+      <bpmn:script>import org.openecomp.mso.bpmn.infrastructure.scripts.*
 def dcsi = new DeleteSDNCNetworkResource()
-dcsi.prepareUpdateAfterDeleteSDNCResource(execution)]]></bpmn:script>
+dcsi.prepareUpdateAfterDeleteSDNCResource(execution)</bpmn:script>
     </bpmn:scriptTask>
     <bpmn:serviceTask id="Task_18tomkl" name="update progress update">
       <bpmn:extensionElements>
@@ -113,18 +114,32 @@
         </camunda:connector>
       </bpmn:extensionElements>
       <bpmn:incoming>SequenceFlow_1jr6zi0</bpmn:incoming>
-      <bpmn:outgoing>SequenceFlow_1vnx1pp</bpmn:outgoing>
+      <bpmn:outgoing>SequenceFlow_0ds04u5</bpmn:outgoing>
     </bpmn:serviceTask>
     <bpmn:sequenceFlow id="SequenceFlow_1jr6zi0" sourceRef="Task_0uwlr22" targetRef="ServiceTask_1cm8iwr" />
-    <bpmn:sequenceFlow id="SequenceFlow_1vnx1pp" sourceRef="ServiceTask_1cm8iwr" targetRef="Task_023hred" />
     <bpmn:scriptTask id="ScriptTask_1emjxm2" name="Send Sync Ack Response" scriptFormat="groovy">
       <bpmn:incoming>SequenceFlow_0ow44q0</bpmn:incoming>
       <bpmn:outgoing>SequenceFlow_15wux6a</bpmn:outgoing>
-      <bpmn:script><![CDATA[import org.onap.so.bpmn.infrastructure.scripts.*
+      <bpmn:script>import org.openecomp.mso.bpmn.infrastructure.scripts.*
 def csi = new  DeleteSDNCNetworkResource()
-csi.sendSyncResponse(execution)]]></bpmn:script>
+csi.sendSyncResponse(execution)</bpmn:script>
     </bpmn:scriptTask>
     <bpmn:sequenceFlow id="SequenceFlow_15wux6a" sourceRef="ScriptTask_1emjxm2" targetRef="EndEvent_1x6k78c" />
+    <bpmn:sequenceFlow id="SequenceFlow_0ds04u5" sourceRef="ServiceTask_1cm8iwr" targetRef="Task_023hred" />
+    <bpmn:exclusiveGateway id="ExclusiveGateway_0xrgeq3" name="is Deactivate Required">
+      <bpmn:incoming>SequenceFlow_18l3crb</bpmn:incoming>
+      <bpmn:outgoing>SequenceFlow_0jh88qw</bpmn:outgoing>
+      <bpmn:outgoing>SequenceFlow_0h3klf0</bpmn:outgoing>
+    </bpmn:exclusiveGateway>
+    <bpmn:sequenceFlow id="SequenceFlow_0jh88qw" name="No" sourceRef="ExclusiveGateway_0xrgeq3" targetRef="PreprocessIncomingRequest_task" />
+    <bpmn:sequenceFlow id="SequenceFlow_0h3klf0" name="Yes" sourceRef="ExclusiveGateway_0xrgeq3" targetRef="Task_1xychp0">
+      <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression">#{(execution.getVariable("isActivateRequired") == "true")}</bpmn:conditionExpression>
+    </bpmn:sequenceFlow>
+    <bpmn:sequenceFlow id="SequenceFlow_00vqgvt" sourceRef="Task_1xychp0" targetRef="PreprocessIncomingRequest_task" />
+    <bpmn:callActivity id="Task_1xychp0" name="Call Deactivate SDNC Network Resource" calledElement="DeActivateSDNCNetworkResource">
+      <bpmn:incoming>SequenceFlow_0h3klf0</bpmn:incoming>
+      <bpmn:outgoing>SequenceFlow_00vqgvt</bpmn:outgoing>
+    </bpmn:callActivity>
   </bpmn:process>
   <bpmndi:BPMNDiagram id="BPMNDiagram_1">
     <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="DeleteSDNCNetworkResource">
@@ -135,59 +150,58 @@
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNShape>
       <bpmndi:BPMNEdge id="SequenceFlow_1qo2pln_di" bpmnElement="SequenceFlow_1qo2pln">
-        <di:waypoint xsi:type="dc:Point" x="-75" y="129" />
-        <di:waypoint xsi:type="dc:Point" x="-10" y="129" />
+        <di:waypoint x="-75" y="129" />
+        <di:waypoint x="-10" y="129" />
         <bpmndi:BPMNLabel>
           <dc:Bounds x="-87.5" y="108" width="90" height="12" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNEdge id="SequenceFlow_0khtova_di" bpmnElement="SequenceFlow_0khtova">
-        <di:waypoint xsi:type="dc:Point" x="413" y="129" />
-        <di:waypoint xsi:type="dc:Point" x="460" y="129" />
-        <di:waypoint xsi:type="dc:Point" x="500" y="129" />
+        <di:waypoint x="593" y="129" />
+        <di:waypoint x="684" y="129" />
         <bpmndi:BPMNLabel>
           <dc:Bounds x="391.5" y="108" width="90" height="12" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNShape id="ScriptTask_03j6ogo_di" bpmnElement="PreprocessIncomingRequest_task">
-        <dc:Bounds x="313" y="89" width="100" height="80" />
+        <dc:Bounds x="493" y="89" width="100" height="80" />
       </bpmndi:BPMNShape>
       <bpmndi:BPMNShape id="EndEvent_15pcuuc_di" bpmnElement="EndEvent_1x6k78c">
-        <dc:Bounds x="967" y="317" width="36" height="36" />
+        <dc:Bounds x="898" y="317" width="36" height="36" />
         <bpmndi:BPMNLabel>
-          <dc:Bounds x="933" y="359" width="79" height="28" />
+          <dc:Bounds x="862" y="359" width="84" height="27" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNShape>
       <bpmndi:BPMNShape id="CallActivity_1600xlj_di" bpmnElement="CallActivity_1600xlj">
-        <dc:Bounds x="109" y="295" width="100" height="80" />
+        <dc:Bounds x="42" y="295" width="100" height="80" />
       </bpmndi:BPMNShape>
       <bpmndi:BPMNEdge id="SequenceFlow_1xk5xed_di" bpmnElement="SequenceFlow_1xk5xed">
-        <di:waypoint xsi:type="dc:Point" x="209" y="335" />
-        <di:waypoint xsi:type="dc:Point" x="302" y="335" />
+        <di:waypoint x="142" y="335" />
+        <di:waypoint x="200" y="335" />
         <bpmndi:BPMNLabel>
           <dc:Bounds x="210.5" y="314" width="90" height="12" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNEdge id="SequenceFlow_0ow44q0_di" bpmnElement="SequenceFlow_0ow44q0">
-        <di:waypoint xsi:type="dc:Point" x="735" y="335" />
-        <di:waypoint xsi:type="dc:Point" x="793" y="335" />
+        <di:waypoint x="624" y="335" />
+        <di:waypoint x="709" y="335" />
         <bpmndi:BPMNLabel>
           <dc:Bounds x="719" y="314" width="90" height="12" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNShape id="ScriptTask_0gyej62_di" bpmnElement="Task_023hred">
-        <dc:Bounds x="635" y="295" width="100" height="80" />
+        <dc:Bounds x="524" y="295" width="100" height="80" />
       </bpmndi:BPMNShape>
       <bpmndi:BPMNEdge id="SequenceFlow_0w2es8j_di" bpmnElement="SequenceFlow_0w2es8j">
-        <di:waypoint xsi:type="dc:Point" x="90" y="129" />
-        <di:waypoint xsi:type="dc:Point" x="148" y="129" />
+        <di:waypoint x="90" y="129" />
+        <di:waypoint x="148" y="129" />
         <bpmndi:BPMNLabel>
           <dc:Bounds x="74" y="108" width="90" height="12" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNEdge id="SequenceFlow_18l3crb_di" bpmnElement="SequenceFlow_18l3crb">
-        <di:waypoint xsi:type="dc:Point" x="248" y="129" />
-        <di:waypoint xsi:type="dc:Point" x="313" y="129" />
+        <di:waypoint x="248" y="129" />
+        <di:waypoint x="325" y="129" />
         <bpmndi:BPMNLabel>
           <dc:Bounds x="235.5" y="108" width="90" height="12" />
         </bpmndi:BPMNLabel>
@@ -199,60 +213,83 @@
         <dc:Bounds x="148" y="89" width="100" height="80" />
       </bpmndi:BPMNShape>
       <bpmndi:BPMNEdge id="SequenceFlow_1mz0vdx_di" bpmnElement="SequenceFlow_1mz0vdx">
-        <di:waypoint xsi:type="dc:Point" x="606" y="129" />
-        <di:waypoint xsi:type="dc:Point" x="638" y="129" />
-        <di:waypoint xsi:type="dc:Point" x="638" y="129" />
-        <di:waypoint xsi:type="dc:Point" x="738" y="129" />
+        <di:waypoint x="784" y="129" />
+        <di:waypoint x="900" y="129" />
         <bpmndi:BPMNLabel>
           <dc:Bounds x="608" y="123" width="90" height="12" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNEdge id="SequenceFlow_15mvedq_di" bpmnElement="SequenceFlow_15mvedq">
-        <di:waypoint xsi:type="dc:Point" x="788" y="169" />
-        <di:waypoint xsi:type="dc:Point" x="788" y="218" />
-        <di:waypoint xsi:type="dc:Point" x="0" y="218" />
-        <di:waypoint xsi:type="dc:Point" x="0" y="335" />
-        <di:waypoint xsi:type="dc:Point" x="109" y="335" />
+        <di:waypoint x="950" y="169" />
+        <di:waypoint x="950" y="218" />
+        <di:waypoint x="0" y="218" />
+        <di:waypoint x="0" y="335" />
+        <di:waypoint x="42" y="335" />
         <bpmndi:BPMNLabel>
           <dc:Bounds x="349" y="197" width="90" height="12" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNShape id="ScriptTask_1kqf4ge_di" bpmnElement="Task_0tezqd4">
-        <dc:Bounds x="506" y="89" width="100" height="80" />
+        <dc:Bounds x="684" y="89" width="100" height="80" />
       </bpmndi:BPMNShape>
       <bpmndi:BPMNShape id="ScriptTask_0hu4lhm_di" bpmnElement="Task_0uwlr22">
-        <dc:Bounds x="302" y="295" width="100" height="80" />
+        <dc:Bounds x="200" y="295" width="100" height="80" />
       </bpmndi:BPMNShape>
       <bpmndi:BPMNShape id="ServiceTask_1q6ssz7_di" bpmnElement="Task_18tomkl">
-        <dc:Bounds x="738" y="89" width="100" height="80" />
+        <dc:Bounds x="900" y="89" width="100" height="80" />
       </bpmndi:BPMNShape>
       <bpmndi:BPMNShape id="ServiceTask_1cm8iwr_di" bpmnElement="ServiceTask_1cm8iwr">
-        <dc:Bounds x="487" y="295" width="100" height="80" />
+        <dc:Bounds x="355" y="295" width="100" height="80" />
       </bpmndi:BPMNShape>
       <bpmndi:BPMNEdge id="SequenceFlow_1jr6zi0_di" bpmnElement="SequenceFlow_1jr6zi0">
-        <di:waypoint xsi:type="dc:Point" x="402" y="335" />
-        <di:waypoint xsi:type="dc:Point" x="487" y="335" />
+        <di:waypoint x="300" y="335" />
+        <di:waypoint x="355" y="335" />
         <bpmndi:BPMNLabel>
           <dc:Bounds x="444.5" y="314" width="0" height="12" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
-      <bpmndi:BPMNEdge id="SequenceFlow_1vnx1pp_di" bpmnElement="SequenceFlow_1vnx1pp">
-        <di:waypoint xsi:type="dc:Point" x="587" y="335" />
-        <di:waypoint xsi:type="dc:Point" x="635" y="335" />
-        <bpmndi:BPMNLabel>
-          <dc:Bounds x="566" y="314" width="90" height="12" />
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNEdge>
       <bpmndi:BPMNShape id="ScriptTask_1emjxm2_di" bpmnElement="ScriptTask_1emjxm2">
-        <dc:Bounds x="793" y="295" width="100" height="80" />
+        <dc:Bounds x="709" y="295" width="100" height="80" />
       </bpmndi:BPMNShape>
       <bpmndi:BPMNEdge id="SequenceFlow_15wux6a_di" bpmnElement="SequenceFlow_15wux6a">
-        <di:waypoint xsi:type="dc:Point" x="893" y="335" />
-        <di:waypoint xsi:type="dc:Point" x="967" y="335" />
+        <di:waypoint x="809" y="335" />
+        <di:waypoint x="898" y="335" />
         <bpmndi:BPMNLabel>
           <dc:Bounds x="930" y="313" width="0" height="14" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
+      <bpmndi:BPMNEdge id="SequenceFlow_0ds04u5_di" bpmnElement="SequenceFlow_0ds04u5">
+        <di:waypoint x="455" y="335" />
+        <di:waypoint x="524" y="335" />
+      </bpmndi:BPMNEdge>
+      <bpmndi:BPMNShape id="ExclusiveGateway_0xrgeq3_di" bpmnElement="ExclusiveGateway_0xrgeq3" isMarkerVisible="true">
+        <dc:Bounds x="325" y="104" width="50" height="50" />
+        <bpmndi:BPMNLabel>
+          <dc:Bounds x="320" y="161" width="63" height="27" />
+        </bpmndi:BPMNLabel>
+      </bpmndi:BPMNShape>
+      <bpmndi:BPMNEdge id="SequenceFlow_0jh88qw_di" bpmnElement="SequenceFlow_0jh88qw">
+        <di:waypoint x="375" y="129" />
+        <di:waypoint x="493" y="129" />
+        <bpmndi:BPMNLabel>
+          <dc:Bounds x="427" y="111" width="14" height="14" />
+        </bpmndi:BPMNLabel>
+      </bpmndi:BPMNEdge>
+      <bpmndi:BPMNEdge id="SequenceFlow_0h3klf0_di" bpmnElement="SequenceFlow_0h3klf0">
+        <di:waypoint x="350" y="104" />
+        <di:waypoint x="350" y="-12" />
+        <di:waypoint x="493" y="-12" />
+        <bpmndi:BPMNLabel>
+          <dc:Bounds x="356" y="43" width="19" height="14" />
+        </bpmndi:BPMNLabel>
+      </bpmndi:BPMNEdge>
+      <bpmndi:BPMNEdge id="SequenceFlow_00vqgvt_di" bpmnElement="SequenceFlow_00vqgvt">
+        <di:waypoint x="543" y="28" />
+        <di:waypoint x="543" y="89" />
+      </bpmndi:BPMNEdge>
+      <bpmndi:BPMNShape id="CallActivity_1lddjec_di" bpmnElement="Task_1xychp0">
+        <dc:Bounds x="493" y="-52" width="100" height="80" />
+      </bpmndi:BPMNShape>
     </bpmndi:BPMNPlane>
   </bpmndi:BPMNDiagram>
 </bpmn:definitions>