01: package de.webman.duplication.eventhandler;
02:
03: import com.teamkonzept.web.*;
04: import com.teamkonzept.webman.*;
05: import com.teamkonzept.webman.db.TKWebmanDBManager;
06: import com.teamkonzept.webman.mainint.*;
07: import com.teamkonzept.webman.mainint.db.*;
08: import com.teamkonzept.webman.mainint.db.queries.duplication.*;
09:
10: import com.teamkonzept.webman.mainint.db.queries.*;
11:
12: import com.teamkonzept.webman.mainint.events.*;
13: import com.teamkonzept.lib.*;
14: import com.teamkonzept.field.*;
15: import com.teamkonzept.field.db.*;
16: import com.teamkonzept.db.*;
17: import com.teamkonzept.publishing.markups.*;
18:
19: import java.sql.*;
20: import java.io.*;
21:
22: /************************************************************************
23: /**
24: * Anzeigen der Maske zum Neuordnen des Contenttree
25: *
26: *
27: * @param
28: */
29: public class DUSaveParamsInDBHandler extends DefaultEventHandler
30: implements ParameterTypes, FrameConstants, DatabaseDefaults {
31: private DUSaveParamsInDBHandler() {
32: }
33:
34: private static DUSaveParamsInDBHandler instance = new DUSaveParamsInDBHandler();
35:
36: public static DUSaveParamsInDBHandler getInstance() {
37: return instance;
38: }
39:
40: public void handleEvent(TKEvent evt) throws TKException {
41: try {
42: // In der DB aufraeumen
43: TKQuery query = TKDBManager
44: .newQuery(TKDBDeleteDUProperties.class);
45: query.execute();
46: query.close();
47:
48: // Neue Parameterwerte in DB schrteiben
49: ensurePropertyInDB("TEMPLATE_ROOT_ID", evt);
50: ensurePropertyInDB("TARGET_ROOT_ID", evt);
51: ensurePropertyInDB("ST_SUBTREE_ROOT_ID", evt);
52: ensurePropertyInDB("ST_TARGET_ROOT_ID", evt);
53: ensurePropertyInDB("ST_SUBTREE_ROOT_ID", evt);
54: ensurePropertyInDB("SITE_TREE_FLAG", evt);
55: ensurePropertyInDB("CONTENT_FLAG", evt);
56:
57: TKHTMLTemplate t = evt.getPrepHTMLTemplate("du_intro.tmpl");
58: t.set("DONE", "1");
59: t.set("DB", "STORED");
60: evt.finishTemplate(t);
61: // return true;
62: } catch (Throwable e) {
63: // TO DO : Analyze Exception !
64: throw WebmanExceptionHandler.getException(e);
65: }
66: }
67:
68: public boolean isHandler(TKEvent evt) {
69: return evt.getName().equalsIgnoreCase("DU_STORE_IN_DB");
70: }
71:
72: /** Inserted einen Parameter in die DB als Property mit praefix "DU_",
73: * Stellt sicher, dass mindestens der Leerstring drinsteht
74: */
75: private void ensurePropertyInDB(String propName, TKEvent evt)
76: throws SQLException {
77:
78: TKParams params = evt.getParams();
79: String propValue = params.get("PAR", propName) != null ? params
80: .get("PAR", propName) : "";
81: TKQuery query = TKDBManager.newQuery(TKDBPutProperty.class);
82: query.setQueryParams("NAME", "DU_" + propName);
83: query.setQueryParams("VALUE", propValue);
84: query.execute();
85: query.close();
86:
87: }
88:
89: }
|