[jboss-user] [JBoss jBPM] - Expression Language not worked in JBPM-jpdl-3.2.2
soumya_in
do-not-reply at jboss.com
Thu Jan 24 04:22:38 EST 2008
I used a back-end bean like this.
| public String strUser = "user";
| public String getStrUser() {
| return strUser;
| }
| public void setStrUser(String strUser) {
| this.strUser = strUser;
| }
|
I used a Expression Language to this Processdefinition.xml as follows.
| <process-definition xmlns="urn:jbpm.org:jpdl-3.2" name="loanProcess">
| <start-state name="start-state1">
| <task name="StartTask"></task>
| <transition to="task-node1"></transition>
| </start-state>
| <event type="task-create">
| <action class="com.sample.action.AssignUsr"></action>
| </event>
| <task-node name="task-node1">
| <task name="task1"> <assignment expression="user(#{obj[strUser]})"></assignment>
| </task>
| <transition to="End"></transition>
| </task-node>
| <end-state name="End"></end-state>
|
I set the back-end bean object to contextInstance in the following way in the JUnit
| processInstance.getContextInstance().setVariable("obj", obj);
|
Got a stack trace like this
| 14:28:27,401 [main] DEBUG ExpressionAssignmentHandler : resolving first term 'user(#{obj[strUser]})'
| Exception in thread "main" org.jbpm.graph.def.DelegationException: couldn't resolve assignment expression 'user(#{obj[strUser]})'
| at org.jbpm.taskmgmt.exe.TaskMgmtInstance.performAssignment(TaskMgmtInstance.java:216)
| at org.jbpm.taskmgmt.exe.TaskInstance.assign(TaskInstance.java:204)
| at org.jbpm.taskmgmt.exe.TaskMgmtInstance.createTaskInstance(TaskMgmtInstance.java:154)
| at org.jbpm.graph.node.TaskNode.execute(TaskNode.java:168)
| at org.jbpm.graph.def.Node.enter(Node.java:319)
| 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 org.hibernate.proxy.pojo.cglib.CGLIBLazyInitializer.invoke(CGLIBLazyInitializer.java:157)
| at org.jbpm.graph.def.Node$$EnhancerByCGLIB$$89d40aac.enter(<generated>)
| at org.jbpm.graph.def.Transition.take(Transition.java:151)
| at org.jbpm.graph.def.Node.leave(Node.java:394)
| at org.jbpm.graph.node.StartState.leave(StartState.java:70)
| 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 org.hibernate.proxy.pojo.cglib.CGLIBLazyInitializer.invoke(CGLIBLazyInitializer.java:157)
| at org.jbpm.graph.def.Node$$EnhancerByCGLIB$$89d40aac.leave(<generated>)
| at org.jbpm.graph.exe.Token.signal(Token.java:195)
| at org.jbpm.graph.exe.Token.signal(Token.java:140)
| at org.jbpm.graph.exe.ProcessInstance.signal(ProcessInstance.java:271)
| at com.cts.client.TestClient.main(TestClient.java:30)
| Caused by: org.jbpm.identity.assignment.ExpressionAssignmentException: couldn't resolve assignment expression 'user(#{obj[strUser]})'
| at org.jbpm.identity.assignment.ExpressionAssignmentHandler.assign(ExpressionAssignmentHandler.java:97)
| at org.jbpm.taskmgmt.exe.TaskMgmtInstance.performAssignmentDelegation(TaskMgmtInstance.java:228)
| at org.jbpm.taskmgmt.exe.TaskMgmtInstance.performAssignment(TaskMgmtInstance.java:201)
| ... 23 more
| Caused by: org.jbpm.identity.assignment.ExpressionAssignmentException: user '#{obj[strUser]}' couldn't be fetched from the user db
| at org.jbpm.identity.assignment.ExpressionAssignmentHandler.getUserByName(ExpressionAssignmentHandler.java:209)
| at org.jbpm.identity.assignment.ExpressionAssignmentHandler.resolveFirstTerm(ExpressionAssignmentHandler.java:147)
| at org.jbpm.identity.assignment.ExpressionAssignmentHandler.assign(ExpressionAssignmentHandler.java:75)
| ... 25 more
|
Am i doing something wrong!!!!
Is there any way to do the following i.e. to access certain variable from a back-end bean using Expression...
NB:- My jpbm is not integrated with Seam and I used to assign the task to that user whichever I wish to set in my back-end bean
Thanks
Soumya
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4122936#4122936
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4122936
More information about the jboss-user
mailing list