1 package de.webman.acl.db.queries; 2 3 import java.sql.Connection ; 4 import java.sql.Types ; 5 import java.sql.SQLException ; 6 import java.sql.ResultSet ; 7 import com.teamkonzept.db.*; 8 import com.teamkonzept.webman.mainint.db.queries.accesscontrol.*; 9 import com.teamkonzept.webman.mainint.WebmanExceptionHandler; 10 11 18 public class RoleInsert 19 extends TKExtendedPrepQuery 20 { 21 22 24 public static final String [] ORDER = 25 { 26 "NAME" 27 }; 28 29 public static final Object [][] TYPES = 30 { 31 {"NAME", new Integer (Types.VARCHAR)} 32 }; 33 34 public static final boolean[] RELEVANTS = 35 { 36 true 37 }; 38 39 44 45 46 public static final String SQL = null; 47 48 49 protected static Class [] queryClasses = { 50 SelectIDWMRole.class, 51 InsertWMRole.class, 52 SelectWMRole.class 53 }; 54 55 57 public boolean execute() { 58 try { 59 init(queryClasses); 60 61 boolean isNotOpen = aTKDBConnection.isAutoCommit(); 62 if (isNotOpen) { 63 aTKDBConnection.beginTransaction(); 64 } 65 queries[0].execute(); ResultSet rs = queries[0].fetchResultSet(); 67 Integer wmRoleId = null; 68 if (rs != null && rs.next()) { 69 int max = 1; 70 max = rs.getInt(1) + 1; wmRoleId = new Integer (max); 72 } 73 74 queries[1].setQueryParams("WM_ROLE_ID", wmRoleId); 75 queries[1].setQueryParams("NAME", queryParams.get("NAME")); 76 queries[1].execute(); 78 queries[2].setQueryParams("WM_ROLE_ID", wmRoleId); 79 queries[2].execute(); addResult(queries[2].fetchResultSet()); 81 82 if (isNotOpen) { aTKDBConnection.commitTransaction(); } 83 } 84 catch (SQLException sqle) { 85 WebmanExceptionHandler.getException(sqle); 86 try { 87 aTKDBConnection.rollbackTransaction(); 88 } 89 catch (SQLException sqle2) { 90 WebmanExceptionHandler.getException(sqle2); 91 } 92 } 93 finally { 94 return hasResults(); 95 } 96 } 97 98 public void initQuery (Connection connection) 99 { 100 super.initQuery(connection, 101 true, 102 ORDER, 103 TYPES, 104 RELEVANTS, 105 SQL); 106 } 107 108 } 109 | Popular Tags |