ad180484bccad1f1e0bacd644a5bdb199788687b
[mir.git] / source / mircoders / servlet / ServletModuleLinksImcs.java
1 package mircoders.servlet;
2
3 import java.io.*;
4 import java.sql.*;
5 import java.util.*;
6 import javax.servlet.*;
7 import javax.servlet.http.*;
8
9 import freemarker.template.*;
10
11 import mir.servlet.*;
12 import mir.module.*;
13 import mir.misc.*;
14 import mir.entity.*;
15 import mir.storage.*;
16 import  mir.servlet.ServletModuleException;
17
18 import mircoders.entity.*;
19 import mircoders.storage.*;
20 import mircoders.module.*;
21
22 /*
23  *  ServletModuleLinksImcs -
24  *  liefert HTML fuer LinksImcs
25  *
26  *
27  * @author RK
28  */
29
30 public class ServletModuleLinksImcs extends ServletModule
31 {
32   // Singelton / Kontruktor
33   private static ServletModuleLinksImcs instance = new ServletModuleLinksImcs();
34   public static ServletModule getInstance() { return instance; }
35
36   private ServletModuleLinksImcs() {
37     theLog = Logfile.getInstance(Configuration.getProperty("Home") + Configuration.getProperty("ServletModule.LinksImcs.Logfile"));
38     templateListString = Configuration.getProperty("ServletModule.LinksImcs.ListTemplate");
39     templateObjektString = Configuration.getProperty("ServletModule.LinksImcs.ObjektTemplate");
40     templateConfirmString = Configuration.getProperty("ServletModule.LinksImcs.ConfirmTemplate");
41
42     try {
43       mainModule = new ModuleLinksImcs(DatabaseLinksImcs.getInstance());
44     } catch (StorageObjectException e) {
45       theLog.printDebugInfo("ServletModuleLinksImcs konnte nicht initialisiert werden");
46     }
47   }
48
49   public void add(HttpServletRequest req, HttpServletResponse res)
50     throws ServletModuleException {
51     try {
52       EntityList   theList;
53       PrintWriter out = res.getWriter();
54       int offset = 0;
55
56       theList = mainModule.getByWhereClause(null, offset);
57       if (theList == null || theList.getCount() == 0 || theList.getCount()>1){
58         HTMLTemplateProcessor.process(getLanguage(req)+"/"+templateListString, theList, out);
59       } else {
60         deliver(req, res, theList.elementAt(0), templateObjektString);
61       }
62
63     } catch(ModuleException e) {
64       throw new ServletModuleException(e.toString());
65     } catch (HTMLParseException e) {
66       throw new ServletModuleException(e.toString());
67     } catch (IOException e) {
68       throw new ServletModuleException(e.toString());
69     }
70
71   }
72 }
73