KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > geinuke > module > wiki > SearchArticle


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.wiki;
25
26 import java.util.ArrayList 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.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.IWikiBL;
40 import com.geinuke.module.ModuleWriter;
41 import com.geinuke.servlet.GeiServlet;
42 import com.geinuke.util.NukeResource;
43 import com.geinuke.util.Paginator;
44 import com.geinuke.util.ServletUtil;
45 import com.geinuke.vo.ModuleDBVO;
46
47 public class SearchArticle extends AbstractListArticles implements ModuleWidgetI{
48
49     protected ArrayList JavaDoc getResults(HttpServletRequest JavaDoc req,HttpServletResponse JavaDoc res)throws Exception JavaDoc{
50         ArrayList JavaDoc resp=null;
51         IWikiBL bbl=(IWikiBL)GeiServlet.getBL("IWikiBL");
52         String JavaDoc words=req.getParameter("words");
53         String JavaDoc mod=req.getParameter("mod");
54         if(words==null || words.trim().equals("")){
55             
56             return new ArrayList JavaDoc();
57         }else if(mod.equals("text")){
58             resp=bbl.getWikiArticlesByText(words);
59         }else if(mod.equals("name")){
60             resp=bbl.getWikiArticlesByName(words);
61         }else if(mod.equals("tt")){
62             resp=bbl.getWikiArticlesByNameOrText(words);
63         }
64             
65         return resp;
66     }
67     
68     public NukeModuleI handleAction(ModuleDBVO module, Context ctx,HttpServletRequest JavaDoc req, HttpServletResponse JavaDoc res, UserI user, GlobalConfigurationI gConf) throws Exception JavaDoc {
69         String JavaDoc moduleTempName=null;
70         ArrayList JavaDoc arts=null;
71         
72         arts=this.getResults(req,res);
73                 
74         GeiServlet.intLog(""+arts);
75         
76         String JavaDoc pag=req.getParameter("wp");
77         
78         Paginator pager=new Paginator(arts,5,"Giki.jhtm?"+ServletUtil.getQueryString(req));
79         if(pag!=null){
80             arts=pager.getPage(Integer.parseInt(pag));
81         }else{
82             arts=pager.getPage(1);
83         }
84         
85         //arts=this.getResults(req,res);
86
Locale JavaDoc lo=NukeResource.getLocale(req,res);
87         
88         // E' la prima volta?
89
if(req.getParameter("F")!=null)
90             ctx.put("notFirst","F");
91         
92         ctx.put("pageTool",new PageTool(lo));
93         ctx.put("arts",arts);
94         ctx.put("pag",pager);
95         moduleTempName=gConf.getModulePage(module.getName(),req);
96         return ModuleWriter.fill(ctx,module,moduleTempName);
97     }
98
99 }
100
Popular Tags