How to use a Seam component in swimlane assignment
chawax Dec 4, 2007 6:00 AMHi,
My application uses a JBPM business process and I need to assign tasks on runtime. To do this I made a Seam component and I call it in the swimlane assignment expression.
To be more precise, the task is defined as following :
<task-node name="validation"> <task swimlane="valideurs"></task> <transition to="acceptation" name="ok"></transition> <transition to="refus" name="nok"></transition> </task-node>
And the swimlane is defined as following :
<swimlane name="valideurs">
<assignment expression="#{assignmentHandler.assignByRole('USAGE')}"></assignment>
</swimlane>The assignByRole method of my assignmentHandler component returns String[] (not sure it is correct, but I could not find any example).
But when I create a process instance, I have the following error :
11:55:04,241 ERROR [STDERR] Caused by: org.jbpm.identity.assignment.ExpressionAssignmentException: couldn't resolve assignment expression '#{assignmentHandler.assignByRole('USAGE')}'
11:55:04,241 ERROR [STDERR] at org.jbpm.identity.assignment.ExpressionAssignmentHandler.assign(ExpressionAssignmentHandler.java:97)
11:55:04,241 ERROR [STDERR] at org.jboss.seam.bpm.SeamUserCodeInterceptor$2.process(SeamUserCodeInterceptor.java:102)
11:55:04,241 ERROR [STDERR] at org.jboss.seam.bpm.SeamUserCodeInterceptor$ContextualCall.run(SeamUserCodeInterceptor.java:33)
11:55:04,241 ERROR [STDERR] at org.jboss.seam.bpm.SeamUserCodeInterceptor.executeAssignment(SeamUserCodeInterceptor.java:96)
11:55:04,241 ERROR [STDERR] at org.jbpm.taskmgmt.exe.TaskMgmtInstance.performAssignmentDelegation(TaskMgmtInstance.java:226)
11:55:04,241 ERROR [STDERR] at org.jbpm.taskmgmt.exe.TaskMgmtInstance.performAssignment(TaskMgmtInstance.java:201)
11:55:04,241 ERROR [STDERR] ... 171 more
11:55:04,241 ERROR [STDERR] Caused by: org.jbpm.identity.assignment.ExpressionAssignmentException: couldn't interpret first term in expression '#{assignmentHandler.assignByRole('USAGE')}'
11:55:04,241 ERROR [STDERR] at org.jbpm.identity.assignment.ExpressionAssignmentHandler.resolveFirstTerm(ExpressionAssignmentHandler.java:155)
11:55:04,241 ERROR [STDERR] at org.jbpm.identity.assignment.ExpressionAssignmentHandler.assign(ExpressionAssignmentHandler.java:75)
11:55:04,241 ERROR [STDERR] ... 176 moreSo it looks like you can not use EL expressions in swimlane assignment ... Anyone has an idea how I should do this ?