KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > jresearch > gossip > actions > message > EditMessageAction


1 /*
2  * $$Id: EditMessageAction.java,v 1.3 2005/06/07 12:31:54 bel70 Exp $$
3  *
4  * ***** BEGIN LICENSE BLOCK ***** The contents of this file are subject to the
5  * Mozilla Public License Version 1.1 (the "License"); you may not use this file
6  * except in compliance with the License. You may obtain a copy of the License
7  * at http://www.mozilla.org/MPL/
8  *
9  * Software distributed under the License is distributed on an "AS IS" basis,
10  * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for
11  * the specific language governing rights and limitations under the License.
12  *
13  * The Original Code is JGossip forum code.
14  *
15  * The Initial Developer of the Original Code is the JResearch, Org. Portions
16  * created by the Initial Developer are Copyright (C) 2004 the Initial
17  * Developer. All Rights Reserved.
18  *
19  * Contributor(s): Dmitry Belov <bel@jresearch.org>
20  *
21  * ***** END LICENSE BLOCK *****
22  */

23 /*
24  * Created on Sep 25, 2003
25  *
26  */

27 package org.jresearch.gossip.actions.message;
28
29 import java.sql.SQLException JavaDoc;
30
31 import javax.servlet.http.HttpServletRequest JavaDoc;
32 import javax.servlet.http.HttpServletResponse JavaDoc;
33 import javax.servlet.http.HttpSession JavaDoc;
34
35 import org.apache.struts.action.ActionForm;
36 import org.apache.struts.action.ActionForward;
37 import org.apache.struts.action.ActionMapping;
38 import org.jresearch.gossip.IConst;
39 import org.jresearch.gossip.beans.forum.Message;
40 import org.jresearch.gossip.beans.forum.Topic;
41 import org.jresearch.gossip.beans.user.User;
42 import org.jresearch.gossip.dao.ForumDAO;
43 import org.jresearch.gossip.exception.SystemException;
44 import org.jresearch.gossip.forms.MessageForm;
45 import org.jresearch.gossip.forms.ProcessMessageForm;
46
47 /**
48  * DOCUMENT ME!
49  *
50  * @author Bel
51  */

52 public class EditMessageAction extends GetMessageAction {
53     /**
54      * DOCUMENT ME!
55      *
56      * @param mapping
57      * DOCUMENT ME!
58      * @param form
59      * DOCUMENT ME!
60      * @param request
61      * DOCUMENT ME!
62      * @param response
63      * DOCUMENT ME!
64      *
65      * @return DOCUMENT ME!
66      */

67     public ActionForward process(ActionMapping mapping, ActionForm form,
68             HttpServletRequest JavaDoc request, HttpServletResponse JavaDoc response)
69             throws SystemException {
70         HttpSession JavaDoc session = request.getSession();
71         MessageForm messageForm = new MessageForm();
72         ForumDAO dao = ForumDAO.getInstance();
73         User user = (User) session.getAttribute(IConst.SESSION.USER_KEY);
74         ProcessMessageForm pmForm = (ProcessMessageForm) form;
75         try {
76
77             int fid = Integer.parseInt(pmForm.getFid());
78             boolean isUserMod = dao.checkMod(fid, user);
79             Topic currThread = dao.getThreadInfo(Integer.parseInt(pmForm
80                     .getTid()));
81             Message mess = dao.getMessage(pmForm.getMid());
82             if (mess == null) {
83                 return (new ActionForward("/ShowThread.do?fid="
84                         + pmForm.getFid() + "&tid=" + pmForm.getTid()
85                         + "&block=" + pmForm.getBlock(), true));
86             } else {
87                 // check user access rights
88
getServlet().log("check user access rights ");
89                 if (isUserMod
90                         || (user.getName().equals(mess.getSender()) && (currThread
91                                 .getLocked() == IConst.Topic.STATUS_UNLOCKED))) {
92                     return super.process(mapping, form, request, response);
93                 } else {
94                     return (mapping.findForward(IConst.TOKEN.DENIED));
95                 }
96             }
97         } catch (SQLException JavaDoc sqle) {
98             getServlet().log("Connection.process", sqle);
99             throw new SystemException(sqle);
100         }
101     }
102
103     /*
104      * (non-Javadoc)
105      *
106      * @see org.jresearch.gossip.actions.message.GetMessageAction#fillMessageForm(org.jresearch.gossip.forms.MessageForm,
107      * org.jresearch.gossip.beans.forum.Message)
108      */

109     protected String JavaDoc fillMessageForm(MessageForm messageForm, Message mess,
110             ProcessMessageForm form, HttpServletRequest JavaDoc request) {
111         messageForm.setTitle(mess.getHeading());
112         messageForm.setText(mess.getCentents());
113         messageForm.setMid(form.getMid());
114         messageForm.setFid(form.getFid());
115         messageForm.setTid(form.getTid());
116         messageForm.setBlock(form.getBlock());
117         return "editMessageForm";
118     }
119 }
Popular Tags