KickJava   Java API By Example, From Geeks To Geeks.

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


1 package org.nemesis.forum.webapp.admin.action;
2
3 import java.util.Iterator JavaDoc;
4
5 import javax.servlet.http.HttpServletRequest JavaDoc;
6 import javax.servlet.http.HttpServletResponse JavaDoc;
7
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.util.SecurityTools;
20 import org.nemesis.forum.webapp.admin.bean.GroupUsersBean;
21 import org.nemesis.forum.webapp.admin.bean.UserBean;
22 import org.nemesis.forum.webapp.exception.UnauthorizedException;
23
24
25 public class ListGroupUsersAction extends BaseAction {
26     
27     static protected Log log =LogFactory.getLog(ListGroupUsersAction.class);
28
29     public ActionForward execute(ActionMapping mapping,
30                  ActionForm form,
31                  HttpServletRequest JavaDoc request,
32                  HttpServletResponse JavaDoc response)
33     throws Exception JavaDoc {
34
35         //check logon
36
checkUser(request);
37         
38         
39         ActionErrors errors = new ActionErrors();
40                 
41         try {
42                 
43                 
44                 ForumFactory forumFactory = ForumFactory.getInstance(getAuthToken(request));
45                 ProfileManager manager = forumFactory.getProfileManager();
46                 User user = manager.getUser(getAuthToken(request).getUserID());
47                 try {
48                     //retrieve the group
49
String JavaDoc gid=request.getParameter("id");
50                     if(gid==null) gid=""+request.getAttribute("id");//back to del or add action
51

52                     Group group = manager.getGroup(Integer.parseInt(gid));
53                     //check permission
54
checkPermission(request,OperationConstants.LIST_GROUP_USERS, group);
55                     //populate bean
56
GroupUsersBean b=new GroupUsersBean();
57                     b.setId(group.getID());
58                     b.setName(group.getName());
59                     b.setDescription(group.getDescription());
60                     b.setNumAdmins(group.getAdministratorCount());
61                     b.setNumMembers(group.getMemberCount()) ;
62                     
63                     User u=null;
64                     UserBean ub=null;
65                     for(Iterator JavaDoc it=group.administrators();it.hasNext();){
66                         u=(User)it.next();
67                         ub = new UserBean();
68                         ub.setId(u.getID());
69                         ub.setName(u.getName());
70                         ub.setUserName(u.getUsername());
71                         ub.setEmail(u.getEmail());
72                         b.addAdmin(ub);
73                     }
74                     for(Iterator JavaDoc it=group.members();it.hasNext();){
75                         u=(User)it.next();
76                         ub = new UserBean();
77                         ub.setId(u.getID());
78                         ub.setName(u.getName());
79                         ub.setUserName(u.getUsername());
80                         ub.setEmail(u.getEmail());
81                         b.addMember(ub);
82                     }
83                     request.setAttribute("gp",b);
84                     request.setAttribute("isSystemAdmin",new Boolean JavaDoc(SecurityTools.isSystemAdmin(getAuthToken(request))));
85                 }
86                 catch( NumberFormatException JavaDoc aee ) {
87                     return mapping.findForward("cancel");
88                 }
89                 catch( UnauthorizedException aee ) {
90                     errors.add("general", new ActionError("listGroupUsers.unauthorized"));
91                 }
92                 
93                 
94         } catch (Exception JavaDoc e) {
95             String JavaDoc eid=this.getClass().getName()+"_"+System.currentTimeMillis();
96             log.error("eid:"+eid+"\nsessionID" +request.getSession().getId(),e) ;
97             errors.add("general", new ActionError("error.general","erreur id:"+eid));
98         }
99         
100         if (!errors.isEmpty()) {
101             saveErrors(request, errors);
102             return mapping.findForward("cancel");
103         }
104         
105         return mapping.findForward("view");
106     }
107
108 }
Popular Tags