批量授一种权限给用户程序 plm enovia
set context user DanielDai;
add program LUX_UserAssignment
java
execute immediate
code 'import com.matrixone.apps.domain.util.MqlUtil; import matrix.db.Context; import org.apache.commons.lang.StringUtils; import java.io.*; public class ${CLASSNAME} { public void assignRole(Context context, String[] args) throws Exception{ if(!StringUtils.isNotBlank(args[0])){ System.out.println("exit0:path is null"); return; } String path = args[0]; if(!StringUtils.isNotBlank(args[1])){ System.out.println("exit1:role is null"); return; } String role = args[1]; File file = new File(path); if(!file.exists()){ System.out.println("exist2:file no exist"); return; } InputStream inputStream = new FileInputStream(file); Reader reader = new InputStreamReader(inputStream); BufferedReader bufferedReader = new BufferedReader(reader); String line = null; while((line=bufferedReader.readLine())!=null){ String mql = "temp query bus Person * - where attribute[Email Address]==" + line + " ;"; String res = MqlUtil.mqlCommand(context,mql); if(!StringUtils.isNotBlank(res)){ String[] resS = res.split(","); String personName = resS[1]; mql = "modify Person " + personName + "assign role " + role + " ;"; MqlUtil.mqlCommand(context,mql); } } } } '
;
compile program LUX_UserAssignment force;
execute program LUX_UserAssignment -method assignRole '/opt/plm/MatrixWorkArea/daniel/UserList.csv' 'LUX_CAD_Download' ;
delete program LUX_UserAssignment;
1.UserList.csv 中必须是用户的邮箱列表,因为用户的邮箱唯一,并且区分大小写。
改变 assignRole method 后面的路径和权限名就可以了。
命令中的java 代码 格式化之后:
import com.matrixone.apps.domain.util.MqlUtil;
import matrix.db.Context;
import org.apache.commons.lang.StringUtils;
import java.io.*;
public class LUX_UserAssignment_mxJPO {
public void assignRole(Context context, String[] args) throws Exception{
if(!StringUtils.isNotBlank(args[0])){ System.out.println("exit0:path is null");
return;
}
String path = args[0];
if(!StringUtils.isNotBlank(args[1])){
System.out.println("exit1:role is null");
return;
}
String role = args[1];
File file = new File(path);
if(!file.exists()){
System.out.println("exist2:file does not exist");
return;
}
InputStream inputStream = new FileInputStream(file);
Reader reader = new InputStreamReader(inputStream);
BufferedReader bufferedReader = new BufferedReader(reader);
String line = null;
while(StringUtils.isNotBlank(line=bufferedReader.readLine())){
String mql = "temp query bus Person * - where \"attribute[Email Address]==" + line + "\" ;";
String res = MqlUtil.mqlCommand(context,mql);
if(!StringUtils.isNotBlank(res)){
System.out.println("Warning:User with email(" + line + ") does not exist!");
continue;
}
if(StringUtils.isNotBlank(res)){
String[] resS = res.split(" ");
String personName = resS[1];
mql = "modify Person " + personName + " assign role " + role + " ;";
MqlUtil.mqlCommand(context,mql);
System.out.println(role + " is assigned to User " + personName + "(" + line + ")" + " successfully!");
}
}
}
}
批量授一种权限给用户程序 plm enovia的更多相关文章
- JAVA基础学习之throws和throw的区别、Java中的四种权限、多线程的使用等(2)
1.throws和throw的区别 throws使用在函数外,是编译时的异常,throw使用在函数内,是运行时的异常 使用方法 public int method(int[] arr) throws ...
- java面向对象中四种权限(private,protected,public,友好型)详解
转自http://blog.csdn.net/a1237871112/article/details/50926975 及http://blog.csdn.net/blackmanren/articl ...
- Gitlab用户在组中有五种权限:Guest、Reporter、Developer、Master、Owner
Gitlab权限管理Gitlab用户在组中有五种权限:Guest.Reporter.Developer.Master.Owner Guest:可以创建issue.发表评论,不能读写版本库Reporte ...
- mybatis 批量update两种方法对比
<!-- 这次用resultmap接收输出结果 --> <select id="findByName" parameterType="string&qu ...
- mybatis批量更新两种方式:1.修改值全部一样 2.修改每条记录值不一样
Mybatis批量更新数据 mybatis批量更新两种方式:1.修改值全部一样 2.修改每条记录值不一样 mybatis批量更新两种方式:1.修改值全部一样 2.修改每条记录值不一样 mybatis批 ...
- Java四种权限修饰符 在创建类中的使用
四种权限修饰符 Java中有四种权限修饰符 public > protected > (default) >private 同一个类(我自己) YES YES YES YES同一个包 ...
- java 基础 四种权限修饰符
/** * Java有四种权限修饰符: * public > protected > (default) > private * 同一个类 YES YES YES YES * 同一个 ...
- 阶段1 语言基础+高级_1-3-Java语言高级_02-继承与多态_第6节 权限修饰符_6_四种权限修饰符
四种权限修饰符.从大到小 纵向再分成四种情况 同一个类 同一个类里面.private方式,可以访问到本类里面的 num成员变量 前面不写修饰符也能访问到 (default)就是不写的这种情况 受保护的 ...
- Java 四种权限修饰符
Java 四种权限修饰符访问权限 public protected (default) private 同一个类(我自己) yes yes yes yes 同一包(我邻居) yes yes yes n ...
随机推荐
- nginx下TP3.2访问页面总是404
这是我测试onethink用的配置 可以参考一下 server { listen 80; server_name onethink.dev www.onethink.dev; root /vagran ...
- Kotlin 的 Array 转 List
Kotlin 的 Array 转 List array.toList() as List<T> 1 Kotlin 的 Array 转 ArrayList array.toList() as ...
- 【LeetCode】栈 stack(共40题)
[20]Valid Parentheses (2018年11月28日,复习, ko) 给了一个字符串判断是不是合法的括号配对. 题解:直接stack class Solution { public: ...
- java23种设计模式(五)--组合模式
转载:https://www.cnblogs.com/V1haoge/p/6489827.html定义:所谓组合模式,其实说的是对象包含对象的问题,通过组合的方式(在对象内部引用对象)来进行布局,我认 ...
- 【学习笔记】圆方树(CF487E Tourists)
终于学了圆方树啦~\(≧▽≦)/~ 感谢y_immortal学长的博客和帮助 把他的博客挂在这里~ 点我传送到巨佬的博客QwQ! 首先我们来介绍一下圆方树能干什么呢qwq 1.将图上问题简化到树上问题 ...
- hibernate 5原生sql查询测试学习代码
基本查询 import java.util.List; import org.hibernate.SQLQuery; import org.hibernate.Session; import org. ...
- logging error. UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-1: ordinal not in range(128)
根据错误提示, 找到出错的文件. 可以看到, 出错的文件是 logging 模块中的__init__.py 文件. 根据目录, 找到 这个文件, 并打开它 搜查这个文件的内容, 找'encoding' ...
- [转]解决win10下localhost打不开的问题
博主刚开始玩Tornado,结果localhost都打不开,各种找寻解决方案,结论都是IIS服务器问题.然而win10下的解决方法居然没人写过...那就我来配图详解下. 打开控制面板--添加或删除程序 ...
- SQL笔试
一.题目 二.练习数据 SELECT VERSION(); create table CDM_AGENT(ano VARCHAR(6),aname VARCHAR(8)); create table ...
- JS中字符串的常见属性及方法
1.属性 1.1.length var txt = "abc 123"; console.log(txt.length); 2.方法 2.1.返回字符位置(indexOf()) 该 ...