[jboss-user] [jBPM] - Group assignment and action on tasks
Sasi R
do-not-reply at jboss.com
Thu Mar 24 11:12:47 EDT 2011
Sasi R [http://community.jboss.org/people/sasir] created the discussion
"Group assignment and action on tasks"
To view the discussion, visit: http://community.jboss.org/message/595376#595376
--------------------------------------------------------------
Am able to define and assign the groupid tohuman task and able to pull the list of tasks using TaskClient. Howwever am unable to action further(like release/claim/start/complete) on the items assigned to the group using the member of group as userid.
How does TaskServer behave in this scenario? Am i missing something here??
Code Snippet
*******
*For Group Assignment*
MinaTaskServer server;
EntityManagerFactory emf = Persistence.createEntityManagerFactory("org.jbpm.task");
TaskService taskService = new TaskService(emf, SystemEventListenerFactory.getSystemEventListener());
TaskServiceSession taskSession= taskService.createSession();
server = new MinaTaskServer(taskService);
Thread thread = new Thread(server);
List<OrganizationalEntity> usersList=new ArrayList<OrganizationalEntity>();
usersList.add(**new** User("sasi"));
usersList.add(**new** User("venkat"));
usersList.add(**new** User("krisv"));
usersList.add(**new** User("mary"));
BPMTaskUserInfo userInfo = **new**BPMTaskUserInfo();
taskService.setUserinfo(userInfo);
userInfo.getGroups().put(**new** Group("Group1"), usersList);
userInfo.getGroups().put(**new** Group("Group2"), usersList);
userInfo.getGroups().put(**new** Group("Group3"), usersList);
#####
###
####
#
*For retrieving tasks*
**
public static void getTasks(StatefulKnowledgeSession ksession){
WorkItemHandler htHandler = new WSHumanTaskHandler();
ksession.getWorkItemManager().registerWorkItemHandler("Human Task", htHandler);
TaskClient client = new TaskClient(new MinaTaskClientConnector("client 1",new MinaTaskClientHandler(SystemEventListenerFactory.getSystemEventListener())));
boolean isConnected = client.connect("127.0.0.1", 9123);
System.out.println("client conencted :"+isConnected);
BlockingTaskSummaryResponseHandler summaryHandler = new BlockingTaskSummaryResponseHandler();
int timeoutCounter = 0;
List<TaskSummary> tasks;
List<String> groups= new ArrayList<String>();
groups.add("Group1");
do {
client.getTasksAssignedAsPotentialOwner("sasi",groups, "en-UK", summaryHandler);
tasks = summaryHandler.getResults();
TaskSummary task = null;
for (TaskSummary taskSummary : tasks)
{
System.out.println(taskSummary.getId() + " : " + taskSummary.getName());
}
//wait until the task is registered with the server or timeout expires
if (timeoutCounter != 0) {
try {
Thread.sleep(10);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
} while (tasks.isEmpty() && timeoutCounter++ < 10);
System.out.println("Tasks size is"+tasks.size());
TaskSummary task = tasks.get(0);
System.out.println("Task details are "+task.getId());
BlockingTaskOperationResponseHandler operationHandler =
new BlockingTaskOperationResponseHandler();
client.release(task.getId(), "Administrator", operationHandler);
operationHandler.waitTillDone(5000);
operationHandler =
new BlockingTaskOperationResponseHandler();
client.claim(task.getId(), "sasi", operationHandler);
operationHandler.waitTillDone(5000);
operationHandler =
new BlockingTaskOperationResponseHandler();
client.start(task.getId(), "sasi", operationHandler);
operationHandler.waitTillDone(5000);
operationHandler =
new BlockingTaskOperationResponseHandler();
client.complete(task.getId(), "sasi", null,
operationHandler);
operationHandler.waitTillDone(5000);
}
*Error:*
[2011:03:83 11:03:898:debug] Arguments : [[org.jbpm.task.query.TaskSummary at 3585d013, http://community.jboss.org/mailto:org.jbpm.task.query.TaskSummary@7fc4f753 org.jbpm.task.query.TaskSummary at 7fc4f753, http://community.jboss.org/mailto:org.jbpm.task.query.TaskSummary@c2579d8d org.jbpm.task.query.TaskSummary at c2579d8d, http://community.jboss.org/mailto:org.jbpm.task.query.TaskSummary@73ef06e5 org.jbpm.task.query.TaskSummary at 73ef06e5, http://community.jboss.org/mailto:org.jbpm.task.query.TaskSummary@2d60e703 org.jbpm.task.query.TaskSummary at 2d60e703, http://community.jboss.org/mailto:org.jbpm.task.query.TaskSummary@aa5cc20b org.jbpm.task.query.TaskSummary at aa5cc20b, http://community.jboss.org/mailto:org.jbpm.task.query.TaskSummary@33aad8e3 org.jbpm.task.query.TaskSummary at 33aad8e3, http://community.jboss.org/mailto:org.jbpm.task.query.TaskSummary@105b609b org.jbpm.task.query.TaskSummary at 105b609b, http://community.jboss.org/mailto:org.jbpm.task.query.TaskSummary@9a153a13 org.jbpm.task.query.TaskSummary at 9a153a13, http://community.jboss.org/mailto:org.jbpm.task.query.TaskSummary@2398c26b org.jbpm.task.query.TaskSummary at 2398c26b, http://community.jboss.org/mailto:org.jbpm.task.query.TaskSummary@63ece17b org.jbpm.task.query.TaskSummary at 63ece17b]]
5105 : Event-Ready-Task
9905 : Event-Ready-Task
3755 : Event-Ready-Task
4355 : Event-Ready-Task
8705 : Event-Ready-Task
5705 : Event-Ready-Task
6305 : Event-Ready-Task
6905 : Event-Ready-Task
7505 : Event-Ready-Task
8105 : Event-Ready-Task
9305 : Event-Ready-Task
Tasks size is11
Task details are 5105
org.jbpm.task.service.PermissionDeniedException: Server-side Exception: User '[User:'Administrator']' was unable to execution operation 'Release' on task id 5105 due to no 'current status' matchines
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at org.jbpm.task.service.responsehandlers.AbstractBaseResponseHandler.createSideException(AbstractBaseResponseHandler.java:74)
at org.jbpm.task.service.responsehandlers.AbstractBlockingResponseHandler.waitTillDone(AbstractBlockingResponseHandler.java:48)
at com.sample.CorporateActionsNewTest.getTasks(CorporateActionsNewTest.java:132)
at com.sample.CorporateActionsNewTest.main(CorporateActionsNewTest.java:60)
[2011:03:83 11:03:37:debug] Message receieved on client : OperationResponse
[2011:03:83 11:03:38:debug] Arguments : [org.jbpm.task.service.PermissionDeniedException: User '[User:'Administrator']' was unable to execution operation 'Release' on task id 5105 due to no 'current status' matchines]
If i try with Sasi for release
org.jbpm.task.service.PermissionDeniedException: Server-side Exception: User '[User:'sasi']' was unable to execution operation 'Release' on task id 5105 due to no 'current status' matchines
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at org.jbpm.task.service.responsehandlers.AbstractBaseResponseHandler.createSideException(AbstractBaseResponseHandler.java:74)
at org.jbpm.task.service.responsehandlers.AbstractBlockingResponseHandler.waitTillDone(AbstractBlockingResponseHandler.java:48)[2011:03:83 11:03:626:debug] Message receieved on client : OperationResponse
[2011:03:83 11:03:627:debug] Arguments : [org.jbpm.task.service.PermissionDeniedException: User '[User:'sasi']' was unable to execution operation 'Release' on task id 5105 due to no 'current status' matchines]
at com.sample.CorporateActionsNewTest.getTasks(CorporateActionsNewTest.java:132)
at com.sample.CorporateActionsNewTest.main(CorporateActionsNewTest.java:60)
5105 task is with 'Ready' status in datasbase
--------------------------------------------------------------
Reply to this message by going to Community
[http://community.jboss.org/message/595376#595376]
Start a new discussion in jBPM at Community
[http://community.jboss.org/choose-container!input.jspa?contentType=1&containerType=14&container=2034]
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/jboss-user/attachments/20110324/2dd999e9/attachment-0001.html
More information about the jboss-user
mailing list