1 package com.teamkonzept.webman.mainint.db.queries; 2 3 import java.sql.*; 4 import com.teamkonzept.db.*; 5 import com.teamkonzept.webman.mainint.WebmanExceptionHandler; 6 import com.teamkonzept.webman.mainint.db.queries.presentation.*; 7 8 20 public class TKDBPresCompInsert 21 extends TKExtendedPrepQuery 22 { 23 24 public final static boolean IS_PREPARED = true; 25 26 public final static String [] PARAMETER_ORDER = 27 { "PRESENTATION_ID", "COMPONENT_TYPE", "INTEGRATION_TYPE", 28 "INTEGRATION_NAME", "INTEGRATION_SHORTNAME" 29 }; 30 31 public final static Object [][] PARAMETER_TYPES = 32 { {"INTEGRATION_NAME", new Integer (Types.VARCHAR)}, 33 {"INTEGRATION_SHORTNAME", new Integer (Types.VARCHAR)} 34 }; 35 36 public final static boolean[] SET_RELEVANTS = { true }; 37 38 71 72 protected static Class [] queryClasses = { 73 SelectMaxPresentationComponent.class, InsertPresentationComponent.class, SelectPresentationComponent.class }; 77 78 84 public boolean execute () 85 { 86 try 87 { 88 init(queryClasses); 89 Integer presId = (Integer ) queryParams.get("PRESENTATION_ID"); 90 91 boolean isNotOpen = aTKDBConnection.isAutoCommit(); 92 if (isNotOpen) 93 { 94 TKDBManager.beginTransaction(); 95 } 96 97 queries[0].setQueryParams("PRESENTATION_ID", presId); 98 queries[0].execute(); ResultSet rs = queries[0].fetchResultSet(); 100 int max = 0; 101 if (rs != null && rs.next()) 102 { 103 max = rs.getInt(1) + 1; 104 } 105 Integer presComp = new Integer (max); 106 107 queries[1].setQueryParams("PRESENTATION_ID", presId); 108 queries[1].setQueryParams("PRESENTATION_COMPONENT_IDX", presComp); 109 queries[1].setQueryParams("COMPONENT_TYPE", 110 queryParams.get("COMPONENT_TYPE")); 111 queries[1].setQueryParams("INTEGRATION_TYPE", 112 queryParams.get("INTEGRATION_TYPE")); 113 queries[1].setQueryParams("INTEGRATION_NAME", 114 queryParams.get("INTEGRATION_NAME")); 115 queries[1].setQueryParams("INTEGRATION_SHORTNAME", 116 queryParams. 117 get("INTEGRATION_SHORTNAME")); 118 queries[1].execute(); 120 queries[2].setQueryParams("PRESENTATION_ID", presId); 121 queries[2].setQueryParams("PRESENTATION_COMPONENT_IDX", presComp); 122 queries[2].execute(); addResult(queries[2].fetchResultSet()); 124 125 if (isNotOpen) 126 { 127 TKDBManager.commitTransaction(); 128 } 129 130 } 131 catch(Throwable t) 132 { 133 TKDBManager.safeRollbackTransaction(t); 134 } 135 return hasResults(); 136 } 137 138 143 public void initQuery (Connection connection) 144 { 145 super.initQuery(connection, 146 IS_PREPARED, 147 PARAMETER_ORDER, 148 PARAMETER_TYPES, 149 SET_RELEVANTS, 150 sqlString); 151 } 152 153 } 154 | Popular Tags |