X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=source%2Fmircoders%2Fservlet%2FServletModuleLinksImcs.java;h=37cdad2fe68605fecb834a035e6fa3006b3a745e;hb=cf8cb5c3fc2602ecde7d53cd7bf7dc30eac6a6d1;hp=4ff023f5617243f4b3b8702e1b9e0912c5b0c2e6;hpb=1dc7fa03037c7e3e212286bd9e4d012694600f64;p=mir.git diff --git a/source/mircoders/servlet/ServletModuleLinksImcs.java b/source/mircoders/servlet/ServletModuleLinksImcs.java index 4ff023f5..37cdad2f 100755 --- a/source/mircoders/servlet/ServletModuleLinksImcs.java +++ b/source/mircoders/servlet/ServletModuleLinksImcs.java @@ -3,6 +3,7 @@ package mircoders.servlet; import java.io.*; import java.sql.*; import java.util.*; +import java.net.*; import javax.servlet.*; import javax.servlet.http.*; @@ -13,7 +14,6 @@ import mir.module.*; import mir.misc.*; import mir.entity.*; import mir.storage.*; -import mir.servlet.ServletModuleException; import mircoders.entity.*; import mircoders.storage.*; @@ -29,19 +29,22 @@ import mircoders.module.*; 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"); } @@ -50,23 +53,22 @@ public class ServletModuleLinksImcs extends ServletModule 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) { @@ -76,7 +78,107 @@ public class ServletModuleLinksImcs extends ServletModule } 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()); + } } + }