/** * 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.WebConstants; import org.ralasafe.WebRalasafe; import org.ralasafe.db.sql.Query; import org.ralasafe.entitle.EntitleManager; import org.ralasafe.privilege.Privilege; import org.ralasafe.user.User; import org.ralasafe.user.UserManager; import org.ralasafe.userType.UserType; public class UserMngAction extends Action { private static final Log log=LogFactory.getLog( UserMngAction.class ); protected void doGet( HttpServletRequest req, HttpServletResponse resp ) throws ServletException, IOException { String oper=req.getParameter( "oper" ); UserManager userMng=WebUtil.getUserManager( req ); // log if( log.isDebugEnabled() ) { log.debug( "oper="+oper ); } Collection coll=null; int totalNumber=0; // display from int first=WebUtil.getIntParameter( req, "first", 0 ); // display max size int size=WebUtil.getIntParameter( req, "size", WebConstants.DEFAULT_SHOW_ENTITY_SIZE ); // search key String searchName=req.getParameter( "name" ); /* if(searchName!=null){ searchName=new String(searchName.getBytes("ISO-8859-1"),"UTF-8"); }*/ if( RalasafeController.isSecured() ) { log.debug( "Ralasafe is secured. Query granted users..." ); User user=WebRalasafe.getCurrentUser( req ); EntitleManager entitleMng=WebUtil.getEntitleManager( req ); Query query=entitleMng.getQuery( Privilege.ASSIGN_ROLE_TO_USER_ID, user, null ).getSqlQuery(); coll=userMng.selectUsersByCustomizedJavaBean( user, null, searchName, query, first, size ); totalNumber=userMng.selectUserCounts( user, null, searchName, query ); } else { log.debug( "Query all users..." ); coll=userMng.selectUsers( null, null, searchName, null, first, size ); totalNumber=userMng.selectUserCounts( null, null, searchName, null ); } UserType userType=WebUtil.getUserType( req ); String[] showUserFields=userType.getUserMetadata().getShowUserFields(); String[] showUserFieldDisplayNames=userType.getUserMetadata().getShowUserFieldDisplayNames(); req.setAttribute( "totalNumber", new Integer(totalNumber) ); req.setAttribute( "users", coll ); req.setAttribute( "first", new Integer(first) ); req.setAttribute( "size", new Integer(size) ); req.setAttribute( "name", searchName ); req.setAttribute( "showUserFields", showUserFields ); req.setAttribute( "showUserFieldDisplayNames", showUserFieldDisplayNames ); if( "showUserWidget".equals( oper ) ) { WebUtil.forward( req, resp, "/ralasafe/user/userListWidget.jsp" ); } else { WebUtil.forward( req, resp, "/ralasafe/user/userList.jsp" ); } } }