KickJava   Java API By Example, From Geeks To Geeks.

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


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 * neue Seite mit allen Presentation-Komponenten eines Documents und bestehenden Zuordnungen
24 *
25 * @author $Author: alex $
26 * @version $Revision: 1.6 $
27 */

28 public class STEditDocumentHandler extends DefaultEventHandler implements ParameterTypes, FrameConstants, DatabaseDefaults
29 {
30     private STEditDocumentHandler()
31     {}
32
33     /** Singleton Instanz */
34     private static STEditDocumentHandler instance = new STEditDocumentHandler();
35     
36     public static STEditDocumentHandler getInstance()
37     {
38         return instance;
39     }
40     
41     public void handleEvent(TKEvent evt) throws TKException
42     {
43         try
44         {
45             WebManEvent.checkEvent(evt.getRemoteUser(), evt.getName(), ContextConstants.SITE_TREE);
46             String JavaDoc sNodeId = evt.getParameter( PARAMETER, "SITE_NODE_ID" );
47             String JavaDoc sPresId = evt.getParameter( PARAMETER, "PRESENTATION_ID" );
48             if (sPresId == null || sPresId.equals(""))
49                 sPresId = evt.getParameter(PARAMETER, "THE_PRESENTATION_ID");
50             String JavaDoc sNodeDocIdx = evt.getParameter( PARAMETER, "SITE_NODE_DOC_IDX" );
51
52             ResultSet rsPC;
53             TKDBResult rsDC, rsDR;
54
55             TKQuery q = TKDBManager.newQuery(TKDBDocContentDCGet.class);
56             q.setQueryParams( "SITE_NODE_ID", new Integer JavaDoc(sNodeId) );
57             q.setQueryParams( "SITE_NODE_DOC_IDX", new Integer JavaDoc(sNodeDocIdx) );
58             q.setQueryParams( "PRESENTATION_ID", new Integer JavaDoc(sPresId) );
59             q.execute();
60             rsDC = new TKDBResult( q.fetchResultSet() );
61
62             q = TKDBManager.newQuery(TKDBDocContentDRGet.class);
63             q.setQueryParams( "SITE_NODE_ID", new Integer JavaDoc(sNodeId) );
64             q.setQueryParams( "SITE_NODE_DOC_IDX", new Integer JavaDoc(sNodeDocIdx) );
65             q.setQueryParams( "PRESENTATION_ID", new Integer JavaDoc(sPresId) );
66             q.execute();
67             rsDR = new TKDBResult( q.fetchResultSet() );
68
69             q = TKDBManager.newQuery(TKDBDocContentPCGet.class);
70             q.setQueryParams( "SITE_NODE_ID", new Integer JavaDoc(sNodeId) );
71             q.setQueryParams( "SITE_NODE_DOC_IDX", new Integer JavaDoc(sNodeDocIdx) );
72             q.setQueryParams( "PRESENTATION_ID", new Integer JavaDoc(sPresId) );
73             q.execute();
74             rsPC = q.fetchResultSet();
75
76             TKHTMLTemplate t = evt.getPrepHTMLTemplate( "st_docComp.tmpl" );
77             TKComponentIterator iterator = new TKComponentIterator( rsPC, rsDC, rsDR, t.getListIterator(), "ST_DOC_CONT_LIST" );
78             t.setListIterator( iterator );
79             t.set( evt.getParams().getClass( PARAMETER ) );
80             WebManEvent.fillEventsIntoTemplate(evt.getRemoteUser(), t, SITE_TREE);
81             evt.finishTemplate(t);
82         }
83         catch (Throwable JavaDoc e)
84         {
85             // TO DO : Analyze Exception !
86
throw WebmanExceptionHandler.getException(e);
87         }
88     }
89     
90     public boolean isHandler(TKEvent evt)
91     {
92         return evt.getName().equalsIgnoreCase("ST_EDIT_DOCUMENT");
93     }
94         
95 }
96
Popular Tags