1 package de.webman.content.workflow.db.queries; 2 3 import java.sql.*; 4 5 import com.teamkonzept.db.*; 6 import com.teamkonzept.webman.mainint.WebmanExceptionHandler; 7 import de.webman.content.workflow.db.queries.SelectMaxVersionStatusFilter; 8 import de.webman.content.workflow.db.queries.InsertVersionStatusFilter; 9 import de.webman.content.workflow.db.queries.SelectVersionStatusFilter; 10 11 18 public class InsertFilter extends TKExtendedPrepQuery 19 { 20 21 public final static boolean ISPREPARED = true; 22 public final static String [] ORDER = { "FILTER_NAME", "FILTER_MODE" }; 23 public final static Object [][] TYPES = null; 24 public final static boolean[] SETRELEVANTS = { true }; 25 26 27 protected static Class [] queryClasses = { 28 SelectMaxVersionStatusFilter.class, 29 InsertVersionStatusFilter.class, 30 SelectVersionStatusFilter.class 31 }; 32 33 public boolean execute() 34 { 35 try 36 { 37 init(queryClasses); 38 39 boolean isNotOpen = aTKDBConnection.isAutoCommit(); 40 if (isNotOpen) 41 { 42 TKDBManager.beginTransaction(); 43 } 44 45 queries[0].execute(); 47 int filter_id = 1; 48 ResultSet rs = queries[0].fetchResultSet(); 49 if (rs != null && rs.next()) 50 { 51 filter_id = rs.getInt(1) + 1; 52 } 53 Integer filterId = new Integer (filter_id); 54 55 queries[1].setQueryParams("FILTER_ID", filterId); 57 queries[1].setQueryParams("FILTER_NAME", 58 queryParams.get("FILTER_NAME")); 59 queries[1].setQueryParams("FILTER_MODE", 60 queryParams. 61 get("FILTER_MODE")); 62 queries[1].execute(); 63 64 queries[2].setQueryParams("FILTER_ID", filterId); 66 queries[2].execute(); 67 addResult(queries[2].fetchResultSet()); 68 69 if (isNotOpen) 70 { 71 TKDBManager.commitTransaction(); 72 } 73 74 } 75 catch(Throwable t) 76 { 77 TKDBManager.safeRollbackTransaction(t); 78 } 79 return hasResults(); 80 } 81 82 public void initQuery(Connection con) 83 { 84 super.initQuery(con, ISPREPARED, ORDER, TYPES, SETRELEVANTS, null); 85 } 86 } 87 | Popular Tags |