Entity now freemarker compliant, freemarker lib update, deprecation of HTMLTemplatePr...
[mir.git] / source / mir / servlet / ServletModule.java
index 6bd2d87..6e4998b 100755 (executable)
@@ -14,6 +14,11 @@ import  mir.misc.*;
 
 
 /**
+ * Abstract class ServletModule provides the base functionality for servlets.
+ * Deriving a class from ServletModule enables class to insert/edit/update/delete
+ * and list Entity from a Database via mainModule.
+ *
+ *
  *  Abstrakte Klasse ServletModule stellt die Basisfunktionalitaet der
  *  abgeleiteten ServletModule zur Verfügung.
  *
@@ -276,13 +281,24 @@ public abstract class ServletModule {
    * TemplateModelRoot rtm gemischt wurde
    *
    * @param res Http-Response, die vom Dispatcher durchgereicht wird
-   * @param entity Entity, aus der die Daten, die ins Template gemerged werden sollen.
+   * @param rtm beinahalten das freemarker.template.TempalteModelRoot mit den
+   *   Daten, die ins Template gemerged werden sollen.
    * @param tmpl Name des Templates
    * @exception ServletModuleException
    */
-  public void deliver(HttpServletRequest req, HttpServletResponse res, Entity ent, String templateFilename)
+  public void deliver_compressed(HttpServletRequest req, HttpServletResponse res, TemplateModelRoot rtm, String templateFilename)
     throws ServletModuleException {
-    deliver(req, res,HTMLTemplateProcessor.makeSimpleHash(ent), templateFilename);
+    if (rtm == null) rtm = new SimpleHash();
+    try {
+      PrintWriter out =  new LineFilterWriter(res.getWriter());
+      //PrintWriter out =  res.getWriter();
+      HTMLTemplateProcessor.process(res,getLanguage(req)+"/"+templateFilename, rtm , out);
+      out.close();
+    } catch (HTMLParseException e) {
+      throw new ServletModuleException(e.toString());
+    } catch (IOException e) {
+      throw new ServletModuleException(e.toString());
+    }
   }
 
   /**