KickJava   Java API By Example, From Geeks To Geeks.

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


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 einer Presentations-Komponente eines Documents und einer
24 * Auswahlliste (pulldown) mit allen moeglichen zuzuordnenden Contents aus dem
25 * ContentTree
26 *
27 * @author $Author: sebastian $
28 * @version $Revision: 1.4 $
29 */

30 public class STEditPresentationComponentHandler extends DefaultEventHandler implements ParameterTypes, FrameConstants, DatabaseDefaults
31 {
32     
33     private STEditPresentationComponentHandler()
34     {}
35     
36     private static STEditPresentationComponentHandler instance = new STEditPresentationComponentHandler();
37     
38     public static STEditPresentationComponentHandler getInstance()
39     {
40         return instance;
41     }
42     
43     public void handleEvent(TKEvent evt) throws TKException
44     {
45         try
46         {
47             WebManEvent.checkEvent(evt.getRemoteUser(), evt.getName(), ContextConstants.SITE_TREE);
48             String JavaDoc sFormId = evt.getParameter( PARAMETER, "FORM_ID" );
49             String JavaDoc sIntType = evt.getParameter( PARAMETER, "INTEGRATION_TYPE" );
50             String JavaDoc sConNodeId = evt.getNotNullParameter( PARAMETER, "CONTENT_NODE_ID" );
51             String JavaDoc sSelType = evt.getNotNullParameter( PARAMETER, "SELECTION_TYPE" );
52
53             TKHTMLTemplate t = evt.getPrepHTMLTemplate( "st_editComp.tmpl" );
54
55             // Hier den vollen Pfad rein
56
TKQuery q = TKDBManager.newQuery(TKDBContentTreeGetFormSingle.class);
57             q.setQueryParams( "CONTENT_FORM", new Integer JavaDoc(sFormId) );
58             
59             q.execute();
60             //ResultSet rs = q.fetchResultSet();
61
//TKDBTemplate.prepareListTemplate( rs, t, "ST_SCON_LIST" ); // single content liste
62
TKDBResult srs = new TKDBResult( q.fetchResultSet() );
63                    
64             TKContentSelectionIterator iterator = new TKContentSelectionIterator(srs, t.getListIterator(), "ST_SCON_LIST");
65             t.setListIterator(iterator);
66             q.close();
67
68             // hier auch den vollen Pfad !!
69
q = TKDBManager.newQuery(TKDBContentTreeGetFormType.class);
70             q.setQueryParams( "CONTENT_NODE_TYPE", GROUP_INTEGER );
71             q.setQueryParams( "CONTENT_FORM", new Integer JavaDoc(sFormId) );
72             q.execute();
73             TKDBResult grs = new TKDBResult( q.fetchResultSet() );
74             iterator = new TKContentSelectionIterator(grs, t.getListIterator(), "ST_GCON_LIST");
75             t.setListIterator(iterator);
76             
77             //TKDBTemplate.prepareListTemplate( grs, t, "ST_GCON_LIST" ); // group content liste
78

79             q = TKDBManager.newQuery(TKDBContentSelClassGet.class);
80             q.setQueryParams( "RESULT_TYPE", new Integer JavaDoc(sIntType) );
81             q.execute();
82             ResultSet rs = q.fetchResultSet();
83             TKDBTemplate.prepareListTemplate( rs, t, "ST_SELTYPE_LIST" );
84
85             String JavaDoc siteNodeType = evt.getParameter( PARAMETER, "SITE_NODE_TYPE" );
86             String JavaDoc sAttachSel = "";
87             t.set( evt.getParams().getClass( PARAMETER ) );
88             if( sIntType.equals( SINGLE ) ) {
89                 if( sSelType.equals( "" ) && sConNodeId.equals( "" ) ) { // beide null, -> primary group content initial
90
if( siteNodeType.equals( GROUP ) ) { // bei groupknoten (sitetree)
91
sAttachSel = "PGC";
92                     }
93                     else { // bei single knoten (sitetree)
94
sAttachSel = "SC";
95                     }
96                 }
97                 else if( sSelType.equals( "" ) && !sConNodeId.equals( "" ) ) {
98                     if( SiteTreeUtils.isGroupNode( sConNodeId, grs ) ) {
99                         sAttachSel = "GC";
100                         t.set( "THE_CONTENT_NODE_ID", sConNodeId );
101                     }
102                     else {
103                         sAttachSel = "SC"; // content node != null und seltype null, -> single content initial
104
t.set( "SINGLE_CONTENT_NODE_ID", sConNodeId );
105                     }
106                 }
107                 else {
108                     sAttachSel = "GC"; // content node != null und seltype != null, -> group content initial
109
t.set( "THE_CONTENT_NODE_ID", sConNodeId );
110                 }
111             }
112             t.set( "ATTACH_SEL", sAttachSel );
113             t.set( "UPDATE", (evt.getParameter( PARAMETER, "FILLED" ))==null?"":"Yes" );
114             t.set( "THE_SELECTION_TYPE", sSelType );
115             WebManEvent.fillEventsIntoTemplate(evt.getRemoteUser(), t, SITE_TREE);
116             evt.finishTemplate(t);
117         }
118         catch (Throwable JavaDoc e)
119         {
120             // TO DO : Analyze Exception !
121
throw WebmanExceptionHandler.getException(e);
122         }
123     }
124     
125     public boolean isHandler(TKEvent evt)
126     {
127         return evt.getName().equalsIgnoreCase("ST_EDIT_PRES_COMPONENT");
128     }
129 }
130
Popular Tags