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

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

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

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

import org.apache.commons.beanutils.PropertyUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.struts.action.ActionError;
import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.nemesis.forum.ForumFactory;
import org.nemesis.forum.Group;
import org.nemesis.forum.ProfileManager;
import org.nemesis.forum.User;
import org.nemesis.forum.exception.NotFoundException;


/**
* @author dlaurent
*
* 20 f�vr. 2003
* AddGroupAction.java
*/
public class AddGroupMemberAction extends BaseAction {

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


  public ActionForward execute(ActionMapping mapping,
         ActionForm form,
         HttpServletRequest request,
         HttpServletResponse response)
  throws Exception {
    //check logon
    checkUser(request);
   
    ActionErrors errors = new ActionErrors();
   
   
    try {
       
       
        ForumFactory forumFactory = ForumFactory.getInstance(getAuthToken(request));
        ProfileManager manager = forumFactory.getProfileManager();
        User user = manager.getUser(getAuthToken(request).getUserID());
         
        Group group = manager.getGroup((String)PropertyUtils.getSimpleProperty(form, "group"));
        request.setAttribute("id",group.getID()+"";
        User  u = manager.getUser((String)PropertyUtils.getSimpleProperty(form, "username"));
        //check permission
        checkPermission(request,OperationConstants.ADD_GROUP_MEMBER,group);
        // add user as an administrator of the group
        group.addMember(u);
       
       
    } catch (NotFoundException e) {
      errors.add("general"new ActionError("groupUser.error.notFound"));           
       
    } catch (Exception e) {
      String eid=this.getClass().getName()+"_"+System.currentTimeMillis();
      log.error("eid:"+eid+"\nsessionID" +request.getSession().getId(),e;     
      errors.add("general"new ActionError("error.general","erreur id:"+eid));           
    }
   
    if (!errors.isEmpty()) {
        saveErrors(request, errors);
      return mapping.findForward("success");
    }

    removeFormBean(mapping, request);
    return mapping.findForward("success");
  }
 
  protected void removeFormBean(ActionMapping mapping, HttpServletRequest request) {
       // Remove the obsolete form bean
       if (mapping.getAttribute() != null) {
         if ("request".equals(mapping.getScope())) {
           request.removeAttribute(mapping.getAttribute());
         } else {
          HttpSession session = request.getSession();
          session.removeAttribute(mapping.getAttribute());
         }
       }
    }

}
TOP

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

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.