KickJava   Java API By Example, From Geeks To Geeks.

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


1 package org.nemesis.forum.webapp.admin.action;
2
3 import java.util.Enumeration 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.Forum;
16 import org.nemesis.forum.ForumFactory;
17 import org.nemesis.forum.MessageFilter;
18 import org.nemesis.forum.webapp.exception.UnauthorizedException;
19
20
21 /**
22  * @author dlaurent
23  *
24  * 20 févr. 2003
25  */

26 public class EditForumFilterAction extends BaseAction {
27
28     static protected Log log = LogFactory.getLog(EditForumFilterAction.class);
29
30     public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest JavaDoc request, HttpServletResponse JavaDoc response) throws Exception JavaDoc {
31
32         //check logon
33
checkUser(request);
34
35         ActionErrors errors = new ActionErrors();
36
37         try {
38
39             ForumFactory forumFactory = ForumFactory.getInstance(getAuthToken(request));
40             Forum forum = forumFactory.getForum(Integer.parseInt(request.getParameter("id")));
41             request.setAttribute("id", request.getParameter("id"));
42             //check permission
43
checkPermission(request, OperationConstants.EDIT_FORUM_FILTER, forum);
44             
45             MessageFilter filter= forum.getForumMessageFilters()[Integer.parseInt(request.getParameter("edit"))];
46             Enumeration JavaDoc props = filter.getFilterPropertyNames();
47             while( props.hasMoreElements() ) {
48                 String JavaDoc propName = (String JavaDoc)props.nextElement();
49                 String JavaDoc propValue = request.getParameter(propName);
50                 if( propValue != null ) {
51                     try {
52                         filter.setFilterProperty(propName,propValue);
53                     } catch( IllegalArgumentException JavaDoc iae ) {
54                     }
55                 }
56             }
57
58             
59         } catch (UnauthorizedException ue) {
60             errors.add("general", new ActionError("addForumFilter.Unauthorized"));
61         } catch (Exception JavaDoc e) {
62             String JavaDoc eid = this.getClass().getName() + "_" + System.currentTimeMillis();
63             log.error("eid:" + eid + "\nsessionID" + request.getSession().getId(), e);
64             errors.add("general", new ActionError("error.general", "erreur id:" + eid));
65         }
66
67         if (!errors.isEmpty()) {
68             saveErrors(request, errors);
69             return mapping.findForward("cancel");
70         }
71
72         return mapping.findForward("success");
73     }
74
75 }
Popular Tags