KickJava   Java API By Example, From Geeks To Geeks.

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


1 package org.nemesis.forum.webapp.admin.action;
2
3 import javax.servlet.http.HttpServletRequest JavaDoc;
4 import javax.servlet.http.HttpServletResponse JavaDoc;
5
6 import org.apache.commons.logging.Log;
7 import org.apache.commons.logging.LogFactory;
8 import org.apache.struts.action.ActionError;
9 import org.apache.struts.action.ActionErrors;
10 import org.apache.struts.action.ActionForm;
11 import org.apache.struts.action.ActionForward;
12 import org.apache.struts.action.ActionMapping;
13 import org.nemesis.forum.Forum;
14 import org.nemesis.forum.ForumFactory;
15 import org.nemesis.forum.MessageFilter;
16 import org.nemesis.forum.webapp.admin.Config;
17 import org.nemesis.forum.webapp.exception.UnauthorizedException;
18
19 /**
20  * @author dlaurent
21  *
22  * 20 févr. 2003
23  */

24 public class AddForumFilterAction extends BaseAction {
25
26     static protected Log log = LogFactory.getLog(AddForumFilterAction.class);
27
28     public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest JavaDoc request, HttpServletResponse JavaDoc response) throws Exception JavaDoc {
29
30         //check logon
31
checkUser(request);
32
33         ActionErrors errors = new ActionErrors();
34
35         try {
36
37             ForumFactory forumFactory = ForumFactory.getInstance(getAuthToken(request));
38             Forum forum = forumFactory.getForum(Integer.parseInt(request.getParameter("id")));
39             request.setAttribute("id", request.getParameter("id"));
40             //check permission
41
checkPermission(request, OperationConstants.ADD_FORUM_FILTER, forum);
42             Class JavaDoc c = Class.forName(Config.filtersClassNames[Integer.parseInt(request.getParameter("filter"))]);
43             MessageFilter filter = (MessageFilter)(c.newInstance());
44             forum.addForumMessageFilter(filter);
45             
46         } catch (UnauthorizedException ue) {
47             errors.add("general", new ActionError("addForumFilter.Unauthorized"));
48         } catch (Exception JavaDoc e) {
49             String JavaDoc eid = this.getClass().getName() + "_" + System.currentTimeMillis();
50             log.error("eid:" + eid + "\nsessionID" + request.getSession().getId(), e);
51             errors.add("general", new ActionError("error.general", "erreur id:" + eid));
52         }
53
54         if (!errors.isEmpty()) {
55             saveErrors(request, errors);
56             return mapping.findForward("cancel");
57         }
58
59         return mapping.findForward("success");
60     }
61
62 }
Popular Tags