KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > geinuke > module > blog > InsBlogPost


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

23 package com.geinuke.module.blog;
24
25 import java.util.ArrayList JavaDoc;
26 import java.util.HashMap JavaDoc;
27 import java.util.Locale JavaDoc;
28
29 import javax.servlet.http.HttpServletRequest JavaDoc;
30 import javax.servlet.http.HttpServletResponse JavaDoc;
31
32 import org.apache.velocity.context.Context;
33
34 import com.geinuke.common.EditorFactory;
35 import com.geinuke.common.GlobalConfigurationI;
36 import com.geinuke.common.ModuleWidgetI;
37 import com.geinuke.common.NukeModuleI;
38 import com.geinuke.common.PageTool;
39 import com.geinuke.common.UserI;
40 import com.geinuke.middle.IBlogBL;
41 import com.geinuke.middle.IUserBL;
42 import com.geinuke.module.ModuleWriter;
43 import com.geinuke.servlet.GeiServlet;
44 import com.geinuke.util.NukeResource;
45 import com.geinuke.util.Paginator;
46 import com.geinuke.util.TextUtil;
47 import com.geinuke.vo.BlogPostVO;
48 import com.geinuke.vo.ModuleDBVO;
49 import com.geinuke.vo.UserVO;
50
51
52
53
54 public class InsBlogPost implements ModuleWidgetI{
55
56     protected String JavaDoc checkErrors(HttpServletRequest JavaDoc req){
57         HashMap JavaDoc h=null;
58         String JavaDoc error=null;
59         
60         if( TextUtil.isEmpty(req.getParameter("title") )){
61             error="BLOG_TITLE_EMPTY_ERROR";
62         }else if( TextUtil.isEmpty(req.getParameter("blogtext") ) ){
63             error="BLOG_TEXT_EMPTY_ERROR";
64         }
65         
66         return error;
67         
68     }
69     
70     public NukeModuleI handleAction(ModuleDBVO module, Context ctx,HttpServletRequest JavaDoc req, HttpServletResponse JavaDoc res, UserI user, GlobalConfigurationI gConf) throws Exception JavaDoc {
71         String JavaDoc moduleTempName=null;
72         BlogPostVO bp=null;
73         ArrayList JavaDoc posts=null;
74         
75         IBlogBL bbl=(IBlogBL)GeiServlet.getBL("IBlogBL");
76         
77         GeiServlet.intLog("InsBlogPost.handleAction(...), START");
78         String JavaDoc blogTitle=req.getParameter("title");
79         String JavaDoc blogText=req.getParameter("blogtext");
80         String JavaDoc error=this.checkErrors(req);
81         EditorFactory ef=new EditorFactory(req,null);
82         bp=new BlogPostVO();
83         bp.setBlogTitle(blogTitle);
84         bp.setBlogText(blogText);
85         if(error==null){
86             
87             UserVO us= ((IUserBL)GeiServlet.getBL("IUserBL") ).getUserByID(user.getId());
88             GeiServlet.intLog("InsBlogPost.handleAction(...), us.id="+us.getId());
89             bp.setBlogAuthor(us);
90             bp.setPostTime(System.currentTimeMillis());
91             bbl.insBlogPost(bp);
92             
93         }else{
94             GeiServlet.intLog("InsBlogPost.handleAction(...), ERROR "+error);
95             ctx.put("bp",bp);
96             ctx.put("error",error);
97             ctx.put("errors",ctx);
98         }
99         
100         posts=bbl.getBlogPostsByUID(user.getId());
101         
102         
103         
104         String JavaDoc pag=req.getParameter("wp");
105         Paginator pager=new Paginator(posts,5,"Blog.jhtm?"+req.getQueryString());
106         if(pag!=null){
107             posts=pager.getPage(Integer.parseInt(pag));
108         }else{
109             posts=pager.getPage(1);
110         }
111         Locale JavaDoc lo=NukeResource.getLocale(req,res);
112         
113         ctx.put("pageTool",new PageTool(lo));
114         ctx.put("factory",ef);
115         ctx.put("posts",posts);
116         ctx.put("pag",pager);
117         GeiServlet.intLog("InsBlogPost.handleAction(...), END");
118         moduleTempName=gConf.getModulePage(module.getName(),req);
119         return ModuleWriter.fill(ctx,module,moduleTempName);
120     }
121
122 }
123
124
Popular Tags