Add utility method wrap to use a non-default BeansWrapper to wrap an object.
This commit is contained in:
parent
1d2e1009e5
commit
013ef73278
2 changed files with 10 additions and 7 deletions
|
@ -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;
|
||||
|
|
|
@ -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);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue