- * Privater Konstruktor, um versehentliche Instantiierung zu verhindern
- */
- private HTMLTemplateProcessor () {
- }
-
-
- //
- // process-Methoden zum Mischen verschiedener Datenstrukturen mit HTML-Templates
-
-
- /**
- * Wandelt <code>anEntity</code> in freemarker-Struktur um, mischt die Daten mit
- * Template <code>templateFilename</code> und gibt das Ergebnis an den PrintWriter
- * <code>out</code>
- *
- * @param templateFilename
- * @param anEntity
- * @param out
- * @exception HTMLParseException
- */
-
- public static void process(String templateFilename, Entity anEntity, PrintWriter out)
- throws HTMLParseException {
- if (anEntity == null) throw new HTMLParseException("Entity leer!");
- else process(templateFilename, anEntity, out);
- }
-
-
- /**
- * Wandelt Liste mit Entities <code>entList</code> in freemarker-Struktur um, mischt die Daten mit
- * Template <code>templateFilename</code> und gibt das Ergebnis an den PrintWriter
- * <code>out</code>
- *
- * @param templateFilename
- * @param entList
- * @param out
- * @exception HTMLParseException
- */
- public static void process(String templateFilename, EntityList entList, PrintWriter out)
- throws HTMLParseException {
- process( templateFilename, entList, (String)null, (TemplateModelRoot)null, out);
- }
-
- /**
- * Wandelt Entitylist in freemarker-Struktur um, fügt <code>additionalModel</code>
- * unter dem Namen <code>additionalModelName</code> ein und mischt die Daten mit
- * Template <code>templateFilename</code> und gibt das Ergebnis an den PrintWriter
- * <code>out</code>
- *
- * @param templateFilename
- * @param entList
- * @param additionalModelName
- * @param additionalModel
- * @param out
- * @exception HTMLParseException
- */
- public static void process(String templateFilename, EntityList entList, String additionalModelName,
- TemplateModelRoot additionalModel, PrintWriter out)
- throws HTMLParseException {
-
- SimpleHash modelRoot = new SimpleHash();
-
- if (entList == null) {
- //theLog.printInfo("Keine Daten! Suche erfolglos.");
- process(templateFilename, modelRoot, out);
- } else {
- try {
- modelRoot = makeSimpleHashWithEntitylistInfos(entList);
- //
- // Hilfskruecke um mal ein Popup mit reinzunhemen ..
- if (additionalModelName != null && additionalModel != null)
- modelRoot.put(additionalModelName, additionalModel);
-
- process(templateFilename, modelRoot, out);
- } catch (StorageObjectException e) {
- throw new HTMLParseException(e.toString());
- }
- }
- }
-
- /**
- * Wandelt HashMap <code>mergeData</code> in freemarker-Struktur und mischt diese mit
- * Template <code>templateFilename</code> und gibt das Ergebnis an den PrintWriter
- * <code>out</code>
- *
- * @param templateFilename
- * @param mergeData
- * @param out
- * @exception HTMLParseException
- */
- public static void process(String templateFilename, HashMap mergeData, PrintWriter out)
- throws HTMLParseException {
- process(templateFilename, makeSimpleHash(mergeData), out);
- }
-
- /**
- * Gibt Template <code>templateFilename</code> an den PrintWriter
- * <code>out</code>
- *
- * @param templateFilename
- * @param mergeData
- * @param out
- * @exception HTMLParseException
- */
- public static void process(String templateFilename, PrintWriter out)
- throws HTMLParseException {
- process(templateFilename, (TemplateModelRoot)null, out);
- }
-
-
- /**
- * Mischt die freemarker-Struktur <code>tmr</code> mit
- * Template <code>templateFilename</code> und gibt das Ergebnis an den PrintWriter
- * <code>out</code>
- *
- * @param templateFilename
- * @param mergeData
- * @param out
- * @exception HTMLParseException
- */
- public static void process(String templateFilename, TemplateModelRoot tmr, PrintWriter out)
- throws HTMLParseException {
- if (out==null) throw new HTMLParseException("KEIN OUTPUTSTREAM");
- Template tmpl = getTemplateFor(templateFilename);
- if (tmpl == null) throw new HTMLParseException("KEIN TEMPLATE: " + templateFilename);
- if (tmr==null) tmr = new SimpleHash();
-
- //some utilities
- SimpleHash utilityHash = new SimpleHash();
- utilityHash.put("htmlEscape",new freemarker.template.utility.HtmlEscape());
+ * empty private constructor, to avoid instantiation
+ */
+ private HTMLTemplateProcessor () { }
+
+
+ // process-methods to merge different datastructures
+ // with freemarker templates
+
+
+ /**
+ * Wandelt <code>anEntity</code> in freemarker-Struktur um, mischt die Daten mit
+ * Template <code>templateFilename</code> und gibt das Ergebnis an den PrintWriter
+ * <code>out</code>
+ *
+ * @param templateFilename
+ * @param anEntity
+ * @param out
+ * @exception HTMLParseException
+ */
+
+ public static void process(String templateFilename, Entity anEntity, PrintWriter out)
+ throws HTMLParseException {
+ if (anEntity == null) throw new HTMLParseException("entity is empty!");
+ else process(templateFilename, anEntity, out);
+ }
+
+
+ /**
+ * Wandelt Liste mit Entities <code>entList</code> in freemarker-Struktur um, mischt die Daten mit
+ * Template <code>templateFilename</code> und gibt das Ergebnis an den PrintWriter
+ * <code>out</code>
+ *
+ * @param templateFilename
+ * @param entList
+ * @param out
+ * @exception HTMLParseException
+ */
+ public static void process(HttpServletResponse res,String templateFilename, EntityList entList, PrintWriter out)
+ throws HTMLParseException {
+ process(res, templateFilename, entList, (String)null, (TemplateModelRoot)null, out);
+ }
+
+ /**
+ * Wandelt Entitylist in freemarker-Struktur um, fügt <code>additionalModel</code>
+ * unter dem Namen <code>additionalModelName</code> ein und mischt die Daten mit
+ * Template <code>templateFilename</code> und gibt das Ergebnis an den PrintWriter
+ * <code>out</code>
+ *
+ * @param templateFilename
+ * @param entList
+ * @param additionalModelName
+ * @param additionalModel
+ * @param out
+ * @exception HTMLParseException
+ */
+ public static void process(HttpServletResponse res,String templateFilename, EntityList entList, String additionalModelName,
+ TemplateModelRoot additionalModel, PrintWriter out)
+ throws HTMLParseException {
+
+ SimpleHash modelRoot = new SimpleHash();
+
+ if (entList == null) {
+ process(null,templateFilename, modelRoot, out);
+ } else {
+ try {
+ modelRoot = makeSimpleHashWithEntitylistInfos(entList);
+
+ // Quickhack um mal ein Popup mit reinzunhemen ..
+ if (additionalModelName != null && additionalModel != null)
+ modelRoot.put(additionalModelName, additionalModel);
+
+ process(res,templateFilename, modelRoot, out);
+ } catch (StorageObjectException e) {
+ throw new HTMLParseException(e.toString());
+ }
+ }
+ }
+
+ /**
+ * Wandelt HashMap <code>mergeData</code> in freemarker-Struktur und mischt diese mit
+ * Template <code>templateFilename</code> und gibt das Ergebnis an den PrintWriter
+ * <code>out</code>
+ *
+ * @param templateFilename
+ * @param mergeData - a HashMap with mergeData to be converted in SimpleHash
+ * @param out
+ * @exception HTMLParseException
+ */
+ public static void process(HttpServletResponse res,String templateFilename, HashMap mergeData, PrintWriter out)
+ throws HTMLParseException {
+ process(res,templateFilename, makeSimpleHash(mergeData), out);
+ }
+
+ /**
+ * Gibt Template <code>templateFilename</code> an den PrintWriter
+ * <code>out</code>
+ *
+ * @param templateFilename
+ * @param mergeData
+ * @param out
+ * @exception HTMLParseException
+ */
+ public static void process(String templateFilename, PrintWriter out)
+ throws HTMLParseException {
+ process(null,templateFilename, (TemplateModelRoot)null, out);
+ }
+
+
+ /**
+ * Mischt die freemarker-Struktur <code>tmr</code> mit
+ * Template <code>templateFilename</code> und gibt das Ergebnis an den PrintWriter
+ * <code>out</code>
+ *
+ * @param templateFilename
+ * @param mergeData
+ * @param out
+ * @exception HTMLParseException
+ */
+ public static void process(HttpServletResponse res,String templateFilename, TemplateModelRoot tmr, PrintWriter out)
+ throws HTMLParseException {
+ if (out==null) throw new HTMLParseException("no outputstream");
+ Template tmpl = getTemplateFor(templateFilename);
+ if (tmpl == null) throw new HTMLParseException("no template: " + templateFilename);
+ if (tmr==null) tmr = new SimpleHash();
+
+ /** @todo what is this for? (rk) */
+ String session="";
+ if (res!=null) {
+ session=res.encodeURL("");
+ }