📄 privilegetypecache.java
字号:
package com.hongsoft.res.database;
import java.util.Collection;
import java.util.HashMap;
import java.util.List;
import org.hibernate.HibernateException;
import org.hibernate.Session;
import com.hongsoft.agile.hpdl.HpdlFacade;
import com.hongsoft.agile.hpdl.ProcessesObject;
import com.hongsoft.res.pojo.PrivilegeType;
public class PrivilegeTypeCache {
private static PrivilegeTypeCache ptc = null;
private static HashMap cache = new HashMap();
// 如果流程定义是新文件或者已经改变,会调用本方法
// 以前取过CACHE,可能仍然需要init
public static void init(Session session, ProcessesObject po) throws HibernateException {
ptc = new PrivilegeTypeCache();
ptc.delete(session);
ptc.add(session, po);
}
private PrivilegeTypeCache() {
}
public static Collection getAllType(Session session) {
return cache.values();
}
/**
* @param id privilege type id
* @return 权限类型名
*/
public static String getTypeName(Session session, int id) {
return ((PrivilegeType) cache.get(new Integer(id))).getName();
}
/**
* @param id privilege type id
* @return 权限类型描述
*/
public static String getTypeDescription(Session session, int id) {
return ((PrivilegeType) cache.get(new Integer(id))).getDescription();
}
private void delete(Session session) throws HibernateException {
session.delete("SELECT a FROM PrivilegeType as a WHERE a.typeID!=1");
}
// 将流程定义中的活动,作为权限加入数据库
// CACHE中要加入 系统管理的权限
private void add(Session session, ProcessesObject po) throws HibernateException {
List list = HpdlFacade.getPrivelegeList(po);
for (int i = 0; i < list.size(); i++) {
PrivilegeType pt = (PrivilegeType) list.get(i);
cache.put(new Integer(pt.getTypeID()), pt);
session.save(pt);
}
PrivilegeType pt = new PrivilegeType();
pt.setTypeID(1);
pt.setName("系统管理");
pt.setDescription("系统管理权限");
cache.put(new Integer(1), pt);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -