<?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" id="_FatVcHn0EeaH6vX1RRdc_w" targetNamespace="http://camunda.org/schema/1.0/bpmn" exporter="Camunda Modeler" exporterVersion="1.10.0" xsi:schemaLocation="http://www.omg.org/spec/BPMN/20100524/MODEL BPMN20.xsd">
  <bpmn2:process id="CustomE2EPutService" name="CustomE2EPutService" isExecutable="true">
    <bpmn2:startEvent id="StartEvent_1">
      <bpmn2:outgoing>SequenceFlow_1</bpmn2:outgoing>
    </bpmn2:startEvent>
    <bpmn2:sequenceFlow id="SequenceFlow_1" name="" sourceRef="StartEvent_1" targetRef="Initialization" />
    <bpmn2:endEvent id="EndEvent_1">
      <bpmn2:incoming>SequenceFlow_5</bpmn2:incoming>
      <bpmn2:terminateEventDefinition id="TerminateEventDefinition_1" />
    </bpmn2:endEvent>
    <bpmn2:scriptTask id="toggleSuccess" name="Toggle Success Indicator" scriptFormat="groovy">
      <bpmn2:incoming>SequenceFlow_4</bpmn2:incoming>
      <bpmn2:outgoing>SequenceFlow_5</bpmn2:outgoing>
      <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.common.scripts.*

def serviceInstance= new CustomE2EPutService()
serviceInstance.setSuccessIndicator(execution, true)

execution.setVariable("WorkflowResponse", " ")  //for junits]]></bpmn2:script>
    </bpmn2:scriptTask>
    <bpmn2:sequenceFlow id="SequenceFlow_5" name="" sourceRef="toggleSuccess" targetRef="EndEvent_1" />
    <bpmn2:scriptTask id="putServiceInstance" name="Put Service Instance" scriptFormat="groovy">
      <bpmn2:incoming>SequenceFlow_3</bpmn2:incoming>
      <bpmn2:outgoing>SequenceFlow_4</bpmn2:outgoing>
      <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.common.scripts.*

def serviceInstance= new CustomE2EPutService()
serviceInstance.putServiceInstance(execution)]]></bpmn2:script>
    </bpmn2:scriptTask>
    <bpmn2:sequenceFlow id="SequenceFlow_4" name="" sourceRef="putServiceInstance" targetRef="toggleSuccess" />
    <bpmn2:scriptTask id="Initialization" name="Initialization" scriptFormat="groovy">
      <bpmn2:incoming>SequenceFlow_1</bpmn2:incoming>
      <bpmn2:outgoing>SequenceFlow_3</bpmn2:outgoing>
      <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.common.scripts.*

def serviceInstance= new CustomE2EPutService()
serviceInstance.preProcessRequest(execution)
]]></bpmn2:script>
    </bpmn2:scriptTask>
    <bpmn2:sequenceFlow id="SequenceFlow_3" name="" sourceRef="Initialization" targetRef="putServiceInstance" />
    <bpmn2:subProcess id="bpmnExceptionHandlingSubProcess" name="Error Handling Sub Process" triggeredByEvent="true">
      <bpmn2:startEvent id="StartEvent_2">
        <bpmn2:outgoing>SequenceFlow_6</bpmn2:outgoing>
        <bpmn2:errorEventDefinition id="ErrorEventDefinition_1" />
      </bpmn2:startEvent>
      <bpmn2:sequenceFlow id="SequenceFlow_6" name="" sourceRef="StartEvent_2" targetRef="processError" />
      <bpmn2:endEvent id="EndEvent_2">
        <bpmn2:incoming>SequenceFlow_7</bpmn2:incoming>
      </bpmn2:endEvent>
      <bpmn2:scriptTask id="processError" name="Process Error" scriptFormat="groovy">
        <bpmn2:incoming>SequenceFlow_6</bpmn2:incoming>
        <bpmn2:outgoing>SequenceFlow_7</bpmn2:outgoing>
        <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.common.scripts.*

ExceptionUtil ex = new ExceptionUtil()
ex.processSubflowsBPMNException(execution)]]></bpmn2:script>
      </bpmn2:scriptTask>
      <bpmn2:sequenceFlow id="SequenceFlow_7" name="" sourceRef="processError" targetRef="EndEvent_2" />
    </bpmn2:subProcess>
    <bpmn2:subProcess id="javaExceptionSubProcess" name="Java Exception Handling Sub Process" triggeredByEvent="true">
      <bpmn2:startEvent id="catchJavaExcep">
        <bpmn2:outgoing>SequenceFlow_9</bpmn2:outgoing>
        <bpmn2:errorEventDefinition id="ErrorEventDefinition_2" errorRef="Error_2" />
      </bpmn2:startEvent>
      <bpmn2:sequenceFlow id="SequenceFlow_9" name="" sourceRef="catchJavaExcep" targetRef="processJavaError" />
      <bpmn2:scriptTask id="processJavaError" name="Process Java Error" scriptFormat="groovy">
        <bpmn2:incoming>SequenceFlow_9</bpmn2:incoming>
        <bpmn2:outgoing>SequenceFlow_10</bpmn2:outgoing>
        <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.common.scripts.*

