<?xml version="1.0" encoding="UTF-8"?>
<definitions id="Definition"
             typeLanguage="http://www.java.com/javaTypes"
             expressionLanguage="http://www.mvel.org/2.0"
             xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL"
             xmlns:xs="http://www.w3.org/2001/XMLSchema-instance"
             xs:schemaLocation="http://www.omg.org/spec/BPMN/20100524/MODEL BPMN20.xsd"
             xmlns:g="http://www.jboss.org/drools/flow/gpd"
             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:tns="http://www.jboss.org/drools">

  <itemDefinition id="_ClassItem" structureRef="String" />
  <itemDefinition id="_MethodItem" structureRef="String" />
  <itemDefinition id="_ParameterTypesItem" structureRef="java.util.List" />
  <itemDefinition id="_ParametersItem" structureRef="java.util.List" />
  <itemDefinition id="_ObjectItem" structureRef="org.jbpm.process.workitem.java.MyJavaClass" />
  <itemDefinition id="_ResultItem" structureRef="java.util.List" />

  <process processType="Private" isExecutable="true" id="com.sample.bpmn.java.list" name="Hello World" >

    <!-- process variables -->
    <property id="Class" itemSubjectRef="_ClassItem"/>
    <property id="Method" itemSubjectRef="_MethodItem"/>
    <property id="ParameterTypes" itemSubjectRef="_ParameterTypesItem"/>
    <property id="Parameters" itemSubjectRef="_ParametersItem"/>
    <property id="Object" itemSubjectRef="_ObjectItem"/>
    <property id="Result" itemSubjectRef="_ResultItem"/>

    <!-- nodes -->
    <endEvent id="_3" name="EndProcess" >
      <terminateEventDefinition/>
    </endEvent>
    <startEvent id="_4" name="Start" />
    <task id="_5" name="Java" tns:taskName="Java" >
      <ioSpecification>
        <dataInput id="_5_ParametersInput" name="Parameters" />
        <dataInput id="_5_MethodInput" name="Method" />
        <dataInput id="_5_ClassInput" name="Class" />
        <dataInput id="_5_ParameterTypesInput" name="ParameterTypes" />
        <dataInput id="_5_ObjectInput" name="Object" />
        <dataOutput id="_5_ResultOutput" name="Result" />
        <inputSet>
          <dataInputRefs>_5_ParametersInput</dataInputRefs>
          <dataInputRefs>_5_MethodInput</dataInputRefs>
          <dataInputRefs>_5_ClassInput</dataInputRefs>
          <dataInputRefs>_5_ParameterTypesInput</dataInputRefs>
          <dataInputRefs>_5_ObjectInput</dataInputRefs>
        </inputSet>
        <outputSet>
          <dataOutputRefs>_5_ResultOutput</dataOutputRefs>
        </outputSet>
      </ioSpecification>
      <dataInputAssociation>
        <sourceRef>Parameters</sourceRef>
        <targetRef>_5_ParametersInput</targetRef>
      </dataInputAssociation>
      <dataInputAssociation>
        <sourceRef>Method</sourceRef>
        <targetRef>_5_MethodInput</targetRef>
      </dataInputAssociation>
      <dataInputAssociation>
        <sourceRef>Class</sourceRef>
        <targetRef>_5_ClassInput</targetRef>
      </dataInputAssociation>
      <dataInputAssociation>
        <sourceRef>ParameterTypes</sourceRef>
        <targetRef>_5_ParameterTypesInput</targetRef>
      </dataInputAssociation>
      <dataInputAssociation>
        <sourceRef>Object</sourceRef>
        <targetRef>_5_ObjectInput</targetRef>
      </dataInputAssociation>
      <dataOutputAssociation>
        <sourceRef>_5_ResultOutput</sourceRef>
        <targetRef>Result</targetRef>
      </dataOutputAssociation>
    </task>
    <scriptTask id="_6" name="System.out" >
      <script>System.out.println(Result);</script>
    </scriptTask>

    <!-- connections -->
    <sequenceFlow id="_6-_3" sourceRef="_6" targetRef="_3" />
    <sequenceFlow id="_4-_5" sourceRef="_4" targetRef="_5" />
    <sequenceFlow id="_5-_6" sourceRef="_5" targetRef="_6" />

  </process>

  <bpmndi:BPMNDiagram>
    <bpmndi:BPMNPlane bpmnElement="com.sample.bpmn.java" >
      <bpmndi:BPMNShape bpmnElement="_3" >
        <dc:Bounds x="368" y="16" width="48" height="48" />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="_4" >
        <dc:Bounds x="16" y="16" width="48" height="48" />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="_5" >
        <dc:Bounds x="96" y="16" width="100" height="48" />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="_6" >
        <dc:Bounds x="228" y="16" width="108" height="48" />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNEdge bpmnElement="_6-_3" >
        <di:waypoint x="282" y="40" />
        <di:waypoint x="392" y="40" />
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge bpmnElement="_4-_5" >
        <di:waypoint x="40" y="40" />
        <di:waypoint x="146" y="40" />
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge bpmnElement="_5-_6" >
        <di:waypoint x="146" y="40" />
        <di:waypoint x="282" y="40" />
      </bpmndi:BPMNEdge>
    </bpmndi:BPMNPlane>
  </bpmndi:BPMNDiagram>

</definitions>