01: package de.webman.sitetree.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.international.LanguageManager;
16: import com.teamkonzept.publishing.markups.*;
17:
18: import java.sql.*;
19: import java.io.*;
20: import java.util.*;
21:
22: /**
23: * Loeschen eines Documents
24: *
25: * @author $Author: alex $
26: * @version $Revision: 1.6 $
27: */
28: public class STDeleteDocumentHandler extends DefaultEventHandler
29: implements ParameterTypes, FrameConstants, DatabaseDefaults {
30: private STDeleteDocumentHandler() {
31: }
32:
33: private static STDeleteDocumentHandler instance = new STDeleteDocumentHandler();
34:
35: public static STDeleteDocumentHandler getInstance() {
36: return instance;
37: }
38:
39: public void handleEvent(TKEvent evt) throws TKException {
40: try {
41: WebManEvent.checkEvent(evt.getRemoteUser(), evt.getName(),
42: ContextConstants.SITE_TREE);
43: Integer siteNodeId = new Integer(evt.getParameter(
44: PARAMETER, "SITE_NODE_ID"));
45: Integer siteNodeDocIdx = new Integer(evt.getParameter(
46: PARAMETER, "SITE_NODE_DOC_IDX"));
47: String docShortName = evt.getParameter(PARAMETER,
48: "DOCUMENT_SHORTNAME");
49: // Abhaengigkeiten checken !!
50: TKVector depends = new TKVector();
51: if (SiteTreeUtils.checkReferences(siteNodeId, docShortName,
52: depends)) {
53: TKHTMLTemplate error = evt
54: .getPrepHTMLTemplate("error_message.tmpl");
55: String errorText = LanguageManager.getText(
56: "sitestructure", "DEPENDENCY");
57: error.set("ERROR_TEXT", errorText);
58: error.setListIterator(new TKStandardPluginIterator(
59: "REFERENCES", null, depends, false, error
60: .getListIterator()));
61: evt.finishTemplate(error);
62: return;
63: }
64: TKQuery q = TKDBManager.newQuery(TKDBSiteDocDelete.class);
65: q.setQueryParams("SITE_NODE_ID", siteNodeId);
66: q.setQueryParams("SITE_NODE_DOC_IDX", siteNodeDocIdx);
67: q.execute();
68: q.fetchResultSet();
69: STEditHandler.getInstance().handleEvent(evt);
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("ST_DELETE_DOCUMENT");
78: }
79: }
|