KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > de > webman > content > workflow > db > queries > InsertStatus


1 package de.webman.content.workflow.db.queries;
2
3 import java.sql.*;
4
5 import com.teamkonzept.db.*;
6 import com.teamkonzept.webman.mainint.WebmanExceptionHandler;
7 import de.webman.content.workflow.db.queries.SelectMaxVersionStatus;
8 import de.webman.content.workflow.db.queries.InsertVersionStatus;
9 import de.webman.content.workflow.db.queries.SelectVersionStatus;
10
11 /*
12  *
13  * erzeugt neuen Eintrag in VERSION_STATUS
14  *
15  * @author
16  * @version
17  */

18 public class InsertStatus extends TKExtendedPrepQuery
19 {
20
21     public final static boolean ISPREPARED = true;
22     public final static String JavaDoc[] ORDER = { "STATUS", "STATUS_ATTRIBUTES" };
23     public final static Object JavaDoc[][] TYPES = null;
24     public final static boolean[] SETRELEVANTS = { true };
25
26
27     protected static Class JavaDoc[] queryClasses = {
28     SelectMaxVersionStatus.class,
29     InsertVersionStatus.class,
30     SelectVersionStatus.class
31     };
32
33     public boolean execute()
34     {
35     try
36     {
37         init(queryClasses);
38
39         boolean isNotOpen = aTKDBConnection.isAutoCommit();
40         if (isNotOpen)
41         {
42         TKDBManager.beginTransaction();
43         }
44
45         // SELECT MAX(STATUS_ID) FROM VERSION_STATUS
46
queries[0].execute();
47         int status_id = 1;
48         ResultSet rs = queries[0].fetchResultSet();
49         if (rs != null && rs.next())
50         {
51         status_id = rs.getInt(1) + 1;
52         }
53         Integer JavaDoc statusId = new Integer JavaDoc(status_id);
54
55         // INSERT INTO VERSION_STATUS (STATUS_ID, STATUS, STATUS_ATTRIBUTES) VALUES (?, ?, ?)
56
queries[1].setQueryParams("STATUS_ID", statusId);
57         queries[1].setQueryParams("STATUS",
58                       queryParams.get("STATUS"));
59         queries[1].setQueryParams("STATUS_ATTRIBUTES",
60                       queryParams.
61                       get("STATUS_ATTRIBUTES"));
62         queries[1].execute();
63
64         // SELECT * FROM VERSION_STATUS WHERE STATUS_ID = ?
65
queries[2].setQueryParams("STATUS_ID", statusId);
66         queries[2].execute();
67         addResult(queries[2].fetchResultSet());
68
69         if (isNotOpen)
70         {
71         TKDBManager.commitTransaction();
72         }
73
74     }
75     catch(Throwable JavaDoc t)
76     {
77         TKDBManager.safeRollbackTransaction(t);
78     }
79     return hasResults();
80     }
81
82     public void initQuery(Connection con)
83     {
84     super.initQuery(con, ISPREPARED, ORDER, TYPES, SETRELEVANTS, null);
85     }
86 }
87
Popular Tags