1 package org.nemesis.forum.webapp.admin.action; 2 3 import javax.servlet.http.HttpServletRequest ; 4 import javax.servlet.http.HttpServletResponse ; 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 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 request, HttpServletResponse response) throws Exception { 29 30 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 checkPermission(request, OperationConstants.ADD_FORUM_FILTER, forum); 42 Class 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 e) { 49 String 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 |