1 2 23 package com.geinuke.module.blog; 24 25 import java.util.ArrayList ; 26 import java.util.HashMap ; 27 import java.util.Locale ; 28 29 import javax.servlet.http.HttpServletRequest ; 30 import javax.servlet.http.HttpServletResponse ; 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 checkErrors(HttpServletRequest req){ 57 HashMap h=null; 58 String 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 req, HttpServletResponse res, UserI user, GlobalConfigurationI gConf) throws Exception { 71 String moduleTempName=null; 72 BlogPostVO bp=null; 73 ArrayList posts=null; 74 75 IBlogBL bbl=(IBlogBL)GeiServlet.getBL("IBlogBL"); 76 77 GeiServlet.intLog("InsBlogPost.handleAction(...), START"); 78 String blogTitle=req.getParameter("title"); 79 String blogText=req.getParameter("blogtext"); 80 String 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 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 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 |