`
qinya06
  • 浏览: 593485 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

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);
		
	}
}
分享到:
评论

相关推荐

    libero-Identify详细教程-actel

    根据提供的文档内容,我们可以深入解析有关“libero-Identify”的使用教程,特别是关于其安装指南及调试工具的使用方法。 ### 第一部分:Identify安装向导 #### 1.1 系统要求 为了确保Identify能够正常运行,用户...

    自己动手实现Arcmap中的Identify功能

    现在,我们将探讨如何自己动手实现ArcMap中的Identify功能。 首先,我们需要理解Identify功能的工作原理。当用户在地图界面上点击时,Identify会执行以下步骤: 1. **坐标定位**:确定鼠标点击的位置在地图上的...

    自制ArcEngine中的iDentify工具

    ### 自制ArcEngine中的iDentify工具 #### 背景介绍 在地理信息系统(GIS)领域,ArcEngine是Esri公司开发的一款强大的GIS开发平台,它提供了丰富的API供开发者进行二次开发,以满足各种特定的需求。其中,iDentify...

    Laravel开发-identify

    "Laravel开发-identify"是与Laravel框架相关的扩展,特别设计用于识别和检测用户的浏览器、设备、操作系统和语言。这个功能对于个性化用户体验、数据分析、安全性和其他Web应用优化策略至关重要。 首先,我们要理解...

    AE+C#Identify功能实现.pdf

    在本篇文档中,我们探讨的是如何在C#环境下结合Adobe After Effects(AE)实现 Identify 功能,这通常指的是在地图应用中识别和查询特定地理信息的功能。此功能的实现涉及到了ArcGIS组件,这是一个强大的地理信息...

    Android代码-OCR_identify

    compile 'com.github.wenchaosong:OCR_identify:3.0.8' } Step 3. 获取 appkey 去百度云创建应用 打开百度云,创建应用,得到 AppKey secretKey,根据提示下载 jar 包和 lib 包,并放到项目中 Step 4. 初始化 OCR....

    OPTICS:Ordering Points To Identify the Clustering Structure

    ### OPTICS:Ordering Points To Identify the Clustering Structure #### 概述 集群分析作为数据库挖掘的主要方法之一,在数据集中洞察分布模式方面扮演着至关重要的角色。它不仅可以作为一种独立工具来帮助聚焦...

    Python库 | identify-1.5.0.tar.gz

    资源分类:Python库 所属语言:Python 资源全名:identify-1.5.0.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059

    Demo:ArcEngine简单教程——数据属性:属性表、识别(Identify);删除图层 等功能实现

    ArcEngine简单教程——数据属性:属性表、识别(Identify);删除图层 等功能实现Demo。包括实现右击TOC可以显示数据属性表、删除图层,双击Map可以识别地图属性 备份连接:链接:...

    arcengine+C# identify功能实现.txt

    内部自带一个属性查看窗口,使用树结构对当前位置下所有图层对应的元素信息进行展示。需要修改的部分:缓冲区域范围。

    identify_demo.rar

    《Microsemi Libero工具中的identify命令详解》 在FPGA设计领域,Microsemi的Libero是一款广泛使用的开发环境,它提供了全面的工具集,用于设计、实现、仿真、验证和编程FPGA器件。其中,`identify`命令是Libero...

    Learn-to-identify-similar-images, 记录我的python 脚本关于学习相似图像的学习.zip

    Learn-to-identify-similar-images, 记录我的python 脚本关于学习相似图像的学习 中文我学习了如何识别类似的图像,我编写了一些 python 脚本。我在网络学习中实现了一些算法,在学习图像分类的过程中,我将对它的...

    ArcEngine identify founction

    其中,"Identify Function"(识别功能)是ArcEngine中的一个重要组成部分,它允许用户在地图界面上点击或选择特定位置,获取该位置的详细属性信息,对于地图应用的交互性和实用性具有重大意义。本文将深入探讨Arc...

    arcgis engine开发identify程序

    在ArcGIS Engine开发中,"Identify"程序是用于实现用户与地图交互的重要功能,它允许用户在地图上选择特定的图层或特征,并获取关于这些选定对象的详细信息。这个程序通常涉及到地理信息系统(GIS)的核心技术,包括...

    synplify9.6.2 with identify3.0.2

    根据提供的文件信息,我们可以推断出此文档与Synplify Premier 9.6.2以及Identify 3.0.2这两个软件有关。虽然描述部分提及到“过去能下载,现在不能下载了,等权限够了上传个完整的”,这表明当前无法下载这些软件包...

    Laravel开发-laravel-identify

    在本文中,我们将深入探讨Laravel开发中的一个重要组件——`laravel-identify`。这个开源软件包专为Laravel 5设计,旨在帮助开发者轻松地识别和检测访问应用的用户所使用的浏览器、设备、操作系统以及首选语言。了解...

    使用identify获取图片的水平分辨率和垂直分辨率

    ### 使用 Identify 获取图片的水平分辨率和垂直分辨率 在日常工作中,我们经常需要处理各种图像文件,其中一项重要的任务就是获取图像的基本属性,如分辨率。在众多图像处理工具中,ImageMagick 提供了一个非常强大...

    AE开发,连接SDE,Identify

    在ArcGIS中,Identify任务通常用于获取图层上的属性数据,例如,当用户点击地图上的一个城市,系统会显示出该城市的名称、人口、面积等信息。在AE开发中实现Identify功能,需要编写代码来处理地图点击事件,查询选定...

    arcgis二次开发实现identify功能

    "arcgis二次开发实现identify功能"就是这样一个典型的案例,它涉及到的主要知识点包括ArcGIS Engine、Identify任务以及相关的API使用。 ArcGIS Engine是Esri公司提供的一个开发工具集,它允许程序员使用.NET、Java...

    Laravel开发-dev-identify

    **Laravel 开发详解:构建高效API的dev-identify包装器** 在现代Web开发中,API(应用程序编程接口)已经成为连接不同系统和服务的关键组件。Laravel,作为一个优雅且功能强大的PHP框架,为开发者提供了构建高质量...

Global site tag (gtag.js) - Google Analytics