<?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:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" xmlns:camunda="http://camunda.org/schema/1.0/bpmn" id="_MagIIMOUEeW8asg-vCEgWQ" targetNamespace="http://camunda.org/schema/1.0/bpmn" exporter="Camunda Modeler" exporterVersion="1.4.0" xsi:schemaLocation="http://www.omg.org/spec/BPMN/20100524/MODEL BPMN20.xsd">
  <bpmn2:process id="RainyDayHandler" name="RainyDayHandler" isExecutable="true">
    <bpmn2:startEvent id="createSI_startEvent" name="Start Flow">
      <bpmn2:outgoing>SequenceFlow_1</bpmn2:outgoing>
    </bpmn2:startEvent>
    <bpmn2:sequenceFlow id="SequenceFlow_1" name="" sourceRef="createSI_startEvent" targetRef="preProcessRequest_ScriptTask" />
    <bpmn2:endEvent id="EndEvent_3">
      <bpmn2:incoming>SequenceFlow_0uwsjoh</bpmn2:incoming>
      <bpmn2:incoming>SequenceFlow_1f0bjoy</bpmn2:incoming>
    </bpmn2:endEvent>
    <bpmn2:subProcess id="SubProcess_06d8lk8" name="Java Exception Handling Sub Process" triggeredByEvent="true">
      <bpmn2:startEvent id="StartEvent_0yljq9y">
        <bpmn2:outgoing>SequenceFlow_0tgrn11</bpmn2:outgoing>
        <bpmn2:errorEventDefinition />
      </bpmn2:startEvent>
      <bpmn2:endEvent id="EndEvent_117lkk3">
        <bpmn2:incoming>SequenceFlow_0g4aus9</bpmn2:incoming>
      </bpmn2:endEvent>
      <bpmn2:sequenceFlow id="SequenceFlow_0tgrn11" sourceRef="StartEvent_0yljq9y" targetRef="processJavaError" />
      <bpmn2:scriptTask id="processJavaError" name="Process Error" scriptFormat="groovy">
        <bpmn2:incoming>SequenceFlow_0tgrn11</bpmn2:incoming>
        <bpmn2:outgoing>SequenceFlow_0g4aus9</bpmn2:outgoing>
        <bpmn2:script><![CDATA[import org.onap.so.bpmn.common.scripts.*
ExceptionUtil exceptionUtil = new ExceptionUtil()
exceptionUtil.processJavaException(execution)]]></bpmn2:script>
      </bpmn2:scriptTask>
      <bpmn2:sequenceFlow id="SequenceFlow_0g4aus9" sourceRef="processJavaError" targetRef="EndEvent_117lkk3" />
    </bpmn2:subProcess>
    <bpmn2:scriptTask id="preProcessRequest_ScriptTask" name="PreProcess Incoming Request" scriptFormat="groovy">
      <bpmn2:incoming>SequenceFlow_1</bpmn2:incoming>
      <bpmn2:outgoing>SequenceFlow_0yxffj2</bpmn2:outgoing>
      <bpmn2:script><![CDATA[import org.onap.so.bpmn.common.scripts.*
def rdh = new RainyDayHandler()
rdh.preProcessRequest(execution)
]]></bpmn2:script>
    </bpmn2:scriptTask>
    <bpmn2:sequenceFlow id="SequenceFlow_0yxffj2" sourceRef="preProcessRequest_ScriptTask" targetRef="QueryPolicyEngine" />
    <bpmn2:sequenceFlow id="SequenceFlow_12vj619" sourceRef="QueryPolicyEngine" targetRef="ExclusiveGateway_0kqwevj" />
    <bpmn2:scriptTask id="QueryPolicyEngine" name="Query Policy " scriptFormat="groovy">
      <bpmn2:incoming>SequenceFlow_0yxffj2</bpmn2:incoming>
      <bpmn2:outgoing>SequenceFlow_12vj619</bpmn2:outgoing>
      <bpmn2:script><![CDATA[import org.onap.so.bpmn.common.scripts.*
def rdh = new RainyDayHandler()
rdh.queryPolicy(execution)]]></bpmn2:script>
    </bpmn2:scriptTask>
    <bpmn2:exclusiveGateway id="ExclusiveGateway_0kqwevj" name="Is Manual Handling Requested?" default="SequenceFlow_0uwsjoh">
      <bpmn2:incoming>SequenceFlow_12vj619</bpmn2:incoming>
      <bpmn2:outgoing>SequenceFlow_0uwsjoh</bpmn2:outgoing>
      <bpmn2:outgoing>SequenceFlow_0navei4</bpmn2:outgoing>
    </bpmn2:exclusiveGateway>
    <bpmn2:sequenceFlow id="SequenceFlow_0uwsjoh" name="no" sourceRef="ExclusiveGateway_0kqwevj" targetRef="EndEvent_3" />
    <bpmn2:sequenceFlow id="SequenceFlow_0navei4" name="yes" sourceRef="ExclusiveGateway_0kqwevj" targetRef="Task_1qu3p0x">
      <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("handlingCode") == "Manual"]]></bpmn2:conditionExpression>
    </bpmn2:sequenceFlow>
    <bpmn2:callActivity id="Task_1qu3p0x" name="Manual Handling" calledElement="ManualHandling">
      <bpmn2:extensionElements>
        <camunda:in source="msoRequestId" target="msoRequestId" />
        <camunda:in source="serviceType" target="serviceType" />
        <camunda:in source="vnfType" target="vnfType" />
        <camunda:in source="requestorId" target="requestorId" />
        <camunda:in source="currentActivity" target="currentActivity" />
        <camunda:in source="failedActivity" target="failedActivity" />
        <camunda:in source="workStep" target="workStep" />
        <camunda:in source="errorCode" target="errorCode" />
        <camunda:in source="errorText" target="errorText" />
        <camunda:in source="validResponses" target="validResponses" />
        <camunda:out source="WorkflowException" target="WorkflowException" />
        <camunda:out source="responseValue" target="handlingCode" />
        <camunda:in source="vnfName" target="vnfName" />
        <camunda:in source="isDebugLogEnabled" target="isDebugLogEnabled" />
      </bpmn2:extensionElements>
      <bpmn2:incoming>SequenceFlow_0navei4</bpmn2:incoming>
      <bpmn2:outgoing>SequenceFlow_1f0bjoy</bpmn2:outgoing>
    </bpmn2:callActivity>
    <bpmn2:sequenceFlow id="SequenceFlow_1f0bjoy" sourceRef="Task_1qu3p0x" targetRef="EndEvent_3" />
  </bpmn2:process>
  <bpmn2:error id="Error_2" name="MSOWorkflowException" errorCode="MSOWorkflowException" />
  <bpmn2:error id="Error_1" name="java.lang.Exception" errorCode="java.lang.Exception" />
  <bpmndi:BPMNDiagram id="BPMNDiagram_1">
    <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="RainyDayHandler">
      <bpmndi:BPMNShape id="_BPMNShape_StartEvent_47" bpmnElement="createSI_startEvent">
        <dc:Bounds x="152" y="79" width="36" height="36" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="147" y="120" width="48" height="14" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_1" bpmnElement="SequenceFlow_1" sourceElement="_BPMNShape_StartEvent_47" targetElement="_BPMNShape_ScriptTask_61">
        <di:waypoint xsi:type="dc:Point" x="188" y="97" />
        <di:waypoint xsi:type="dc:Point" x="301" y="97" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="245" y="82" width="0" height="0" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNShape id="_BPMNShape_EndEvent_177" bpmnElement="EndEvent_3">
        <dc:Bounds x="1025" y="79" width="36" height="36" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="1043" y="120" width="0" height="0" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="SubProcess_06d8lk8_di" bpmnElement="SubProcess_06d8lk8" isExpanded="true">
        <dc:Bounds x="142" y="243" width="417" height="161" />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="StartEvent_0yljq9y_di" bpmnElement="StartEvent_0yljq9y">
        <dc:Bounds x="179" y="310" width="36" height="36" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="197" y="351" width="0" height="0" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="EndEvent_117lkk3_di" bpmnElement="EndEvent_117lkk3">
        <dc:Bounds x="465" y="310" width="36" height="36" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="483" y="351" width="0" height="0" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNEdge id="SequenceFlow_0tgrn11_di" bpmnElement="SequenceFlow_0tgrn11">
        <di:waypoint xsi:type="dc:Point" x="215" y="328" />
        <di:waypoint xsi:type="dc:Point" x="290" y="328" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="253" y="313" width="0" height="0" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_61" bpmnElement="preProcessRequest_ScriptTask">
        <dc:Bounds x="301" y="57" width="100" height="80" />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNEdge id="SequenceFlow_0yxffj2_di" bpmnElement="SequenceFlow_0yxffj2">
        <di:waypoint xsi:type="dc:Point" x="401" y="97" />
        <di:waypoint xsi:type="dc:Point" x="513" y="97" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="457" y="82" width="0" height="0" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNShape id="ScriptTask_0b5155c_di" bpmnElement="processJavaError">
        <dc:Bounds x="290" y="288" width="100" height="80" />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNEdge id="SequenceFlow_0g4aus9_di" bpmnElement="SequenceFlow_0g4aus9">
        <di:waypoint xsi:type="dc:Point" x="390" y="328" />
        <di:waypoint xsi:type="dc:Point" x="465" y="328" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="428" y="313" width="0" height="0" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="SequenceFlow_12vj619_di" bpmnElement="SequenceFlow_12vj619">
        <di:waypoint xsi:type="dc:Point" x="613" y="97" />
        <di:waypoint xsi:type="dc:Point" x="881" y="97" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="747" y="82" width="0" height="0" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNShape id="ScriptTask_17xngtx_di" bpmnElement="QueryPolicyEngine">
        <dc:Bounds x="513" y="57" width="100" height="80" />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="ExclusiveGateway_0kqwevj_di" bpmnElement="ExclusiveGateway_0kqwevj" isMarkerVisible="true">
        <dc:Bounds x="881" y="72" width="50" height="50" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="876" y="122" width="59" height="36" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNEdge id="SequenceFlow_0uwsjoh_di" bpmnElement="SequenceFlow_0uwsjoh">
        <di:waypoint xsi:type="dc:Point" x="931" y="97" />
        <di:waypoint xsi:type="dc:Point" x="1025" y="97" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="973" y="82" width="12" height="12" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="SequenceFlow_0navei4_di" bpmnElement="SequenceFlow_0navei4">
        <di:waypoint xsi:type="dc:Point" x="906" y="72" />
        <di:waypoint xsi:type="dc:Point" x="906" y="51" />
        <di:waypoint xsi:type="dc:Point" x="906" y="51" />
        <di:waypoint xsi:type="dc:Point" x="906" y="19" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="912" y="51" width="18" height="12" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNShape id="CallActivity_0cg4bcv_di" bpmnElement="Task_1qu3p0x">
        <dc:Bounds x="856" y="-61" width="100" height="80" />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNEdge id="SequenceFlow_1f0bjoy_di" bpmnElement="SequenceFlow_1f0bjoy">
        <di:waypoint xsi:type="dc:Point" x="956" y="-21" />
        <di:waypoint xsi:type="dc:Point" x="1043" y="-21" />
        <di:waypoint xsi:type="dc:Point" x="1043" y="79" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="1000" y="-36" width="0" height="0" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
    </bpmndi:BPMNPlane>
  </bpmndi:BPMNDiagram>
</bpmn2:definitions>