1 package org.nemesis.forum.webapp.admin.action; 2 3 4 import java.util.Iterator ; 5 import java.util.Vector ; 6 7 import javax.servlet.http.HttpServletRequest ; 8 import javax.servlet.http.HttpServletResponse ; 9 10 import org.apache.commons.logging.Log; 11 import org.apache.commons.logging.LogFactory; 12 import org.apache.struts.action.ActionForm; 13 import org.apache.struts.action.ActionForward; 14 import org.apache.struts.action.ActionMapping; 15 import org.apache.struts.action.ActionMessage; 16 import org.apache.struts.action.ActionMessages; 17 import org.nemesis.forum.ForumFactory; 18 import org.nemesis.forum.Group; 19 import org.nemesis.forum.ProfileManager; 20 import org.nemesis.forum.util.SecurityTools; 21 import org.nemesis.forum.webapp.admin.Config; 22 import org.nemesis.forum.webapp.admin.bean.GroupBean; 23 24 25 public class ListGroupAction extends BaseAction { 26 27 static protected Log log =LogFactory.getLog(ListGroupAction.class); 28 29 30 public ActionForward execute(ActionMapping mapping, 31 ActionForm form, 32 HttpServletRequest request, 33 HttpServletResponse response) 34 throws Exception { 35 36 checkUser(request); 38 checkPermission(request,OperationConstants.LIST_GROUP); 40 41 ActionMessages messages = new ActionMessages(); 42 43 try { 44 int maxIndexPages=Config.groupListPagerMaxIndexPages; 45 int maxPageItems=Config.groupListPagerMaxPageItems; 46 request.setAttribute("maxIndexPages",new Integer (maxIndexPages)); 47 request.setAttribute("maxPageItems",new Integer (maxPageItems)); 48 49 int start=0; 50 try { 51 start = Integer.parseInt(request.getParameter("pager.offset")); 52 } catch (Exception e) { 53 54 } 55 56 Vector v=new Vector (); 57 58 ForumFactory forumFactory = ForumFactory.getInstance(getAuthToken(request)); 59 ProfileManager manager = forumFactory.getProfileManager(); 60 62 int nb=manager.getGroupCount(); 63 64 65 GroupBean gb=null; 66 Group group = null; 67 Iterator groupIterator = manager.groups(start,maxPageItems); 68 while( groupIterator.hasNext() ) { 69 group = (Group)groupIterator.next(); 70 71 if(!SecurityTools.isGroupAdmin(getAuthToken(request),group)){ 72 nb--; 73 continue; 74 } 75 76 gb = new GroupBean(); 77 gb.setId( group.getID()); 78 gb.setName( group.getName()); 79 gb.setDescription(group.getDescription()); 80 gb.setNumMembers( group.getMemberCount()); 81 gb.setNumAdmins( group.getAdministratorCount()); 82 v.add(gb); 83 } 84 85 request.setAttribute("groups",v); 86 request.setAttribute("nbItems",new Integer (nb)); 87 request.setAttribute("isSystemAdmin",new Boolean (SecurityTools.isSystemAdmin(getAuthToken(request)))); 88 89 } catch (Exception e) { 90 String eid=this.getClass().getName()+"_"+System.currentTimeMillis(); 91 log.error("eid:"+eid+"\nsessionID" +request.getSession().getId(),e) ; 92 messages.add("general", new ActionMessage("error.general","error id:"+eid)); 93 } 94 95 if (!messages.isEmpty()) { 96 saveMessages(request, messages); 97 } 98 99 return mapping.findForward("view"); 100 } 101 102 } | Popular Tags |