1 2 23 package com.geinuke.module.newsarchive; 24 25 import java.util.ArrayList ; 26 import java.util.GregorianCalendar ; 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.GlobalConfigurationI; 35 import com.geinuke.common.ModuleWidgetI; 36 import com.geinuke.common.NukeModuleI; 37 import com.geinuke.common.PageTool; 38 import com.geinuke.common.UserI; 39 import com.geinuke.middle.INewsBL; 40 import com.geinuke.module.ModuleWriter; 41 import com.geinuke.servlet.GeiServlet; 42 import com.geinuke.util.NukeResource; 43 import com.geinuke.util.TextUtil; 44 import com.geinuke.vo.ModuleDBVO; 45 46 public class ShowPeriodModule implements ModuleWidgetI{ 47 48 49 protected Long [] getBounds(int year,int mo){ 50 51 int y1=year; 52 int mo1=mo+1; 53 if(mo1==12){ 54 mo1=0; 55 y1++; 56 } 57 GregorianCalendar lowBound=new GregorianCalendar (year,mo,1); 58 GregorianCalendar upBound=new GregorianCalendar (y1,mo1,1); 59 Long [] bounds={new Long (lowBound.getTimeInMillis()), 60 new Long (upBound.getTimeInMillis())}; 61 return bounds; 62 } 63 64 65 66 public NukeModuleI handleAction(ModuleDBVO module, Context ctx,HttpServletRequest req, HttpServletResponse res, UserI user, GlobalConfigurationI gConf) throws Exception { 67 NukeModuleI mod=null; 68 String moduleTempName=null; 69 ArrayList list=null; 70 INewsBL nbl=(INewsBL)GeiServlet.getBL("INewsBL"); 71 String aux=req.getParameter("p"); 72 int year=TextUtil.splitAt(aux,1); 73 int mo=TextUtil.splitAt(aux,0); 74 Long [] bounds=this.getBounds(year,mo); 75 list=nbl.getEnabledNewsByPeriod(bounds); 76 77 ctx.put("list",list); 78 Locale lo=NukeResource.getLocale(req,res); 79 80 ctx.put("pageTool",new PageTool(lo)); 81 82 83 moduleTempName=gConf.getModulePage(module.getName(),req); 84 return ModuleWriter.fill(ctx,module,moduleTempName); 85 86 } 87 88 } | Popular Tags |