01: package de.webman.acl.db.queries.oracle;
02:
03: import java.sql.Connection;
04: import java.sql.Types;
05: import com.teamkonzept.db.TKPrepQuery;
06:
07: /**
08: * $Header: /cvsroot/webman-cms/source/webman/de/webman/acl/db/queries/oracle/PolicySelectBySiteTree.java,v 1.1 2001/08/20 08:25:09 mischa Exp $
09: *
10: * @version 0.10
11: * @since 0.10
12: * @author © 2000 Team-Konzept, marwan
13: */
14: public class PolicySelectBySiteTree extends TKPrepQuery {
15:
16: // Constants
17:
18: public static final String[] ORDER = { "OBJECT_REFERENCE",
19: "WM_USER_ID", "WM_CONTEXT_ID", "OBJECT_TYPE" };
20:
21: public static final Object[][] TYPES = {
22: { "OBJECT_REFERENCE", new Integer(Types.INTEGER) },
23: { "WM_USER_ID", new Integer(Types.INTEGER) },
24: { "WM_CONTEXT_ID", new Integer(Types.INTEGER) },
25: { "OBJECT_TYPE", new Integer(Types.INTEGER) } };
26:
27: public static final boolean[] RELEVANTS = { true };
28:
29: public static final String SQL = (new StringBuffer())
30: .append("SELECT DISTINCT WM_POLICY_ID FROM ")
31: .append(
32: "( SELECT DISTINCT POLICY.WM_POLICY_ID, TREE.LEFT_NR ")
33: .append(
34: "FROM WM_POLICY POLICY, SITE_TREE SITE, SITE_TREE TREE ")
35: .append("WHERE ")
36: .append(" SITE.SITE_NODE_ID = ? AND ")
37: .append(" TREE.LEFT_NR <= SITE.LEFT_NR AND ")
38: .append(" TREE.RIGHT_NR >= SITE.RIGHT_NR AND ")
39: .append(
40: " TREE.SITE_NODE_ID = POLICY.OBJECT_REFERENCE AND ")
41: .append(" POLICY.WM_USER_ID = ? AND ").append(
42: " POLICY.WM_CONTEXT_ID = ? AND ").append(
43: " POLICY.OBJECT_TYPE = ? ").append(
44: "ORDER BY TREE.LEFT_NR ASC )").toString();
45:
46: // Method implementations
47:
48: public void initQuery(Connection connection) {
49: super .initQuery(connection, true, ORDER, TYPES, RELEVANTS, SQL);
50: }
51:
52: }
|