X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=source%2Fmir%2Fservlet%2FServletModule.java;h=56419d192b33bd8df28104807fb663c33e64b15b;hb=5379fccb255fc05ef109129b93b576663819c7df;hp=e2e1d2ab30ae81c53ad0f06b2a37577bb76a8090;hpb=e98015ace7d45c4633645a2309c0209962a4d0a1;p=mir.git diff --git a/source/mir/servlet/ServletModule.java b/source/mir/servlet/ServletModule.java index e2e1d2ab..56419d19 100755 --- a/source/mir/servlet/ServletModule.java +++ b/source/mir/servlet/ServletModule.java @@ -31,27 +31,30 @@ package mir.servlet; -import freemarker.template.SimpleHash; -import freemarker.template.TemplateModelRoot; -import freemarker.template.TemplateModel; - -import mir.entity.EntityList; -import mir.log.*; -import mir.misc.*; -import mir.module.AbstractModule; -import mir.module.ModuleException; -import mir.storage.StorageObject; -import mir.storage.StorageObjectException; - -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; -import javax.servlet.http.HttpSession; import java.io.IOException; import java.io.PrintWriter; import java.util.ArrayList; import java.util.HashMap; import java.util.Locale; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import javax.servlet.http.HttpSession; + +import mir.config.MirPropertiesConfiguration; +import mir.config.MirPropertiesConfiguration.PropertiesConfigExc; +import mir.entity.EntityList; +import mir.log.LoggerWrapper; +import mir.misc.HTMLParseException; +import mir.misc.HTMLTemplateProcessor; +import mir.misc.LineFilterWriter; +import mir.module.AbstractModule; +import mir.module.ModuleException; +import mir.storage.StorageObject; +import mir.storage.StorageObjectFailure; +import freemarker.template.SimpleHash; +import freemarker.template.TemplateModelRoot; + /** * Abstract class ServletModule provides the base functionality for servlets. @@ -60,7 +63,7 @@ import java.util.Locale; * * * Abstrakte Klasse ServletModule stellt die Basisfunktionalitaet der - * abgeleiteten ServletModule zur Verfügung. + * abgeleiteten ServletModule zur Verf?gung. * * @version 28.6.1999 * @author RK @@ -70,11 +73,21 @@ public abstract class ServletModule { public String defaultAction; protected LoggerWrapper logger; - + protected MirPropertiesConfiguration configuration; protected AbstractModule mainModule; protected String templateListString; protected String templateObjektString; protected String templateConfirmString; + + + public ServletModule(){ + try { + configuration = MirPropertiesConfiguration.instance(); + } catch (PropertiesConfigExc e) { + e.printStackTrace(System.err); + } + } + /** * Singelton - Methode muss in den abgeleiteten Klassen ueberschrieben werden. @@ -98,7 +111,7 @@ public abstract class ServletModule { HttpSession session = req.getSession(false); String language = (String) session.getAttribute("Language"); if (language == null) { - language = MirConfig.getProp("StandardLanguage"); + language = configuration.getString("StandardLanguage"); } return language; } @@ -123,7 +136,7 @@ public abstract class ServletModule { public void redirect(HttpServletResponse aResponse, String aQuery) throws ServletModuleException { try { - aResponse.sendRedirect(MirConfig.getProp("RootUri") + "/Mir?"+aQuery); + aResponse.sendRedirect(MirPropertiesConfiguration.instance().getString("RootUri") + "/Mir?"+aQuery); } catch (Throwable t) { throw new ServletModuleException(t.getMessage()); @@ -233,6 +246,13 @@ public abstract class ServletModule { mergeData.put("where", req.getParameter("where")); mergeData.put("order", req.getParameter("order")); mergeData.put("offset", req.getParameter("offset")); + // this stuff is to be compatible with the other more advanced + // search method used for media and comments + mergeData.put("query_media_folder", req.getParameter("query_media_folder")); + mergeData.put("query_is_published", req.getParameter("query_is_published")); + mergeData.put("query_text", req.getParameter("query_text")); + mergeData.put("query_field", req.getParameter("query_field")); + deliver(req, res, mergeData, templateConfirmString); } else { @@ -322,8 +342,8 @@ public abstract class ServletModule { if (rtm == null) rtm = new SimpleHash(); try { PrintWriter out = res.getWriter(); - HTMLTemplateProcessor.process(res, templateFilename, rtm, popups, out, - getLocale(req), "bundles.admin"); + HTMLTemplateProcessor.process(res, templateFilename, rtm, popups, out, getLocale(req)); + // we default to admin bundles here, which is not exactly beautiful... // but this whole producer stuff is going to be rewritten soon. // ServletModuleOpenIndy overwrites deliver() to use open bundles @@ -433,7 +453,7 @@ public abstract class ServletModule { try { theFieldList = theStorage.getFields(); } - catch (StorageObjectException e) { + catch (StorageObjectFailure e) { throw new ServletModuleException("ServletModule.getIntersectingValues: " + e.getMessage()); }