KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > contineo > actions > search > SearchComparisionNextAction


1 /*
2  * Created on 27.03.2004
3  *
4  * To change the template for this generated file go to
5  * Window>Preferences>Java>Code Generation>Code and Comments
6  */

7 package org.contineo.actions.search;
8
9 import java.util.Collection JavaDoc;
10 import javax.servlet.http.HttpServletRequest JavaDoc;
11 import javax.servlet.http.HttpServletResponse JavaDoc;
12 import javax.servlet.http.HttpSession JavaDoc;
13 import org.apache.log4j.Level;
14 import org.apache.log4j.Logger;
15 import org.apache.struts.action.Action;
16 import org.apache.struts.action.ActionError;
17 import org.apache.struts.action.ActionErrors;
18 import org.apache.struts.action.ActionForm;
19 import org.apache.struts.action.ActionForward;
20 import org.apache.struts.action.ActionMapping;
21 import org.contineo.core.LoggingManager;
22 import org.contineo.core.SessionManagement;
23
24 /**
25  * @author Michael Scholz
26  *
27  * To change the template for this generated type comment go to
28  * Window>Preferences>Java>Code Generation>Code and Comments
29  */

30 public class SearchComparisionNextAction extends Action {
31
32     /**
33      * @uml.property name="logger"
34      * @uml.associationEnd
35      */

36     private Logger logger;
37
38     
39     /**
40      *
41      */

42     public SearchComparisionNextAction() {
43         logger = LoggingManager.getLogger(this.getClass());
44     }
45
46     public ActionForward execute(ActionMapping mapping,
47                     ActionForm form, HttpServletRequest JavaDoc request,
48                     HttpServletResponse JavaDoc response) {
49         ActionForward actionForward = new ActionForward();
50         ActionErrors errors = new ActionErrors();
51         HttpSession JavaDoc session = request.getSession();
52         if (SessionManagement.isValid(session)) {
53             try {
54                 String JavaDoc page = request.getParameter("page");
55                 String JavaDoc hpp = request.getParameter("hpp");
56                 if (hpp == null || hpp.equals(""))
57                     hpp = "5";
58                 int p = Integer.parseInt(page);
59                 int h = Integer.parseInt(hpp);
60                 int s = (p-1)*h;
61                 Collection JavaDoc result = (Collection JavaDoc)session.getAttribute("compresult");
62                 if (result != null) {
63                     int ps = result.size() / h;
64                     if ((result.size() % h) != 0)
65                         ps++;
66                     request.setAttribute("start", new Integer JavaDoc(s));
67                     request.setAttribute("pages", new Integer JavaDoc(ps));
68                     request.setAttribute("hpp", new Integer JavaDoc(h));
69                     request.setAttribute("pg", new Integer JavaDoc(Integer.parseInt(page)));
70                 } else {
71                     errors.add(ActionErrors.GLOBAL_ERROR, new ActionError("errors.nosearch"));
72                     request.setAttribute("pages", new Integer JavaDoc(0));
73                     request.setAttribute("hpp", new Integer JavaDoc(0));
74                     request.setAttribute("pg", new Integer JavaDoc(0));
75                 }
76             } catch (Exception JavaDoc e) {
77                 if (logger.isEnabledFor(Level.ERROR))
78                     logger.error(e.getMessage());
79                 errors.add(ActionErrors.GLOBAL_ERROR, new ActionError("errors.nosearch"));
80                 request.setAttribute("pages", new Integer JavaDoc(0));
81                 request.setAttribute("hpp", new Integer JavaDoc(0));
82                 request.setAttribute("pg", new Integer JavaDoc(0));
83             }
84             actionForward = mapping.findForward("compresult");
85         } else
86             actionForward = mapping.findForward("invalid");
87         return actionForward;
88     }
89 }
90
Popular Tags