org.jbpm.graph.def.DelegationException
pedrosacosta Oct 31, 2005 9:39 AMI've the following code:
package com.sample;
import junit.framework.TestCase;
import org.jbpm.graph.def.*;
import org.jbpm.graph.exe.*;
import org.jbpm.taskmgmt.exe.*;
//import com.sample.action.GravarOcorrenciaHandler;
public class GestaoOcorrencias extends TestCase {
public void testTaskAssignment(){
ProcessDefinition processDefinition = ProcessDefinition.parseXmlString(
"<process-definition name='the baby process'>" +
" <start-state>" +
" <transition name='baby cries' to='t' />" +
" </start-state>" +
" <task-node name='t'>" +
" <task name='change nappy'>" +
" <assignment class='com.sample.action.GravarOcorrenciaHandler' />" +
" </task>" +
" <transition to='end' />" +
" </task-node>" +
" <end-state name='end' />" +
"</process-definition>"
);
ProcessInstance processInstance = new ProcessInstance(processDefinition);
Token token = processInstance.getRootToken();
token.signal();
assertSame(processDefinition.getNode("t"), token.getNode());
TaskInstance taskInstance = (TaskInstance)
processInstance
.getTaskMgmtInstance()
.getTaskInstances()
.iterator().next();
assertEquals("papa", taskInstance.getActorId() );
taskInstance.end();
assertSame(processDefinition.getNode("end"), token.getNode());
}
}
package com.sample.action;
import org.jbpm.graph.exe.ExecutionContext;
import org.jbpm.taskmgmt.exe.Assignable;
public class GravarOcorrenciaHandler {
public void assign(Assignable assignable, ExecutionContext executionContext)
{
assignable.setActorId("papa");
System.out.println("SUCCESS");
}
}
[\code]
When i compile it, i've
org.jbpm.graph.def.DelegationException at org.jbpm.graph.def.GraphElement.raiseException(GraphElement.java:299) at org.jbpm.graph.def.GraphElement.raiseException(GraphElement.java:293) at org.jbpm.graph.def.GraphElement.raiseException(GraphElement.java:293) at org.jbpm.taskmgmt.exe.TaskMgmtInstance.invokeAssignmentHandler(TaskMgmtInstance.java:149) at org.jbpm.taskmgmt.exe.TaskInstance.assign(TaskInstance.java:137) at org.jbpm.taskmgmt.exe.TaskMgmtInstance.createTaskInstance(TaskMgmtInstance.java:102)
at org.jbpm.graph.node.TaskNode.execute(TaskNode.java:136)
at org.jbpm.graph.def.Node.enter(Node.java:284)
at org.jbpm.graph.def.Transition.take(Transition.java:92)
at org.jbpm.graph.def.Node.leave(Node.java:349)
at org.jbpm.graph.node.StartState.leave(StartState.java:73)
at org.jbpm.graph.exe.Token.signal(Token.java:127)
at org.jbpm.graph.exe.Token.signal(Token.java:92)
at com.sample.GestaoOcorrencias.testTaskAssignment(GestaoOcorrencias.java:34)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at junit.framework.TestCase.runTest(TestCase.java:154)
at junit.framework.TestCase.runBare(TestCase.java:127)
at junit.framework.TestResult$1.protect(TestResult.java:106)
at junit.framework.TestResult.runProtected(TestResult.java:124)
at junit.framework.TestResult.run(TestResult.java:109)
at junit.framework.TestCase.run(TestCase.java:118)
at junit.framework.TestSuite.runTest(TestSuite.java:208)
at junit.framework.TestSuite.run(TestSuite.java:203)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:478)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:344)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)
Caused by: java.lang.ClassCastException: com.sample.action.GravarOcorrenciaHandler
at org.jbpm.taskmgmt.exe.TaskMgmtInstance.invokeAssignmentHandler(TaskMgmtInstance.java:141)
... 25 more
What is wrong? Can anybody explain the reason for this exception, and what has to be done to solve this?
This example is a copy of Task assignment example in http://docs.jboss.com/jbpm/v3/userguide/tutorial.html#helloworldexample
Thanks,