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”的使用教程,特别是关于其安装指南及调试工具的使用方法。 ### 第一部分:Identify安装向导 #### 1.1 系统要求 为了确保Identify能够正常运行,用户...
现在,我们将探讨如何自己动手实现ArcMap中的Identify功能。 首先,我们需要理解Identify功能的工作原理。当用户在地图界面上点击时,Identify会执行以下步骤: 1. **坐标定位**:确定鼠标点击的位置在地图上的...
### 自制ArcEngine中的iDentify工具 #### 背景介绍 在地理信息系统(GIS)领域,ArcEngine是Esri公司开发的一款强大的GIS开发平台,它提供了丰富的API供开发者进行二次开发,以满足各种特定的需求。其中,iDentify...
"Laravel开发-identify"是与Laravel框架相关的扩展,特别设计用于识别和检测用户的浏览器、设备、操作系统和语言。这个功能对于个性化用户体验、数据分析、安全性和其他Web应用优化策略至关重要。 首先,我们要理解...
在本篇文档中,我们探讨的是如何在C#环境下结合Adobe After Effects(AE)实现 Identify 功能,这通常指的是在地图应用中识别和查询特定地理信息的功能。此功能的实现涉及到了ArcGIS组件,这是一个强大的地理信息...
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 #### 概述 集群分析作为数据库挖掘的主要方法之一,在数据集中洞察分布模式方面扮演着至关重要的角色。它不仅可以作为一种独立工具来帮助聚焦...
资源分类:Python库 所属语言:Python 资源全名:identify-1.5.0.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
ArcEngine简单教程——数据属性:属性表、识别(Identify);删除图层 等功能实现Demo。包括实现右击TOC可以显示数据属性表、删除图层,双击Map可以识别地图属性 备份连接:链接:...
内部自带一个属性查看窗口,使用树结构对当前位置下所有图层对应的元素信息进行展示。需要修改的部分:缓冲区域范围。
《Microsemi Libero工具中的identify命令详解》 在FPGA设计领域,Microsemi的Libero是一款广泛使用的开发环境,它提供了全面的工具集,用于设计、实现、仿真、验证和编程FPGA器件。其中,`identify`命令是Libero...
Learn-to-identify-similar-images, 记录我的python 脚本关于学习相似图像的学习 中文我学习了如何识别类似的图像,我编写了一些 python 脚本。我在网络学习中实现了一些算法,在学习图像分类的过程中,我将对它的...
其中,"Identify Function"(识别功能)是ArcEngine中的一个重要组成部分,它允许用户在地图界面上点击或选择特定位置,获取该位置的详细属性信息,对于地图应用的交互性和实用性具有重大意义。本文将深入探讨Arc...
在ArcGIS Engine开发中,"Identify"程序是用于实现用户与地图交互的重要功能,它允许用户在地图上选择特定的图层或特征,并获取关于这些选定对象的详细信息。这个程序通常涉及到地理信息系统(GIS)的核心技术,包括...
根据提供的文件信息,我们可以推断出此文档与Synplify Premier 9.6.2以及Identify 3.0.2这两个软件有关。虽然描述部分提及到“过去能下载,现在不能下载了,等权限够了上传个完整的”,这表明当前无法下载这些软件包...
在本文中,我们将深入探讨Laravel开发中的一个重要组件——`laravel-identify`。这个开源软件包专为Laravel 5设计,旨在帮助开发者轻松地识别和检测访问应用的用户所使用的浏览器、设备、操作系统以及首选语言。了解...
### 使用 Identify 获取图片的水平分辨率和垂直分辨率 在日常工作中,我们经常需要处理各种图像文件,其中一项重要的任务就是获取图像的基本属性,如分辨率。在众多图像处理工具中,ImageMagick 提供了一个非常强大...
在ArcGIS中,Identify任务通常用于获取图层上的属性数据,例如,当用户点击地图上的一个城市,系统会显示出该城市的名称、人口、面积等信息。在AE开发中实现Identify功能,需要编写代码来处理地图点击事件,查询选定...
"arcgis二次开发实现identify功能"就是这样一个典型的案例,它涉及到的主要知识点包括ArcGIS Engine、Identify任务以及相关的API使用。 ArcGIS Engine是Esri公司提供的一个开发工具集,它允许程序员使用.NET、Java...
**Laravel 开发详解:构建高效API的dev-identify包装器** 在现代Web开发中,API(应用程序编程接口)已经成为连接不同系统和服务的关键组件。Laravel,作为一个优雅且功能强大的PHP框架,为开发者提供了构建高质量...