findfunctionbyuser.java

来自「Java开发的权限管理的例子」· Java 代码 · 共 72 行

JAVA
72
字号
package org.artemis.right.command;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.artemis.right.dao.FunctionDao;
import org.artemis.right.dao.RoleDao;
import org.artemis.right.model.Function;
import org.artemis.right.model.Role;
import com.gsta.eshore.framework.jcf.Command;
import com.gsta.eshore.framework.jcf.JCFException;
import com.gsta.eshore.framework.util.AppUtils;

public class FindFunctionByUser extends Command
{
	private FunctionDao dao;
	private RoleDao roleDao;
	public void setDao(FunctionDao dao) {
		this.dao = dao;
	}

	public void execute(Map params, Map response) throws Exception
	{
            List roles=roleDao.FindRoleByUserId((String) params.get("userId")); //先查找该用户的角色
            if(!AppUtils.isBlank(roles)){
            	response.put("functions",findFunctionByRole(roles));
            }else{
            	response.put("functions",null);
            }
	}
	
	public List findFunctionByRole(List roles)
	{
		Map functionMap=new HashMap();
		List functionList=new ArrayList();
		for (int i=0;i<roles.size();i++){
			Role role = (Role) roles.get(i);
			if(!AppUtils.isBlank(role.getId())){
				List fs=dao.FindFunctionByRoleId(role.getId());
				if(!AppUtils.isBlank(fs))
				    for(int j=0;j<fs.size();j++){
						 Function f= (Function) fs.get(j);
						 if(!functionMap.containsKey(f.getId())){
							 functionMap.put(f.getId(), null);
							 functionList.add(f);
						 }
	
					}

	
			}
			
		}
		return functionList;
	}
	
	public void fini() throws JCFException
	{
	}

	public void init(String arg0) throws JCFException
	{
	}

	public void setRoleDao(RoleDao roleDao) {
		this.roleDao = roleDao;
	}


}

⌨️ 快捷键说明

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