KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > geinuke > module > forum > NewForumComment


1
2
3  /*
4  -- GeiNuke --
5 Copyright (c) 2005 by Roberto Sidoti [geinuke@users.sourceforge.net]
6  http://www.hostingjava.it/-geinuke/
7
8 This file is part of GeiNuke.
9
10     GeiNuke is free software; you can redistribute it and/or modify
11     it under the terms of the GNU General Public License as published by
12     the Free Software Foundation; either version 2 of the License, or
13     (at your option) any later version.
14
15     GeiNuke is distributed in the hope that it will be useful,
16     but WITHOUT ANY WARRANTY; without even the implied warranty of
17     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18     GNU General Public License for more details.
19
20     You should have received a copy of the GNU General Public License
21     along with GeiNuke; if not, write to the Free Software
22     Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
23 */

24 package com.geinuke.module.forum;
25
26 import java.util.ArrayList JavaDoc;
27 import java.util.HashMap JavaDoc;
28 import java.util.Locale JavaDoc;
29
30 import javax.servlet.http.HttpServletRequest JavaDoc;
31 import javax.servlet.http.HttpServletResponse JavaDoc;
32
33 import org.apache.velocity.context.Context;
34
35 import com.geinuke.common.EditorFactory;
36 import com.geinuke.common.GlobalConfigurationI;
37 import com.geinuke.common.ModuleWidgetI;
38 import com.geinuke.common.NukeModuleI;
39 import com.geinuke.common.PageTool;
40 import com.geinuke.common.UserI;
41 import com.geinuke.middle.ICommentBL;
42 import com.geinuke.middle.IForumBL;
43 import com.geinuke.middle.ITopicBL;
44 import com.geinuke.middle.IUserBL;
45 import com.geinuke.module.ModuleWriter;
46 import com.geinuke.servlet.GeiServlet;
47 import com.geinuke.util.NukeResource;
48 import com.geinuke.vo.CommentVO;
49 import com.geinuke.vo.ForumVO;
50 import com.geinuke.vo.ModuleDBVO;
51 import com.geinuke.vo.TopicVO;
52 import com.geinuke.vo.UserVO;
53 import com.geinuke.util.log.*;
54
55 public class NewForumComment implements ModuleWidgetI{
56
57     public NukeModuleI handleAction(ModuleDBVO module, Context ctx,HttpServletRequest JavaDoc req, HttpServletResponse JavaDoc res, UserI user, GlobalConfigurationI gConf) throws Exception JavaDoc {
58         String JavaDoc moduleTempName=null;
59         ArrayList JavaDoc topicsTID=new ArrayList JavaDoc();
60         int tid=Integer.parseInt( req.getParameter("tid") );
61         
62         
63         
64         ForumVO forum=null;
65         TopicVO to=null;
66         IForumBL fbl=(IForumBL)GeiServlet.getBL("IForumBL");
67         ITopicBL tbl=(ITopicBL)GeiServlet.getBL("ITopicBL");
68         ICommentBL cbl=(ICommentBL)GeiServlet.getBL("ICommentBL");
69         
70         forum=fbl.getForumByTId(tid);
71                 
72         if(forum.getFState()<3){
73             
74             if(req.getParameter("cid")!=null){
75                 IUserBL ubl=(IUserBL)GeiServlet.getBL("IUserBL");
76                 int cid=Integer.parseInt(req.getParameter("cid"));
77                 CommentVO co=cbl.getForumCommentByCId(cid);
78                 UserVO us=ubl.getUserByID(co.getUId());
79                 ctx.put("aut",us.getUName());
80                 ctx.put("ctx",ctx);
81                 ctx.put("reText",co.getText());
82             }else if(req.getParameter("xtid")!=null){
83                 IUserBL ubl=(IUserBL)GeiServlet.getBL("IUserBL");
84                 int xtid=Integer.parseInt(req.getParameter("xtid"));
85                 TopicVO tt=tbl.getForumTopicByTId(xtid);
86                 UserVO us=ubl.getUserByID(tt.getAuthor().getId());
87                 ctx.put("aut",us.getUName());
88                 ctx.put("ctx",ctx);
89                 ctx.put("reText",tt.getText());
90                 GeiServlet.intLog(ILogger.INFO,"NewForumComment.handleAction(...), aut="+us.getUName()+" reText="+tt.getText());
91             }
92             
93             to=tbl.getForumTopicByTId(tid);
94             HashMap JavaDoc authors=cbl.getUsersByForumCommentXId(tid);
95             Locale JavaDoc lo=NukeResource.getLocale(req,res);
96             
97             EditorFactory ef=new EditorFactory(req,null);
98             ctx.put("factory",ef);
99                 
100             ctx.put("pageTool",new PageTool(lo));
101             ctx.put("topic",to);
102             ctx.put("authors",authors);
103             ctx.put("replies",to.getComments());
104             ctx.put("forum",forum);
105         }else{
106             res.sendRedirect("ErrorForum.jhtm");
107         }
108         
109         moduleTempName=gConf.getModulePage(module.getName(),req);
110         return ModuleWriter.fill(ctx,module,moduleTempName);
111     }
112
113 }
114
Popular Tags