1 23 24 package interceptors; 25 26 import org.dbforms.config.DbFormsConfig; 27 import org.dbforms.config.FieldValue; 28 import org.dbforms.config.FieldValues; 29 import org.dbforms.config.Table; 30 import org.dbforms.config.ValidationException; 31 32 import org.dbforms.event.DbEventInterceptorSupport; 33 34 import java.sql.Connection ; 35 import java.sql.ResultSet ; 36 import java.sql.SQLException ; 37 import java.sql.Statement ; 38 39 import javax.servlet.http.HttpServletRequest ; 40 41 42 43 50 public class BookstoreInsertDataInterceptor extends DbEventInterceptorSupport { 51 64 public int preInsert(HttpServletRequest request, 65 Table table, 66 FieldValues fieldValues, 67 DbFormsConfig config, 68 Connection con) throws ValidationException { 69 long new_id = 0; 70 String fieldName = table.getName() + "_ID"; 71 FieldValue fv = fieldValues.get(fieldName); 72 if (fv != null) { 73 new_id = ((Integer ) fv.getFieldValueAsObject()).intValue(); 74 } 75 76 if (new_id == 0) { 77 String qry = "select max(" + fieldName + ") from " + table.getName(); 78 79 try { 80 Statement stmt = con.createStatement(); 81 ResultSet rs = stmt.executeQuery(qry); 82 rs.next(); 83 new_id = rs.getLong(1); 84 stmt.close(); 85 } catch (SQLException e) { 86 e.printStackTrace(); 87 } 88 89 new_id++; 90 setValue(table, fieldValues, fieldName, String.valueOf(new_id)); 91 } 92 93 return GRANT_OPERATION; 94 } 95 } 96
| Popular Tags
|