KickJava   Java API By Example, From Geeks To Geeks.

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


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 * neue Seite mit einer Referenz-Presentations-Komponente eines Documents und einer
25 * Auswahlliste (pulldown) mit allen moeglichen zuzuordnenden Nodes aus dem
26 * SiteTree
27 *
28 */

29 public class STEditPresRefFreeComponentHandler extends DefaultEventHandler implements ParameterTypes, FrameConstants, DatabaseDefaults
30 {
31     private STEditPresRefFreeComponentHandler()
32     {}
33     
34     private static STEditPresRefFreeComponentHandler instance = new STEditPresRefFreeComponentHandler();
35     
36     public static STEditPresRefFreeComponentHandler 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 refType = evt.getParameter( PARAMETER, "REFERENCE_TYPE" );
47             String JavaDoc intType = evt.getParameter( PARAMETER, "INTEGRATION_TYPE" );
48             String JavaDoc siteNodeId = evt.getParameter( PARAMETER, "SITE_NODE_ID" );
49             TKHTMLTemplate t = evt.getPrepHTMLTemplate( "st_editRefComp.tmpl" );
50             TKQuery q;
51             if( refType.equals( "1" ) ) { // absolute wodka referenz
52
q = TKDBManager.newQuery(TKDBSiteTreeGetAll.class);
53                 q.execute();
54             }
55             else { // relative referenz
56
q = TKDBManager.newQuery(TKDBSiteTreeGetParents.class);
57                 q.setQueryParams( "SITE_NODE_ID", new Integer JavaDoc(siteNodeId) );
58                 q.execute();
59             }
60             ResultSet rs = q.fetchResultSet();
61             TKDBTemplate.prepareListTemplate( rs, t, "ST_SITENODE_LIST" );
62
63             q = TKDBManager.newQuery(TKDBReferenceSelClassGet.class);
64             q.setQueryParams( "RESULT_TYPE", intType.equals( GROUP )?GROUP_INTEGER:SINGLE_INTEGER);
65             q.execute();
66             rs = q.fetchResultSet();
67             TKDBTemplate.prepareListTemplate( rs, t, "ST_SELECTION_LIST" );
68
69             t.set( evt.getParams().getClass( PARAMETER ) );
70             t.set( "UPDATE", evt.getNotNullParameter( PARAMETER, "FILLED" ) );
71             String JavaDoc selDestNode = (evt.getParameter( PARAMETER, "DEST_SITE_NODE_ID" ))==null?evt.getParameter( PARAMETER, "SITE_NODE_ID" ):evt.getParameter( PARAMETER, "DEST_SITE_NODE_ID" );
72             t.set( "THE_SITE_NODE_ID", selDestNode );
73             t.set( "THE_SELECTION_TYPE", evt.getNotNullParameter( PARAMETER, "SELECTION_TYPE" ));
74             WebManEvent.fillEventsIntoTemplate(evt.getRemoteUser(), t, SITE_TREE);
75             evt.finishTemplate(t);
76         }
77         catch (Throwable JavaDoc e)
78         {
79             // TO DO : Analyze Exception !
80
throw WebmanExceptionHandler.getException(e);
81         }
82     }
83     
84     public boolean isHandler(TKEvent evt)
85     {
86         return evt.getName().equalsIgnoreCase("ST_EDIT_PRES_REF_COMPONENT");
87     }
88 }
89
Popular Tags