04-14-2011 01:08 PM
<?xml version="1.0" encoding="UTF-8"?>
<process-definition xmlns="urn:jbpm.org:jpdl-3.2" name="stanwf:taskExecuteSerialReview">
<swimlane name="initiator" />
<start-state name="startTask">
<description>
Start the serial review approve task process
</description>
<task name="stanwf:startSerialTask" description="Submit Task Execute Serial Review Task" swimlane="initiator"/>
<transition to="taskMain" name="to Task Main" />
</start-state>
<task-node name="taskMain">
<task name="stanwf:executeSerialTask">
<assignment class="org.alfresco.repo.workflow.jbpm.AlfrescoAssignment">
<actor>#{bpm_assignees.get(0)}</actor>
</assignment>
<event type="task-create">
<script>
if (bpm_workflowDueDate != void) taskInstance.dueDate = bpm_workflowDueDate;
if (bpm_workflowPriority != void) taskInstance.priority = bpm_workflowPriority;
if (taskDef != void) taskInstance.description = taskDef;
if (rejectReason != void) taskInstance.rejectReason = rejectReason;
</script>
</event>
</task>
<transition name="Complete" to="onlyOne">
<script>
<variable name="approveCount" access="write"/>
<expression>approveCount = 1;</expression>
</script>
</transition>
</task-node>
<decision name="onlyOne">
<transition name="Yes" to="reviewSingleTask">
<condition> #{bpm_assignees.size() == 1}</condition>
</transition>
<transition name="No" to="reviewTask">
<condition> #{bpm_assignees.size() > 1}</condition>
</transition>
</decision>
<task-node name="reviewTask">
<task name="stanwf:reviewSerialTask" >
<assignment class="org.alfresco.repo.workflow.jbpm.AlfrescoAssignment">
<actor>#{bpm_assignees.get(approveCount)}</actor>
</assignment>
<event type="task-create">
<script>System.out.println("-Task–first_review–"+approveCount+"-reviewerCount-"+reviewerCount);</script>
<script>
if (bpm_workflowDueDate != void) taskInstance.dueDate = bpm_workflowDueDate;
if (bpm_workflowPriority != void) taskInstance.priority = bpm_workflowPriority;
if (taskDef != void) taskInstance.description = taskDef;
if (rejectReason != void) taskInstance.rejectReason = rejectReason;
</script>
</event>
</task>
<event type="node-enter">
<script>
<variable name="reviewerCount" access="write"></variable>
<expression>reviewerCount = bpm_assignees.size();</expression>
</script>
</event>
<event type="node-leave">
<script>
<variable name="rejectReason" access="write"></variable>
<expression>rejectReason = taskInstance.rejectReason;</expression>
</script>
</event>
<transition name="Approve" to="isLast">
<script>
<variable name="approveCount" access="read,write"/>
<expression>approveCount = approveCount + 1 ;</expression>
</script>
</transition>
<transition name="Reject" to="isFirst">
<script>
<variable name="approveCount" access="read,write"/>
<expression>approveCount = approveCount - 1 ;</expression>
</script>
</transition>
</task-node>
<decision name="isLast">
<transition name="No" to="reviewTask">
<condition> #{approveCount < reviewerCount}</condition>
</transition>
<transition name="Yes" to="finalSubmit">
<condition> #{approveCount == reviewerCount}</condition>
</transition>
</decision>
<decision name="isFirst">
<transition name="No" to="reviewTask">
</transition>
<transition name="Yes" to="taskMain">
<condition> #{approveCount < 1 }</condition>
</transition>
</decision>
<task-node name="reviewSingleTask">
<task name="stanwf:reviewSerialTask" swimlane="initiator">
<event type="task-create">
<script>
if (bpm_workflowDueDate != void) taskInstance.dueDate = bpm_workflowDueDate;
if (bpm_workflowPriority != void) taskInstance.priority = bpm_workflowPriority;
if (taskDef != void) taskInstance.description = taskDef;
</script>
</event>
</task>
<transition name="Approve" to="end"/>
<transition name="Reject" to="taskMain">
<script>
<variable name="rejectReason" access="read,write"></variable>
<expression>rejectReason = taskInstance.rejectReason;</expression>
</script>
</transition>
</task-node>
<task-node name="finalSubmit" >
<task name="stanwf:reviewSerialTaskResults" swimlane="initiator" ></task>
<transition name="Finish" to="end"></transition>
</task-node>
<end-state name="end" />
</process-definition>
org.alfresco.service.cmr.workflow.WorkflowException: 03140000 Failed to signal transition Complete from workflow task jbpm$10208.
04-20-2011 03:38 AM
Tags
Find what you came for
We want to make your experience in Hyland Connect as valuable as possible, so we put together some helpful links.