get rid of deprecated makeSimpleList and makeSimpleHash usage. this should be it...
[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 java.net.*;
7 import javax.servlet.*;
8 import javax.servlet.http.*;
9
10 import freemarker.template.*;
11
12 import mir.servlet.*;
13 import mir.module.*;
14 import mir.misc.*;
15 import mir.entity.*;
16 import mir.storage.*;
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   private ModuleLanguage languageModule;
33
34   // Singelton / Kontruktor
35   private static ServletModuleLinksImcs instance = new ServletModuleLinksImcs();
36   public static ServletModule getInstance() { return instance; }
37
38
39   private ServletModuleLinksImcs() {
40     theLog = Logfile.getInstance(MirConfig.getProp("Home") + MirConfig.getProp("ServletModule.LinksImcs.Logfile"));
41     templateListString = MirConfig.getProp("ServletModule.LinksImcs.ListTemplate");
42     templateObjektString = MirConfig.getProp("ServletModule.LinksImcs.ObjektTemplate");
43     templateConfirmString = MirConfig.getProp("ServletModule.LinksImcs.ConfirmTemplate");
44
45     try {
46       mainModule = new ModuleLinksImcs(DatabaseLinksImcs.getInstance());
47       languageModule = new ModuleLanguage(DatabaseLanguage.getInstance());
48     } catch (StorageObjectException e) {
49       theLog.printDebugInfo("ServletModuleLinksImcs konnte nicht initialisiert werden");
50     }
51   }
52
53   public void add(HttpServletRequest req, HttpServletResponse res)
54     throws ServletModuleException {
55     try {
56       SimpleHash modelRoot = new SimpleHash();
57       EntityList   theParentList;
58       EntityList   theLanguageList;
59       int offset = 0;
60
61       theParentList = mainModule.getByWhereClause("to_parent_id=NULL", "title", offset, 1000);
62       theLanguageList = languageModule.getByWhereClause(null, "name", 0);
63
64       modelRoot.put("new", "1");
65       modelRoot.put("parentlist",theParentList);
66       modelRoot.put("languagelist",theLanguageList);
67
68       if (theParentList == null || theParentList.getCount() == 0 || theParentList.getCount()>1){
69         HTMLTemplateProcessor.process(res,getLanguage(req)+"/"+templateObjektString,
70                                                                                                                                                         modelRoot, res.getWriter(), req.getLocale());
71       } else {
72         deliver(req, res, modelRoot, templateObjektString);
73       }
74
75     } catch(ModuleException e) {
76       throw new ServletModuleException(e.toString());
77     } catch (HTMLParseException e) {
78       throw new ServletModuleException(e.toString());
79     } catch (IOException e) {
80       throw new ServletModuleException(e.toString());
81     }
82   }
83
84   public void list(HttpServletRequest req, HttpServletResponse res)
85     throws ServletModuleException {
86     try {
87
88       SimpleHash   modelRoot = new SimpleHash();
89       EntityList   theParentList;
90       EntityList   theImcsList;
91       EntityList   theLanguageList;
92       String       offsetParam = req.getParameter("offset");
93       String       where = "";
94       String       offset = "";
95       PrintWriter  out = res.getWriter();
96
97       // Parameter auswerten
98       String query_text = req.getParameter("query_text");
99       modelRoot.put("query_text",query_text);
100       if (query_text!=null) modelRoot.put("query_text_encoded",URLEncoder.encode(query_text));
101       String query_field = req.getParameter("query_field");
102                         modelRoot.put("query_field",query_field);
103       String parent = req.getParameter("to_parent_id");
104                         modelRoot.put("to_parent_id",parent);
105       String language = req.getParameter("to_language");
106                         modelRoot.put("to_language",language);
107       modelRoot.put("language", getLanguage(req));
108
109       String whereClause=""; boolean isFirst=true;
110                         if (query_text!=null && !query_text.equalsIgnoreCase("")) {
111                                 whereClause += "lower("+query_field+") like lower('%"+query_text+"%')"; isFirst=false;}
112                         if (parent != null && !parent.equals("")) {
113                                 if (isFirst==false) whereClause+=" and ";
114                                 whereClause += "to_parent_id='"+parent+"'";
115                                 isFirst=false;
116                         }
117       if (language != null && !language.equals("")) {
118                                 if (isFirst==false) whereClause+=" and ";
119                                 whereClause += "to_language='"+language+"'";
120                                 isFirst=false;
121                         }
122
123       // hier offsetcode bearbeiten
124       if (offsetParam != null && !offsetParam.equals("")){
125         offset = offsetParam;
126       }
127       if (req.getParameter("next") != null){
128           offset= req.getParameter("nextoffset");
129       } else {
130           if (req.getParameter("prev") != null){
131             offset = req.getParameter("prevoffset");
132           }
133       }
134
135                         if (offset==null || offset.equals("")) offset="0";
136                         modelRoot.put("offset",(new Integer(offset)).toString());
137
138       theParentList = mainModule.getByWhereClause("to_parent_id=NULL", "title", 0, 1000);
139       theImcsList = mainModule.getByWhereClause(whereClause, "title", (new Integer(offset)).intValue());
140       theLanguageList = languageModule.getByWhereClause(null, "name", 0);
141
142       modelRoot.put("parentlist",theParentList);
143       modelRoot.put("imcslist",theImcsList);
144       modelRoot.put("languagelist",theLanguageList);
145       modelRoot.put("count", (new Integer(theImcsList.getCount())).toString());
146                         modelRoot.put("from", (new Integer(theImcsList.getFrom())).toString());
147                         modelRoot.put("to", (new Integer(theImcsList.getTo())).toString());
148       if (theImcsList.hasNextBatch())
149                                 modelRoot.put("next", (new Integer(theImcsList.getNextBatch())).toString());
150                         if (theImcsList.hasPrevBatch())
151                                 modelRoot.put("prev", (new Integer(theImcsList.getPrevBatch())).toString());
152
153       HTMLTemplateProcessor.process(res,getLanguage(req)+"/"+templateListString,
154                                                                                                                                                 modelRoot, res.getWriter(), req.getLocale());
155
156       } catch (Exception e) {
157       throw new ServletModuleException(e.toString());
158     }
159   }
160
161   public void edit(HttpServletRequest req, HttpServletResponse res)
162     throws ServletModuleException {
163     try {
164
165       SimpleHash modelRoot = new SimpleHash();
166       EntityList   parentList;
167       EntityList   theLanguageList;
168       int offset = 0;
169       String idParam = req.getParameter("id");
170       String where = "";
171
172       parentList = mainModule.getByWhereClause("to_parent_id=NULL", "title", offset, 1000);
173       theLanguageList = languageModule.getByWhereClause(null, "name", 0);
174
175       modelRoot.put("parentlist",parentList);
176       modelRoot.put("languagelist",theLanguageList);
177       modelRoot.put("entity", mainModule.getById(idParam));
178       deliver(req, res, modelRoot, templateObjektString);
179
180     } catch(ModuleException e) {
181       throw new ServletModuleException(e.toString());
182     }
183   }
184
185 }
186