1 package de.webman.content.workflow.db; 2 3 import com.teamkonzept.db.*; 4 import com.teamkonzept.lib.*; 5 import de.webman.content.workflow.*; 6 import de.webman.content.workflow.db.queries.*; 7 8 import java.util.*; 9 import java.sql.*; 10 11 import org.apache.log4j.Category; 12 16 public class VersionStatusTransitionDBInterface extends TKDBInterface 17 { 18 19 private static Category cat = Category.getInstance(VersionStatusTransitionDBInterface.class); 20 21 private final static Class NEW_PRIM_QUERY = VersionStatusTransitionNew.class; 22 private final static Class UPDATE_PRIM_QUERY = VersionStatusTransitionUpdate.class; 23 private final static Class GET_PRIM_QUERY = VersionStatusTransitionGet.class; 24 private final static Class DEL_PRIM_QUERY = VersionStatusTransitionDel.class; 25 26 private static VersionStatusTransitionDBInterface self = new VersionStatusTransitionDBInterface(); 27 28 public VersionStatusTransitionDBInterface () { 29 30 super (NEW_PRIM_QUERY, UPDATE_PRIM_QUERY, GET_PRIM_QUERY, DEL_PRIM_QUERY); 31 } 32 33 public static void Put (VersionStatusTransitionDBData dbData) throws SQLException { 34 35 self.updateEntry (dbData); 36 } 37 38 public static void Get (VersionStatusTransitionDBData dbData) throws SQLException { 39 40 self.getEntry (dbData); 41 } 42 43 public static void Del (VersionStatusTransitionDBData dbData) throws SQLException { 44 45 self.delEntry (dbData); 46 } 47 48 public static void New (VersionStatusTransitionDBData dbData) throws SQLException { 49 50 self.newEntry (dbData); 51 } 52 53 56 public static void GetAll (VersionStatics statics, TKHashtable table) throws SQLException { 57 58 TKQuery query = TKDBManager.newQuery(VersionStatusTransitionGetAll.class); 59 query.execute(); 60 ResultSet rs = query.fetchResultSet(); 61 62 while (rs.next()) { 63 64 VersionStatusTransitionDBData data = new VersionStatusTransitionDBData (statics,rs); 65 66 VersionStatus from = (VersionStatus) statics.getStatusPool().get (new Integer (data.status_id)); 67 if (from.comment) continue; 68 69 VersionStatus to = (VersionStatus) statics.getStatusPool().get (new Integer (data.new_status_id)); 70 if (to.comment) continue; 71 72 Hashtable dest = (Hashtable) table.get (new Integer (data.status_id)); 73 74 if (dest == null) { 75 76 dest = new TKHashtable(); 77 table.put (new Integer (data.status_id),dest); 78 } 79 80 dest.put (new Integer (data.new_status_id),data); 81 } 82 } 83 84 public static void ReplaceAll (TKHashtable table) throws SQLException { 85 86 try { 87 TKDBManager.beginTransaction(); 88 89 TKQuery query = TKDBManager.newQuery(VersionStatusTransitionDeleteAll.class); 90 query.execute(); 91 query.close(); 92 93 Enumeration e = table.elements(); 94 while (e.hasMoreElements()) { 95 96 TKHashtable dest = (TKHashtable) e.nextElement(); 97 Enumeration ee = dest.elements(); 98 99 while (ee.hasMoreElements()) { 100 101 VersionStatusTransitionDBData dbData = 102 (VersionStatusTransitionDBData) ee.nextElement(); 103 104 query = TKDBManager.newQuery(NEW_PRIM_QUERY); 105 dbData.insertIntoQuery( query ); 106 query.execute(); 107 query.close(); 108 } 109 } 110 111 TKDBManager.commitTransaction(); 112 113 } catch (Throwable t) 114 { 115 cat.error("replaceall: " , t); 116 TKDBManager.safeRollbackTransaction(t); 117 } 118 } 119 } 120 | Popular Tags |