1 7 package org.contineo.actions.search; 8 9 import java.util.Collection ; 10 import javax.servlet.http.HttpServletRequest ; 11 import javax.servlet.http.HttpServletResponse ; 12 import javax.servlet.http.HttpSession ; 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 30 public class SearchComparisionNextAction extends Action { 31 32 36 private Logger logger; 37 38 39 42 public SearchComparisionNextAction() { 43 logger = LoggingManager.getLogger(this.getClass()); 44 } 45 46 public ActionForward execute(ActionMapping mapping, 47 ActionForm form, HttpServletRequest request, 48 HttpServletResponse response) { 49 ActionForward actionForward = new ActionForward(); 50 ActionErrors errors = new ActionErrors(); 51 HttpSession session = request.getSession(); 52 if (SessionManagement.isValid(session)) { 53 try { 54 String page = request.getParameter("page"); 55 String 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 result = (Collection )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 (s)); 67 request.setAttribute("pages", new Integer (ps)); 68 request.setAttribute("hpp", new Integer (h)); 69 request.setAttribute("pg", new Integer (Integer.parseInt(page))); 70 } else { 71 errors.add(ActionErrors.GLOBAL_ERROR, new ActionError("errors.nosearch")); 72 request.setAttribute("pages", new Integer (0)); 73 request.setAttribute("hpp", new Integer (0)); 74 request.setAttribute("pg", new Integer (0)); 75 } 76 } catch (Exception 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 (0)); 81 request.setAttribute("hpp", new Integer (0)); 82 request.setAttribute("pg", new Integer (0)); 83 } 84 actionForward = mapping.findForward("compresult"); 85 } else 86 actionForward = mapping.findForward("invalid"); 87 return actionForward; 88 } 89 } 90 | Popular Tags |