[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