1 23 package interceptors; 24 import org.dbforms.config.DbEventInterceptorData; 25 import org.dbforms.config.MultipleValidationException; 26 import org.dbforms.config.ResultSetVector; 27 import org.dbforms.config.ValidationException; 28 29 import org.dbforms.event.DbEventInterceptorSupport; 30 31 32 33 39 public class BookstoreCalcFieldAndSearchInterceptor 40 extends DbEventInterceptorSupport { 41 51 public int preAddRow(DbEventInterceptorData data) 52 throws ValidationException, MultipleValidationException { 53 ResultSetVector rsv = (ResultSetVector) data.getAttribute(DbEventInterceptorData.RESULTSET); 54 Object [] row = (Object []) data.getAttribute(DbEventInterceptorData.OBJECTROW); 55 int colISBN = rsv.getFieldIndex("ISBN"); 56 int res; 57 if (row[colISBN] == null) { 58 res = IGNORE_OPERATION; 59 } else { 60 res = GRANT_OPERATION; 61 } 62 return res; 63 } 64 65 66 74 public void postAddRow(DbEventInterceptorData data) { 75 ResultSetVector rsv = (ResultSetVector) data.getAttribute(DbEventInterceptorData.RESULTSET); 76 Object [] row = (Object []) data.getAttribute(DbEventInterceptorData.OBJECTROW); 77 int colISBN = rsv.getFieldIndex("ISBN"); 78 int colTITEL = rsv.getFieldIndex("TITLE"); 79 int colSBN_TITEL = rsv.getFieldIndex("ISBN_TITLE"); 80 row[colSBN_TITEL] = "+-" + row[colISBN] + "-CALC-" + row[colTITEL] + "-+"; 81 82 int colROWNUM = rsv.getFieldIndex("ROW_NUM"); 83 Integer oRowNum = (Integer ) data.getAttribute("ROWNUM"); 84 int rowNum = 0; 85 86 if (oRowNum != null) { 87 rowNum = oRowNum.intValue(); 88 } 89 90 rowNum++; 91 oRowNum = new Integer (rowNum); 92 data.setAttribute("ROWNUM", oRowNum); 93 row[colROWNUM] = oRowNum; 94 } 95 } 96 | Popular Tags |