<?xml version="1.0" encoding="UTF-8"?>
<bpmn2:definitions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:bpmn2="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:camunda="http://camunda.org/schema/1.0/bpmn" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" id="_Wblj8GyfEeWUWLTvug7ZOg" targetNamespace="http://camunda.org/schema/1.0/bpmn" exporter="Camunda Modeler" exporterVersion="1.7.2" xsi:schemaLocation="http://www.omg.org/spec/BPMN/20100524/MODEL BPMN20.xsd">
  <bpmn2:process id="UpdateAAIVfModule" name="UpdateAAIVfModule" isExecutable="true">
    <bpmn2:documentation><![CDATA[This flow expects its incoming request to be in the variable 'UpdateAAIVfModuleRequest'.  This flow produces no output.]]></bpmn2:documentation>
    <bpmn2:scriptTask id="QueryAAIForVfModule" name="Query AAI for VF Module" scriptFormat="groovy">
      <bpmn2:incoming>SequenceFlow_38</bpmn2:incoming>
      <bpmn2:outgoing>SequenceFlow_39</bpmn2:outgoing>
      <bpmn2:script><![CDATA[import org.onap.so.bpmn.common.scripts.*
def uvm = new UpdateAAIVfModule()
uvm.getVfModule(execution)]]></bpmn2:script>
    </bpmn2:scriptTask>
    <bpmn2:sequenceFlow id="SequenceFlow_39" name="" sourceRef="QueryAAIForVfModule" targetRef="ExclusiveGateway_3" />
    <bpmn2:endEvent id="EndEvent_7">
      <bpmn2:incoming>SequenceFlow_18</bpmn2:incoming>
      <bpmn2:errorEventDefinition id="_ErrorEventDefinition_68" errorRef="Error_1" />
    </bpmn2:endEvent>
    <bpmn2:scriptTask id="AAIQueryFailure" name="Handle AAI Query Failure" scriptFormat="groovy">
      <bpmn2:incoming>SequenceFlow_23</bpmn2:incoming>
      <bpmn2:outgoing>SequenceFlow_18</bpmn2:outgoing>
      <bpmn2:script><![CDATA[import org.onap.so.bpmn.common.scripts.*
def uvm= new UpdateAAIVfModule()
uvm.handleAAIQueryFailure(execution)]]></bpmn2:script>
    </bpmn2:scriptTask>
    <bpmn2:sequenceFlow id="SequenceFlow_18" name="" sourceRef="AAIQueryFailure" targetRef="EndEvent_7" />
    <bpmn2:endEvent id="EndEvent_4" name="TheEnd">
      <bpmn2:extensionElements>
        <camunda:connector>
          <camunda:inputOutput>
            <camunda:outputParameter name="CreateCustomerV1Response"><![CDATA[<aetgt:CreateCustomerResponse xmlns:aetgt="http://org.onap/so/workflow/schema/v1"                   xmlns:ns="http://org.onap/so/workflow/schema/v1">
 <ns:GlobalCustomerId>${CCV1_subscriberglobalid}</ns:GlobalCustomerId>
   </aetgt:CreateCustomerResponse>]]></camunda:outputParameter>
          </camunda:inputOutput>
        </camunda:connector>
      </bpmn2:extensionElements>
      <bpmn2:incoming>SequenceFlow_1x7tivg</bpmn2:incoming>
    </bpmn2:endEvent>
    <bpmn2:exclusiveGateway id="ExclusiveGateway_3" default="SequenceFlow_23">
      <bpmn2:incoming>SequenceFlow_39</bpmn2:incoming>
      <bpmn2:outgoing>SequenceFlow_22</bpmn2:outgoing>
      <bpmn2:outgoing>SequenceFlow_23</bpmn2:outgoing>
    </bpmn2:exclusiveGateway>
    <bpmn2:sequenceFlow id="SequenceFlow_22" name="" sourceRef="ExclusiveGateway_3" targetRef="UpdateVfModule">
      <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression"><![CDATA[#{execution.getVariable('UAAIVfMod_getVfModuleResponseCode') == 200}]]></bpmn2:conditionExpression>
    </bpmn2:sequenceFlow>
    <bpmn2:sequenceFlow id="SequenceFlow_23" name="AAI Query failure or
