X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=source%2Fmircoders%2Fservlet%2FServletModuleLinksImcs.java;h=2a5b05176c8075cc9efd8bd30b90cc5318835c41;hb=831225b6a524c40cb4f1db71a0c53297eefd8234;hp=c5803e7c610196841bbde0558c01ca1a74880b39;hpb=ef1444fa3a0af570685be69e660fb69b57e3c4bd;p=mir.git diff --git a/source/mircoders/servlet/ServletModuleLinksImcs.java b/source/mircoders/servlet/ServletModuleLinksImcs.java index c5803e7c..2a5b0517 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,21 +53,22 @@ public class ServletModuleLinksImcs extends ServletModule public void add(HttpServletRequest req, HttpServletResponse res) throws ServletModuleException { try { - SimpleHash mergeData = new SimpleHash(); - EntityList theList; + SimpleHash modelRoot = new SimpleHash(); + EntityList theParentList; + EntityList theLanguageList; int offset = 0; - theList = mainModule.getByWhereClause("", offset); - mergeData.put("contentlist",HTMLTemplateProcessor.makeSimpleHash(theList)); - mergeData.put("new", "1"); - PrintWriter out = res.getWriter(); - if (theList == null || theList.getCount() == 0 || theList.getCount()>1){ - //HTMLTemplateProcessor.process(getLanguage(req)+"/"+templateObjektString, theList, out); - HTMLTemplateProcessor.process(getLanguage(req)+"/"+templateObjektString, mergeData, out); + theParentList = mainModule.getByWhereClause("to_parent_id=NULL", "title", offset, 1000); + theLanguageList = languageModule.getByWhereClause(null, "name", 0); + + modelRoot.put("new", "1"); + modelRoot.put("parentlist",HTMLTemplateProcessor.makeSimpleList(theParentList)); + modelRoot.put("languagelist",HTMLTemplateProcessor.makeSimpleList(theLanguageList)); + if (theParentList == null || theParentList.getCount() == 0 || theParentList.getCount()>1){ + HTMLTemplateProcessor.process(res,getLanguage(req)+"/"+templateObjektString, modelRoot, res.getWriter()); } else { - //deliver(req, res, theList.elementAt(0), templateObjektString); - deliver(req, res, mergeData, templateObjektString); + deliver(req, res, modelRoot, templateObjektString); } } catch(ModuleException e) { @@ -76,8 +80,109 @@ public class ServletModuleLinksImcs extends ServletModule } catch(StorageObjectException 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",HTMLTemplateProcessor.makeSimpleList(theParentList)); + modelRoot.put("imcslist",HTMLTemplateProcessor.makeSimpleList(theImcsList)); + modelRoot.put("languagelist",HTMLTemplateProcessor.makeSimpleList(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,getLanguage(req)+"/"+templateListString, modelRoot, res.getWriter()); + + } 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",HTMLTemplateProcessor.makeSimpleList(parentList)); + modelRoot.put("languagelist",HTMLTemplateProcessor.makeSimpleList(theLanguageList)); + modelRoot.put("entity", mainModule.getById(idParam)); + deliver(req, res, modelRoot, templateObjektString); + + } catch(ModuleException e) { + throw new ServletModuleException(e.toString()); + } catch(StorageObjectException e) { + throw new ServletModuleException(e.toString()); + } } + }