KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > teamkonzept > webman > mainint > db > queries > content > GetMediaIDsAccContTree


1 /*
2  * $Header: /cvsroot/webman-cms/source/webman/com/teamkonzept/webman/mainint/db/queries/content/GetMediaIDsAccContTree.java,v 1.1 2001/05/23 09:12:49 marwan Exp $
3  *
4  */

5 package com.teamkonzept.webman.mainint.db.queries.content;
6
7 import java.sql.*;
8
9 import com.teamkonzept.db.*;
10
11
12 public class GetMediaIDsAccContTree extends TKPrepQuery implements QueryConstants{
13
14     public final static boolean isPrepared =true;
15     
16     public final static String JavaDoc[] paramOrder =
17     {CONTENT_TREE_ID, CONTENT_TREE_ID,CONTENT_TREE_ID,CONTENT_TREE_ID};
18         
19     public final static Object JavaDoc[][] paramTypes = null;
20         
21     public final static boolean[] setRelevants = {true};
22         
23         
24     public final static String JavaDoc sqlString =
25      " SELECT DISTINCT C_VAL.MEDIA_ID "
26     /* All MEDIA_IDs that are referenced from a subtree of the content tree */
27      + " FROM "
28      + " CONTENT_VALUE C_VAL, CONTENT_VERSION C_VER, CONTENT_INSTANCE C_I, CONTENT_TREE C_T "
29      + " WHERE "
30      + " C_VER.CONTENT_ID = C_VAL.CONTENT_ID "
31      + " AND "
32      + " C_I.INSTANCE_ID = C_VER.INSTANCE_ID "
33      + " AND "
34      + " C_I.CONTENT_NODE_ID = C_T.CONTENT_NODE_ID "
35      + " AND "
36      + " C_T.LEFT_NR >= (SELECT LEFT_NR FROM CONTENT_TREE WHERE CONTENT_NODE_ID = ?) "
37      + " AND "
38      + " C_T.RIGHT_NR <= (SELECT RIGHT_NR FROM CONTENT_TREE WHERE CONTENT_NODE_ID = ?) "
39     /* Exclude those that are referenced from outside this subtree */
40      + " AND NOT EXISTS "
41      + " (SELECT DISTINCT C_VAL_IN.MEDIA_ID "
42      + " FROM CONTENT_VALUE C_VAL_IN, CONTENT_VERSION C_VER_IN, CONTENT_INSTANCE C_I_IN, CONTENT_TREE C_T_IN "
43      + " WHERE "
44      + " C_VER_IN.CONTENT_ID = C_VAL_IN.CONTENT_ID "
45      + " AND "
46      + " C_I_IN.INSTANCE_ID = C_VER_IN.INSTANCE_ID "
47      + " AND "
48      + " C_I_IN.CONTENT_NODE_ID = C_T_IN.CONTENT_NODE_ID "
49      + " AND NOT "
50      + " ( "
51      + " C_T_IN.LEFT_NR >= (SELECT LEFT_NR FROM CONTENT_TREE WHERE CONTENT_NODE_ID = ?) "
52      + " AND "
53      + " C_T_IN.RIGHT_NR <= (SELECT RIGHT_NR FROM CONTENT_TREE WHERE CONTENT_NODE_ID = ?) "
54      + " ) "
55      + " AND C_VAL_IN.MEDIA_ID = C_VAL.MEDIA_ID "
56      + " ) "
57  
58       ;
59         
60         
61
62     public void initQuery(Connection con) {
63         super.initQuery(
64             con,
65             isPrepared,
66             paramOrder,
67             paramTypes,
68             setRelevants,
69             sqlString );
70     }
71 }
72
Popular Tags