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: * Maske fuer neuen Node
23: *
24: * Reihenfolge der Params in String ST_NEW_NODE
25: * SITE_NODE_ID
26: *
27: * @author $Author: sebastian $
28: * @version $Revision: 1.4 $
29: */
30: public class STNewNodeHandler extends DefaultEventHandler implements
31: ParameterTypes, FrameConstants, DatabaseDefaults {
32: private STNewNodeHandler() {
33: }
34:
35: private static STNewNodeHandler instance = new STNewNodeHandler();
36:
37: public static STNewNodeHandler getInstance() {
38: return instance;
39: }
40:
41: public void handleEvent(TKEvent evt) throws TKException {
42: try {
43: WebManEvent.checkEvent(evt.getRemoteUser(), evt.getName(),
44: ContextConstants.SITE_TREE);
45: String newNodeType = evt.getParameter(PARAMETER,
46: "NEW_NODE_TYPE");
47:
48: StringTokenizer tokens = new StringTokenizer(evt
49: .getParameter(PARAMETER, "ST_NEW_NODE"), ",");
50: String sId = tokens.nextToken();
51:
52: TKHTMLTemplate t = evt
53: .getPrepHTMLTemplate("st_newNode.tmpl");
54: SiteTreeUtils.prepareNodeParams(t, newNodeType);
55:
56: t.set("SITE_NODE_ID", sId);
57: t.set("NEW_NODE_TYPE", newNodeType);
58:
59: TreeUtils.keepOpenNodes(evt, t);
60: WebManEvent.fillEventsIntoTemplate(evt.getRemoteUser(), t,
61: SITE_TREE);
62: evt.finishTemplate(t);
63: } catch (Throwable e) {
64: // TO DO : Analyze Exception !
65: throw WebmanExceptionHandler.getException(e);
66: }
67: }
68:
69: public boolean isHandler(TKEvent evt) {
70: return evt.getName().equalsIgnoreCase("ST_NEW_NODE");
71: }
72: }
|