import java.io.*;
import java.sql.*;
import java.util.*;
+import java.net.*;
import javax.servlet.*;
import javax.servlet.http.*;
import mir.misc.*;
import mir.entity.*;
import mir.storage.*;
-import mir.servlet.ServletModuleException;
import mircoders.entity.*;
import mircoders.storage.*;
public class ServletModuleLinksImcs extends ServletModule
{
+ private ModuleLanguage languageModule;
+
// Singelton / Kontruktor
private static ServletModuleLinksImcs instance = new ServletModuleLinksImcs();
public static ServletModule getInstance() { return instance; }
private ServletModuleLinksImcs() {
- theLog = Logfile.getInstance(Configuration.getProperty("Home") + Configuration.getProperty("ServletModule.LinksImcs.Logfile"));
- templateListString = Configuration.getProperty("ServletModule.LinksImcs.ListTemplate");
- templateObjektString = Configuration.getProperty("ServletModule.LinksImcs.ObjektTemplate");
- templateConfirmString = Configuration.getProperty("ServletModule.LinksImcs.ConfirmTemplate");
+ theLog = Logfile.getInstance(MirConfig.getProp("Home") + MirConfig.getProp("ServletModule.LinksImcs.Logfile"));
+ templateListString = MirConfig.getProp("ServletModule.LinksImcs.ListTemplate");
+ templateObjektString = MirConfig.getProp("ServletModule.LinksImcs.ObjektTemplate");
+ templateConfirmString = MirConfig.getProp("ServletModule.LinksImcs.ConfirmTemplate");
try {
mainModule = new ModuleLinksImcs(DatabaseLinksImcs.getInstance());
+ languageModule = new ModuleLanguage(DatabaseLanguage.getInstance());
} catch (StorageObjectException e) {
theLog.printDebugInfo("ServletModuleLinksImcs konnte nicht initialisiert werden");
}
public void add(HttpServletRequest req, HttpServletResponse res)
throws ServletModuleException {
try {
- SimpleHash mergeData = new SimpleHash();
- EntityList theList;
- mergeData.put("new", "1");
-
- PrintWriter out = res.getWriter();
+ SimpleHash modelRoot = new SimpleHash();
+ EntityList theParentList;
+ EntityList theLanguageList;
int offset = 0;
- theList = mainModule.getByWhereClause("", offset);
- mergeData.put("contentlist",((ModuleLinksImcs)mainModule).getLinksImcsAsSimpleHash());
+ theParentList = mainModule.getByWhereClause("to_parent_id=NULL", "title", offset, 1000);
+ theLanguageList = languageModule.getByWhereClause(null, "name", 0);
- if (theList == null || theList.getCount() == 0 || theList.getCount()>1){
- //HTMLTemplateProcessor.process(getLanguage(req)+"/"+templateObjektString, theList, out);
- HTMLTemplateProcessor.process(getLanguage(req)+"/"+templateObjektString, mergeData, out);
+ modelRoot.put("new", "1");
+ modelRoot.put("parentlist",theParentList);
+ modelRoot.put("languagelist",theLanguageList);
+ if (theParentList == null || theParentList.getCount() == 0 || theParentList.getCount()>1){
+ HTMLTemplateProcessor.process(res, templateObjektString, modelRoot, res.getWriter(), getLocale(req));
} else {
- //deliver(req, res, theList.elementAt(0), templateObjektString);
- deliver(req, res, mergeData, templateObjektString);
+ deliver(req, res, modelRoot, templateObjektString);
}
} catch(ModuleException e) {
} catch (IOException e) {
throw new ServletModuleException(e.toString());
}
+ }
+
+ public void list(HttpServletRequest req, HttpServletResponse res)
+ throws ServletModuleException {
+ try {
+ SimpleHash modelRoot = new SimpleHash();
+ EntityList theParentList;
+ EntityList theImcsList;
+ EntityList theLanguageList;
+ String offsetParam = req.getParameter("offset");
+ String where = "";
+ String offset = "";
+ PrintWriter out = res.getWriter();
+
+ // Parameter auswerten
+ String query_text = req.getParameter("query_text");
+ modelRoot.put("query_text",query_text);
+ if (query_text!=null) modelRoot.put("query_text_encoded",URLEncoder.encode(query_text));
+ String query_field = req.getParameter("query_field");
+ modelRoot.put("query_field",query_field);
+ String parent = req.getParameter("to_parent_id");
+ modelRoot.put("to_parent_id",parent);
+ String language = req.getParameter("to_language");
+ modelRoot.put("to_language",language);
+ modelRoot.put("language", getLanguage(req));
+
+ String whereClause=""; boolean isFirst=true;
+ if (query_text!=null && !query_text.equalsIgnoreCase("")) {
+ whereClause += "lower("+query_field+") like lower('%"+query_text+"%')"; isFirst=false;}
+ if (parent != null && !parent.equals("")) {
+ if (isFirst==false) whereClause+=" and ";
+ whereClause += "to_parent_id='"+parent+"'";
+ isFirst=false;
+ }
+ if (language != null && !language.equals("")) {
+ if (isFirst==false) whereClause+=" and ";
+ whereClause += "to_language='"+language+"'";
+ isFirst=false;
+ }
+
+ // hier offsetcode bearbeiten
+ if (offsetParam != null && !offsetParam.equals("")){
+ offset = offsetParam;
+ }
+ if (req.getParameter("next") != null){
+ offset= req.getParameter("nextoffset");
+ } else {
+ if (req.getParameter("prev") != null){
+ offset = req.getParameter("prevoffset");
+ }
+ }
+
+ if (offset==null || offset.equals("")) offset="0";
+ modelRoot.put("offset",(new Integer(offset)).toString());
+
+ theParentList = mainModule.getByWhereClause("to_parent_id=NULL", "title", 0, 1000);
+ theImcsList = mainModule.getByWhereClause(whereClause, "title", (new Integer(offset)).intValue());
+ theLanguageList = languageModule.getByWhereClause(null, "name", 0);
+
+ modelRoot.put("parentlist",theParentList);
+ modelRoot.put("imcslist",theImcsList);
+ modelRoot.put("languagelist",theLanguageList);
+ modelRoot.put("count", (new Integer(theImcsList.getCount())).toString());
+ modelRoot.put("from", (new Integer(theImcsList.getFrom())).toString());
+ modelRoot.put("to", (new Integer(theImcsList.getTo())).toString());
+ if (theImcsList.hasNextBatch())
+ modelRoot.put("next", (new Integer(theImcsList.getNextBatch())).toString());
+ if (theImcsList.hasPrevBatch())
+ modelRoot.put("prev", (new Integer(theImcsList.getPrevBatch())).toString());
+
+ HTMLTemplateProcessor.process(res, templateListString, modelRoot, res.getWriter(), getLocale(req));
+
+ } catch (Exception e) {
+ throw new ServletModuleException(e.toString());
+ }
+ }
+
+ public void edit(HttpServletRequest req, HttpServletResponse res)
+ throws ServletModuleException {
+ try {
+
+ SimpleHash modelRoot = new SimpleHash();
+ EntityList parentList;
+ EntityList theLanguageList;
+ int offset = 0;
+ String idParam = req.getParameter("id");
+ String where = "";
+
+ parentList = mainModule.getByWhereClause("to_parent_id=NULL", "title", offset, 1000);
+ theLanguageList = languageModule.getByWhereClause(null, "name", 0);
+
+ modelRoot.put("parentlist",parentList);
+ modelRoot.put("languagelist",theLanguageList);
+ modelRoot.put("entity", mainModule.getById(idParam));
+ deliver(req, res, modelRoot, templateObjektString);
+
+ } catch(ModuleException e) {
+ throw new ServletModuleException(e.toString());
+ }
}
+
}