1 5 8 package com.teamkonzept.webman.mainint.db.queries; 9 10 import java.sql.*; 11 12 import com.teamkonzept.db.*; 13 import com.teamkonzept.webman.mainint.WebmanExceptionHandler; 14 import com.teamkonzept.webman.mainint.db.queries.presentation.*; 15 16 25 public class TKDBPresContInsert extends TKExtendedPrepQuery 26 { 27 28 public final static boolean isPrepared = true; 29 30 public final static String [] order = 31 { "PRESENTATION_ID", "COMPONENT_TYPE", "INTEGRATION_TYPE", 32 "INTEGRATION_NAME", "INTEGRATION_SHORTNAME", "FORM_ID" 33 }; 34 35 public final static Object [][] types = 36 { {"INTEGRATION_NAME", new Integer (Types.VARCHAR)}, 37 {"INTEGRATION_SHORTNAME", new Integer (Types.VARCHAR)} 38 }; 39 40 public final static boolean[] setRelevants = { true }; 41 42 82 83 protected static Class [] queryClasses = { 84 SelectMaxPresentationComponent.class, 85 InsertPresentationComponent.class, 86 InsertPresentationContent.class, 87 SelectPresentationContent.class 88 }; 89 90 public boolean execute() 91 { 92 try 93 { 94 init(queryClasses); 95 96 Integer presId = (Integer ) queryParams.get("PRESENTATION_ID"); 97 98 boolean isNotOpen = aTKDBConnection.isAutoCommit(); 99 if (isNotOpen) 100 { 101 TKDBManager.beginTransaction(); 102 } 103 104 queries[0].setQueryParams("PRESENTATION_ID", 106 queryParams.get("PRESENTATION_ID")); 107 queries[0].execute(); 108 int pidx = 0; 109 ResultSet rs = queries[0].fetchResultSet(); 110 if (rs != null && rs.next()) 111 { 112 pidx = rs.getInt(1) + 1; 113 } 114 Integer presComp = new Integer (pidx); 115 116 queries[1].setQueryParams("PRESENTATION_ID", presId); 118 queries[1].setQueryParams("PRESENTATION_COMPONENT_IDX", presComp); 119 queries[1].setQueryParams("COMPONENT_TYPE", 120 queryParams.get("COMPONENT_TYPE")); 121 queries[1].setQueryParams("INTEGRATION_TYPE", 122 queryParams.get("INTEGRATION_TYPE")); 123 queries[1].setQueryParams("INTEGRATION_NAME", 124 queryParams.get("INTEGRATION_NAME")); 125 queries[1].setQueryParams("INTEGRATION_SHORTNAME", 126 queryParams. 127 get("INTEGRATION_SHORTNAME")); 128 queries[1].execute(); 129 130 queries[2].setQueryParams("PRESENTATION_ID", presId); 132 queries[2].setQueryParams("PRESENTATION_COMPONENT", presComp); 133 queries[2].setQueryParams("FORM_ID", queryParams.get("FORM_ID")); 134 queries[2].execute(); 135 136 queries[3].setQueryParams("PRESENTATION_ID", presId); 138 queries[3].setQueryParams("PRESENTATION_COMPONENT", presComp); 139 queries[3].execute(); 140 addResult(queries[3].fetchResultSet()); 141 142 if (isNotOpen) 143 { 144 TKDBManager.commitTransaction(); 145 } 146 147 } 148 catch(Throwable t) 149 { 150 TKDBManager.safeRollbackTransaction(t); 151 } 152 return hasResults(); 153 } 154 155 public void initQuery(Connection con) 156 { 157 super.initQuery(con, isPrepared, order, types, setRelevants, null); 158 } 159 } 160 | Popular Tags |