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 bea5ce30d..b1079bda1 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 @@ -282,20 +282,23 @@ public class FreemarkerHttpServlet extends VitroHttpServlet { return UrlBuilder.getUrl(path); } - protected BeansWrapper getNonDefaultBeansWrapper(int exposureLevel) { + protected TemplateModel wrap(int exposureLevel, Object obj) throws TemplateModelException { + BeansWrapper wrapper = getBeansWrapper(exposureLevel); + return wrapper.wrap(obj); + } + + protected BeansWrapper getBeansWrapper(int exposureLevel) { BeansWrapper wrapper = new DefaultObjectWrapper(); wrapper.setExposureLevel(exposureLevel); return wrapper; } - - private TemplateModel getTagList() { - + + private TemplateModel getTagList() { // For script and stylesheet lists, use an object wrapper that exposes write methods, // instead of the configuration's object wrapper, which doesn't. The templates can // add stylesheets and scripts to the lists by calling their add() methods. - BeansWrapper wrapper = getNonDefaultBeansWrapper(BeansWrapper.EXPOSE_SAFE); try { - return wrapper.wrap(new Tags()); + return wrap(BeansWrapper.EXPOSE_SAFE, new Tags()); } catch (TemplateModelException e) { log.error("Error creating Tags template model"); return null; diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/IndividualController.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/IndividualController.java index c4933e432..417294876 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/IndividualController.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/IndividualController.java @@ -133,7 +133,7 @@ public class IndividualController extends FreemarkerHttpServlet { * This is still safe, because we are only putting BaseTemplateModel objects * into the data model: no real data can be modified. */ - body.put("individual", getNonDefaultBeansWrapper(BeansWrapper.EXPOSE_SAFE).wrap(itm)); + body.put("individual", wrap(BeansWrapper.EXPOSE_SAFE, itm)); body.put("headContent", getRdfLinkTag(itm)); String template = getIndividualTemplate(individual, vreq);