1 package com.teamkonzept.webman.mainint.db.queries.postgresql; 2 3 import com.teamkonzept.db.*; 4 import java.sql.*; 5 import com.teamkonzept.webman.mainint.db.queries.content.*; 6 import com.teamkonzept.webman.mainint.WebmanExceptionHandler; 7 8 18 public class TKDBContentTreeIsChild extends TKExtendedPrepQuery 19 { 20 21 public final static boolean ISPREPARED = true; 22 public final static String [] PARAMORDER = { "CHILD_ID", "PARENT_ID" }; 23 public final static Object [][] TYPES = null; 24 public final static boolean[] SETRELEVANTS = { true }; 25 26 protected static Class [] queryClasses = { 27 SelectLeftRightNrFromContentTree.class, SelectChildExists.class, SelectIsChild.class }; 31 32 public boolean execute() 33 { 34 try 35 { 36 init(queryClasses); 38 Integer childId = (Integer ) queryParams.get("CHILD_ID"); 39 Integer parentId = (Integer ) queryParams.get("PARENT_ID"); 40 41 queries[0].setQueryParams("NODE_ID", childId); 47 queries[0].execute(); 48 Object lnr = null; 49 Object rnr = null; 50 ResultSet rs = queries[0].fetchResultSet(); 51 if (rs != null && rs.next()) 52 { 53 lnr = rs.getObject(1); 54 rnr = rs.getObject(2); 55 } 56 57 queries[1].setQueryParams("LEFT_NR", lnr); 70 queries[1].setQueryParams("RIGHT_NR", rnr); 71 queries[1].setQueryParams("PARENT_ID", parentId); 72 queries[1].execute(); 73 rs = queries[1].fetchResultSet(); 74 int isChild = 0; 75 if (rs != null && rs.next()) 76 { 77 isChild = 1; 78 } 79 queries[2].setQueryParams("IS_CHILD", new Integer (isChild)); 80 queries[2].execute(); 81 addResult(queries[2].fetchResultSet()); 82 83 } 84 catch(Throwable t) 85 { 86 TKDBManager.safeRollbackTransaction(t); 87 } 88 return hasResults(); 89 } 90 91 public void initQuery(Connection con) 92 { 93 super.initQuery(con,ISPREPARED, PARAMORDER, TYPES, SETRELEVANTS, null); 94 } 95 } 96 | Popular Tags |