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.publishing.markups.*;
16:
17: import java.sql.*;
18: import java.io.*;
19: import java.util.*;
20:
21: /**
22: * Update der Zuordnung einer Referenz-Presentations-Komponente zu einem Document
23: *
24: * @author $Author: alex $
25: * @version $Revision: 1.3 $
26: */
27: public class STUpdateRefDocHandler extends DefaultEventHandler
28: implements ParameterTypes, FrameConstants, DatabaseDefaults {
29: private STUpdateRefDocHandler() {
30: }
31:
32: private static STUpdateRefDocHandler instance = new STUpdateRefDocHandler();
33:
34: public static STUpdateRefDocHandler 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.SITE_TREE);
42: int srcSiteNodeId = Integer.parseInt(evt.getParameter(
43: PARAMETER, "SITE_NODE_ID"));
44: int srcSiteNodeDocIdx = Integer.parseInt(evt.getParameter(
45: PARAMETER, "SITE_NODE_DOC_IDX"));
46: int srcPresCompIdx = Integer.parseInt(evt.getParameter(
47: PARAMETER, "PRESENTATION_COMPONENT_IDX"));
48: int refType = Integer.parseInt(evt.getParameter(PARAMETER,
49: "REFERENCE_TYPE"));
50: int dstSiteNodeId = Integer.parseInt(evt.getParameter(
51: PARAMETER, "THE_SITE_NODE_ID"));
52: String dstSiteNodeDocShortName = evt.getParameter(
53: PARAMETER, "DOC_SEL");
54: if (dstSiteNodeDocShortName.equals("FREE")) {
55: dstSiteNodeDocShortName = evt.getParameter(PARAMETER,
56: "FREE_DOCUMENT_SHORTNAME");
57: }
58: String selType = evt.getParameter(PARAMETER,
59: "THE_SELECTION_TYPE");
60: selType = selType.equals("") == true ? null : selType;
61: String selData = null;
62:
63: TKQuery q = TKDBManager
64: .newQuery(TKDBDocReferenceUpdate.class);
65: q.setQueryParams("SRC_SITE_NODE_ID", new Integer(
66: srcSiteNodeId));
67: q.setQueryParams("SRC_SITE_NODE_DOC_IDX", new Integer(
68: srcSiteNodeDocIdx));
69: q.setQueryParams("SRC_PRESENTATION_COMPONENT_IDX",
70: new Integer(srcPresCompIdx));
71: q.setQueryParams("REFERENCE_TYPE", new Integer(refType));
72: q.setQueryParams("DEST_SITE_NODE_ID", new Integer(
73: dstSiteNodeId));
74: q.setQueryParams("DEST_SITE_NODE_DOC_SHORTNAME",
75: dstSiteNodeDocShortName);
76: q.setQueryParams("SELECTION_TYPE", selType);
77: q.setQueryParams("SELECTION_DATA", selData);
78: q.execute();
79: //ResultSet rs = q.fetchResultSet();
80: q.fetchResultSet();
81:
82: STEditDocumentHandler.getInstance().handleEvent(evt);
83: } catch (Throwable e) {
84: // TO DO : Analyze Exception !
85: throw WebmanExceptionHandler.getException(e);
86: }
87: }
88:
89: public boolean isHandler(TKEvent evt) {
90: return evt.getName().equalsIgnoreCase("ST_UPDATE_REF_DOC");
91: }
92: }
|