1 package de.webman.acl.db.queries.oracle; 2 3 import java.sql.Connection ; 4 import java.sql.Types ; 5 import com.teamkonzept.db.TKPrepQuery; 6 7 14 public class PolicySelectBySiteTree 15 extends TKPrepQuery 16 { 17 18 20 public static final String [] ORDER = 21 { 22 "OBJECT_REFERENCE", 23 "WM_USER_ID", 24 "WM_CONTEXT_ID", 25 "OBJECT_TYPE" 26 }; 27 28 public static final Object [][] TYPES = 29 { 30 {"OBJECT_REFERENCE", new Integer (Types.INTEGER)}, 31 {"WM_USER_ID", new Integer (Types.INTEGER)}, 32 {"WM_CONTEXT_ID", new Integer (Types.INTEGER)}, 33 {"OBJECT_TYPE", new Integer (Types.INTEGER)} 34 }; 35 36 public static final boolean[] RELEVANTS = 37 { 38 true 39 }; 40 41 public static final String SQL = (new StringBuffer ()).append("SELECT DISTINCT WM_POLICY_ID FROM ") 42 .append("( SELECT DISTINCT POLICY.WM_POLICY_ID, TREE.LEFT_NR ") 43 .append("FROM WM_POLICY POLICY, SITE_TREE SITE, SITE_TREE TREE ") 44 .append("WHERE ") 45 .append(" SITE.SITE_NODE_ID = ? AND ") 46 .append(" TREE.LEFT_NR <= SITE.LEFT_NR AND ") 47 .append(" TREE.RIGHT_NR >= SITE.RIGHT_NR AND ") 48 .append(" TREE.SITE_NODE_ID = POLICY.OBJECT_REFERENCE AND ") 49 .append(" POLICY.WM_USER_ID = ? AND ") 50 .append(" POLICY.WM_CONTEXT_ID = ? AND ") 51 .append(" POLICY.OBJECT_TYPE = ? ") 52 .append("ORDER BY TREE.LEFT_NR ASC )") 53 .toString(); 54 55 56 58 public void initQuery (Connection connection) 59 { 60 super.initQuery(connection, 61 true, 62 ORDER, 63 TYPES, 64 RELEVANTS, 65 SQL); 66 } 67 68 } 69 | Popular Tags |