01: package com.teamkonzept.webman.mainint.db.queries;
02:
03: import java.sql.*;
04:
05: import com.teamkonzept.db.*;
06: import com.teamkonzept.webman.mainint.db.queries.sitetree.DeleteFromContentValue;
07: import com.teamkonzept.webman.mainint.db.queries.sitetree.DeleteFromContentNode;
08:
09: /**
10: * @author $Author: ralf $
11: * @version $Revision: 1.1 $
12: */
13: public class DeleteStrucContentValue extends TKExtendedPrepQuery {
14: public final static boolean IS_PREPARED = true;
15:
16: public final static String[] PARAM_ORDER = { "CONTENT_ID",
17: "CONTENT_ID" };
18:
19: public final static Object[][] PARAM_TYPES = null;
20:
21: public final static boolean[] SET_RELEVANTS = null;
22:
23: public final static String SQL_STRING = " DELETE FROM CONTENT_VALUE WHERE CONTENT_ID = ? "
24: + " DELETE FROM CONTENT_NODE " + " WHERE CONTENT_ID = ? ";
25:
26: protected static Class[] queryClasses = {
27: DeleteFromContentValue.class, // [0]
28: DeleteFromContentNode.class // [1]
29: };
30:
31: public boolean execute() {
32: try {
33: init(queryClasses); // init query objects
34:
35: Integer nodeId = (Integer) queryParams.get("CONTENT__ID");
36:
37: boolean isNotOpen = aTKDBConnection.isAutoCommit();
38: if (isNotOpen) {
39: TKDBManager.beginTransaction(); // begin transaction
40: }
41:
42: // DELETE FROM CONTENT_VALUE WHERE CONTENT_ID = ?
43: queries[0].setQueryParams("CONTENT_ID", nodeId);
44: queries[0].execute();
45:
46: // DELETE FROM CONTENT_NODE WHERE CONTENT_ID = ?
47: queries[1].setQueryParams("CONTENT_ID", nodeId);
48: queries[1].execute();
49:
50: // COMMIT TRANSACTION
51: if (isNotOpen) {
52: aTKDBConnection.commitTransaction(); // commit all changes
53: }
54:
55: } catch (Throwable t) {
56: TKDBManager.safeRollbackTransaction(t);
57: }
58: return hasResults();
59: }
60:
61: public void initQuery(Connection con) {
62: super.initQuery(con, IS_PREPARED, PARAM_ORDER, PARAM_TYPES,
63: SET_RELEVANTS, SQL_STRING);
64: }
65: }
|