1 23 package org.dbforms.event.datalist; 24 import org.apache.commons.logging.Log; 25 import org.apache.commons.logging.LogFactory; 26 27 import org.dbforms.config.DbEventInterceptorData; 28 import org.dbforms.config.DbFormsConfig; 29 import org.dbforms.config.FieldValue; 30 import org.dbforms.config.ResultSetVector; 31 import org.dbforms.config.Table; 32 33 import org.dbforms.event.NavigationEvent; 34 import org.dbforms.event.datalist.dao.DataSourceFactory; 35 import org.dbforms.event.datalist.dao.DataSourceSessionList; 36 37 import java.sql.SQLException ; 38 39 import javax.servlet.http.HttpServletRequest ; 40 41 42 43 50 public class NavNextEvent extends NavigationEvent { 51 private static Log logCat = LogFactory.getLog(NavNextEvent.class.getName()); 53 54 61 public NavNextEvent(String action, HttpServletRequest request, 62 DbFormsConfig config) { 63 super(action, request, config); 64 } 65 66 67 74 public NavNextEvent(Table table, HttpServletRequest request, 75 DbFormsConfig config) { 76 super(table, request, config); 77 } 78 79 102 public ResultSetVector processEvent(FieldValue[] filterFieldValues, 103 FieldValue[] orderConstraint, String sqlFilter, 104 FieldValue[] sqlFilterParams, int count, String firstPosition, 105 String lastPosition, DbEventInterceptorData interceptorData) 106 throws SQLException { 107 logCat.info("==>NavNextEvent.processEvent"); 108 109 DataSourceSessionList ds = DataSourceSessionList.getInstance(getRequest()); 110 DataSourceFactory qry = ds.get(getTable(), getRequest()); 111 112 if (qry == null) { 113 qry = new DataSourceFactory((String ) interceptorData.getAttribute( 114 DbEventInterceptorData.CONNECTIONNAME), 115 interceptorData.getConnection(), getTable()); 116 qry.setSelect(filterFieldValues, orderConstraint, sqlFilter, 117 sqlFilterParams); 118 ds.put(getTable(), getRequest(), qry); 119 } 120 121 String position = getTable().getKeyPositionString(getTable() 122 .getFieldValues(lastPosition)); 123 ResultSetVector res = qry.getNext(interceptorData, position, count); 124 125 if (ResultSetVector.isNull(res)) { 126 res = qry.getLast(interceptorData, count); 127 } 128 129 return res; 130 } 131 } 132 | Popular Tags |