identify

package controllers;

import java.sql.Array;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.jbpm.api.ExecutionService;
import org.jbpm.api.IdentityService;
import org.jbpm.api.RepositoryService;
import org.jbpm.api.TaskService;
import org.jbpm.api.identity.Group;
import org.jbpm.api.identity.User; //import org.jbpm.pvm.internal.identity.impl.UserImpl;

import net.sf.json.JSONArray;

import models.JbpmFactory;
import models.Role;
import models.Shop; //import models.User;
import models.UserRole;
import play.*;
import play.mvc.*;

@With(Secure.class)
public class Identify extends Controller {

	public static void index() {

		IdentityService identityService = JbpmFactory.getIdentityService();
		List<org.jbpm.api.identity.User> jbpmUsers = identityService
				.findUsers();
		int jbpmUNUm = jbpmUsers.size();
		System.out.println("jbpmkkkk:"+jbpmUNUm);
		
		Boolean isGroup = false;
		Boolean isUser = false;
		
		List<models.User> users = models.User.findAll();
		int userNum = users.size();
		
		System.out.println("erpkkkk:"+userNum);
		for (int i = 0; i < userNum; i++) {
			models.User user = users.get(i);
			Long useId1 = user.id;
			String userID = String.valueOf(useId1);
			String userLogin1 = user.login;
			String userName=user.name;
			String userPwd = user.password;
			String userState = user.state;

			System.out.println("userNum:"+userNum+"      jbpmUsers.size:"+jbpmUsers.size());
//			if (jbpmUNUm == 0) {
//				identityService.createUser(userID, userLogin1, userName);
//			} else {
				for (int j = 0; j < jbpmUsers.size(); j++) {
					//System.out.println("user运行");
					String jUserId = jbpmUsers.get(j).getId();
					long juserId=Long.parseLong(jUserId);
					System.out.println("useId1:"+useId1+"      juserId:"+juserId);
					if (juserId==useId1)
					{
						
						isUser=true;
						break;
					   
					}
						else
						isUser=false;
				 
					}
					
				if(isUser==false)
					identityService.createUser(userID, userLogin1, userName);
		}

		String username = session.get("username");
		models.User userLogin = models.User.find("from User where login = ?",
				username).first();
		
		long id = userLogin.id;

		String useId = String.valueOf(id);
	
		List<Group> JbpmGroups = identityService.findGroupsByUser(useId);

		System.out.println(JbpmGroups.size());

		List<Role> roles = Role.findAll();
		System.out.println("*23333333333333333");
		int roleNum = roles.size();
		int jGroupNum = JbpmGroups.size();
		if (jGroupNum == 0) {
			for (int i = 0; i < roleNum; i++) {
				Role role = (Role) roles.get(i);
				String roleName = role.name;
				String roleId = String.valueOf(role.id);
				identityService.createGroup(roleName);
				List<UserRole> userArr = UserRole.find(
						"from UserRole where role_id = ?", role.id).fetch();
				for (int j = 0; j < userArr.size(); j++) {
					models.User user = userArr.get(j).user;
					
					identityService.createMembership(String.valueOf(user.id),roleName ,
							"developer");
				}
			}
		} else {

			for (int i = 0; i < roleNum; i++) {
				Role role = (Role) roles.get(i);
				String roleName = role.name;
				String roleId = String.valueOf(role.id);

				List<UserRole> userArr = UserRole.find(
						"from UserRole where role_id = ?", role.id).fetch();
				for (int j = 0; j < userArr.size(); j++) {
					models.User user = userArr.get(j).user;

					for (int t = 0; t < jGroupNum; t++) {

						String jGroupId = JbpmGroups.get(t).getId();
						if (jGroupId.equals(roleName)) {
							isGroup = true;
							break;
						}else{
							isUser=false;
						}
						
						}
					if (isGroup==false){
						identityService.createGroup(roleName);
					    identityService.createMembership(String.valueOf(user.id), roleId,
					         "developer");
					}

				}

			}
		}
		
		check();
	}
	
	
	@SuppressWarnings("deprecation")
	public static void check() {
//		IdentityService identityService = JbpmFactory.getIdentityService();
//		
//		List<org.jbpm.api.identity.User> jbpmUsers = identityService
//		.findUsers();
//		String username = session.get("username");
//		models.User userLogin = models.User.find("from User where login = ?",
//				username).first();
//		String id = userLogin.login;
//		List<Group> JbpmGroups = identityService.findGroupsByUser(id);
//		render(JbpmGroups);
		 Map<Role,List<models.User>> relation=new HashMap<Role, List<models.User>>();
			List<Role> roles=Role.findAll();
		   for(int i = 0;i<roles.size();i++){
			     Role role=roles.get(i);
			     List<models.User> users= models.UserRole.find("from UserRole where role_id = ?",
							role.id).fetch();
			     relation.put(role, users);
			   
		   }
			
			render(relation);
		
	}
}

你可能感兴趣的:(sql,json,mvc,jbpm,J#)