📄 resourceprocessbean.java
字号:
package cn.myapps.core.resource.ejb;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.Map;
import cn.myapps.base.dao.DAOFactory;
import cn.myapps.base.dao.IBaseDAO;
import cn.myapps.base.dao.ValueObject;
import cn.myapps.base.ejb.BaseProcessBean;
import cn.myapps.core.permission.ejb.PermissionPackage;
import cn.myapps.core.resource.dao.ResourceDAO;
public class ResourceProcessBean extends BaseProcessBean implements
ResourceProcess {
public void doCreate(ValueObject vo) throws Exception {
super.doCreate(vo);
PermissionPackage.clearCache();
}
public void doRemove(String pk) throws Exception {
super.doRemove(pk);
PermissionPackage.clearCache();
}
public void doUpdate(ValueObject vo) throws Exception {
super.doUpdate(vo);
PermissionPackage.clearCache();
}
/*
* (non-Javadoc)
*
* @see cn.myapps.core.resource.ejb.ResourceProcess#getFamilyTree()
*/
public Collection getFamilyTree(String application) throws Exception {
return ((ResourceDAO) getDAO()).getFamilyTree("", application);
}
/*
* (non-Javadoc)
*
* @see cn.myapps.base.ejb.BaseProcessBean#getDAO()
*/
protected IBaseDAO getDAO() throws Exception {
IBaseDAO dao = (ResourceDAO) DAOFactory.getDefaultDAO(ResourceVO.class
.getName());
return dao;
}
public Map deepSearchMenuTree(Collection cols, ResourceVO startNode,
String excludeNodeId, int deep) throws Exception {
Map list = new LinkedHashMap();
list.put("", "NO");
String prefix = "|------------------------------------------------";
if (startNode != null) {
list.put(startNode.getId(), prefix.substring(0, deep * 2)
+ startNode.getDescription());
}
Iterator iter = cols.iterator();
while (iter.hasNext()) {
ResourceVO vo = (ResourceVO) iter.next();
if (startNode == null) {
if (vo.getSuperior() == null) {
if (vo.getId() != null && !vo.getId().equals(excludeNodeId)) {
Map tmp = deepSearchMenuTree(cols, vo, excludeNodeId,
deep + 1);
list.putAll(tmp);
}
}
} else {
if (vo.getSuperior() != null
&& vo.getSuperior().getId().equals(startNode.getId())) {
if (vo.getId() != null && !vo.getId().equals(excludeNodeId)) {
Map tmp = deepSearchMenuTree(cols, vo, excludeNodeId,
deep + 1);
list.putAll(tmp);
}
}
}
}
return list;
}
public Collection deepSearchResouece(Collection colls,
ResourceVO startNode, String excludeNodeId, int deep)
throws Exception {
Collection rtn = new ArrayList();
if (startNode != null) {
rtn.add(startNode);
}
Iterator iter = colls.iterator();
while (iter.hasNext()) {
ResourceVO vo = (ResourceVO) iter.next();
if (startNode == null) {
if (vo.getSuperior() == null) {
if (vo.getId() != null && !vo.getId().equals(excludeNodeId)) {
Collection idList = deepSearchResouece(colls, vo,
excludeNodeId, deep);
rtn.addAll(idList);
}
}
} else {
if (vo.getSuperior() != null
&& vo.getSuperior().getId().equals(startNode.getId())) {
if (vo.getId() != null && !vo.getId().equals(excludeNodeId)) {
Collection idList = deepSearchResouece(colls, vo,
excludeNodeId, deep);
rtn.addAll(idList);
}
}
}
}
return rtn;
}
public Collection getProtectResources(String application) throws Exception {
return ((ResourceDAO) getDAO()).getProtectResources(application);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -