KickJava   Java API By Example, From Geeks To Geeks.

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


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.SelectMaxVersionStatusFilter;
8 import de.webman.content.workflow.db.queries.InsertVersionStatusFilter;
9 import de.webman.content.workflow.db.queries.SelectVersionStatusFilter;
10
11 /*
12  *
13  * erzeugt neuen Eintrag in VERSION_STATUS_FILTER
14  *
15  * @author
16  * @version
17  */

18 public class InsertFilter extends TKExtendedPrepQuery
19 {
20
21     public final static boolean ISPREPARED = true;
22     public final static String JavaDoc[] ORDER = { "FILTER_NAME", "FILTER_MODE" };
23     public final static Object JavaDoc[][] TYPES = null;
24     public final static boolean[] SETRELEVANTS = { true };
25
26
27     protected static Class JavaDoc[] queryClasses = {
28     SelectMaxVersionStatusFilter.class,
29     InsertVersionStatusFilter.class,
30     SelectVersionStatusFilter.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(FILTER_ID) FROM VERSION_STATUS_FILTER
46
queries[0].execute();
47         int filter_id = 1;
48         ResultSet rs = queries[0].fetchResultSet();
49         if (rs != null && rs.next())
50         {
51         filter_id = rs.getInt(1) + 1;
52         }
53         Integer JavaDoc filterId = new Integer JavaDoc(filter_id);
54
55         // INSERT INTO VERSION_STATUS_FILTER (FILTER_ID, FILTER_NAME, FILTER_MODE) VALUES (?, ?, ?)
56
queries[1].setQueryParams("FILTER_ID", filterId);
57         queries[1].setQueryParams("FILTER_NAME",
58                       queryParams.get("FILTER_NAME"));
59         queries[1].setQueryParams("FILTER_MODE",
60                       queryParams.
61                       get("FILTER_MODE"));
62         queries[1].execute();
63
64         // SELECT * FROM VERSION_STATUS_FILTER WHERE FILTER_ID = ?
65
queries[2].setQueryParams("FILTER_ID", filterId);
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