ExceptionUtil ex = new ExceptionUtil()
ex.processJavaException(execution)]]></bpmn2:script>
      </bpmn2:scriptTask>
      <bpmn2:endEvent id="EndEvent_3">
        <bpmn2:incoming>SequenceFlow_10</bpmn2:incoming>
        <bpmn2:terminateEventDefinition id="TerminateEventDefinition_2" />
      </bpmn2:endEvent>
      <bpmn2:sequenceFlow id="SequenceFlow_10" name="" sourceRef="processJavaError" targetRef="EndEvent_3" />
    </bpmn2:subProcess>
  </bpmn2:process>
  <bpmn2:error id="Error_1" name="MSO Workflow Exception" errorCode="MSOWorkflowException" />
  <bpmn2:error id="Error_2" name="Java Lang Exception" errorCode="java.lang.Exception" />
  <bpmndi:BPMNDiagram id="BPMNDiagram_1">
    <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="CustomE2EPutService">
      <bpmndi:BPMNShape id="_BPMNShape_StartEvent_71" bpmnElement="StartEvent_1">
        <dc:Bounds x="182" y="180" width="36" height="36" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="200" y="221" width="0" height="0" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_302" bpmnElement="Initialization">
        <dc:Bounds x="324" y="158" width="100" height="80" />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_1" bpmnElement="SequenceFlow_1" sourceElement="_BPMNShape_StartEvent_71" targetElement="_BPMNShape_ScriptTask_302">
        <di:waypoint xsi:type="dc:Point" x="218" y="198" />
        <di:waypoint xsi:type="dc:Point" x="324" y="198" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="250" y="198" width="6" height="6" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_304" bpmnElement="putServiceInstance">
        <dc:Bounds x="528" y="158" width="100" height="80" />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_3" bpmnElement="SequenceFlow_3" sourceElement="_BPMNShape_ScriptTask_302" targetElement="_BPMNShape_ScriptTask_304">
        <di:waypoint xsi:type="dc:Point" x="424" y="198" />
        <di:waypoint xsi:type="dc:Point" x="528" y="198" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="446" y="198" width="6" height="6" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_305" bpmnElement="toggleSuccess">
        <dc:Bounds x="732" y="158" width="100" height="80" />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_4" bpmnElement="SequenceFlow_4" sourceElement="_BPMNShape_ScriptTask_304" targetElement="_BPMNShape_ScriptTask_305">
        <di:waypoint xsi:type="dc:Point" x="628" y="198" />
        <di:waypoint xsi:type="dc:Point" x="732" y="198" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="650" y="198" width="6" height="6" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNShape id="_BPMNShape_EndEvent_230" bpmnElement="EndEvent_1">
        <dc:Bounds x="908" y="180" width="36" height="36" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="926" y="221" width="0" height="0" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_5" bpmnElement="SequenceFlow_5" sourceElement="_BPMNShape_ScriptTask_305" targetElement="_BPMNShape_EndEvent_230">
        <di:waypoint xsi:type="dc:Point" x="832" y="198" />
        <di:waypoint xsi:type="dc:Point" x="908" y="198" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="854" y="198" width="6" height="6" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNShape id="_BPMNShape_SubProcess_27" bpmnElement="bpmnExceptionHandlingSubProcess" isExpanded="true">
        <dc:Bounds x="324" y="312" width="418" height="150" />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="_BPMNShape_StartEvent_72" bpmnElement="StartEvent_2">
        <dc:Bounds x="357" y="370" width="36" height="36" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="375" y="411" width="0" height="0" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_306" bpmnElement="processError">
        <dc:Bounds x="466" y="348" width="100" height="80" />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_6" bpmnElement="SequenceFlow_6" sourceElement="_BPMNShape_StartEvent_72" targetElement="_BPMNShape_ScriptTask_306">
        <di:waypoint xsi:type="dc:Point" x="393" y="388" />
        <di:waypoint xsi:type="dc:Point" x="466" y="388" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="415" y="388" width="6" height="6" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNShape id="_BPMNShape_EndEvent_231" bpmnElement="EndEvent_2">
        <dc:Bounds x="615" y="370" width="36" height="36" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="633" y="411" width="0" height="0" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_7" bpmnElement="SequenceFlow_7" sourceElement="_BPMNShape_ScriptTask_306" targetElement="_BPMNShape_EndEvent_231">
        <di:waypoint xsi:type="dc:Point" x="566" y="388" />
        <di:waypoint xsi:type="dc:Point" x="615" y="388" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="588" y="388" width="6" height="6" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNShape id="_BPMNShape_SubProcess_28" bpmnElement="javaExceptionSubProcess" isExpanded="true">
        <dc:Bounds x="323" y="486" width="419" height="150" />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="_BPMNShape_StartEvent_73" bpmnElement="catchJavaExcep">
        <dc:Bounds x="357" y="538" width="36" height="36" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="375" y="579" width="0" height="0" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_308" bpmnElement="processJavaError">
        <dc:Bounds x="465" y="516" width="100" height="80" />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_9" bpmnElement="SequenceFlow_9" sourceElement="_BPMNShape_StartEvent_73" targetElement="_BPMNShape_ScriptTask_308">
        <di:waypoint xsi:type="dc:Point" x="393" y="556" />
        <di:waypoint xsi:type="dc:Point" x="465" y="556" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="415" y="556" width="6" height="6" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNShape id="_BPMNShape_EndEvent_232" bpmnElement="EndEvent_3">
        <dc:Bounds x="615" y="538" width="36" height="36" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="633" y="579" width="0" height="0" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_10" bpmnElement="SequenceFlow_10" sourceElement="_BPMNShape_ScriptTask_308" targetElement="_BPMNShape_EndEvent_232">
        <di:waypoint xsi:type="dc:Point" x="565" y="556" />
        <di:waypoint xsi:type="dc:Point" x="615" y="556" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="587" y="556" width="6" height="6" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
    </bpmndi:BPMNPlane>
  </bpmndi:BPMNDiagram>
</bpmn2:definitions>