&#10;VF Module not  found" sourceRef="ExclusiveGateway_3" targetRef="AAIQueryFailure" />
    <bpmn2:scriptTask id="UpdateVfModule" name="Update VF Module" scriptFormat="groovy">
      <bpmn2:incoming>SequenceFlow_22</bpmn2:incoming>
      <bpmn2:outgoing>SequenceFlow_1x7tivg</bpmn2:outgoing>
      <bpmn2:script><![CDATA[import org.onap.so.bpmn.common.scripts.*
def uvm= new UpdateAAIVfModule()
uvm.updateVfModule(execution)]]></bpmn2:script>
    </bpmn2:scriptTask>
    <bpmn2:startEvent id="StartEvent_1" name="Start">
      <bpmn2:outgoing>SequenceFlow_1</bpmn2:outgoing>
    </bpmn2:startEvent>
    <bpmn2:sequenceFlow id="SequenceFlow_1" name="" sourceRef="StartEvent_1" targetRef="ProcessReceivedRequest" />
    <bpmn2:scriptTask id="ProcessReceivedRequest" name="Process Received Request" scriptFormat="groovy">
      <bpmn2:incoming>SequenceFlow_1</bpmn2:incoming>
      <bpmn2:outgoing>SequenceFlow_38</bpmn2:outgoing>
      <bpmn2:script><![CDATA[import org.onap.so.bpmn.common.scripts.*
def uvm= new UpdateAAIVfModule()
uvm.preProcessRequest(execution)]]></bpmn2:script>
    </bpmn2:scriptTask>
    <bpmn2:sequenceFlow id="SequenceFlow_38" name="" sourceRef="ProcessReceivedRequest" targetRef="QueryAAIForVfModule" />
    <bpmn2:sequenceFlow id="SequenceFlow_1x7tivg" sourceRef="UpdateVfModule" targetRef="EndEvent_4" />
  </bpmn2:process>
  <bpmn2:error id="Error_1" name="MSO Workflow Exception" errorCode="MSOWorkflowException" />
  <bpmndi:BPMNDiagram id="BPMNDiagram_1">
    <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="UpdateAAIVfModule">
      <bpmndi:BPMNShape id="_BPMNShape_StartEvent_37" bpmnElement="StartEvent_1">
        <dc:Bounds x="69" y="212" width="36" height="36" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="70" y="253" width="34" height="22" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_22" bpmnElement="ProcessReceivedRequest">
        <dc:Bounds x="180" y="190" width="100" height="80" />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_1" bpmnElement="SequenceFlow_1" sourceElement="_BPMNShape_StartEvent_37" targetElement="_BPMNShape_ScriptTask_22">
        <di:waypoint xsi:type="dc:Point" x="105" y="230" />
        <di:waypoint xsi:type="dc:Point" x="180" y="230" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="127" y="230" width="6" height="6" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNShape id="_BPMNShape_Task_2" bpmnElement="UpdateVfModule">
        <dc:Bounds x="672" y="190" width="100" height="80" />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="_BPMNShape_EndEvent_92" bpmnElement="EndEvent_4">
        <dc:Bounds x="1016" y="212" width="36" height="36" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="1009" y="253" width="50" height="22" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="_BPMNShape_ExclusiveGateway_86" bpmnElement="ExclusiveGateway_3" isMarkerVisible="true">
        <dc:Bounds x="493" y="204" width="50" height="50" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="518" y="259" width="0" height="0" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_23" bpmnElement="SequenceFlow_22" sourceElement="_BPMNShape_ExclusiveGateway_86" targetElement="_BPMNShape_Task_2">
        <di:waypoint xsi:type="dc:Point" x="543" y="229" />
        <di:waypoint xsi:type="dc:Point" x="607" y="229" />
        <di:waypoint xsi:type="dc:Point" x="607" y="230" />
        <di:waypoint xsi:type="dc:Point" x="672" y="230" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="558" y="229" width="6" height="6" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_155" bpmnElement="AAIQueryFailure">
        <dc:Bounds x="468" y="60" width="100" height="80" />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_24" bpmnElement="SequenceFlow_23" sourceElement="_BPMNShape_ExclusiveGateway_86" targetElement="_BPMNShape_ScriptTask_155">
        <di:waypoint xsi:type="dc:Point" x="518" y="204" />
        <di:waypoint xsi:type="dc:Point" x="518" y="140" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="528" y="152" width="130" height="38" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNShape id="_BPMNShape_EndEvent_160" bpmnElement="EndEvent_7">
        <dc:Bounds x="500" y="0" width="36" height="36" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="518" y="41" width="0" height="0" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_18" bpmnElement="SequenceFlow_18" sourceElement="_BPMNShape_ScriptTask_155" targetElement="_BPMNShape_EndEvent_160">
        <di:waypoint xsi:type="dc:Point" x="518" y="60" />
        <di:waypoint xsi:type="dc:Point" x="518" y="36" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="515" y="49" width="6" height="6" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_160" bpmnElement="QueryAAIForVfModule">
        <dc:Bounds x="336" y="190" width="100" height="80" />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_38" bpmnElement="SequenceFlow_38" sourceElement="_BPMNShape_ScriptTask_22" targetElement="_BPMNShape_ScriptTask_160">
        <di:waypoint xsi:type="dc:Point" x="280" y="230" />
        <di:waypoint xsi:type="dc:Point" x="336" y="230" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="300" y="230" width="6" height="6" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_39" bpmnElement="SequenceFlow_39" sourceElement="_BPMNShape_ScriptTask_160" targetElement="_BPMNShape_ExclusiveGateway_86">
        <di:waypoint xsi:type="dc:Point" x="436" y="230" />
        <di:waypoint xsi:type="dc:Point" x="452" y="230" />
        <di:waypoint xsi:type="dc:Point" x="452" y="229" />
        <di:waypoint xsi:type="dc:Point" x="493" y="229" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="449" y="229" width="6" height="6" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="SequenceFlow_1x7tivg_di" bpmnElement="SequenceFlow_1x7tivg">
        <di:waypoint xsi:type="dc:Point" x="772" y="230" />
        <di:waypoint xsi:type="dc:Point" x="1016" y="230" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="894" y="208" width="0" height="13" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
    </bpmndi:BPMNPlane>
  </bpmndi:BPMNDiagram>
</bpmn2:definitions>