1 23 package org.dbforms.event.classic; 24 import org.apache.commons.logging.Log; 25 import org.apache.commons.logging.LogFactory; 26 27 import org.dbforms.config.*; 28 29 import org.dbforms.event.*; 30 31 import java.sql.*; 32 33 import javax.servlet.http.*; 34 35 36 37 46 public class NavNextEvent extends NavigationEvent { 47 private static Log logCat = LogFactory.getLog(NavNextEvent.class.getName()); 49 56 public NavNextEvent(String action, HttpServletRequest request, 57 DbFormsConfig config) { 58 super(action, request, config); 59 } 60 61 62 69 public NavNextEvent(Table table, HttpServletRequest request, 70 DbFormsConfig config) { 71 super(table, request, config); 72 } 73 74 97 public ResultSetVector processEvent(FieldValue[] childFieldValues, 98 FieldValue[] orderConstraint, String sqlFilter, 99 FieldValue[] sqlFilterParams, int count, String firstPosition, 100 String lastPosition, DbEventInterceptorData interceptorData) 101 throws SQLException { 102 ResultSetVector rsv; 103 104 logCat.info("==>NavNextEvent"); 105 106 getTable().fillWithValues(orderConstraint, lastPosition); 108 rsv = getTable().doConstrainedSelect(childFieldValues, orderConstraint, 109 sqlFilter, sqlFilterParams, Constants.COMPARE_EXCLUSIVE, count, 110 interceptorData); 111 112 if (rsv.size() == 0) { 113 logCat.info("==>NavNextLastEvent"); 114 FieldValue.invert(orderConstraint); 115 rsv = getTable().doConstrainedSelect(childFieldValues, 116 orderConstraint, sqlFilter, sqlFilterParams, 117 Constants.COMPARE_NONE, count, interceptorData); 118 FieldValue.invert(orderConstraint); 119 rsv.flip(); 120 } 121 122 return rsv; 123 } 124 } 125 | Popular Tags |