KickJava   Java API By Example, From Geeks To Geeks.

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


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.ForumThread;
16 import org.nemesis.forum.Message;
17
18
19
20 public class SetMessageApprovedAction extends BaseAction {
21
22     static protected Log log =LogFactory.getLog(SetMessageApprovedAction.class);
23     
24
25     public ActionForward execute(ActionMapping mapping,
26                  ActionForm form,
27                  HttpServletRequest JavaDoc request,
28                  HttpServletResponse JavaDoc response)
29     throws Exception JavaDoc {
30
31         //check logon
32
checkUser(request);
33         
34         
35         ActionErrors errors = new ActionErrors();
36         
37         try {
38                 ForumFactory forumFactory = ForumFactory.getInstance(getAuthToken(request));
39                 Forum forum = forumFactory.getForum(Integer.parseInt(request.getParameter("id")));
40                 //check permission
41
checkPermission(request,OperationConstants.LIST_FORUM_CONTENT,forum);
42                 
43                 ForumThread t=forum.getThread(Integer.parseInt(request.getParameter("threadID")));
44                 Message m=t.getMessage(Integer.parseInt(request.getParameter("messageID")));
45                 m.setApproved(!m.isApproved());
46                 if (t.getRootMessage().getID()==m.getID()) t.setApproved(m.isApproved());
47                 
48                 
49         } catch (Exception JavaDoc e) {
50             String JavaDoc eid=this.getClass().getName()+"_"+System.currentTimeMillis();
51             log.error("eid:"+eid +"\nsessionID" +request.getSession().getId(),e) ;
52             errors.add("general", new ActionError("error.general","error id:"+eid));
53         }
54         
55         if (!errors.isEmpty()) {
56             saveErrors(request, errors);
57             return mapping.findForward("cancel");
58         }
59
60         return mapping.findForward("success");
61     }
62     
63 }
Popular Tags