From 083aa4e5301cab283881d02176f50373d70263cc Mon Sep 17 00:00:00 2001 From: rjy7 Date: Thu, 17 Jun 2010 22:17:48 +0000 Subject: [PATCH] NIHVIVO-646 Broke up FreeMarkerHttpServlet write() method into separate pieces for greater flexibility in subclass controllers. --- .../freemarker/FreeMarkerHttpServlet.java | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/FreeMarkerHttpServlet.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/FreeMarkerHttpServlet.java index 2c9a2bc32..a2ee3e141 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/FreeMarkerHttpServlet.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/FreeMarkerHttpServlet.java @@ -69,7 +69,7 @@ public class FreeMarkerHttpServlet extends VitroHttpServlet { doSetup(request, response); setUpPage(); setTitleAndBody(); - write(response); + writePage(); } catch (Throwable e) { log.error("FreeMarkerHttpServlet could not forward to view."); @@ -344,18 +344,25 @@ public class FreeMarkerHttpServlet extends VitroHttpServlet { return body; } - protected void write(HttpServletResponse response) { - + protected void writePage() { String templateName = "page/" + getPageTemplateName(); + writeTemplate(templateName, root); + } + + protected void writeTemplate(String templateName, Map map) { + StringWriter sw = mergeToTemplate(templateName, map); + write(sw); + } + + protected void write(StringWriter sw) { - StringWriter sw = mergeToTemplate(templateName, root); try { PrintWriter out = response.getWriter(); out.print(sw); } catch (IOException e) { log.error("FreeMarkerHttpServlet cannot write output"); e.printStackTrace(); - } + } } // Can be overridden by individual controllers to use a different basic page layout.