From: fh Date: Tue, 9 Oct 2001 23:03:28 +0000 (+0000) Subject: added search functionality X-Git-Tag: prexmlproducerconfig~356 X-Git-Url: http://erislabs.org.uk/gitweb/?a=commitdiff_plain;h=c76b1b91f5198e03d7397a7bccd6cd37f22f66be;p=mir.git added search functionality --- diff --git a/source/mircoders/servlet/ServletModuleLinksImcs.java b/source/mircoders/servlet/ServletModuleLinksImcs.java index fedde275..e86d8d6a 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,6 +29,8 @@ 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; } @@ -42,6 +44,7 @@ public class ServletModuleLinksImcs extends ServletModule try { mainModule = new ModuleLinksImcs(DatabaseLinksImcs.getInstance()); + languageModule = new ModuleLanguage(DatabaseLanguage.getInstance()); } catch (StorageObjectException e) { theLog.printDebugInfo("ServletModuleLinksImcs konnte nicht initialisiert werden"); } @@ -51,14 +54,18 @@ public class ServletModuleLinksImcs extends ServletModule throws ServletModuleException { try { SimpleHash modelRoot = new SimpleHash(); - EntityList theList; + EntityList theParentList; + EntityList theLanguageList; int offset = 0; - theList = mainModule.getByWhereClause("to_parent_id=NULL", "title", offset); + theParentList = mainModule.getByWhereClause("to_parent_id=NULL", "title", offset, 1000); + theLanguageList = languageModule.getByWhereClause(null, "name", 0); + modelRoot.put("new", "1"); - modelRoot.put("imcsparentlist",HTMLTemplateProcessor.makeSimpleList(theList)); + modelRoot.put("parentlist",HTMLTemplateProcessor.makeSimpleList(theParentList)); + modelRoot.put("languagelist",HTMLTemplateProcessor.makeSimpleList(theLanguageList)); - if (theList == null || theList.getCount() == 0 || theList.getCount()>1){ + if (theParentList == null || theParentList.getCount() == 0 || theParentList.getCount()>1){ HTMLTemplateProcessor.process(res,getLanguage(req)+"/"+templateObjektString, modelRoot, res.getWriter()); } else { deliver(req, res, modelRoot, templateObjektString); @@ -82,11 +89,38 @@ public class ServletModuleLinksImcs extends ServletModule 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; @@ -102,11 +136,13 @@ public class ServletModuleLinksImcs extends ServletModule if (offset==null || offset.equals("")) offset="0"; modelRoot.put("offset",(new Integer(offset)).toString()); - theParentList = mainModule.getByWhereClause("to_parent_id=NULL", 0); - theImcsList = mainModule.getByWhereClause(null, "title", (new Integer(offset)).intValue()); + 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()); @@ -125,16 +161,19 @@ public class ServletModuleLinksImcs extends ServletModule public void edit(HttpServletRequest req, HttpServletResponse res) throws ServletModuleException { try { + SimpleHash modelRoot = new SimpleHash(); EntityList parentList; - EntityList parentNamesList; + EntityList theLanguageList; int offset = 0; String idParam = req.getParameter("id"); String where = ""; - parentList = mainModule.getByWhereClause("to_parent_id=NULL", "title", offset); + parentList = mainModule.getByWhereClause("to_parent_id=NULL", "title", offset, 1000); + theLanguageList = languageModule.getByWhereClause(null, "name", 0); - modelRoot.put("imcsparentlist",HTMLTemplateProcessor.makeSimpleList(parentList)); + modelRoot.put("parentlist",HTMLTemplateProcessor.makeSimpleList(parentList)); + modelRoot.put("languagelist",HTMLTemplateProcessor.makeSimpleList(theLanguageList)); modelRoot.put("entity", HTMLTemplateProcessor.makeSimpleHash(mainModule.getById(idParam))); deliver(req, res, modelRoot, templateObjektString); diff --git a/templates-dist/de/linksimcslist.template b/templates-dist/de/linksimcslist.template index 4de07a6e..cfa1bedf 100755 --- a/templates-dist/de/linksimcslist.template +++ b/templates-dist/de/linksimcslist.template @@ -6,6 +6,50 @@ + + + + @@ -22,15 +66,20 @@ + + + + + bgcolor="#dddddd" > - + @@ -44,25 +93,10 @@
+ + + + + + + + + + + + + + + + + +
Text suchen in:Parent:Sprache: 
+ + + + + + + + +
+
+
Name
${entry.title}  ${parent} ${entry.url} ${entry.sortpriority}${entry.to_language}${language}  delete | edit

- zurueck  + zurueck  -weiter - - -

- - - - - - - - - - - -
+weiter