Ok, basic trial without Seam and no special transaction stuff works

  | package net.vankuijk.jbpm;
  | 
  | import java.util.ArrayList;
  | import java.util.Arrays;
  | import java.util.HashSet;
  | import java.util.Iterator;
  | import java.util.List;
  | import java.util.Set;
  | 
  | import org.apache.commons.logging.Log;
  | import org.apache.commons.logging.LogFactory;
  | import org.jbpm.JbpmContext;
  | import org.jbpm.db.AbstractDbTestCase;
  | import org.jbpm.graph.def.ProcessDefinition;
  | import org.jbpm.graph.exe.ExecutionContext;
  | import org.jbpm.graph.exe.ProcessInstance;
  | import org.jbpm.taskmgmt.def.AssignmentHandler;
  | import org.jbpm.taskmgmt.exe.Assignable;
  | import org.jbpm.taskmgmt.exe.TaskAssignmentDbTest;
  | import org.jbpm.taskmgmt.exe.TaskInstance;
  | import org.jbpm.taskmgmt.exe.TaskMgmtInstance;
  | 
  | import junit.framework.TestCase;
  | 
  | public class ForkedTaskTest extends AbstractDbTestCase {
  |     void deployProcessDefinition(String xml) {
  |             ProcessDefinition processDefinition = ProcessDefinition
  |                             .parseXmlString(xml);
  |             jbpmContext.deployProcessDefinition(processDefinition);
  |             newTransaction();
  |     }
  | 
  |     public void testStartStateSwimlaneInitialization() {
  |             deployProcessDefinition("<process-definition 
name='testForkedTasks'>"
  |                             + "  <swimlane name='gertsGroupSwimlane'>"
  |                             + "    <assignment pooled-actors='gertsGroup' 
/>"
  |                             + "  </swimlane>"
  |                             + "  <start-state>"
  |                             + "    <transition name='to_0' to='0' />"
  |                             + "  </start-state>"
  |                             + "  <task-node name='0'>"
  |                         + "    <task name='task 0' 
swimlane='gertsGroupSwimlane' />"
  |                         + "    <transition name='to_fork1' to='fork1' />"
  |                         + "  </task-node>"
  |                             + "  <fork name='fork1'>"
  |                             + "    <transition name='to_11' to='11' />"
  |                             + "    <transition name='to_21' to='21' />"
  |                             + "  </fork>"
  |                         + "  <task-node name='11'>"
  |                         + "    <task name='task 11' 
swimlane='gertsGroupSwimlane' />"
  |                         + "    <transition name='to_12' to='12' />"
  |                         + "  </task-node>"
  |                         + "  <task-node name='12'>"
  |                         + "    <task name='task 12' 
swimlane='gertsGroupSwimlane' />"
  |                         + "    <transition name='to_join' to='join1' />"
  |                         + "  </task-node>"
  |                         + "  <task-node name='21'>"
  |                         + "    <task name='task 21' 
swimlane='gertsGroupSwimlane' />"
  |                         + "    <transition name='to_join' to='join1' />"
  |                         + "  </task-node>"
  |                         + "  <join name='join1'>"
  |                             + "    <transition name='end' to='end' />"
  |                             + "  </join>"
  |                         + "  <end-state name='end' />"
  |                             + "</process-definition>");
  |             
  |         ProcessInstance processInstance = 
jbpmContext.newProcessInstanceForUpdate("testForkedTasks");
  |         processInstance.signal();
  | 
  |         processInstance = saveAndReload(processInstance);
  |         
  |         ArrayList actorIDs = new ArrayList();
  |         actorIDs.add("gertsGroup");
  |         
  |         
//assertNotNull(processInstance.getTaskMgmtInstance().getTaskInstances());
  |         
  |         List tasks = jbpmContext.getGroupTaskList(actorIDs);
  |         assertEquals(1, tasks.size());
  |         assertEquals(false, ((TaskInstance) 
tasks.get(0)).isStartTaskInstance());
  |         TaskInstance task0 = (TaskInstance) tasks.iterator().next();
  |         assertEquals("task 0", task0.getName());
  |         task0.end();
  |             
  |         processInstance = saveAndReload(processInstance);
  |         
  |         tasks = jbpmContext.getGroupTaskList(actorIDs);
  |         assertEquals(2, tasks.size());
  |         ArrayList taskNames = new ArrayList();
  |         taskNames.add(((TaskInstance) tasks.get(0)).getName());
  |         taskNames.add(((TaskInstance) tasks.get(1)).getName());
  |         assertTrue(taskNames.contains("task 11"));      
  |         assertTrue(taskNames.contains("task 21"));
  |         assertFalse(taskNames.contains("task 12"));
  |         
  |         TaskInstance task11 = (TaskInstance) tasks.get(0); //gamble it is 
the first
  |         if (!task11.getName().equals("task 11")) {
  |             task11 = (TaskInstance) tasks.get(1); // ok, it's the second    
  |         }
  |         task11.end();
  | 
  |         processInstance = saveAndReload(processInstance);
  | 
  |         tasks = jbpmContext.getGroupTaskList(actorIDs);
  |         assertEquals(2, tasks.size());
  |         taskNames = new ArrayList();
  |         taskNames.add(((TaskInstance) tasks.get(0)).getName());
  |         taskNames.add(((TaskInstance) tasks.get(1)).getName());
  |         assertFalse(taskNames.contains("task 11")); //ended     
  |         assertTrue(taskNames.contains("task 21"));
  |         assertTrue(taskNames.contains("task 12"));
  |     }
  | 
  |     private static final Log log = LogFactory
  |                     .getLog(ForkedTaskTest.class);
  | 
  | }
  | 

So it I have no clue what is going wrong in your case. Transactions? What if 
you try to retrieve the tasklist by using the jBPM api directly?

View the original post : 
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4175927#4175927

Reply to the post : 
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4175927
_______________________________________________
jboss-user mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/jboss-user

Reply via email to