KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > de > webman > content > eventhandler > CEMediaGetHandler


1 package de.webman.content.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 import com.teamkonzept.webman.mainint.db.queries.*;
9 import com.teamkonzept.webman.mainint.events.*;
10 import com.teamkonzept.lib.*;
11 import com.teamkonzept.field.*;
12 import com.teamkonzept.field.db.*;
13 import com.teamkonzept.db.*;
14 import com.teamkonzept.web.servlet.ServletInterface;
15
16
17 import java.io.*;
18 import java.sql.*;
19 import javax.servlet.ServletContext JavaDoc;
20 import javax.servlet.http.HttpServletResponse JavaDoc;
21
22
23 /**
24 * Validieren von eingegebenem Content
25 *
26  * @author $Author: alex $
27  * @version $Revision: 1.4 $
28 */

29 public class CEMediaGetHandler extends DefaultEventHandler implements ParameterTypes, FrameConstants, DatabaseDefaults, QueryConstants
30 {
31
32     /** Konstruktor privat - SIngleton !*/
33     private CEMediaGetHandler()
34     {}
35
36     /** Singleton Instanz */
37     private static CEMediaGetHandler instance = new CEMediaGetHandler();
38
39     /** Zugriff auf Singleton */
40     public static CEMediaGetHandler getInstance()
41     {
42         return instance;
43     }
44
45     public void handleEvent(TKEvent evt) throws TKException
46     {
47         try
48         {
49             CEUtils.checkEvent(evt);
50
51             ServletInterface servletInterface = (ServletInterface)evt.getHttpInterface();
52             ServletContext JavaDoc servletContext = servletInterface.getServletContext();
53             HttpServletResponse JavaDoc response = servletInterface.getResponse();
54             TKHashtable params = evt.getParams().getClass( PARAMETER );
55             String JavaDoc mediaIDStr = (String JavaDoc) params.get(TKUploadField.MEDIA_ID_PARNAME);
56             if(mediaIDStr == null || mediaIDStr.equals(""))
57             {
58
59                 //try to locate file on disk, and save it to db. (for downwardscompatibility oder wie das auf englisch heißt)
60

61                 String JavaDoc appContext = ""; //(String)params.get("APP_CONTEXT");
62
String JavaDoc upbase = (String JavaDoc)params.get("UPBASE");
63                 String JavaDoc filename = (String JavaDoc)params.get("FILENAME");
64                 String JavaDoc documentRoot = (String JavaDoc)evt.getHttpInterface().getDocumentRoot();
65
66                 String JavaDoc filepath = documentRoot + appContext + upbase + filename;
67
68                 new File(filepath); // haeh ? -Alex
69
}
70             int mediaID = (new Integer JavaDoc(mediaIDStr)).intValue();
71
72             String JavaDoc filename = MediaManager.getMediaName(mediaID);
73             String JavaDoc mimeType = servletContext.getMimeType(filename!= null? filename : "");
74             response.setContentType(mimeType);
75
76             PrintStream out = evt.getOutputStream();
77
78             MediaManager.writeToOutputStream(out, mediaID);
79
80             evt.consume();
81
82         }
83         catch (Throwable JavaDoc e)
84         {
85             // TO DO : Analyze Exception !
86
throw WebmanExceptionHandler.getException(e);
87         }
88     }
89
90     public boolean isHandler(TKEvent evt)
91     {
92         return evt.getName().equalsIgnoreCase("CE_MEDIA_GET");
93     }
94 }
95
Popular Tags