From f093795db1843e5ea4a3cb2ab5b96f10f2734909 Mon Sep 17 00:00:00 2001 From: tworrall Date: Tue, 15 Nov 2011 15:24:52 +0000 Subject: [PATCH] NIHVIVO-3307:Moved code relating to the copyright text from FreemarkerConfiguration.java back to FreemarkerHTTPServlet.java where it had been previously. --- .../freemarker/FreemarkerConfiguration.java | 17 ------------- .../freemarker/FreemarkerHttpServlet.java | 25 +++++++++++++++++++ 2 files changed, 25 insertions(+), 17 deletions(-) diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/FreemarkerConfiguration.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/FreemarkerConfiguration.java index 6bf84a0d9..3f54bc8df 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/FreemarkerConfiguration.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/FreemarkerConfiguration.java @@ -137,7 +137,6 @@ public class FreemarkerConfiguration extends Configuration { sharedVariables.putAll(getDirectives()); sharedVariables.putAll(getMethods()); - sharedVariables.put("copyright", getCopyrightInfo()); sharedVariables.put("siteTagline", appBean.getShortHand()); for ( Map.Entry variable : sharedVariables.entrySet() ) { @@ -210,22 +209,6 @@ public class FreemarkerConfiguration extends Configuration { return map; } - private final Map getCopyrightInfo() { - - Map copyright = null; - String copyrightText = appBean.getCopyrightAnchor(); - if ( ! StringUtils.isEmpty(copyrightText) ) { - copyright = new HashMap(); - copyright.put("text", copyrightText); - int thisYear = Calendar.getInstance().get(Calendar.YEAR); // use ${copyrightYear?c} in template - //String thisYear = ((Integer)Calendar.getInstance().get(Calendar.YEAR)).toString(); // use ${copyrightYear} in template - //SimpleDate thisYear = new SimpleDate(Calendar.getInstance().getTime(), TemplateDateModel.DATE); // use ${copyrightYear?string("yyyy")} in template - copyright.put("year", thisYear); - copyright.put("url", appBean.getCopyrightURL()); - } - return copyright; - } - // Define template locations. Template loader will look first in the theme-specific // location, then in the vitro location. protected final TemplateLoader createTemplateLoader() { 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 e9c4d7bd9..c62eab84d 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 @@ -7,6 +7,8 @@ import static javax.mail.Message.RecipientType.TO; import java.io.IOException; import java.io.PrintWriter; import java.io.StringWriter; +import java.util.Calendar; + import java.util.Date; import java.util.HashMap; import java.util.Map; @@ -15,6 +17,7 @@ import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import org.apache.commons.lang.StringUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -419,6 +422,7 @@ public class FreemarkerHttpServlet extends VitroHttpServlet { Map map = new HashMap(); + ApplicationBean appBean = vreq.getAppBean(); // This may be overridden by the body data model received from the subcontroller. map.put("title", getTitle(vreq.getAppBean().getApplicationName(), vreq)); @@ -435,6 +439,9 @@ public class FreemarkerHttpServlet extends VitroHttpServlet { // Let the page template know which page it's processing. map.put("currentServlet", normalizeServletName(vreq.getServletPath().replaceFirst("/", ""))); + // NIHVIVO-3307: we need this here instead of FreemarkerConfiguration.java so that updates to + // the copyright text can be viewed with having to restart Tomcat + map.put("copyright", getCopyrightInfo(appBean)); map.put("url", new edu.cornell.mannlib.vitro.webapp.web.directives.UrlDirective()); map.put("widget", new edu.cornell.mannlib.vitro.webapp.web.directives.WidgetDirective()); @@ -454,6 +461,24 @@ public class FreemarkerHttpServlet extends VitroHttpServlet { return vreq.getWebappDaoFactory().getMenuDao().getMainMenu(url); } + // NIHVIVO-3307: we need this here instead of FreemarkerConfiguration.java so that updates to + // the copyright text can be viewed with having to restart Tomcat + private final Map getCopyrightInfo(ApplicationBean appBean) { + + Map copyright = null; + String copyrightText = appBean.getCopyrightAnchor(); + if ( ! StringUtils.isEmpty(copyrightText) ) { + copyright = new HashMap(); + copyright.put("text", copyrightText); + int thisYear = Calendar.getInstance().get(Calendar.YEAR); // use ${copyrightYear?c} in template + //String thisYear = ((Integer)Calendar.getInstance().get(Calendar.YEAR)).toString(); // use ${copyrightYear} in template + //SimpleDate thisYear = new SimpleDate(Calendar.getInstance().getTime(), TemplateDateModel.DATE); // use ${copyrightYear?string("yyyy")} in template + copyright.put("year", thisYear); + copyright.put("url", appBean.getCopyrightURL()); + } + return copyright; + } + // Subclasses may override. This serves as a default. protected String getTitle(String siteName, VitroRequest vreq) { return siteName;