media stuff
[mir.git] / source / mircoders / servlet / ServletModuleImages.java
1 package mircoders.servlet;
2
3 import java.io.*;
4 import java.lang.*;
5 import java.sql.*;
6 import java.util.*;
7 import java.net.*;
8 import java.lang.reflect.*;
9 import javax.servlet.*;
10 import javax.servlet.http.*;
11
12 import freemarker.template.*;
13 import com.oreilly.servlet.multipart.*;
14 import com.oreilly.servlet.*;
15
16 import mir.servlet.*;
17 import mir.module.*;
18 import mir.misc.*;
19 import mir.entity.*;
20 import mir.storage.*;
21 import mir.media.*;
22
23 import mircoders.entity.*;
24 import mircoders.storage.*;
25 import mircoders.module.*;
26 import mircoders.producer.*;
27
28 /*
29  *  ServletModuleImages -
30  *  liefert HTML fuer Images
31  *
32  *
33  * @author RK
34  */
35
36 public class ServletModuleImages extends ServletModuleUploadedMedia
37 {
38
39   //private static DatabaseRights dbRights;
40
41   // Singelton / Kontruktor
42   private static ServletModuleImages instance = new ServletModuleImages();
43   public static ServletModule getInstance() { return instance; }
44
45
46   private ServletModuleImages() {
47     theLog = Logfile.getInstance(MirConfig.getProp("Home") + MirConfig.getProp("ServletModule.Images.Logfile"));
48     templateListString = MirConfig.getProp("ServletModule.Images.ListTemplate");
49     templateObjektString = MirConfig.getProp("ServletModule.Images.ObjektTemplate");
50     templateConfirmString = MirConfig.getProp("ServletModule.Images.ConfirmTemplate");
51     try {
52       mainModule = new ModuleImages(DatabaseImages.getInstance());
53       //dbRights = DatabaseRights.getInstance();
54     }
55     catch (StorageObjectException e) {
56       theLog.printDebugInfo("servletmodulebilder konnte nicht initialisiert werden");
57     }
58   }
59
60   public void showimg(HttpServletRequest req, HttpServletResponse res)
61     throws ServletModuleException
62   {
63     String idParam = req.getParameter("id");
64     if (idParam!=null && !idParam.equals("")) {
65       try {
66         EntityImages entImage =(EntityImages)mainModule.getById(idParam);
67         res.setContentType("image/jpeg"); // testweise
68         ServletOutputStream out = res.getOutputStream(); // wichtig, dass vorher kein res.getwriter() gelaufen ist
69
70         byte[] outbytes = entImage.getImage();
71         out.write(outbytes);
72         out.close();
73       }
74
75       catch (IOException e) {throw new ServletModuleException(e.toString());}
76       catch (ModuleException e) {throw new ServletModuleException(e.toString());}
77       catch (Exception e) {throw new ServletModuleException(e.toString());}
78     }
79     else theLog.printDebugInfo("id nicht angeben.");
80     // darf keine exception werfen
81   }
82
83   public void showicon(HttpServletRequest req, HttpServletResponse res)
84     throws ServletModuleException
85   {
86     String idParam = req.getParameter("id");
87     if (idParam!=null && !idParam.equals("")) {
88       try {
89         EntityImages entImage =(EntityImages)mainModule.getById(idParam);
90         res.setContentType("image/jpeg"); // testweise
91         ServletOutputStream out = res.getOutputStream(); // wichtig, dass vorher kein res.getwriter() gelaufen ist
92
93         byte[] outbytes = entImage.getIcon();
94         out.write(outbytes);
95         out.close();
96       }
97
98       catch (IOException e) {throw new ServletModuleException(e.toString());}
99       catch (ModuleException e) {throw new ServletModuleException(e.toString());}
100       catch (Exception e) {throw new ServletModuleException(e.toString());}
101     }
102     else throw new ServletModuleException("id nicht angeben.");
103   }
104 }
105