⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 permissiontree.java

📁 评分系统,acegi+JSF+spring+hibernate,可上传附件
💻 JAVA
字号:
package com.sgm.partybranch.presentation.bean;

import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import javax.faces.context.FacesContext;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;

import org.richfaces.model.TreeNode;

import com.sgm.partybranch.business.common.UserService;
import com.sgm.partybranch.common.constants.SessionKey;
import com.sgm.partybranch.vo.sysadmin.Permission;

public class PermissionTree implements TreeNode {
	private static final Integer ROOT_PERMISSION_LENGTH = 2;

	private Map<String, PermissionBean> roots;
	private List<Permission> permissions;

	public Map getRoots() {
		return roots;
	}

	public void setRoots(Map<String, PermissionBean> roots) {
		this.roots = roots;
	}

	@SuppressWarnings("unchecked")
	public PermissionTree() {
		FacesContext context = FacesContext.getCurrentInstance();
		HttpServletRequest request = (HttpServletRequest) context
				.getExternalContext().getRequest();
		HttpSession session = request.getSession();
		this.permissions = (List<Permission>) session
				.getAttribute(SessionKey.PERMISSION_KEY);
	}

	public void addChild(Object identifier, TreeNode child) {
		// TODO Auto-generated method stub
		this.getRoots().put(identifier, child);
	}

	public TreeNode getChild(Object id) {
		return (TreeNode) this.getRoots().get(id);
	}

	public Iterator getChildren() {
		roots = new HashMap();
		for (Permission permission : permissions) {
			if (permission.getPermissionId().length() == ROOT_PERMISSION_LENGTH) {
				PermissionBean permBean = new PermissionBean();
				permBean.initBean(permission, permBean);
				permBean.setNodeParent(this);
				roots.put(permBean.getPermissionId(), permBean);
			}
		}
		return roots.entrySet().iterator();
	}

	public Object getData() {
		// TODO Auto-generated method stub
		return this;
	}

	public TreeNode getParent() {
		return null;
	}

	public boolean isLeaf() {
		if (permissions == null) {
			return true;
		}
		return false;
	}

	public void removeChild(Object id) {
		// TODO Auto-generated method stub
		this.getRoots().remove(id);
	}

	public void setData(Object data) {
		// TODO Auto-generated method stub

	}

	public void setParent(TreeNode parent) {
		// TODO Auto-generated method stub

	}

	public String getType() {
		return "library";
	}

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -