KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > de > webman > sitetree > STEventDistributor


1 package de.webman.sitetree;
2
3 import java.util.*;
4 import java.sql.*;
5 import java.io.*;
6 import com.teamkonzept.web.*;
7 import com.teamkonzept.lib.*;
8 import com.teamkonzept.field.*;
9 import com.teamkonzept.field.db.*;
10 import com.teamkonzept.db.*;
11 import com.teamkonzept.webman.mainint.*;
12 import com.teamkonzept.webman.mainint.events.*;
13 import com.teamkonzept.webman.*;
14 import com.teamkonzept.webman.db.*;
15 import com.teamkonzept.webman.mainint.db.*;
16 import com.teamkonzept.webman.mainint.db.queries.*;
17 import de.webman.sitetree.eventhandler.*;
18 import de.webman.generator.*;
19
20 /**
21  * The distributor for all site tree related events.
22  *
23  * @author $Author: uli $
24  * @version $Revision: 1.41
25  */

26 public class STEventDistributor
27     extends CachedEventDistributor
28     implements ParameterTypes,
29                DatabaseDefaults,
30                FrameConstants
31 {
32
33     /**
34      * Constructs a new event distributor.
35      */

36     public STEventDistributor ()
37     {
38         addEventHandler(STArrangeMoveHandler.getInstance());
39         addEventHandler(STArrangeOpenDirHandler.getInstance());
40         addEventHandler(STArrangeShowHandler.getInstance());
41         addEventHandler(STArrangeStartHandler.getInstance());
42         addEventHandler(STCancelContentSelectionHandler.getInstance());
43         addEventHandler(STChangeDocumentHandler.getInstance());
44         addEventHandler(STDeleteDocumentHandler.getInstance());
45         addEventHandler(STDeleteStructureDocHandler.getInstance());
46         addEventHandler(STDuplicateDocumentHandler.getInstance());
47         addEventHandler(STEditDocumentHandler.getInstance());
48         addEventHandler(STEditHandler.getInstance());
49         addEventHandler(STEditNodeHandler.getInstance());
50         addEventHandler(STEditPresRefFreeComponentHandler.getInstance());
51         addEventHandler(STEditPresentationComponentHandler.getInstance());
52         addEventHandler(STEditStructureDocHandler.getInstance());
53         addEventHandler(STExtModifyHandler.getInstance());
54         addEventHandler(STForwardHandler.getInstance());
55         addEventHandler(STFrameHandler.getInstance());
56         addEventHandler(STInfoHandler.getInstance());
57         addEventHandler(STModifyHandler.getInstance());
58         addEventHandler(STNewDocumentHandler.getInstance());
59         addEventHandler(STNewNodeHandler.getInstance());
60         addEventHandler(STNewStructureDocHandler.getInstance());
61         addEventHandler(STNodeDeleteHandler.getInstance());
62         addEventHandler(STNodeListMultHandler.getInstance());
63         addEventHandler(STOpenMultDirHandler.getInstance());
64         addEventHandler(STOverwriteDocumentHandler.getInstance());
65         addEventHandler(STRefineSelectionHandler.getInstance());
66         addEventHandler(STSaveComponentHandler.getInstance());
67         addEventHandler(STSaveNewNodeHandler.getInstance());
68         addEventHandler(STSaveRefDocHandler.getInstance());
69         addEventHandler(STSaveStructureDocHandler.getInstance());
70         addEventHandler(STSelectRefDocHandler.getInstance());
71         addEventHandler(STSetContentSelectionHandler.getInstance());
72         addEventHandler(STUpdateComponentHandler.getInstance());
73         addEventHandler(STUpdateDocumentHandler.getInstance());
74         addEventHandler(STUpdateNodeHandler.getInstance());
75         addEventHandler(STUpdateRefDocHandler.getInstance());
76     }
77
78     /**
79      * Handles the specified event.
80      *
81      * @param event the event to be handled.
82      * @throws TKException if any error occurred during event handling.
83      */

84     public void handleEvent (TKEvent event)
85         throws TKException
86     {
87         try
88         {
89             super.handleEvent(event);
90         }
91         catch (TKException tke)
92         {
93             // hier die Exception Klasse abfragen !!!
94
if (tke.getErrorCode() == INVALID_EVENT)
95             {
96                 try
97                 {
98                     WebManEvent.checkEvent(event.getRemoteUser(), event.getName(), ContextConstants.SITE_TREE);
99                     String JavaDoc name = event.getName();
100
101                     if (name.equalsIgnoreCase("ST_PREV_INDEX"))
102                     {
103                         Preview preview = new Preview(event);
104                         preview.doPreviewIndexPerSiteNode();
105                         return;
106                     }
107
108                     if (name.equalsIgnoreCase("ST_EMPTY"))
109                     {
110                         event.doEmptyPage();
111                         return;
112                     }
113
114                     throw tke;
115                 }
116                 catch (FileNotFoundException fnfe)
117                 {
118                     throw new TKUserException("Template not Found",
119                                               UserCodes.TEMPLATE_NOT_FOUND,
120                                               ErrorCodes.USER_SEVERITY,
121                                               false,
122                                               new Object JavaDoc[]{fnfe.getMessage()},
123                                               fnfe);
124                 }
125                 catch (TKTemplateSyntaxException tktse)
126                 {
127                     throw new TKUserException("Template Syntax Error",
128                                               UserCodes.WRONG_TEMPLATE_SYNTAX,
129                                               ErrorCodes.USER_SEVERITY,
130                                               false,
131                                               new Object JavaDoc[]{tktse.getMessage()},
132                                               tktse);
133                 }
134                 catch (Throwable JavaDoc t)
135                 {
136                     throw WebmanExceptionHandler.getException(t);
137                 }
138             }
139             else
140             {
141                 throw tke;
142             }
143         }
144     }
145
146     /**
147      * Checks wether this handler is capable to handle the specified event.
148      *
149      * @param event the event to be handled.
150      * @return <CODE>true</CODE> if this handler is capable to handle the
151      * specified event, otherwise <CODE>false</CODE>.
152      */

153     public boolean isHandler (TKEvent event)
154     {
155         return event.getName().startsWith("ST");
156     }
157
158 /*
159     private void startPreview(TKEvent event)
160     {
161         TKHttpInterface httpInf = event.getHttpInterface();
162         PrintWriter out = new PrintWriter(httpInf.getOutputStream());
163         PrintWriter log = new PrintWriter(httpInf.getLogStream());
164
165         //out.print("<HTML><HEAD></HEAD><BODY>");
166
167         ProcessStarter ps = new ProcessStarter(out, log);
168         boolean successful = false;
169         try {
170             String args = getArgumentString(event);
171             successful = ps.start("WebManPreview", args,
172                 ProcessStarter.getWMClasspath(httpInf.getDocumentRoot()));
173         }
174         catch (Exception e) {
175             out.print(e);
176             log.println(e);
177         }
178     }
179
180     private String getArgumentString(TKEvent event)
181     {
182         TKParams params = event.getParams();
183         Enumeration en = params.elements();
184
185         while (en.hasMoreElements()) {
186             Object obj = en.nextElement();
187             String snode = event.getParameter(PARAMETER, "SNODE");
188             String docName = event.getParameter(PARAMETER, "DOCNAME");
189             String index = event.getParameter(PARAMETER, "INDEX");
190             String trace = event.getParameter(PARAMETER, "TRACE");
191             String checker = event.getParameter(PARAMETER, "CHECKER");
192             int ii=0;
193         }
194         return "";
195     }
196 */

197
198 }
199
Popular Tags