<?xml version="1.0" encoding="UTF-8"?> 
<process xmlns="http://drools.org/drools-5.0/process"
         xmlns:xs="http://www.w3.org/2001/XMLSchema-instance"
         xs:schemaLocation="http://drools.org/drools-5.0/process drools-processes-5.0.xsd"
         type="RuleFlow" name="Performance evaluation" id="com.sample.evaluation" package-name="com.sample" >

  <header>
    <variables>
      <variable name="employee" >
        <type name="org.drools.process.core.datatype.impl.type.StringDataType" />
      </variable>
      <variable name="projectManager" >
        <type name="org.drools.process.core.datatype.impl.type.StringDataType" />
      </variable>
      <variable name="hrManager" >
        <type name="org.drools.process.core.datatype.impl.type.StringDataType" />
      </variable>
    </variables>
  </header>

  <nodes>
    <humanTask id="4" name="Self Evaluation" x="96" y="56" width="143" height="48" >
      <work name="Human Task" >
        <parameter name="ActorId" >
          <type name="org.drools.process.core.datatype.impl.type.StringDataType" />
          <value>#{employee}</value>
        </parameter>
        <parameter name="Comment" >
          <type name="org.drools.process.core.datatype.impl.type.StringDataType" />
          <value>As part of your performance evaluation, you have to do a self-assessment.</value>
        </parameter>
        <parameter name="Content" >
          <type name="org.drools.process.core.datatype.impl.type.StringDataType" />
        </parameter>
        <parameter name="Priority" >
          <type name="org.drools.process.core.datatype.impl.type.StringDataType" />
          <value>1</value>
        </parameter>
        <parameter name="Skippable" >
          <type name="org.drools.process.core.datatype.impl.type.StringDataType" />
          <value>false</value>
        </parameter>
        <parameter name="TaskName" >
          <type name="org.drools.process.core.datatype.impl.type.StringDataType" />
          <value>Performance Evaluation</value>
        </parameter>
      </work>
    </humanTask>
    <humanTask id="8" name="Project Manager Evaluation" x="352" y="16" width="225" height="48" >
      <work name="Human Task" >
        <parameter name="ActorId" >
          <type name="org.drools.process.core.datatype.impl.type.StringDataType" />
          <value>#{projectManager}</value>
        </parameter>
        <parameter name="Comment" >
          <type name="org.drools.process.core.datatype.impl.type.StringDataType" />
          <value>A performance evaluation has been requested for employee #{employee}</value>
        </parameter>
        <parameter name="Content" >
          <type name="org.drools.process.core.datatype.impl.type.StringDataType" />
        </parameter>
        <parameter name="Priority" >
          <type name="org.drools.process.core.datatype.impl.type.StringDataType" />
          <value>1</value>
        </parameter>
        <parameter name="Skippable" >
          <type name="org.drools.process.core.datatype.impl.type.StringDataType" />
          <value>false</value>
        </parameter>
        <parameter name="TaskName" >
          <type name="org.drools.process.core.datatype.impl.type.StringDataType" />
          <value>Performance Evaluation</value>
        </parameter>
      </work>
      <onEntry>
        <action type="expression" dialect="mvel" >kcontext.setVariable("projectManager", "john");</action>
      </onEntry>
    </humanTask>
    <split id="6" name="Split" x="271" y="56" width="49" height="49" type="1" />
    <start id="1" name="Start" x="16" y="56" width="48" height="48" />
    <end id="3" name="End" x="687" y="57" width="48" height="48" />
    <join id="7" name="Join" x="603" y="56" width="49" height="49" type="1" />
    <humanTask id="5" name="HR Manager Evaluation" x="352" y="96" width="225" height="48" >
      <work name="Human Task" >
        <parameter name="ActorId" >
          <type name="org.drools.process.core.datatype.impl.type.StringDataType" />
          <value>#{hrManager}</value>
        </parameter>
        <parameter name="Comment" >
          <type name="org.drools.process.core.datatype.impl.type.StringDataType" />
          <value>A performance evaluation has been requested for employee #{employee}</value>
        </parameter>
        <parameter name="Content" >
          <type name="org.drools.process.core.datatype.impl.type.StringDataType" />
        </parameter>
        <parameter name="Priority" >
          <type name="org.drools.process.core.datatype.impl.type.StringDataType" />
          <value>1</value>
        </parameter>
        <parameter name="Skippable" >
          <type name="org.drools.process.core.datatype.impl.type.StringDataType" />
          <value>false</value>
        </parameter>
        <parameter name="TaskName" >
          <type name="org.drools.process.core.datatype.impl.type.StringDataType" />
          <value>Performance Evaluation</value>
        </parameter>
      </work>
      <onEntry>
        <action type="expression" dialect="mvel" >kcontext.setVariable("hrManager", "mary");</action>
      </onEntry>
    </humanTask>
  </nodes>

  <connections>
    <connection from="1" to="4" />
    <connection from="6" to="8" bendpoints="[295,39]" />
    <connection from="4" to="6" />
    <connection from="7" to="3" />
    <connection from="5" to="7" bendpoints="[629,119]" />
    <connection from="8" to="7" bendpoints="[626,41]" />
    <connection from="6" to="5" bendpoints="[295,120]" />
  </connections>

</process>