01: package de.webman.form.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:
09: import com.teamkonzept.webman.mainint.db.queries.*;
10: import com.teamkonzept.webman.mainint.events.*;
11: import com.teamkonzept.lib.*;
12: import com.teamkonzept.field.*;
13: import com.teamkonzept.field.db.*;
14: import com.teamkonzept.db.*;
15: import com.teamkonzept.publishing.markups.*;
16:
17: import java.sql.*;
18: import java.io.*;
19:
20: /************************************************************************
21: /**
22: * Upload
23: *
24: *
25: */
26: public class CTExtModifyDoneHandler extends DefaultEventHandler
27: implements ParameterTypes, FrameConstants, DatabaseDefaults {
28:
29: private CTExtModifyDoneHandler() {
30: }
31:
32: private static CTExtModifyDoneHandler instance = new CTExtModifyDoneHandler();
33:
34: public static CTExtModifyDoneHandler getInstance() {
35: return instance;
36: }
37:
38: public void handleEvent(TKEvent evt) throws TKException {
39: try {
40: WebManEvent.checkEvent(evt.getRemoteUser(), evt.getName(),
41: ContextConstants.CONTENT_TREE);
42: TKHTMLTemplate t = evt
43: .getPrepHTMLTemplate("ct_fields.tmpl");
44:
45: String sConForm = evt
46: .getParameter(PARAMETER, "TMP_FORM_ID");
47: int conForm = Integer.parseInt(sConForm);
48: TKFormDBData data = new TKFormDBData(conForm, Integer
49: .parseInt(evt.getParameter(PARAMETER, "FORM_TYPE")));
50: TKFormDBInterface.Get(data);
51: TKBaseField field = TKFieldRegistry.getFieldFromDB(data);
52: TKHashtable fieldContext = new TKHashtable();
53:
54: String action = evt.getParameter(ACTION, "EXT_MODIFY_DONE");
55: String target = evt.getParameter(PARAMETER, "TARGET");
56:
57: TKBaseField extField = field.getTarget(target, "");
58: TKHashtable newParams = extField.finishExtModify(action,
59: evt.getParams().getClass(PARAMETER));
60:
61: Object realData = field.compileData("", newParams,
62: fieldContext);
63:
64: field.fillIntoTemplate(t, realData, "");
65: CTUtils.keepCTContext(evt, t); // sorgt dafuer, dass Christians Context eingesetzt wird
66: WebManEvent.fillEventsIntoTemplate(evt.getRemoteUser(), t,
67: CONTENT_TREE);
68: evt.finishTemplate(t);
69:
70: } catch (Throwable e) {
71: // TO DO : Analyze Exception !
72: throw WebmanExceptionHandler.getException(e);
73: }
74: }
75:
76: public boolean isHandler(TKEvent evt) {
77: return evt.getName().equalsIgnoreCase("CTTEST_EXT_MODIFY_DONE");
78: }
79: }
|