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);
|
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();
|
BeansWrapper wrapper = new DefaultObjectWrapper();
|
||||||
wrapper.setExposureLevel(exposureLevel);
|
wrapper.setExposureLevel(exposureLevel);
|
||||||
return wrapper;
|
return wrapper;
|
||||||
}
|
}
|
||||||
|
|
||||||
private TemplateModel getTagList() {
|
private TemplateModel getTagList() {
|
||||||
|
|
||||||
// For script and stylesheet lists, use an object wrapper that exposes write methods,
|
// 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
|
// 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.
|
// add stylesheets and scripts to the lists by calling their add() methods.
|
||||||
BeansWrapper wrapper = getNonDefaultBeansWrapper(BeansWrapper.EXPOSE_SAFE);
|
|
||||||
try {
|
try {
|
||||||
return wrapper.wrap(new Tags());
|
return wrap(BeansWrapper.EXPOSE_SAFE, new Tags());
|
||||||
} catch (TemplateModelException e) {
|
} catch (TemplateModelException e) {
|
||||||
log.error("Error creating Tags template model");
|
log.error("Error creating Tags template model");
|
||||||
return null;
|
return null;
|
||||||
|
|
|
@ -133,7 +133,7 @@ public class IndividualController extends FreemarkerHttpServlet {
|
||||||
* This is still safe, because we are only putting BaseTemplateModel objects
|
* This is still safe, because we are only putting BaseTemplateModel objects
|
||||||
* into the data model: no real data can be modified.
|
* 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));
|
body.put("headContent", getRdfLinkTag(itm));
|
||||||
|
|
||||||
String template = getIndividualTemplate(individual, vreq);
|
String template = getIndividualTemplate(individual, vreq);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue