KickJava   Java API By Example, From Geeks To Geeks.

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


1 package de.webman.sitetree.eventhandler;
2
3
4 import com.teamkonzept.web.*;
5 import com.teamkonzept.webman.*;
6 import com.teamkonzept.webman.db.TKWebmanDBManager;
7 import com.teamkonzept.webman.mainint.*;
8 import com.teamkonzept.webman.mainint.db.*;
9
10
11 import com.teamkonzept.webman.mainint.db.queries.*;
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 import org.apache.log4j.Category;
23
24 /**
25 * Update der (geaenderten) Parameter eines Document
26 *
27 * @author $Author: alex $
28 * @version $Revision: 1.3 $
29 */

30 public class STUpdateDocumentHandler extends DefaultEventHandler implements ParameterTypes, FrameConstants, DatabaseDefaults
31 {
32     /** for Logging */
33     private static Category cat = Category.getInstance(STUpdateDocumentHandler.class);
34     
35     private STUpdateDocumentHandler()
36     {}
37     
38     private static STUpdateDocumentHandler instance = new STUpdateDocumentHandler();
39     
40     public static STUpdateDocumentHandler getInstance()
41     {
42         return instance;
43     }
44     
45     public void handleEvent(TKEvent evt) throws TKException
46     {
47         try
48         {
49             WebManEvent.checkEvent(evt.getRemoteUser(), evt.getName(), ContextConstants.SITE_TREE);
50             String JavaDoc sDocType = evt.getParameter( PARAMETER, "DOCUMENT_TYPE" );
51             String JavaDoc sOldDocType = evt.getParameter( PARAMETER, "OLD_DOC_TYPE" );
52             String JavaDoc sExtUrl = "";
53             
54             cat.debug(" sDocType " + sDocType + " sOldDocType "+ sOldDocType);
55             cat.debug(" evt.getParams() " + evt.getParams());
56                     
57             
58             if( sDocType.equals( "2" ) && sOldDocType.equals( "1" ) )
59             {
60                 TKQuery q = TKDBManager.newQuery(TKDBPresentationGet.class);
61                 q.execute();
62                 ResultSet rs = q.fetchResultSet();
63
64                 TKHTMLTemplate t = evt.getPrepHTMLTemplate( "st_newExtDoc.tmpl" );
65                 TKDBTemplate.prepareListTemplate( rs, t, "ST_PRESENTATION_LIST" );
66
67                 t.set( evt.getParams().getClass( PARAMETER ) );
68                 t.set( "UPDATE", "1" );
69                 t.set( "THE_PRESENTATION_ID", evt.getParameter( PARAMETER, "PRESENTATION_ID" ) );
70                 evt.finishTemplate(t);
71                 return;
72             }
73             if( sDocType.equals( "2" ) && sOldDocType.equals( "2" ) ){ // jetzt auch die externe URL speichern!!
74
sExtUrl = evt.getParameter( PARAMETER, "EXTERNAL_URL" );
75             }
76             else if( sDocType.equals( "Fake" ) ){ // jetzt auch die externe URL speichern!!
77
sExtUrl = evt.getParameter( PARAMETER, "EXTERNAL_URL" );
78                 sDocType = "2"; // ist eigentlich ein externes doc
79
}
80
81             String JavaDoc sNodeId = evt.getParameter( PARAMETER, "SITE_NODE_ID" );
82             String JavaDoc sDocIdx = evt.getParameter( PARAMETER, "SITE_NODE_DOC_IDX" );
83             String JavaDoc thePresId = evt.getParameter( PARAMETER, "THE_PRESENTATION_ID" ); // neue presentation
84
String JavaDoc presId = evt.getParameter( PARAMETER, "PRESENTATION_ID" ); // alte presentation
85
String JavaDoc sDocName = evt.getParameter( PARAMETER, "DOCUMENT_NAME" );
86             String JavaDoc sDocShortName = evt.getParameter( PARAMETER, "DOCUMENT_SHORTNAME" );
87             String JavaDoc sHeretable = evt.getNotNullParameter( PARAMETER, "INHERITABLE" );
88             String JavaDoc sInheritBeginLevel = evt.getNotNullParameter( PARAMETER, "INHERIT_BEGIN_LEVEL" );
89             String JavaDoc sInheritEndLevel = evt.getNotNullParameter( PARAMETER, "INHERIT_END_LEVEL" );
90             int heretable = sHeretable.equals( "" ) ? 0 : Integer.parseInt( sHeretable );
91             Integer JavaDoc inheritBeginLevel = sInheritBeginLevel.equals("") ? null : new Integer JavaDoc(sInheritBeginLevel);
92             Integer JavaDoc inheritEndLevel = sInheritEndLevel.equals("") ? null : new Integer JavaDoc(sInheritEndLevel);
93                         
94             TKQuery q;
95             if( !thePresId.equals( presId ) ) { // presentation hat sich geaendert
96
q = TKDBManager.newQuery(TKDBSiteDocUpdatePres.class);
97                 q.setQueryParams( "SITE_NODE_ID", new Integer JavaDoc(sNodeId) );
98                 q.setQueryParams( "SITE_NODE_DOC_IDX", new Integer JavaDoc(sDocIdx) );
99                 q.setQueryParams( "PRESENTATION_ID", new Integer JavaDoc(thePresId) );
100                 q.setQueryParams( "DOCUMENT_NAME", sDocName );
101                 q.setQueryParams( "DOCUMENT_SHORTNAME", sDocShortName );
102                 q.setQueryParams( "DOCUMENT_TYPE", new Integer JavaDoc(sDocType) );
103                 q.setQueryParams( "EXTERNAL_URL", sExtUrl.equals( "" )?null:sExtUrl );
104                 q.setQueryParams( "INHERITABLE", new Integer JavaDoc(heretable) );
105                 q.setQueryParams( "INHERIT_BEGIN_LEVEL", inheritBeginLevel);
106                 q.setQueryParams( "INHERIT_END_LEVEL", inheritEndLevel);
107             }
108             else { // presentation hat sich nicht geaendert
109
q = TKDBManager.newQuery(TKDBSiteDocUpdate.class);
110                 q.setQueryParams( "SITE_NODE_ID", new Integer JavaDoc(sNodeId) );
111                 q.setQueryParams( "SITE_NODE_DOC_IDX", new Integer JavaDoc(sDocIdx) );
112                 q.setQueryParams( "DOCUMENT_NAME", sDocName );
113                 q.setQueryParams( "DOCUMENT_SHORTNAME", sDocShortName );
114                 q.setQueryParams( "DOCUMENT_TYPE", new Integer JavaDoc(sDocType) );
115                 q.setQueryParams( "EXTERNAL_URL", sExtUrl.equals( "" )?null:sExtUrl );
116                 q.setQueryParams( "INHERITABLE", (heretable==-1)?new Integer JavaDoc(0):new Integer JavaDoc(heretable) );
117                 q.setQueryParams( "INHERIT_BEGIN_LEVEL", inheritBeginLevel);
118                 q.setQueryParams( "INHERIT_END_LEVEL", inheritEndLevel);
119             }
120             q.execute();
121             //ResultSet rs = q.fetchResultSet();
122
q.fetchResultSet();
123             STEditHandler.getInstance().handleEvent(evt);
124         }
125         catch (Throwable JavaDoc e)
126         {
127             // TO DO : Analyze Exception !
128
throw WebmanExceptionHandler.getException(e);
129         }
130     }
131     
132     public boolean isHandler(TKEvent evt)
133     {
134         return evt.getName().equalsIgnoreCase("ST_UPDATE_DOCUMENT");
135     }
136 }
137
Popular Tags