<?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="_vwRmIBsREeeIQtzUKIjH4g" targetNamespace="http://camunda.org/schema/1.0/bpmn" exporter="Camunda Modeler" exporterVersion="1.11.3" xsi:schemaLocation="http://www.omg.org/spec/BPMN/20100524/MODEL BPMN20.xsd">
  <bpmn2:process id="HomingBB" name="HomingBB" isExecutable="true">
    <bpmn2:startEvent id="start">
      <bpmn2:outgoing>SequenceFlow_0jtjlbu</bpmn2:outgoing>
    </bpmn2:startEvent>
    <bpmn2:subProcess id="bpmnErrorSubprocess" name="Error Handling Subprocess" triggeredByEvent="true">
      <bpmn2:endEvent id="endBpmnError">
        <bpmn2:incoming>SequenceFlow_1rf4vs8</bpmn2:incoming>
        <bpmn2:terminateEventDefinition />
      </bpmn2:endEvent>
      <bpmn2:startEvent id="startBpmnError">
        <bpmn2:outgoing>SequenceFlow_00nlh7l</bpmn2:outgoing>
        <bpmn2:errorEventDefinition />
      </bpmn2:startEvent>
      <bpmn2:scriptTask id="processMsoWorkflowException" name="Process Error" scriptFormat="groovy">
        <bpmn2:incoming>SequenceFlow_00nlh7l</bpmn2:incoming>
        <bpmn2:outgoing>SequenceFlow_1rf4vs8</bpmn2:outgoing>
        <bpmn2:script><![CDATA[import org.onap.so.bpmn.common.scripts.*
ExceptionUtil ex = new ExceptionUtil()
ex.processSubflowsBPMNException(execution)]]></bpmn2:script>
      </bpmn2:scriptTask>
      <bpmn2:sequenceFlow id="SequenceFlow_1rf4vs8" sourceRef="processMsoWorkflowException" targetRef="endBpmnError" />
      <bpmn2:sequenceFlow id="SequenceFlow_00nlh7l" sourceRef="startBpmnError" targetRef="processMsoWorkflowException" />
    </bpmn2:subProcess>
    <bpmn2:subProcess id="javaExceptionSubProcess" name="Java Exception Sub Process" triggeredByEvent="true">
      <bpmn2:scriptTask id="processJavaException" name="Process Error" scriptFormat="groovy">
        <bpmn2:incoming>SequenceFlow_0kamg53</bpmn2:incoming>
        <bpmn2:outgoing>SequenceFlow_1o7154s</bpmn2:outgoing>
        <bpmn2:script><![CDATA[import org.onap.so.bpmn.common.scripts.*
ExceptionUtil ex = new ExceptionUtil()
ex.processJavaException(execution)]]></bpmn2:script>
      </bpmn2:scriptTask>
      <bpmn2:startEvent id="startJavaError">
        <bpmn2:outgoing>SequenceFlow_0kamg53</bpmn2:outgoing>
        <bpmn2:errorEventDefinition errorRef="Error_1lwpypa" />
      </bpmn2:startEvent>
      <bpmn2:endEvent id="endJavaError">
        <bpmn2:incoming>SequenceFlow_1o7154s</bpmn2:incoming>
        <bpmn2:terminateEventDefinition />
      </bpmn2:endEvent>
      <bpmn2:sequenceFlow id="SequenceFlow_0kamg53" name="" sourceRef="startJavaError" targetRef="processJavaException" />
      <bpmn2:sequenceFlow id="SequenceFlow_1o7154s" name="" sourceRef="processJavaException" targetRef="endJavaError" />
    </bpmn2:subProcess>
    <bpmn2:callActivity id="receiveAsyncCallback" name="Receive Async Callback" camunda:modelerTemplate="receiveWorkflowMessage" calledElement="ReceiveWorkflowMessage">
      <bpmn2:extensionElements>
        <camunda:in source="true" target="isDebugLogEnabled" />
        <camunda:out source="WorkflowException" target="WorkflowException" />
        <camunda:in source="asyncMessageType" target="RCVWFMSG_messageType" />
        <camunda:in source="asyncCorrelator" target="RCVWFMSG_correlator" />
        <camunda:in source="asyncTimeout" target="RCVWFMSG_timeout" />
        <camunda:out source="WorkflowResponse" target="asyncResponse" />
        <camunda:in source="mso-request-id" target="mso-request-id" />
      </bpmn2:extensionElements>
      <bpmn2:incoming>SequenceFlow_0qrwjzu</bpmn2:incoming>
      <bpmn2:outgoing>SequenceFlow_03cy5y5</bpmn2:outgoing>
    </bpmn2:callActivity>
    <bpmn2:endEvent id="end">
      <bpmn2:incoming>SequenceFlow_138xgla</bpmn2:incoming>
      <bpmn2:terminateEventDefinition />
    </bpmn2:endEvent>
    <bpmn2:serviceTask id="callHoming" name="Homing&#10;Post&#10;(Send demand)&#10;" camunda:expression="${HomingV2.callHoming(InjectExecution.execute(execution, execution.getVariable(&#34;gBuildingBlockExecution&#34;)))}">
      <bpmn2:incoming>SequenceFlow_0jtjlbu</bpmn2:incoming>
      <bpmn2:outgoing>SequenceFlow_0qrwjzu</bpmn2:outgoing>
    </bpmn2:serviceTask>
    <bpmn2:serviceTask id="processHomingSolution" name="Homing&#10;Process&#10;Solution&#10;" camunda:expression="${HomingV2.processSolution(InjectExecution.execute(execution, execution.getVariable(&#34;gBuildingBlockExecution&#34;)), asyncResponse)}">
      <bpmn2:incoming>SequenceFlow_03cy5y5</bpmn2:incoming>
      <bpmn2:outgoing>SequenceFlow_138xgla</bpmn2:outgoing>
    </bpmn2:serviceTask>
    <bpmn2:sequenceFlow id="SequenceFlow_0jtjlbu" sourceRef="start" targetRef="callHoming" />
    <bpmn2:sequenceFlow id="SequenceFlow_0qrwjzu" sourceRef="callHoming" targetRef="receiveAsyncCallback" />
    <bpmn2:sequenceFlow id="SequenceFlow_03cy5y5" sourceRef="receiveAsyncCallback" targetRef="processHomingSolution" />
    <bpmn2:sequenceFlow id="SequenceFlow_138xgla" sourceRef="processHomingSolution" targetRef="end" />
  </bpmn2:process>
  <bpmn2:error id="Error_10hit0u" name="MSO Workflow Exception" errorCode="MSOWorkflowException" />
  <bpmn2:error id="Error_1lwpypa" name="Java Lang Exception" errorCode="java.lang.Exception" />
  <bpmndi:BPMNDiagram id="BPMNDiagram_1">
    <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="HomingBB">
      <bpmndi:BPMNShape id="_BPMNShape_StartEvent_2" bpmnElement="start">
        <dc:Bounds x="153" y="275" width="36" height="36" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="126" y="311" width="90" height="20" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="SubProcess_16p12qo_di" bpmnElement="bpmnErrorSubprocess" isExpanded="true">
        <dc:Bounds x="312" y="405" width="409" height="168" />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="SubProcess_12gjiy8_di" bpmnElement="javaExceptionSubProcess" isExpanded="true">
        <dc:Bounds x="342" y="588" width="350" height="159" />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="EndEvent_07tjq3v_di" bpmnElement="endBpmnError">
        <dc:Bounds x="637" y="479" width="36" height="36" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="610" y="520" width="90" height="0" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="StartEvent_1qiitb2_di" bpmnElement="startBpmnError">
        <dc:Bounds x="357" y="479" width="36" height="36" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="330" y="520" width="90" height="0" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="ScriptTask_03hs6s9_di" bpmnElement="processMsoWorkflowException">
        <dc:Bounds x="464" y="457" width="100" height="80" />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="ScriptTask_19gqykh_di" bpmnElement="processJavaException">
        <dc:Bounds x="468" y="636" width="100" height="80" />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="StartEvent_1fbpeuw_di" bpmnElement="startJavaError">
        <dc:Bounds x="376" y="658" width="36" height="36" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="349" y="699" width="90" height="0" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="EndEvent_0jbvnr0_di" bpmnElement="endJavaError">
        <dc:Bounds x="625" y="658" width="36" height="36" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="598" y="699" width="90" height="0" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNEdge id="SequenceFlow_1rf4vs8_di" bpmnElement="SequenceFlow_1rf4vs8">
        <di:waypoint xsi:type="dc:Point" x="564" y="497" />
        <di:waypoint xsi:type="dc:Point" x="637" y="497" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="556" y="482" width="90" height="0" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="SequenceFlow_00nlh7l_di" bpmnElement="SequenceFlow_00nlh7l">
        <di:waypoint xsi:type="dc:Point" x="393" y="497" />
        <di:waypoint xsi:type="dc:Point" x="421" y="497" />
        <di:waypoint xsi:type="dc:Point" x="421" y="497" />
        <di:waypoint xsi:type="dc:Point" x="464" y="497" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="391" y="497" width="90" height="0" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="SequenceFlow_0kamg53_di" bpmnElement="SequenceFlow_0kamg53">
        <di:waypoint xsi:type="dc:Point" x="412" y="676" />
        <di:waypoint xsi:type="dc:Point" x="468" y="676" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="395" y="661" width="90" height="0" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="SequenceFlow_1o7154s_di" bpmnElement="SequenceFlow_1o7154s">
        <di:waypoint xsi:type="dc:Point" x="568" y="676" />
        <di:waypoint xsi:type="dc:Point" x="625" y="676" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="552" y="661" width="90" height="0" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNShape id="CallActivity_031b5m3_di" bpmnElement="receiveAsyncCallback">
        <dc:Bounds x="464" y="253" width="100" height="80" />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="EndEvent_07i1a5x_di" bpmnElement="end">
        <dc:Bounds x="837" y="275" width="36" height="36" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="809" y="315" width="90" height="12" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="ServiceTask_0rcv8sl_di" bpmnElement="callHoming">
        <dc:Bounds x="292" y="253" width="100" height="80" />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="ServiceTask_0fs2fyg_di" bpmnElement="processHomingSolution">
        <dc:Bounds x="649" y="253" width="100" height="80" />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNEdge id="SequenceFlow_0jtjlbu_di" bpmnElement="SequenceFlow_0jtjlbu">
        <di:waypoint xsi:type="dc:Point" x="189" y="293" />
        <di:waypoint xsi:type="dc:Point" x="292" y="293" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="240.5" y="272" width="0" height="12" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="SequenceFlow_0qrwjzu_di" bpmnElement="SequenceFlow_0qrwjzu">
        <di:waypoint xsi:type="dc:Point" x="392" y="293" />
        <di:waypoint xsi:type="dc:Point" x="464" y="293" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="428" y="272" width="0" height="12" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="SequenceFlow_03cy5y5_di" bpmnElement="SequenceFlow_03cy5y5">
        <di:waypoint xsi:type="dc:Point" x="564" y="293" />
        <di:waypoint xsi:type="dc:Point" x="649" y="293" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="606.5" y="272" width="0" height="12" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="SequenceFlow_138xgla_di" bpmnElement="SequenceFlow_138xgla">
        <di:waypoint xsi:type="dc:Point" x="749" y="293" />
        <di:waypoint xsi:type="dc:Point" x="837" y="293" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="793" y="272" width="0" height="12" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
    </bpmndi:BPMNPlane>
  </bpmndi:BPMNDiagram>
</bpmn2:definitions>