KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > de > webman > sitetree > eventhandler > STEditNodeHandler


1 package de.webman.sitetree.eventhandler;
2
3 import com.teamkonzept.web.*;
4 import com.teamkonzept.webman.*;
5 import com.teamkonzept.webman.db.TKWebmanDBManager;
6 import com.teamkonzept.webman.mainint.*;
7 import com.teamkonzept.webman.mainint.db.*;
8
9
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 import java.util.*;
21
22 /************************************************************************
23 /**
24 * Edit der node-params (name, shortname, pg_content_node, pg_content_selection)
25 * zu einem SITE_TREE_NODE
26 *
27 * Reihenfolge der params im string
28 * <TK_SITE_NODE_ID>,<TK_SITE_NODE_TYPE>,<TK_PG_CONTENT_NODE>,
29 * <TK_SELECTION_TYPE>,<TK_SITE_NODE_SHORTNAME>,<TK_SITE_NODE_NAME>
30 *
31 */

32 public class STEditNodeHandler extends DefaultEventHandler implements ParameterTypes, FrameConstants, DatabaseDefaults
33 {
34     private STEditNodeHandler()
35     {}
36     
37     private static STEditNodeHandler instance = new STEditNodeHandler();
38     
39     public static STEditNodeHandler getInstance()
40     {
41         return instance;
42     }
43     
44     public void handleEvent(TKEvent evt) throws TKException
45     {
46         try
47         {
48             WebManEvent.checkEvent(evt.getRemoteUser(), evt.getName(), ContextConstants.SITE_TREE);
49             String JavaDoc str = evt.getParameter( PARAMETER, "ST_EDIT_NODE" );
50             int lastPos = 0;
51             int nextPos;
52
53             nextPos = str.indexOf( ',', lastPos );
54             String JavaDoc sNodeId = str.substring( lastPos, nextPos );
55             lastPos = nextPos+1;
56
57             nextPos = str.indexOf( ',', lastPos );
58             String JavaDoc sNodeType = str.substring( lastPos, nextPos );
59             lastPos = nextPos+1;
60
61             nextPos = str.indexOf( ',', lastPos );
62             String JavaDoc pgcNode = str.substring( lastPos, nextPos );
63             lastPos = nextPos+1;
64
65             nextPos = str.indexOf( ',', lastPos );
66             String JavaDoc pgSelType = str.substring( lastPos, nextPos );
67             lastPos = nextPos+1;
68
69             nextPos = str.indexOf( ',', lastPos );
70             String JavaDoc pgSelId = str.substring( lastPos, nextPos );
71             lastPos = nextPos+1;
72
73             nextPos = str.indexOf( ',', lastPos );
74             String JavaDoc sNodeShortName = str.substring( lastPos, nextPos );
75             lastPos = nextPos+1;
76
77             String JavaDoc sName = str.substring( lastPos );
78
79             TKHTMLTemplate t = evt.getPrepHTMLTemplate( "st_editNode.tmpl" );
80             SiteTreeUtils.prepareNodeParams( t, sNodeType );
81
82             if( !pgSelId.equals( "" ) ) {
83                 TKQuery q = TKDBManager.newQuery(TKDBContentSelectionGet.class);
84                 q.setQueryParams( "SELECTION_ID", new Integer JavaDoc( pgSelId ) );
85                 q.execute();
86                 ResultSet rs = q.fetchResultSet();
87                 if( rs.next() ) {
88                     pgSelType = rs.getString( "SELECTION_TYPE" );
89                 }
90             }
91             TreeUtils.keepOpenNodes( evt, t );
92             t.set( "SITE_NODE_ID", sNodeId );
93             t.set( "SITE_NODE_TYPE", sNodeType );
94             t.set( "SITE_NODE_SHORTNAME", sNodeShortName );
95             t.set( "SITE_NODE_NAME", sName );
96             t.set( "SELECTION_ID", pgSelId );
97             t.set( "THE_CONTENT_NODE_ID", pgcNode );
98             t.set( "THE_SELECTION_TYPE", pgSelType );
99             
100             WebManEvent.fillEventsIntoTemplate(evt.getRemoteUser(), t, SITE_TREE);
101             evt.finishTemplate(t);
102         }
103         catch (Throwable JavaDoc e)
104         {
105             // TO DO : Analyze Exception !
106
throw WebmanExceptionHandler.getException(e);
107         }
108     }
109     
110     public boolean isHandler(TKEvent evt)
111     {
112         return evt.getName().equalsIgnoreCase("ST_EDIT_NODE");
113     }
114 }
115
Popular Tags