KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > nemesis > forum > webapp > admin > action > AddGroupMemberAction


1 package org.nemesis.forum.webapp.admin.action;
2
3 import javax.servlet.http.HttpServletRequest JavaDoc;
4 import javax.servlet.http.HttpServletResponse JavaDoc;
5 import javax.servlet.http.HttpSession JavaDoc;
6
7 import org.apache.commons.beanutils.PropertyUtils;
8 import org.apache.commons.logging.Log;
9 import org.apache.commons.logging.LogFactory;
10 import org.apache.struts.action.ActionError;
11 import org.apache.struts.action.ActionErrors;
12 import org.apache.struts.action.ActionForm;
13 import org.apache.struts.action.ActionForward;
14 import org.apache.struts.action.ActionMapping;
15 import org.nemesis.forum.ForumFactory;
16 import org.nemesis.forum.Group;
17 import org.nemesis.forum.ProfileManager;
18 import org.nemesis.forum.User;
19 import org.nemesis.forum.exception.NotFoundException;
20
21
22 /**
23  * @author dlaurent
24  *
25  * 20 févr. 2003
26  * AddGroupAction.java
27  */

28 public class AddGroupMemberAction extends BaseAction {
29
30     static protected Log log =LogFactory.getLog(AddGroupMemberAction.class);
31
32
33     public ActionForward execute(ActionMapping mapping,
34                  ActionForm form,
35                  HttpServletRequest JavaDoc request,
36                  HttpServletResponse JavaDoc response)
37     throws Exception JavaDoc {
38  
39         //check logon
40
checkUser(request);
41         
42         ActionErrors errors = new ActionErrors();
43         
44         
45         try {
46                 
47                 
48                 ForumFactory forumFactory = ForumFactory.getInstance(getAuthToken(request));
49                 ProfileManager manager = forumFactory.getProfileManager();
50                 User user = manager.getUser(getAuthToken(request).getUserID());
51                     
52                 Group group = manager.getGroup((String JavaDoc)PropertyUtils.getSimpleProperty(form, "group"));
53                 request.setAttribute("id",group.getID()+"") ;
54                 User u = manager.getUser((String JavaDoc)PropertyUtils.getSimpleProperty(form, "username"));
55                 //check permission
56
checkPermission(request,OperationConstants.ADD_GROUP_MEMBER,group);
57                 // add user as an administrator of the group
58
group.addMember(u);
59                 
60                 
61         } catch (NotFoundException e) {
62             errors.add("general", new ActionError("groupUser.error.notFound"));
63                 
64         } catch (Exception JavaDoc e) {
65             String JavaDoc eid=this.getClass().getName()+"_"+System.currentTimeMillis();
66             log.error("eid:"+eid+"\nsessionID" +request.getSession().getId(),e) ;
67             errors.add("general", new ActionError("error.general","erreur id:"+eid));
68         }
69         
70         if (!errors.isEmpty()) {
71             saveErrors(request, errors);
72             return mapping.findForward("success");
73         }
74
75         removeFormBean(mapping, request);
76         return mapping.findForward("success");
77     }
78     
79     protected void removeFormBean(ActionMapping mapping, HttpServletRequest JavaDoc request) {
80            // Remove the obsolete form bean
81
if (mapping.getAttribute() != null) {
82                if ("request".equals(mapping.getScope())) {
83                    request.removeAttribute(mapping.getAttribute());
84                } else {
85                   HttpSession JavaDoc session = request.getSession();
86                   session.removeAttribute(mapping.getAttribute());
87                }
88            }
89         }
90
91 }
Popular Tags