Hi All, Right now Iam playing with assignment handlers and I have many confusions. What will happen when we assign a task to [1] group [2] role {member ship name}
what I expected is task should be assigned to all members of group/who matched role. But here when task is assigned to group, its not getting assigned to any user and if task is assigned based on role then its getting assigned to only one user even there exists many users with that role. Process Definition | <?xml version="1.0" encoding="UTF-8"?> | | <process-definition name="tmp1swimlanetest-2"> | | <!-- SWIMLANES (= process roles) --> | <swimlane name="tosomeone"> | <assignment expression="user(rajeev)" /> | </swimlane> | | <!-- NODES --> | | <start-state name="tmp1swimlanetest-2-state-1"> | <task swimlane="tosomeone"> | <controller> | <variable name="initiatorname" /> | <variable name="assignmentexpression" /> | </controller> | </task> | <transition to="tmp1swimlanetest-2-state-2" /> | </start-state> | | <task-node name="tmp1swimlanetest-2-state-2"> | <task> | <assignment class='com.sample.workflow.assignments.Swimlanetest2AH1' /> | <controller> | <variable name="initiatorname" access="read"/> | <variable name="assignmentexpression" access="read"/> | <variable name="yourname"/> | </controller> | </task> | <transition to="end" /> | </task-node> | | <end-state name="end" /> | | </process-definition> | Assignment Handler -> Swimlanetest2AH1 | package com.sample.workflow.assignments; | | import org.jbpm.graph.exe.*; | import org.jbpm.taskmgmt.def.*; | import org.jbpm.taskmgmt.exe.Assignable; | import org.jbpm.identity.assignment.*; | | public class Swimlanetest2AH1 extends ExpressionAssignmentHandler { | | private static final long serialVersionUID = 1L; | | public void assign(Assignable assignable, ExecutionContext executionContext) { | System.out.println("*********Inside Swimlanetest2AH1****"); | String strExpression = (String)executionContext.getVariable("assignmentexpression"); | System.out.println("Got expression as " + strExpression); | | System.out.println("*****Assigning based on assignment expression"); | super.expression = strExpression; | super.assign(assignable, executionContext); | System.out.println("*******Finished Swimlanetest2AH1*********"); | } | | } | TABLES | JBPM_ID_MEMBERSHIP | ****************** | ID_ CLASS_ NAME_ ROLE_ USER_ GROUP_ | ---------------------------------------------------------------- | 959 M 960 958 | 957 M leaderofthegang 956 958 | 960 M teammember 4 959 | 961 M teammember 5 959 | 962 M projectleader 6 959 | 963 M technicalleader 7 959 | | JBPM_ID_GROUP | ************* | ID_ CLASS_ NAME_ TYPE_ | ---------------------------------------- | 958 G hellsangels hierarchy | 959 G dummy project | | JBPM_ID_USER | ************ | ID_ CLASS_ NAME_ EMAIL_ PASSWORD_ | ------------------------------------------------------------------ | 3 U bert [EMAIL PROTECTED] ernie,theresabananainyourear | 956 U john | 960 U bill | 4 U siddarth siddarth | 2 U ernie [EMAIL PROTECTED] canthereyoubert,theresabananainmyear | 5 U praveen praveen | 6 U rajeev rajeev | 7 U shaileshraval shaileshraval | Below are sample assignment tests that are performed. | (test-1) | data given= | | initiatorname::rajeev | assignmentexpression::group(dummy) | | console output= | | 20:51:47,833 INFO [STDOUT] Hibernate: select hibernate_sequence.nextval from dual | 20:51:47,848 INFO [STDOUT] *********Inside Swimlanetest2AH1**** | 20:51:47,848 INFO [STDOUT] Got expression as group(dummy) | 20:51:47,848 INFO [STDOUT] *****Assigning based on assignment expression | 20:51:47,848 DEBUG [ExpressionAssignmentHandler] resolving first term 'group(dummy)' | 20:51:47,848 INFO [STDOUT] Hibernate: select hibernate_sequence.nextval from dual | 20:51:47,848 INFO [STDOUT] Hibernate: select group0_.ID_ as ID1_, group0_.NAME_ as NAME3_2_, group0_.TYPE_ as TYPE4_2_ from JBPM_ID_GROUP group0_ where group0_.NAME_=? | 20:51:47,864 INFO [STDOUT] *******Finished Swimlanetest2AH1********* | 20:51:47,864 DEBUG [GraphElement] event 'task-create' on 'Task(tmp1swimlanetest-2-state-2)' for 'Token(/)' | 20:51:47,864 INFO [STDOUT] Hibernate: select events0_.TASK_ as TASK8___, events0_.ID_ as ID1___, events0_.EVENTTYPE_ as EVENTTYPE2___, events0_.ID_ as ID1_0_, events0_.EVENTTYPE_ as EVENTTYPE2_7_0_, events0_.TYPE_ as TYPE3_7_0_, events0_.GRAPHELEMENT_ as GRAPHELE4_7_0_ from JBPM_EVENT events0_ where events0_.TASK_=? | 20:51:47,864 DEBUG [GraphElement] event 'after-signal' on 'StartState(tmp1swimlanetest-2-state-1)' for 'Token(/)' | 20:51:47,864 DEBUG [TaskBean] assignmentlogs: [] | 20:51:47,864 INFO [STDOUT] Hibernate: select hibernate_sequence.nextval from dual | 20:51:47,864 INFO [STDOUT] Hibernate: select hibernate_sequence.nextval from dual | 20:51:47,864 INFO [STDOUT] Hibernate: select hibernate_sequence.nextval from dual | 20:51:47,864 INFO [STDOUT] Hibernate: select hibernate_sequence.nextval from dual | 20:51:47,880 DEBUG [PersistenceContext] committing transaction | 20:51:47,880 INFO [STDOUT] Hibernate: select hibernate_sequence.nextval from dual | 20:51:47,880 INFO [STDOUT] Hibernate: insert into JBPM_VARIABLEINSTANCE (NAME_, CONVERTER_, TOKEN_, TOKENVARIABLEMAP_, PROCESSINSTANCE_, STRINGVALUE_, CLASS_, ID_) values (?, ?, ?, ?, ?, ?, 'S', ?) | | Expected Result:: Task will be assigned to all the users in the specified group | | Question:: Why task is not assigned to any user. | ------------------ | | (test-2) | data given= | | initiatorname::rajeev | assignmentexpression::group(dummy) --> member(projectleader) | | console output= | | 20:58:26,278 INFO [STDOUT] Hibernate: select hibernate_sequence.nextval from dual | 20:58:26,293 INFO [STDOUT] *********Inside Swimlanetest2AH1**** | 20:58:26,293 INFO [STDOUT] Got expression as group(dummy) --> member(projectleader) | 20:58:26,293 INFO [STDOUT] *****Assigning based on assignment expression | 20:58:26,293 DEBUG [ExpressionAssignmentHandler] resolving first term 'group(dummy)' | 20:58:26,293 INFO [STDOUT] Hibernate: select hibernate_sequence.nextval from dual | 20:58:26,309 INFO [STDOUT] Hibernate: select group0_.ID_ as ID1_, group0_.NAME_ as NAME3_2_, group0_.TYPE_ as TYPE4_2_ from JBPM_ID_GROUP group0_ where group0_.NAME_=? | 20:58:26,309 DEBUG [ExpressionAssignmentHandler] resolving next term 'member(projectleader)' | 20:58:26,309 INFO [STDOUT] Hibernate: select membership0_.GROUP_ as GROUP6___, membership0_.ID_ as ID1___, membership0_.ID_ as ID1_0_, membership0_.NAME_ as NAME3_3_0_, membership0_.ROLE_ as ROLE4_3_0_, membership0_.USER_ as USER5_3_0_, membership0_.GROUP_ as GROUP6_3_0_ from JBPM_ID_MEMBERSHIP membership0_ where membership0_.GROUP_=? | 20:58:26,340 INFO [STDOUT] Hibernate: select user0_.ID_ as ID1_0_, user0_.NAME_ as NAME3_0_0_, user0_.EMAIL_ as EMAIL4_0_0_, user0_.PASSWORD_ as PASSWORD5_0_0_ from JBPM_ID_USER user0_ where user0_.ID_=? | 20:58:26,356 DEBUG [GraphElement] event 'task-assign' on 'Task(tmp1swimlanetest-2-state-2)' for 'Token(/)' | 20:58:26,356 INFO [STDOUT] Hibernate: select events0_.TASK_ as TASK8___, events0_.ID_ as ID1___, events0_.EVENTTYPE_ as EVENTTYPE2___, events0_.ID_ as ID1_0_, events0_.EVENTTYPE_ as EVENTTYPE2_7_0_, events0_.TYPE_ as TYPE3_7_0_, events0_.GRAPHELEMENT_ as GRAPHELE4_7_0_ from JBPM_EVENT events0_ where events0_.TASK_=? | 20:58:26,372 INFO [STDOUT] *******Finished Swimlanetest2AH1********* | 20:58:26,372 DEBUG [GraphElement] event 'task-create' on 'Task(tmp1swimlanetest-2-state-2)' for 'Token(/)' | 20:58:26,372 DEBUG [GraphElement] event 'after-signal' on 'StartState(tmp1swimlanetest-2-state-1)' for 'Token(/)' | 20:58:26,372 DEBUG [TaskBean] assignmentlogs: [task-assign[rajeev,[EMAIL PROTECTED] | 20:58:26,372 INFO [STDOUT] [Debug] msg | 20:58:26,372 INFO [STDOUT] Hibernate: select hibernate_sequence.nextval from dual | 20:58:26,372 INFO [STDOUT] Hibernate: select hibernate_sequence.nextval from dual | | Got Expected Result | -------------------- | | (test-3) | datagiven= | | initiatorname::rajeev | assignmentexpression::group(dummy) --> member(technicalleader) | | console output= | | 21:02:27,564 INFO [STDOUT] *********Inside Swimlanetest2AH1**** | 21:02:27,564 INFO [STDOUT] Got expression as group(dummy) --> member(technicalleader) | 21:02:27,564 INFO [STDOUT] *****Assigning based on assignment expression | 21:02:27,564 DEBUG [ExpressionAssignmentHandler] resolving first term 'group(dummy)' | 21:02:27,564 INFO [STDOUT] Hibernate: select hibernate_sequence.nextval from dual | 21:02:27,564 INFO [STDOUT] Hibernate: select group0_.ID_ as ID1_, group0_.NAME_ as NAME3_2_, group0_.TYPE_ as TYPE4_2_ from JBPM_ID_GROUP group0_ where group0_.NAME_=? | 21:02:27,564 DEBUG [ExpressionAssignmentHandler] resolving next term 'member(technicalleader)' | 21:02:27,580 INFO [STDOUT] Hibernate: select membership0_.GROUP_ as GROUP6___, membership0_.ID_ as ID1___, membership0_.ID_ as ID1_0_, membership0_.NAME_ as NAME3_3_0_, membership0_.ROLE_ as ROLE4_3_0_, membership0_.USER_ as USER5_3_0_, membership0_.GROUP_ as GROUP6_3_0_ from JBPM_ID_MEMBERSHIP membership0_ where membership0_.GROUP_=? | 21:02:27,595 INFO [STDOUT] Hibernate: select user0_.ID_ as ID1_0_, user0_.NAME_ as NAME3_0_0_, user0_.EMAIL_ as EMAIL4_0_0_, user0_.PASSWORD_ as PASSWORD5_0_0_ from JBPM_ID_USER user0_ where user0_.ID_=? | 21:02:27,595 DEBUG [GraphElement] event 'task-assign' on 'Task(tmp1swimlanetest-2-state-2)' for 'Token(/)' | 21:02:27,595 INFO [STDOUT] Hibernate: select events0_.TASK_ as TASK8___, events0_.ID_ as ID1___, events0_.EVENTTYPE_ as EVENTTYPE2___, events0_.ID_ as ID1_0_, events0_.EVENTTYPE_ as EVENTTYPE2_7_0_, events0_.TYPE_ as TYPE3_7_0_, events0_.GRAPHELEMENT_ as GRAPHELE4_7_0_ from JBPM_EVENT events0_ where events0_.TASK_=? | 21:02:27,595 INFO [STDOUT] *******Finished Swimlanetest2AH1********* | 21:02:27,595 DEBUG [GraphElement] event 'task-create' on 'Task(tmp1swimlanetest-2-state-2)' for 'Token(/)' | 21:02:27,595 DEBUG [GraphElement] event 'after-signal' on 'StartState(tmp1swimlanetest-2-state-1)' for 'Token(/)' | 21:02:27,595 DEBUG [TaskBean] assignmentlogs: [task-assign[shaileshraval,[EMAIL PROTECTED] | 21:02:27,595 INFO [STDOUT] [Debug] msg | 21:02:27,611 INFO [STDOUT] Hibernate: select hibernate_sequence.nextval from dual | 21:02:27,611 INFO [STDOUT] Hibernate: select hibernate_sequence.nextval from dual | 21:02:27,611 INFO [STDOUT] Hibernate: select hibernate_sequence.nextval from dual | 21:02:27,611 INFO [STDOUT] Hibernate: select hibernate_sequence.nextval from dual | 21:02:27,611 INFO [STDOUT] Hibernate: select hibernate_sequence.nextval from dual | | Got Expected Result | --------------------- | | (test-4) | data given= | | initiatorname::rajeev | assignmentexpression::group(dummy) --> member(teammember) | | console output= | | 21:05:22,829 INFO [STDOUT] Hibernate: select hibernate_sequence.nextval from dual | 21:05:22,844 INFO [STDOUT] *********Inside Swimlanetest2AH1**** | 21:05:22,844 INFO [STDOUT] Got expression as group(dummy) --> member(teammember) | 21:05:22,844 INFO [STDOUT] *****Assigning based on assignment expression | 21:05:22,844 DEBUG [ExpressionAssignmentHandler] resolving first term 'group(dummy)' | 21:05:22,844 INFO [STDOUT] Hibernate: select hibernate_sequence.nextval from dual | 21:05:22,844 INFO [STDOUT] Hibernate: select group0_.ID_ as ID1_, group0_.NAME_ as NAME3_2_, group0_.TYPE_ as TYPE4_2_ from JBPM_ID_GROUP group0_ where group0_.NAME_=? | 21:05:22,876 DEBUG [ExpressionAssignmentHandler] resolving next term 'member(teammember)' | 21:05:22,876 INFO [STDOUT] Hibernate: select membership0_.GROUP_ as GROUP6___, membership0_.ID_ as ID1___, membership0_.ID_ as ID1_0_, membership0_.NAME_ as NAME3_3_0_, membership0_.ROLE_ as ROLE4_3_0_, membership0_.USER_ as USER5_3_0_, membership0_.GROUP_ as GROUP6_3_0_ from JBPM_ID_MEMBERSHIP membership0_ where membership0_.GROUP_=? | 21:05:22,876 INFO [STDOUT] Hibernate: select user0_.ID_ as ID1_0_, user0_.NAME_ as NAME3_0_0_, user0_.EMAIL_ as EMAIL4_0_0_, user0_.PASSWORD_ as PASSWORD5_0_0_ from JBPM_ID_USER user0_ where user0_.ID_=? | 21:05:22,876 DEBUG [GraphElement] event 'task-assign' on 'Task(tmp1swimlanetest-2-state-2)' for 'Token(/)' | 21:05:22,876 INFO [STDOUT] Hibernate: select events0_.TASK_ as TASK8___, events0_.ID_ as ID1___, events0_.EVENTTYPE_ as EVENTTYPE2___, events0_.ID_ as ID1_0_, events0_.EVENTTYPE_ as EVENTTYPE2_7_0_, events0_.TYPE_ as TYPE3_7_0_, events0_.GRAPHELEMENT_ as GRAPHELE4_7_0_ from JBPM_EVENT events0_ where events0_.TASK_=? | 21:05:22,891 INFO [STDOUT] *******Finished Swimlanetest2AH1********* | 21:05:22,891 DEBUG [GraphElement] event 'task-create' on 'Task(tmp1swimlanetest-2-state-2)' for 'Token(/)' | 21:05:22,891 DEBUG [GraphElement] event 'after-signal' on 'StartState(tmp1swimlanetest-2-state-1)' for 'Token(/)' | 21:05:22,891 DEBUG [TaskBean] assignmentlogs: [task-assign[siddarth,[EMAIL PROTECTED] | 21:05:22,891 INFO [STDOUT] [Debug] msg | 21:05:22,891 INFO [STDOUT] Hibernate: select hibernate_sequence.nextval from dual | 21:05:22,891 INFO [STDOUT] Hibernate: select hibernate_sequence.nextval from dual | 21:05:22,891 INFO [STDOUT] Hibernate: select hibernate_sequence.nextval from dual | 21:05:22,891 INFO [STDOUT] Hibernate: select hibernate_sequence.nextval from dual | 21:05:22,907 INFO [STDOUT] Hibernate: select hibernate_sequence.nextval from dual | 21:05:22,907 DEBUG [PersistenceContext] committing transaction | 21:05:22,907 INFO [STDOUT] Hibernate: insert into JBPM_VARIABLEINSTANCE (NAME_, CONVERTER_, TOKEN_, TOKENVARIABLEMAP_, PROCESSINSTANCE_, STRINGVALUE_, CLASS_, ID_) values (?, ?, ?, ?, ?, ?, 'S', ?) | | Expected Result:: Task will be assigned to all the users whose role is teammember | | Question:: Why task is not assigned to another user, praveen but only got assigned to siddarth. | --------------------- | | | | Please clarify my problems. Is there any link where detailed in-depth examples are given for assignment handlers. | | Thanks in advance, | View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3909795#3909795 Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3909795 ------------------------------------------------------- This SF.net email is sponsored by: Splunk Inc. Do you grep through log files for problems? Stop! Download the new AJAX search engine that makes searching your log files as easy as surfing the web. DOWNLOAD SPLUNK! http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click _______________________________________________ JBoss-user mailing list JBoss-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/jboss-user