NIHVIVO-646 Break setup method into two parts, so that FreeMarker controllers that aren't generating a full page only do the part of the setup they need. In particular, the autocomplete controller doesn't need to do page setup.
This commit is contained in:
parent
97a753b66e
commit
369a0f0a93
2 changed files with 13 additions and 5 deletions
|
@ -24,7 +24,8 @@ public class FreeMarkerComponentGenerator extends FreeMarkerHttpServlet {
|
||||||
private static final Log log = LogFactory.getLog(FreeMarkerHttpServlet.class.getName());
|
private static final Log log = LogFactory.getLog(FreeMarkerHttpServlet.class.getName());
|
||||||
|
|
||||||
FreeMarkerComponentGenerator(HttpServletRequest request, HttpServletResponse response) {
|
FreeMarkerComponentGenerator(HttpServletRequest request, HttpServletResponse response) {
|
||||||
doSetup(request, response);
|
doSetup(request, response);
|
||||||
|
setUpPage();
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getIdentity() {
|
public String getIdentity() {
|
||||||
|
|
|
@ -67,6 +67,7 @@ public class FreeMarkerHttpServlet extends VitroHttpServlet {
|
||||||
|
|
||||||
try {
|
try {
|
||||||
doSetup(request, response);
|
doSetup(request, response);
|
||||||
|
setUpPage();
|
||||||
setTitleAndBody();
|
setTitleAndBody();
|
||||||
write(response);
|
write(response);
|
||||||
|
|
||||||
|
@ -82,7 +83,7 @@ public class FreeMarkerHttpServlet extends VitroHttpServlet {
|
||||||
doGet(request, response);
|
doGet(request, response);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Basic setup needed by all controllers
|
// Basic setup needed by all FreeMarker controllers
|
||||||
protected void doSetup(HttpServletRequest request, HttpServletResponse response) {
|
protected void doSetup(HttpServletRequest request, HttpServletResponse response) {
|
||||||
|
|
||||||
if ( !(this instanceof FreeMarkerComponentGenerator) ) {
|
if ( !(this instanceof FreeMarkerComponentGenerator) ) {
|
||||||
|
@ -100,6 +101,14 @@ public class FreeMarkerHttpServlet extends VitroHttpServlet {
|
||||||
vreq = new VitroRequest(request);
|
vreq = new VitroRequest(request);
|
||||||
this.response = response;
|
this.response = response;
|
||||||
portal = vreq.getPortal();
|
portal = vreq.getPortal();
|
||||||
|
|
||||||
|
setTemplateLoader();
|
||||||
|
}
|
||||||
|
|
||||||
|
// Setup needed by all controllers that display a full page.
|
||||||
|
// Controllers that display parts of a page, respond to an Ajax request, etc., do not use this.
|
||||||
|
protected void setUpPage() {
|
||||||
|
|
||||||
urlBuilder = new UrlBuilder(portal);
|
urlBuilder = new UrlBuilder(portal);
|
||||||
|
|
||||||
// RY Can this be removed? Do templates need it? Ideally, they should not.
|
// RY Can this be removed? Do templates need it? Ideally, they should not.
|
||||||
|
@ -111,8 +120,6 @@ public class FreeMarkerHttpServlet extends VitroHttpServlet {
|
||||||
|
|
||||||
appName = portal.getAppName();
|
appName = portal.getAppName();
|
||||||
setSharedVariable("siteName", appName);
|
setSharedVariable("siteName", appName);
|
||||||
|
|
||||||
setTemplateLoader();
|
|
||||||
|
|
||||||
TabMenu menu = getTabMenu();
|
TabMenu menu = getTabMenu();
|
||||||
root.put("tabMenu", menu);
|
root.put("tabMenu", menu);
|
||||||
|
@ -123,7 +130,7 @@ public class FreeMarkerHttpServlet extends VitroHttpServlet {
|
||||||
|
|
||||||
root.put("tagline", portal.getShortHand());
|
root.put("tagline", portal.getShortHand());
|
||||||
root.put("breadcrumbs", BreadCrumbsUtil.getBreadCrumbsDiv(vreq));
|
root.put("breadcrumbs", BreadCrumbsUtil.getBreadCrumbsDiv(vreq));
|
||||||
|
|
||||||
String themeDir = getThemeDir();
|
String themeDir = getThemeDir();
|
||||||
|
|
||||||
setUrls(themeDir);
|
setUrls(themeDir);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue