1 package de.webman.acl.db.queries; 2 3 import java.sql.Connection ; 4 import java.sql.Types ; 5 import com.teamkonzept.db.TKPrepQuery; 6 7 14 public class PolicySelectBySiteTreeEvent 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 "WM_EVENT_ID" 27 }; 28 29 public static final Object [][] TYPES = 30 { 31 {"WM_USER_ID", new Integer (Types.INTEGER)}, 32 {"WM_CONTEXT_ID", new Integer (Types.INTEGER)}, 33 {"OBJECT_REFERENCE", new Integer (Types.INTEGER)}, 34 {"OBJECT_TYPE", new Integer (Types.INTEGER)}, 35 {"WM_EVENT_ID", new Integer (Types.INTEGER)} 36 }; 37 38 public static final boolean[] RELEVANTS = 39 { 40 true 41 }; 42 43 public static final String SQL = (new StringBuffer ()).append("SELECT P.WM_POLICY_ID ") 44 .append("FROM WM_POLICY P, SITE_TREE ST1, SITE_TREE ST2, WM_ROLE_TASK RT, WM_TASK T, WM_TASK_ACTION TA, WM_ACTION_EVENT AE ") 45 .append("WHERE ") 46 .append(" ST1.SITE_NODE_ID = ? AND ") 47 .append(" ST2.LEFT_NR <= ST1.LEFT_NR AND ") 48 .append(" ST2.RIGHT_NR >= ST1.RIGHT_NR AND ") 49 .append(" ST2.SITE_NODE_ID = P.OBJECT_REFERENCE AND ") 50 .append(" P.WM_USER_ID = ? AND ") 51 .append(" P.WM_CONTEXT_ID = ? AND ") 52 .append(" P.OBJECT_TYPE = ? AND ") 53 .append(" P.WM_ROLE_ID = RT.WM_ROLE_ID AND ") 54 .append(" RT.WM_TASK_ID = T.WM_TASK_ID AND ") 55 .append(" T.WM_CONTEXT_ID = P.WM_CONTEXT_ID AND ") 56 .append(" T.WM_TASK_ID = TA.WM_TASK_ID AND ") 57 .append(" TA.WM_ACTION_ID = AE.WM_ACTION_ID AND ") 58 .append(" AE.WM_EVENT_ID = ? ") 59 .append("ORDER BY ST2.LEFT_NR ASC") 60 .toString(); 61 62 63 65 public void initQuery (Connection connection) 66 { 67 super.initQuery(connection, 68 true, 69 ORDER, 70 TYPES, 71 RELEVANTS, 72 SQL); 73 } 74 75 } 76 | Popular Tags |