package com.oa.jbpm.handler;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import javax.annotation.Resource;
import org.jbpm.graph.exe.ExecutionContext;
import org.jbpm.graph.node.TaskNode;
import org.jbpm.taskmgmt.def.AssignmentHandler;
import org.jbpm.taskmgmt.def.Task;
import org.jbpm.taskmgmt.exe.Assignable;
import org.jbpm.taskmgmt.exe.TaskInstance;
import org.jbpm.taskmgmt.exe.TaskMgmtInstance;
import com.oa.model.Role;
import com.oa.model.Users;
import com.oa.model.UsersRoles;
import com.oa.service.UserService;
public class AdminDealProcess extends BeanAutowire implements AssignmentHandler {
private UserService userService;
private String roleName;
@Resource
public void setUserService(UserService userService) {
this.userService = userService;
}
public void assign(Assignable arg0, ExecutionContext arg1) throws Exception {
Role role = userService.getThisRole(roleName);
Set<UsersRoles> usersRoleList = role.getUsersRoles();
// List actiors=new ArrayList();
Set actiors=new HashSet();
for (UsersRoles object : usersRoleList) {
Users users=object.getUserId();
actiors.add(users.getAccount());
}
String []poolactors=(String[]) actiors.toArray(new String[actiors.size()]);
arg0.setPooledActors(poolactors);
}
}