01: package com.teamkonzept.webman.mainint.db.queries;
02:
03: import com.teamkonzept.db.*;
04: import java.sql.*;
05: import com.teamkonzept.lib.templates.*;
06:
07: /**
08: * TKDBGetAllNodeContentVersions
09: * Holt alle versionen aller aktuellen Contents eines Content-Tree-Knotens
10: *
11: * @author $Author: alex $
12: * @version $Revision: 1.17 $
13: */
14: public class TKDBGetAllNodeContentVersions extends TKUnprepQuery {
15:
16: public final static Object[][] PARAMTYPES = { { "SEARCH",
17: new Integer(Types.VARCHAR) } };
18:
19: public final static boolean[] SET_RELEVANTS = { true };
20: /** die Query */
21: public final static String SQL_STRING = "SELECT "
22: + " CV.VERSION_ID, CV.INSTANCE_ID, CI.CONTENT_NODE_ID, CV.CONTENT_ID, CV.STATUS_ID, CV.VERSION_DATE, CV.AUTHOR, CV.INFO, VS.STATUS, "
23: + " CT.CONTENT_NODE_NAME, CT.CONTENT_NODE_PARENT, CT2.CONTENT_NODE_TYPE AS PARENT_TYPE, CT.CONTENT_NODE_SHORTNAME, CT.CONTENT_FORM, CT.CONTENT_NODE_TYPE, CI.NAME "
24: + "FROM "
25: + " CONTENT C,<TK_CASE:KENNUNG> CONTENT_VALUE CVALUE,</TK_CASE> CONTENT_TREE CT, CONTENT_TREE CT2, CONTENT_VERSION CV, VERSION_STATUS VS, CONTENT_INSTANCE CI "
26: + "WHERE "
27: + " ( CT.CONTENT_NODE_PARENT = <TK_CONTENT_NODE_ID> OR "
28: + " CT.CONTENT_NODE_ID = <TK_CONTENT_NODE_ID> "
29: + " ) AND "
30: +
31:
32: " CI.CONTENT_NODE_ID = CT.CONTENT_NODE_ID AND "
33: + " CV.INSTANCE_ID = CI.INSTANCE_ID AND "
34: + " C.CONTENT_ID = CV.CONTENT_ID AND "
35: + " CV.STATUS_ID = VS.STATUS_ID AND "
36: + " CT2.CONTENT_NODE_ID = CT.CONTENT_NODE_PARENT "
37: +
38:
39: " <TK_CASE:KENNUNG> AND "
40: + " CVALUE.CONTENT_ID = CV.CONTENT_ID "
41: + " <TK_IF:KENNUNG=0> "
42: + " AND (<TK_LIST:SEARCH_STRING>(CVALUE.VALUE LIKE <TK:SEARCH> "
43: + DBStringFactory.escape()
44: + " ) <TK:CONN> </TK_LIST>) "
45: + " </TK_IF:KENNUNG=0> "
46: + " <TK_IF:KENNUNG=1> "
47: + " AND "
48: + " ((<TK_LIST:SEARCH_STRING>(CT.CONTENT_NODE_NAME LIKE <TK:SEARCH> "
49: + DBStringFactory.escape()
50: + " ) <TK:CONN> </TK_LIST>) "
51: + " OR "
52: + " (<TK_LIST:SEARCH_STRING>(CT.CONTENT_NODE_SHORTNAME LIKE <TK:SEARCH> "
53: + DBStringFactory.escape() + " ) <TK:CONN> </TK_LIST>)) "
54: + " </TK_IF>" + " </TK_CASE> " +
55:
56: "ORDER BY "
57: + "CV.INSTANCE_ID, CV.CONTENT_ID, CV.VERSION_ID ";
58:
59: public static TKTemplateSyntax sqlTmplSyntax;
60:
61: public void initQuery(Connection con) {
62: try {
63: sqlTmplSyntax = new TKTemplateSyntax(SQL_STRING, "");
64: } catch (com.teamkonzept.lib.TKTemplateSyntaxException e) {
65: sqlString = SQL_STRING; // für JTest
66: }
67:
68: super.initQuery(con, PARAMTYPES, SET_RELEVANTS, sqlTmplSyntax);
69: }
70: }
|