KickJava   Java API By Example, From Geeks To Geeks.

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


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.db.queries.sitetree.InheritedSiteStucture;
12 import com.teamkonzept.webman.mainint.events.*;
13 import com.teamkonzept.lib.*;
14 import com.teamkonzept.field.*;
15 import com.teamkonzept.field.db.*;
16 import com.teamkonzept.db.*;
17 import com.teamkonzept.publishing.markups.*;
18
19 import java.sql.*;
20 import java.io.*;
21 import java.util.*;
22
23 import de.webman.sitetree.eventhandler.*;
24 /**
25 * Neues Structure Document
26  * @author $Author: alex $
27  * @version $Revision: 1.8 $
28 */

29 public class STNewStructureDocHandler extends DefaultEventHandler implements ParameterTypes, FrameConstants, DatabaseDefaults, QueryConstants
30 {
31     /**Private Konstruktor */
32     private STNewStructureDocHandler()
33     {}
34
35     /** Singleton Instanz */
36     private static STNewStructureDocHandler instance = new STNewStructureDocHandler();
37
38     /** Zugriff auf Singleton */
39     public static STNewStructureDocHandler getInstance()
40     {
41         return instance;
42     }
43
44     /** @see com.teamkonzept.web.TKEventHandler **/
45     public void handleEvent(TKEvent evt) throws TKException
46     {
47         try
48         {
49             WebManEvent.checkEvent(evt.getRemoteUser(), evt.getName(), ContextConstants.SITE_TREE);
50             
51             String JavaDoc sNewFormId = evt.getParameter( PARAMETER, "NEW_FORM_ID" );
52             Integer JavaDoc siteNodeID = new Integer JavaDoc(evt.getParameter( PARAMETER, "SITE_NODE_ID"));
53             
54             TKHTMLTemplate t = evt.getPrepHTMLTemplate( "st_fields.tmpl" );
55             TKFormDBData data = new TKFormDBData( Integer.parseInt( sNewFormId ), STRUCTURE_FORM_TYPE );
56             TKFormDBInterface.Get( data );
57             TKBaseField field = TKFieldRegistry.getFieldFromDB( data );
58             
59             // Prefill form if inheritable site stucture content exists
60
TKContentDBData conDB = new TKContentDBData();
61             TKQuery qInheritedSiteStruc = TKWebmanDBManager.newQuery(InheritedSiteStucture.class);
62             qInheritedSiteStruc.setQueryParams(SITE_NODE_ID, siteNodeID);
63             qInheritedSiteStruc.setQueryParams(FORM_ID, new Integer JavaDoc(sNewFormId));
64             qInheritedSiteStruc.execute();
65             
66             ResultSet rsInSiSt = qInheritedSiteStruc.fetchResultSet();
67             if(rsInSiSt.next())
68             {
69                 // There exists an inheritable site strucure content
70
conDB.content_id = rsInSiSt.getInt(CONTENT_ID);
71                 TKContentDBInterface.Get( conDB );
72                 Object JavaDoc contentData = field.getDataFromDB( conDB );
73                 field.fillIntoTemplate( t, contentData, "" );
74             }
75             else
76             {
77                 field.fillIntoTemplate( t, field.getDefault(), "" );
78             }
79             SiteTreeUtils.keepSTContext( evt, t );
80             t.set( "UPBASE", SiteTreeUtils.getCurrentPath(new Integer JavaDoc(evt.getParameter(PARAMETER, "SITE_NODE_ID")) ) );
81             t.set( "FORM_ID", sNewFormId );
82             WebManEvent.fillEventsIntoTemplate(evt.getRemoteUser(), t, SITE_TREE);
83             evt.finishTemplate(t);
84         }
85         catch (Throwable JavaDoc e)
86         {
87             // TO DO : Analyze Exception !
88
throw WebmanExceptionHandler.getException(e);
89         }
90     }
91     
92     public boolean isHandler(TKEvent evt)
93     {
94         return evt.getName().equalsIgnoreCase("ST_NEW_STRUC");
95     }
96 }
97
Popular Tags