1 16 package com.blandware.atleap.webapp.action.core.grid; 17 18 import com.blandware.atleap.webapp.form.core.DateFilterForm; 19 import com.blandware.atleap.webapp.taglib.core.grid.util.DateFilter; 20 import com.blandware.atleap.webapp.taglib.core.grid.util.Grid; 21 import com.blandware.atleap.webapp.util.core.WebappUtil; 22 import org.apache.struts.action.ActionForm; 23 import org.apache.struts.action.ActionForward; 24 import org.apache.struts.action.ActionMapping; 25 26 import javax.servlet.http.HttpServletRequest ; 27 import javax.servlet.http.HttpServletResponse ; 28 import javax.servlet.http.HttpSession ; 29 import javax.servlet.jsp.JspException ; 30 31 47 public final class CallDateFilterAction extends BaseGridAction { 48 49 58 public ActionForward execute(ActionMapping mapping, ActionForm form, 59 HttpServletRequest request, HttpServletResponse response) throws JspException { 60 61 HttpSession session = request.getSession(); 62 63 DateFilterForm dateFilterForm = (DateFilterForm) form; 64 String fieldName = dateFilterForm.getFieldName(); 65 String gridName = dateFilterForm.getGridName(); 66 67 Grid grid = getGridByName(gridName, session); 68 69 if ( grid == null ) { 70 if ( log.isErrorEnabled() ) { 71 String errorMessage = "No grid with name " + gridName + " could be found in session"; 72 log.error(errorMessage); 73 } 74 return mapping.findForward("filterError"); 75 } 76 77 DateFilter filter = null; 78 try { 79 filter = (DateFilter) grid.getFilterByFieldName(fieldName); 80 } catch ( ClassCastException e ) { 81 if ( log.isErrorEnabled() ) { 82 String errorMessage = "Filter for field \'" + fieldName + "\' in grid \'" + gridName + "\' is not instance of com.blandware.atleap.webapp.taglib.core.grid.util.DateFilter"; 83 log.error(errorMessage); 84 } 85 return mapping.findForward("filterError"); 86 } 87 88 if ( filter != null ) { 89 try { 90 String rowIterators = dateFilterForm.getRowIterators(); 91 WebappUtil.copyProperties(dateFilterForm, filter, request); 92 dateFilterForm.setRowIterators(rowIterators); 93 } catch ( Exception e ) { 94 if ( log.isErrorEnabled() ) { 95 log.error(e); 96 } 97 throw new JspException (e); 98 } 99 } 100 101 if ( log.isDebugEnabled() ) { 102 log.debug("First value: " + dateFilterForm.getFirstValue()); 103 log.debug("Second value: " + dateFilterForm.getSecondValue()); 104 } 105 106 if ( log.isDebugEnabled() ) { 107 log.debug("Returning filter page: " + mapping.findForward("showFilterPage").getPath()); 108 } 109 110 return mapping.findForward("showFilterPage"); 111 } 112 } | Popular Tags |