Problem with task assignment
asmo Jul 18, 2006 10:12 AMHello!
I have written a little processdefinition and executed it in a jUnit test. Everything is ok and no failure occured.
But the assignment handler of the task node is excecuted twice and i have no clue why.
Could anyone give me an advise???
This is the processDefinition:
<process-definition name="crmTest"> <start-state name="start"> <transition name="to_createActivity" to="createActivity"></transition> </start-state> <state name="createActivity"> <event type="before-signal"> <action name="action1" class="createActionHandler"></action> </event> <transition name="to_handleActivity" to="handleActivity"></transition> </state> <task-node name="handleActivity" > <task name="task1"> <assignment class="activityAssignment"></assignment> </task> <transition name="tr2" to="createActivity"></transition> <transition name="to_end" to="end"></transition> </task-node> <end-state name="end"></end-state> </process-definition>
this is the code of the jUnit test:
public class HelloWorldDbTest extends TestCase{ static JbpmConfiguration jbpmConfiguration = null; static { jbpmConfiguration = JbpmConfiguration.parseResource("jbpm1.cfg.xml"); } public void setUp(){ jbpmConfiguration.createSchema(); } public void tearDown(){ // jbpmConfiguration.dropSchema(); } public void testSimplePersistence(){ deployProcessDefinition(); assign(); } public void deployProcessDefinition(){ ProcessDefinition processDefinition = ProcessDefinition.parseXmlResource("processdefinition.xml"); System.out.println("name of the processdefinition: " + processDefinition.getName()); JbpmContext jbpmContext = jbpmConfiguration.createJbpmContext(); try{ jbpmContext.deployProcessDefinition(processDefinition); }finally{ jbpmContext.close(); } } public void assign(){ JbpmContext jbpmContext = jbpmConfiguration.createJbpmContext(); try{ GraphSession graphSession = jbpmContext.getGraphSession(); ProcessDefinition processDefinition = graphSession.findLatestProcessDefinition("crmTest"); ProcessInstance processInstance = new ProcessInstance(processDefinition); Token token = processInstance.getRootToken(); assertEquals("start", token.getNode().getName()); token.signal(); assertEquals("createActivity" , token.getNode().getName(),"createActivity"); token.signal(); assertEquals("handleActivity ", token.getNode().getName(), "handleActivity"); Collection tasks = processInstance.getTaskMgmtInstance().getTaskInstances(); Iterator it = tasks.iterator(); while(it.hasNext()){ TaskInstance taskInstance = (TaskInstance)it.next(); System.out.println("Taskinstance " + taskInstance.getId() + " finished"); taskInstance.end("to_end"); } assertEquals("end expected", token.getNode().getName(), "end"); jbpmContext.save(processInstance); }finally { jbpmContext.close(); } }
and at least the output of the console:
15:44:48,390 WARN EhCacheProvider:103 - Could not find configuration [org.jbpm.graph.def.Node]; using defaults. 15:44:48,453 WARN EhCacheProvider:103 - Could not find configuration [org.jbpm.instantiation.Delegation]; using defaults. 15:44:48,625 WARN EhCacheProvider:103 - Could not find configuration [org.jbpm.taskmgmt.def.Task]; using defaults. 15:44:48,781 WARN EhCacheProvider:103 - Could not find configuration [org.jbpm.graph.def.ProcessDefinition]; using defaults. 15:44:48,875 WARN EhCacheProvider:103 - Could not find configuration [org.jbpm.graph.def.ExceptionHandler]; using defaults. 15:44:48,890 WARN EhCacheProvider:103 - Could not find configuration [org.jbpm.module.def.ModuleDefinition]; using defaults. 15:44:49,156 WARN EhCacheProvider:103 - Could not find configuration [org.jbpm.graph.def.Action]; using defaults. 15:44:49,203 WARN EhCacheProvider:103 - Could not find configuration [org.jbpm.graph.def.Event]; using defaults. 15:44:49,406 WARN EhCacheProvider:103 - Could not find configuration [org.jbpm.context.def.VariableAccess]; using defaults. 15:44:49,515 WARN EhCacheProvider:103 - Could not find configuration [org.jbpm.graph.def.Transition]; using defaults. 15:44:49,734 WARN EhCacheProvider:103 - Could not find configuration [org.jbpm.taskmgmt.def.TaskController]; using defaults. 15:44:49,734 WARN EhCacheProvider:103 - Could not find configuration [org.jbpm.taskmgmt.def.TaskMgmtDefinition.tasks]; using defaults. 15:44:49,750 WARN EhCacheProvider:103 - Could not find configuration [org.jbpm.graph.node.ProcessState.variableAccesses]; using defaults. 15:44:49,750 WARN EhCacheProvider:103 - Could not find configuration [org.jbpm.graph.def.ProcessDefinition.events]; using defaults. 15:44:49,750 WARN EhCacheProvider:103 - Could not find configuration [org.jbpm.taskmgmt.def.Swimlane.tasks]; using defaults. 15:44:49,750 WARN EhCacheProvider:103 - Could not find configuration [org.jbpm.graph.def.Node.leavingTransitions]; using defaults. 15:44:49,750 WARN EhCacheProvider:103 - Could not find configuration [org.jbpm.taskmgmt.def.TaskController.variableAccesses]; using defaults. 15:44:49,750 WARN EhCacheProvider:103 - Could not find configuration [org.jbpm.graph.def.ProcessDefinition.exceptionHandlers]; using defaults. 15:44:49,750 WARN EhCacheProvider:103 - Could not find configuration [org.jbpm.graph.node.Decision.decisionConditions]; using defaults. 15:44:49,765 WARN EhCacheProvider:103 - Could not find configuration [org.jbpm.file.def.FileDefinition.processFiles]; using defaults. 15:44:49,765 WARN EhCacheProvider:103 - Could not find configuration [org.jbpm.graph.def.Transition.exceptionHandlers]; using defaults. 15:44:49,765 WARN EhCacheProvider:103 - Could not find configuration [org.jbpm.graph.def.ProcessDefinition.actions]; using defaults. 15:44:49,765 WARN EhCacheProvider:103 - Could not find configuration [org.jbpm.graph.def.ProcessDefinition.nodes]; using defaults. 15:44:49,765 WARN EhCacheProvider:103 - Could not find configuration [org.jbpm.graph.def.Node.arrivingTransitions]; using defaults. 15:44:49,765 WARN EhCacheProvider:103 - Could not find configuration [org.jbpm.graph.node.TaskNode.tasks]; using defaults. 15:44:49,765 WARN EhCacheProvider:103 - Could not find configuration [org.jbpm.graph.def.ProcessDefinition.definitions]; using defaults. 15:44:49,781 WARN EhCacheProvider:103 - Could not find configuration [org.jbpm.graph.def.Event.actions]; using defaults. 15:44:49,781 WARN EhCacheProvider:103 - Could not find configuration [org.jbpm.taskmgmt.def.Task.events]; using defaults. 15:44:49,781 WARN EhCacheProvider:103 - Could not find configuration [org.jbpm.graph.def.Node.events]; using defaults. 15:44:49,781 WARN EhCacheProvider:103 - Could not find configuration [org.jbpm.taskmgmt.def.TaskMgmtDefinition.swimlanes]; using defaults. 15:44:49,781 WARN EhCacheProvider:103 - Could not find configuration [org.jbpm.graph.def.SuperState.nodes]; using defaults. 15:44:49,781 WARN EhCacheProvider:103 - Could not find configuration [org.jbpm.graph.action.Script.variableAccesses]; using defaults. 15:44:49,781 WARN EhCacheProvider:103 - Could not find configuration [org.jbpm.graph.def.ExceptionHandler.actions]; using defaults. 15:44:49,781 WARN EhCacheProvider:103 - Could not find configuration [org.jbpm.taskmgmt.def.Task.exceptionHandlers]; using defaults. 15:44:49,781 WARN EhCacheProvider:103 - Could not find configuration [org.jbpm.graph.def.Node.exceptionHandlers]; using defaults. 15:44:49,781 WARN EhCacheProvider:103 - Could not find configuration [org.jbpm.graph.def.Transition.events]; using defaults. name of the processdefinition: crmTest 15:44:51,125 WARN ProxyWarnLog:654 - Narrowing proxy to class org.jbpm.graph.node.State - this operation breaks == hier angekommen 15:44:51,468 WARN ProxyWarnLog:654 - Narrowing proxy to class org.jbpm.graph.node.TaskNode - this operation breaks == Task assigned Task assigned Taskinstance 1 finished Taskinstance 2 finished
I would be very thankful for an advice!