1 package com.teamkonzept.webman.mainint.db.queries; 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 15 public class TKDBContentTreeIsChild extends TKExtendedPrepQuery 16 { 17 18 public final static boolean isPrepared = true; 19 20 public final static String [] paramOrder = { "CHILD_ID", "PARENT_ID" }; 21 22 public final static Object [][] types = null; 23 24 public final static boolean[] setRelevants = { true }; 25 26 55 56 protected static Class [] queryClasses = { 57 SelectLeftRightNrFromContentTree.class, SelectChildExists.class, SelectIsChild.class }; 61 62 public boolean execute() 63 { 64 try 65 { 66 init(queryClasses); 68 Integer childId = (Integer ) queryParams.get("CHILD_ID"); 69 Integer parentId = (Integer ) queryParams.get("PARENT_ID"); 70 71 queries[0].setQueryParams("NODE_ID", childId); 77 queries[0].execute(); 78 Object lnr = null; 79 Object rnr = null; 80 ResultSet rs = queries[0].fetchResultSet(); 81 if (rs != null && rs.next()) 82 { 83 lnr = rs.getObject(1); 84 rnr = rs.getObject(2); 85 } 86 87 queries[1].setQueryParams("LEFT_NR", lnr); 100 queries[1].setQueryParams("RIGHT_NR", rnr); 101 queries[1].setQueryParams("PARENT_ID", parentId); 102 queries[1].execute(); 103 rs = queries[1].fetchResultSet(); 104 int isChild = 0; 105 if (rs != null && rs.next()) 106 { 107 isChild = 1; 108 } 109 queries[2].setQueryParams("IS_CHILD", new Integer (isChild)); 110 queries[2].execute(); 111 addResult(queries[2].fetchResultSet()); 112 113 } 114 catch(Throwable t) 115 { 116 TKDBManager.safeRollbackTransaction(t); 117 } 118 return hasResults(); 119 } 120 121 public void initQuery(Connection con) 122 { 123 super.initQuery(con, 124 isPrepared, paramOrder, types, setRelevants, null); 125 } 126 } 127 | Popular Tags |