Class FreemarkerHttpServlet
- java.lang.Object
-
- javax.servlet.GenericServlet
-
- javax.servlet.http.HttpServlet
-
- edu.cornell.mannlib.vitro.webapp.controller.VitroHttpServlet
-
- edu.cornell.mannlib.vitro.webapp.controller.freemarker.FreemarkerHttpServlet
-
- All Implemented Interfaces:
MultipartRequestWrapper.ParsingStrategy,Serializable,javax.servlet.Servlet,javax.servlet.ServletConfig
- Direct Known Subclasses:
AboutController,AdminLoginController,BaseSiteAdminController,BrowseController,ContactFormController,ContactMailController,DeleteIndividualController,DeletePropertyController,DumpRestoreController,DumpTestController,EditRequestDispatchController,FakeExternalAuthController,FileUploadController,FreemarkerComponentGenerator,GadgetController,HomePageController,ImageUploadController,IndexController,IndividualController,IndividualListController,ListClassGroupsController,ListDatatypePropertiesController,ListFauxPropertiesController,ListPropertyGroupsController,ListPropertyWebappsController,ListVClassWebappsController,ManageLabelsForIndividualController,ManageProxiesController,PageController,PagedSearchController,PostEditCleanupController,ProcessRdfFormController,RestrictLoginsController,RevisionInfoController,SamplesController,SearchHelpController,SearchServiceController,ShowAuthController,ShowBackgroundThreadsController,ShowClassHierarchyController,ShowConfiguration,ShowDataPropertyHierarchyController,ShowObjectPropertyHierarchyController,ShowSourcesController,SimpleReasonerRecomputeController,SparqlQueryController,StartupStatusController,StaticPageController,TestController,UserAccountsAdminController,UserAccountsUserController,ViewLabelsServlet
public class FreemarkerHttpServlet extends VitroHttpServlet
- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected static classFreemarkerHttpServlet.Template-
Nested classes/interfaces inherited from class edu.cornell.mannlib.vitro.webapp.controller.VitroHttpServlet
VitroHttpServlet.PickListSorter
-
-
Field Summary
Fields Modifier and Type Field Description static StringBODY_TEMPLATE_TYPEstatic StringPAGE_TEMPLATE_TYPE-
Fields inherited from class edu.cornell.mannlib.vitro.webapp.controller.VitroHttpServlet
HTML_MIMETYPE, JSON_LD_MIMETYPE, JSON_MIMETYPE, N3_MIMETYPE, publicDateFormat, RDFXML_MIMETYPE, TTL_MIMETYPE, XHTML_MIMETYPE
-
-
Constructor Summary
Constructors Constructor Description FreemarkerHttpServlet()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voiddoException(VitroRequest vreq, javax.servlet.http.HttpServletResponse response, ResponseValues values)protected voiddoForward(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, ResponseValues values)voiddoGet(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)doGet does nothing.voiddoPost(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)doPost does the same thing as the doGet methodprotected voiddoRdf(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, ResponseValues values)protected voiddoRedirect(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, ResponseValues values)protected voiddoResponse(VitroRequest vreq, javax.servlet.http.HttpServletResponse response, ResponseValues values)protected voiddoTemplate(VitroRequest vreq, javax.servlet.http.HttpServletResponse response, ResponseValues values)protected freemarker.ext.beans.BeansWrappergetBeansWrapper(int exposureLevel)protected MainMenugetDisplayModelMenu(VitroRequest vreq)static voidgetFreemarkerComponentsForJsp(javax.servlet.http.HttpServletRequest request)protected StringgetPageTemplateName()protected Map<String,Object>getPageTemplateValues(VitroRequest vreq)Add variables that are needed to generate the page template (they will also be accessible to the body template).StringgetThemeDir(ApplicationBean appBean)protected StringgetTitle(String siteName, VitroRequest vreq)protected voidhandleException(VitroRequest vreq, javax.servlet.http.HttpServletResponse response, Throwable t)In case of a processing error, display an error page.protected ResponseValuesprocessRequest(VitroRequest vreq)protected StringWriterprocessTemplate(String templateName, Map<String,Object> map, javax.servlet.http.HttpServletRequest request)protected StringprocessTemplateToString(String templateName, Map<String,Object> map, javax.servlet.http.HttpServletRequest request)protected AuthorizationRequestrequiredActions(VitroRequest vreq)By default, a page requires authorization for no actions.protected freemarker.template.TemplateModelwrap(Object obj, int exposureLevel)protected freemarker.template.TemplateModelwrap(Object obj, freemarker.ext.beans.BeansWrapper wrapper)protected voidwrite(StringWriter sw, javax.servlet.http.HttpServletResponse response, int statusCode)protected voidwritePage(Map<String,Object> root, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, int statusCode, ResponseValues rv)protected voidwriteTemplate(String templateName, Map<String,Object> map, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)protected voidwriteTemplate(String templateName, Map<String,Object> map, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, int statusCode)-
Methods inherited from class edu.cornell.mannlib.vitro.webapp.controller.VitroHttpServlet
dumpRequestParameters, isAuthorizedToDisplayPage, maximumMultipartFileSize, redirectToInsufficientAuthorizationPage, redirectToLoginPage, redirectUnauthorizedRequest, service, sortForPickList, stashFileSizeException
-
Methods inherited from class javax.servlet.http.HttpServlet
doDelete, doHead, doOptions, doPut, doTrace, getLastModified, service
-
-
-
-
Field Detail
-
PAGE_TEMPLATE_TYPE
public static final String PAGE_TEMPLATE_TYPE
- See Also:
- Constant Field Values
-
BODY_TEMPLATE_TYPE
public static final String BODY_TEMPLATE_TYPE
- See Also:
- Constant Field Values
-
-
Method Detail
-
doGet
public void doGet(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws IOException, javax.servlet.ServletExceptionDescription copied from class:VitroHttpServletdoGet does nothing.- Overrides:
doGetin classVitroHttpServlet- Throws:
IOExceptionjavax.servlet.ServletException
-
handleException
protected void handleException(VitroRequest vreq, javax.servlet.http.HttpServletResponse response, Throwable t) throws javax.servlet.ServletException
In case of a processing error, display an error page. To an authorized user, the page displays details of the error. Otherwise, these details are sent to the site administrator.- Throws:
javax.servlet.ServletException
-
doPost
public void doPost(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws javax.servlet.ServletException, IOExceptionDescription copied from class:VitroHttpServletdoPost does the same thing as the doGet method- Overrides:
doPostin classVitroHttpServlet- Throws:
javax.servlet.ServletExceptionIOException
-
requiredActions
protected AuthorizationRequest requiredActions(VitroRequest vreq)
By default, a page requires authorization for no actions. Subclasses that require authorization to process their page will override to return the actions that require authorization. In some cases, the choice of actions will depend on the contents of the request. NB This method can't be static, because then the superclass method gets called rather than the subclass method. For the same reason, it can't refer to a static or instance field REQUIRED_ACTIONS which is overridden in the subclass.
-
processRequest
protected ResponseValues processRequest(VitroRequest vreq) throws Exception
- Throws:
Exception
-
doResponse
protected void doResponse(VitroRequest vreq, javax.servlet.http.HttpServletResponse response, ResponseValues values) throws TemplateProcessingHelper.TemplateProcessingException
-
doTemplate
protected void doTemplate(VitroRequest vreq, javax.servlet.http.HttpServletResponse response, ResponseValues values) throws TemplateProcessingHelper.TemplateProcessingException
-
doRedirect
protected void doRedirect(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, ResponseValues values) throws javax.servlet.ServletException, IOException- Throws:
javax.servlet.ServletExceptionIOException
-
doForward
protected void doForward(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, ResponseValues values) throws javax.servlet.ServletException, IOException- Throws:
javax.servlet.ServletExceptionIOException
-
doRdf
protected void doRdf(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, ResponseValues values) throws IOException- Throws:
IOException
-
doException
protected void doException(VitroRequest vreq, javax.servlet.http.HttpServletResponse response, ResponseValues values) throws TemplateProcessingHelper.TemplateProcessingException
-
getThemeDir
public String getThemeDir(ApplicationBean appBean)
-
wrap
protected freemarker.template.TemplateModel wrap(Object obj, int exposureLevel) throws freemarker.template.TemplateModelException
- Throws:
freemarker.template.TemplateModelException
-
wrap
protected freemarker.template.TemplateModel wrap(Object obj, freemarker.ext.beans.BeansWrapper wrapper) throws freemarker.template.TemplateModelException
- Throws:
freemarker.template.TemplateModelException
-
getBeansWrapper
protected freemarker.ext.beans.BeansWrapper getBeansWrapper(int exposureLevel)
-
getPageTemplateValues
protected Map<String,Object> getPageTemplateValues(VitroRequest vreq)
Add variables that are needed to generate the page template (they will also be accessible to the body template). These are specific to the request, so are not defined as shared variables in the Configuration. (Though we could reset them like other shared variables. These variables are not needed outside the page and body templates, however. If they are needed elsewhere, add to shared variables.
-
getDisplayModelMenu
protected MainMenu getDisplayModelMenu(VitroRequest vreq)
-
getTitle
protected String getTitle(String siteName, VitroRequest vreq)
-
processTemplate
protected StringWriter processTemplate(String templateName, Map<String,Object> map, javax.servlet.http.HttpServletRequest request) throws TemplateProcessingHelper.TemplateProcessingException
-
processTemplateToString
protected String processTemplateToString(String templateName, Map<String,Object> map, javax.servlet.http.HttpServletRequest request) throws TemplateProcessingHelper.TemplateProcessingException
-
writePage
protected void writePage(Map<String,Object> root, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, int statusCode, ResponseValues rv) throws TemplateProcessingHelper.TemplateProcessingException
-
writeTemplate
protected void writeTemplate(String templateName, Map<String,Object> map, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws TemplateProcessingHelper.TemplateProcessingException
-
writeTemplate
protected void writeTemplate(String templateName, Map<String,Object> map, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, int statusCode) throws TemplateProcessingHelper.TemplateProcessingException
-
write
protected void write(StringWriter sw, javax.servlet.http.HttpServletResponse response, int statusCode)
-
getPageTemplateName
protected String getPageTemplateName()
-
getFreemarkerComponentsForJsp
public static void getFreemarkerComponentsForJsp(javax.servlet.http.HttpServletRequest request)
-
-