01: package de.webman.content.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.*;
09: import com.teamkonzept.webman.mainint.events.*;
10: import com.teamkonzept.lib.*;
11: import com.teamkonzept.field.*;
12: import com.teamkonzept.field.db.*;
13: import com.teamkonzept.db.*;
14: import de.webman.content.workflow.*;
15:
16: import java.sql.*;
17:
18: /**
19: * Validieren von eingegebenem Content
20: *
21: * @author $Author: alex $
22: * @version $Revision: 1.5 $
23: */
24: public class CECheckHandler extends DefaultEventHandler implements
25: ParameterTypes, FrameConstants, DatabaseDefaults {
26: private CECheckHandler() {
27: }
28:
29: private static CECheckHandler instance = new CECheckHandler();
30:
31: public static CECheckHandler getInstance() {
32: return instance;
33: }
34:
35: public void handleEvent(TKEvent evt) throws TKException {
36: try {
37: CEUtils.checkEvent(evt);
38:
39: TKHTMLTemplate t = evt
40: .getPrepHTMLTemplate("ce_fields.tmpl");
41: ContentContext ceContext = CEUtils.keepCEContext(evt, t);
42: // statische Daten der Versionsverwaltuung abrufen
43: VersionStatics statics = VersionStatics.setup();
44:
45: // Versionsinfos erzeugen
46: CEUtils.getVersionInfo(ceContext, t, statics);
47: TKFormDBData data = new TKFormDBData(ceContext.formId
48: .intValue());
49: TKFormDBInterface.Get(data);
50: TKBaseField field = TKFieldRegistry.getFieldFromDB(data);
51: TKHashtable fieldContext = new TKHashtable();
52: Object realData = field.compileData("", evt.getParams()
53: .getClass(PARAMETER), fieldContext);
54: field.fillIntoTemplate(t, realData, "");
55: evt.finishTemplate(t);
56: } catch (Throwable e) {
57: // TO DO : Analyze Exception !
58: throw WebmanExceptionHandler.getException(e);
59: }
60: }
61:
62: public boolean isHandler(TKEvent evt) {
63: return evt.getName().equalsIgnoreCase("CE_CHECK");
64: }
65: }
|