Package org.nemesis.forum.webapp.admin.action

Source Code of org.nemesis.forum.webapp.admin.action.ListGroupAction

package org.nemesis.forum.webapp.admin.action;


import java.util.Iterator;
import java.util.Vector;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionMessage;
import org.apache.struts.action.ActionMessages;
import org.nemesis.forum.ForumFactory;
import org.nemesis.forum.Group;
import org.nemesis.forum.ProfileManager;
import org.nemesis.forum.util.SecurityTools;
import org.nemesis.forum.webapp.admin.Config;
import org.nemesis.forum.webapp.admin.bean.GroupBean;


public class ListGroupAction extends BaseAction {

  static protected Log log =LogFactory.getLog(ListGroupAction.class);


  public ActionForward execute(ActionMapping mapping,
         ActionForm form,
         HttpServletRequest request,
         HttpServletResponse response)
  throws Exception {

    //check logon
    checkUser(request);
    //check permission
    checkPermission(request,OperationConstants.LIST_GROUP);
   
    ActionMessages messages = new ActionMessages();
       
    try {
        int maxIndexPages=Config.groupListPagerMaxIndexPages;
        int maxPageItems=Config.groupListPagerMaxPageItems;
        request.setAttribute("maxIndexPages",new Integer(maxIndexPages));
        request.setAttribute("maxPageItems",new Integer(maxPageItems));
       
        int start=0;
        try {
          start = Integer.parseInt(request.getParameter("pager.offset"));
        } catch (Exception e) {
          /*ignore*/
        }
       
        Vector v=new Vector();
       
        ForumFactory forumFactory = ForumFactory.getInstance(getAuthToken(request));
        ProfileManager manager = forumFactory.getProfileManager();
    ////    User user = manager.getUser(getAuthToken(request).getUserID());
       
        int nb=manager.getGroupCount();
       
       
        GroupBean gb=null;
        Group group = null
        Iterator groupIterator = manager.groups(start,maxPageItems);
        while( groupIterator.hasNext() ) {
          group = (Group)groupIterator.next();
         
          if(!SecurityTools.isGroupAdmin(getAuthToken(request),group)){
            nb--;
            continue;
          }
         
          gb = new GroupBean();
          gb.setId( group.getID());
          gb.setName( group.getName());
          gb.setDescription(group.getDescription());
          gb.setNumMembers( group.getMemberCount());
          gb.setNumAdmins( group.getAdministratorCount());
          v.add(gb);
        }
       
        request.setAttribute("groups",v);
        request.setAttribute("nbItems",new Integer(nb));
      request.setAttribute("isSystemAdmin",new Boolean(SecurityTools.isSystemAdmin(getAuthToken(request))));
       
    } catch (Exception e) {
      String eid=this.getClass().getName()+"_"+System.currentTimeMillis();
      log.error("eid:"+eid+"\nsessionID" +request.getSession().getId(),e;     
      messages.add("general"new ActionMessage("error.general","error id:"+eid));           
    }
   
    if (!messages.isEmpty()) {
        saveMessages(request, messages);           
    }
     
    return mapping.findForward("view");     
 

}
TOP

Related Classes of org.nemesis.forum.webapp.admin.action.ListGroupAction

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.