1 4 package com.teamkonzept.webman.mainint.db.queries.oracle; 5 6 import com.teamkonzept.db.*; 7 import java.sql.*; 8 import com.teamkonzept.webman.mainint.WebmanExceptionHandler; 9 10 11 public class TKDBContentNewVersion extends TKExtendedPrepQuery 12 { 13 14 public final static boolean isPrepared = true; 15 16 public final static String [] paramOrder = { 17 "INSTANCE_ID", "STATUS_ID", "VERS_INFO", "VERS_AUTHOR" 18 }; 19 20 public final static Object [][] types = 21 { {"VERS_INFO", new Integer (Types.VARCHAR)}, 22 {"VERS_AUTHOR", new Integer (Types.VARCHAR)}, 23 }; 24 25 public final static boolean[] setRelevants = { false }; 26 27 53 54 protected static Class [] queryClasses = { 55 com.teamkonzept.webman.mainint.db.queries.content.SelectMaxContentVersion.class, com.teamkonzept.webman.mainint.db.queries.content.SelectMaxContentVersionWhere.class, com.teamkonzept.webman.mainint.db.queries.content.InsertContentVersion.class, com.teamkonzept.webman.mainint.db.queries.content.SelectContentVersionContentInstance.class }; 60 61 public boolean execute() 62 { 63 try 64 { 65 init(queryClasses); 67 Integer instIdObj = (Integer ) queryParams.get("INSTANCE_ID"); 69 70 boolean isNotOpen = aTKDBConnection.isAutoCommit(); 71 if (isNotOpen) 72 { 73 TKDBManager.beginTransaction(); 74 } 75 76 int vers_id = 1; 77 queries[0].execute(); 79 ResultSet rs = queries[0].fetchResultSet(); 80 if (rs != null && rs.next()) 81 { 82 vers_id = rs.getInt(1) + 1; 83 } 84 85 Object contIdObj = null; 87 queries[1].setQueryParams("INSTANCE_ID", instIdObj); 90 queries[1].execute(); 91 rs = queries[1].fetchResultSet(); 92 if (rs != null && rs.next()) 93 { 94 contIdObj = rs.getObject(1); 95 } 96 97 queries[2].setQueryParams("VERSION_ID", new Integer (vers_id)); 101 queries[2].setQueryParams("INSTANCE_ID", instIdObj); 102 queries[2].setQueryParams("CONTENT_ID", contIdObj); 103 queries[2].setQueryParams("STATUS_ID", 104 queryParams.get("STATUS_ID")); 105 queries[2].setQueryParams("DATE", 106 new java.sql.Timestamp (System. 107 currentTimeMillis 108 ())); 109 queries[2].setQueryParams("VERS_INFO", 110 queryParams.get("VERS_INFO")); 111 queries[2].setQueryParams("VERS_AUTHOR", 112 queryParams.get("VERS_AUTHOR")); 113 queries[2].execute(); 114 115 if (isNotOpen) 116 { 117 aTKDBConnection.commitTransaction(); } 119 120 queries[3].setQueryParams("VERSION_ID", new Integer (vers_id)); 124 queries[3].setQueryParams("INSTANCE_ID", instIdObj); 125 queries[3].execute(); 126 addResult(queries[3].fetchResultSet()); 127 128 } 129 catch(Throwable t) 130 { 131 TKDBManager.safeRollbackTransaction(t); 132 } 133 return hasResults(); 134 } 135 136 public void initQuery(Connection con) 137 { 138 super.initQuery(con, 139 isPrepared, paramOrder, types, setRelevants, null); 140 } 141 } 142 | Popular Tags |