01: package de.webman.config.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 de.webman.content.workflow.*;
10: import com.teamkonzept.webman.mainint.db.queries.*;
11: import com.teamkonzept.webman.mainint.events.*;
12: import com.teamkonzept.lib.*;
13: import com.teamkonzept.field.*;
14: import com.teamkonzept.field.db.*;
15: import com.teamkonzept.db.*;
16: import com.teamkonzept.publishing.markups.*;
17:
18: import java.sql.*;
19: import java.io.*;
20:
21: /**
22: * Abpeichern eines Status
23: *
24: * @author $Author: alex $
25: * @version $Revision: 1.4 $
26: */
27: public class COSaveFilterHandler extends DefaultEventHandler implements
28: ParameterTypes, FrameConstants, DatabaseDefaults {
29: private COSaveFilterHandler() {
30: }
31:
32: private static COSaveFilterHandler instance = new COSaveFilterHandler();
33:
34: public static COSaveFilterHandler 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.CUSTOMIZE_PROPERTIES);
42:
43: String filterID = evt.getParameter(PARAMETER, "FILTER_ID");
44: String filterName = evt.getParameter(PARAMETER,
45: "FILTER_NAME");
46: String mode = evt.getParameter(PARAMETER, "FILTER_MODE");
47:
48: // statische Daten der Versionsverwaltung abrufen
49: VersionStatics statics = VersionStatics.setup();
50: VersionStatusFilter filter;
51: //TKHashtable params = (TKHashtable)evt.getParams().get(PARAMETER);
52: if (filterID != null) {
53: // Aenderung eines existierenden Status
54: filter = (VersionStatusFilter) statics.getFilters()
55: .get(new Integer(filterID));
56: // Parameter von Hand setzen !!!!
57: filter.setMode(mode);
58: filter.setName(filterName);
59: } else {
60: // neuer Status
61: filter = new VersionStatusFilter(-1, filterName, 1);
62: filter.setMode(mode);
63: }
64: filter.saveToDB();
65:
66: VersionStatics.reFresh();
67:
68: /* alte version - ruft die selbe eingabemaske wieder auf
69:
70: TKHashtable attr = filter.getHash();
71:
72: TKHTMLTemplate t = evt.getPrepHTMLTemplate( "co_filteredit.tmpl" );
73: t.set(attr);
74: evt.finishTemplate(t);
75: */
76:
77: // neue version - ruft die übersicht auf
78: COWorkflowListHandler.getInstance().handleEvent(evt);
79:
80: } catch (Throwable e) {
81: // TO DO : Analyze Exception !
82: throw WebmanExceptionHandler.getException(e);
83: }
84: }
85:
86: public boolean isHandler(TKEvent evt) {
87: return evt.getName().equalsIgnoreCase("CO_SAVE_FILTER");
88: }
89: }
|