/** * Copyright (c) 2004-2011 Wang Jinbao(Julian Wong), http://www.ralasafe.com * Licensed under the MIT license: http://www.opensource.org/licenses/mit-license.php */ package org.ralasafe.servlet; import java.io.IOException; import java.util.Collection; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.ralasafe.privilege.Role; import org.ralasafe.privilege.RoleManager; import org.ralasafe.util.StringUtil; import org.ralasafe.util.Util; public class RolePrivilegeAction extends Action { private static final Log log=LogFactory.getLog( RolePrivilegeAction.class ); protected void doPost( HttpServletRequest req, HttpServletResponse resp ) throws ServletException, IOException { String oper=req.getParameter("oper"); int roleId=WebUtil.getIntParameter( req, "roleId", -23 ); String rawPvlgIds=req.getParameter( "pvlgIds" ); String[] assignPvlgIds=StringUtil.split( rawPvlgIds, "," ); Collection pvlgIds=Util.convert2IntegerCollection( assignPvlgIds ); pvlgIds.remove( new Integer(0) ); // remove root node // log if( log.isDebugEnabled() ) { log.debug( "oper="+oper+" ,roleId="+roleId+", assignPrivilegeIds="+rawPvlgIds ); } RoleManager roleMng=WebUtil.getRoleManager( req ); roleMng.assignPrivileges( roleId, pvlgIds ); } protected void doGet( HttpServletRequest req, HttpServletResponse resp ) throws ServletException, IOException { int roleId=WebUtil.getIntParameter( req, "roleId", -23 ); String oper=req.getParameter("oper"); // log if( log.isDebugEnabled() ) { log.debug( "oper="+oper+" ,roleId="+roleId ); } RoleManager roleMng=WebUtil.getRoleManager( req ); Role role=roleMng.getRole( roleId ); Collection assignedPvlgs=roleMng.getPrivileges( roleId ); req.setAttribute( "role", role ); req.setAttribute( "assignedPvlgs", assignedPvlgs ); WebUtil.forward( req, resp, "/ralasafe/privilege/rolePrivilege.jsp" ); } }