KickJava   Java API By Example, From Geeks To Geeks.

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


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
17 import java.sql.*;
18 import java.io.*;
19 import java.util.*;
20
21
22 /**
23 * Edit eines node (klick auf link): alle Documents zum node auflisten + New-Button
24 *
25  * @author $Author: alex $
26  * @version $Revision: 1.7 $
27 */

28 public class STEditHandler extends DefaultEventHandler implements ParameterTypes, FrameConstants, DatabaseDefaults
29 {
30     /** Konstruktor private - Singleton !*/
31     private STEditHandler()
32     {}
33
34     /** Singleton Instanz */
35     private static STEditHandler instance = new STEditHandler();
36     
37     public static STEditHandler getInstance()
38     {
39         return instance;
40     }
41     
42     public void handleEvent(TKEvent evt) throws TKException
43     {
44         try
45         {
46             WebManEvent.checkEvent(evt.getRemoteUser(), evt.getName(), ContextConstants.SITE_TREE);
47             String JavaDoc sNodeId = evt.getParameter( PARAMETER, "SITE_NODE_ID" );
48             TKHTMLTemplate t = evt.getPrepHTMLTemplate( "st_docList.tmpl" );
49             
50             TKQuery q = TKDBManager.newQuery(TKDBStructContGet.class);
51             q.setQueryParams( "SITE_NODE_ID", new Integer JavaDoc(sNodeId) );
52             q.execute();
53             ResultSet rs = q.fetchResultSet();
54             TKDBTemplate.prepareListTemplate( rs, t, "STRUCTURE_DOCUMENTS_PER_NODE" );
55
56             q = TKDBManager.newQuery(TKDBStructContGetFreeForm.class);
57             q.setQueryParams( "SITE_NODE_ID", new Integer JavaDoc(sNodeId) );
58             q.execute();
59             TKDBResult dbrs = new TKDBResult( q.fetchResultSet() );
60             if( dbrs.size() >= 1 ) {
61                 TKDBTemplate.prepareListTemplate( dbrs, t, "ST_FREE_STRUCFORM_LIST" );
62                 t.set( "ST_FREEFORMS", "1" );
63             }
64
65             q = TKDBManager.newQuery(TKDBPresentationGet.class);
66             q.execute();
67             rs = q.fetchResultSet();
68             TKDBTemplate.prepareListTemplate( rs, t, "ST_PRESENTATION_LIST" );
69
70             q = TKDBManager.newQuery(TKDBSiteDocGetHeretable.class);
71             q.setQueryParams( "SITE_NODE_ID", new Integer JavaDoc(sNodeId) );
72             q.execute();
73             dbrs = new TKDBResult( q.fetchResultSet() );
74             if( dbrs.size() >= 1 ) {
75                 TKDBTemplate.prepareListTemplate( dbrs, t, "HERETED_DOCUMENTS_PER_NODE" );
76                 t.set( "ST_HER_DOCS", "1" );
77             }
78
79             q = TKDBManager.newQuery(TKDBSiteDocGet.class);
80             q.setQueryParams( "SITE_NODE_ID", new Integer JavaDoc(sNodeId) );
81             q.execute();
82             dbrs = new TKDBResult( q.fetchResultSet() );
83             if( dbrs.size() >= 1 ) {
84                 TKDBTemplate.prepareListTemplate( dbrs, t, "DOCUMENTS_PER_NODE" );
85                 t.set( "ST_OWN_DOCS", "1" );
86             }
87
88             t.set( evt.getParams().getClass( PARAMETER ) );
89             t.set( "NEW_SITE_NODE_ID", sNodeId );
90             WebManEvent.fillEventsIntoTemplate(evt.getRemoteUser(), t, SITE_TREE);
91             evt.finishTemplate(t);
92         }
93         catch (Throwable JavaDoc e)
94         {
95             // TO DO : Analyze Exception !
96
throw WebmanExceptionHandler.getException(e);
97         }
98     }
99     
100     public boolean isHandler(TKEvent evt)
101     {
102         return evt.getName().equalsIgnoreCase("ST_EDIT");
103     }
104 }
105
Popular Tags