Skip to content

Instantly share code, notes, and snippets.

@estebanroblesluna
Created January 18, 2011 16:21
Show Gist options
  • Save estebanroblesluna/784679 to your computer and use it in GitHub Desktop.
Save estebanroblesluna/784679 to your computer and use it in GitHub Desktop.
<?xml version="1.0" encoding="UTF-8"?>
<definitions id="definitions"
targetNamespace="http://activiti.org/bpmn20"
xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:activiti="http://activiti.org/bpmn">
<process id="pictureRequest" name="A process that handles picture requests by users">
<startEvent id="theStart" />
<sequenceFlow id="flow1" sourceRef="theStart" targetRef="needsApprovalTask" />
<serviceTask id="needsApprovalTask" name="Needs approval" activiti:class="com.picturerequest.NeedsApprovalDelegate" />
<sequenceFlow id="flow2" sourceRef="needsApprovalTask" targetRef="gateway" />
<exclusiveGateway id="gateway" name="Needs approval?" />
<sequenceFlow id="flow3" sourceRef="gateway" targetRef="confirmApproval">
<conditionExpression xsi:type="tFormalExpression">${needsApproval}</conditionExpression>
</sequenceFlow>
<sequenceFlow id="flow4" sourceRef="gateway" targetRef="chargeAccount">
<conditionExpression xsi:type="tFormalExpression">${!needsApproval}</conditionExpression>
</sequenceFlow>
<userTask id="confirmApproval" name="Approve the picture request" activiti:formKey="approval.form">
<potentialOwner>
<resourceAssignmentExpression>
<formalExpression>user(kermit), group(management)</formalExpression>
</resourceAssignmentExpression>
</potentialOwner>
</userTask>
<sequenceFlow id="flow5" sourceRef="confirmApproval" targetRef="gateway2" />
<exclusiveGateway id="gateway2" name="Is approval confirmed?" />
<sequenceFlow id="flow6" sourceRef="gateway2" targetRef="chargeAccount">
<conditionExpression xsi:type="tFormalExpression">${approvalConfirmed}</conditionExpression>
</sequenceFlow>
<sequenceFlow id="flow7" sourceRef="gateway2" targetRef="theEnd">
<conditionExpression xsi:type="tFormalExpression">${!approvalConfirmed}</conditionExpression>
</sequenceFlow>
<serviceTask id="chargeAccount" name="Charge account" activiti:class="com.picturerequest.ChargeDelegate">
<extensionElements>
<activiti:field name="wsdl" expression="http://localhost:8291/chargeService?wsdl" />
<activiti:field name="operation" expression="chargeAccount" />
<activiti:field name="parameters" expression="${user}, ${imageName}" />
<activiti:field name="returnValue" expression="myReturn" />
</extensionElements>
</serviceTask>
<sequenceFlow id="flow8" sourceRef="chargeAccount" targetRef="theEnd" />
<endEvent id="theEnd" />
</process>
</definitions>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment