fr.opensagres.xdocreport.document.web
Class BaseXDocReportServlet

java.lang.Object
  extended by javax.servlet.GenericServlet
      extended by javax.servlet.http.HttpServlet
          extended by fr.opensagres.xdocreport.document.web.BaseXDocReportServlet
All Implemented Interfaces:
XDocBaseServletConstants, Serializable, javax.servlet.Servlet, javax.servlet.ServletConfig
Direct Known Subclasses:
AbstractProcessXDocReportServlet, UploadXDocReportServlet

public abstract class BaseXDocReportServlet
extends javax.servlet.http.HttpServlet
implements XDocBaseServletConstants

Base class for XDoc Report servlet.

See Also:
Serialized Form

Field Summary
 
Fields inherited from interface fr.opensagres.xdocreport.document.web.XDocBaseServletConstants
DISPATCH_HTTP_PARAM, ENTRY_NAME_HTTP_PARAM, PROCESS_STATE_HTTP_PARAM, REPORT_ID_HTTP_PARAM, TEMPLATE_ENGINE_ID_HTTP_PARAM, TEMPLATE_ENGINE_KIND_HTTP_PARAM, XDOCREPORT_ATTR_KEY, XDOCREPORTREGISTRY_SESSION_KEY
 
Constructor Summary
BaseXDocReportServlet()
           
 
Method Summary
protected  void clearRegistryFromHTTPSession(javax.servlet.http.HttpServletRequest request)
          Clear registry from HTTP session.
protected  void disableHTTPResponCache(javax.servlet.http.HttpServletResponse response)
          Disable cache HTTP hearder.
 void doGet(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
          Handles HTTP GET requests by calling #doRequest().
 void doPost(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
          Handles HTTP POST requests by calling #doRequest().
protected  String getContentDisposition(String fileName)
           
protected  String getContentDisposition(String reportId, MimeMapping mimeMapping, javax.servlet.http.HttpServletRequest request)
           
protected  String getDispatchParameter(javax.servlet.http.HttpServletRequest request)
          Returns dispatch parameter value.
protected  String getEntryName(javax.servlet.http.HttpServletRequest request)
          Returns the entry name of the report.
protected  ProcessState getProcessState(javax.servlet.http.HttpServletRequest request)
          Returns process state (original|preprocessed|generated).
protected  XDocReportRegistry getRegistry(javax.servlet.http.HttpServletRequest request)
          Returns the XDocReport registry which load and cache document.
protected  XDocReportRegistry getRegistryFromHTTPSession(javax.servlet.http.HttpServletRequest request)
          Returns registry from HTTP session.
protected  String getReportId(javax.servlet.http.HttpServletRequest request)
          Returns the id of the report.
protected  ITemplateEngine getTemplateEngine(javax.servlet.http.HttpServletRequest request)
          Returns the template engine from request and otherwise returns the default template engine.
protected  ITemplateEngine getTemplateEngine(IXDocReport report, javax.servlet.http.HttpServletRequest request)
           
protected  ITemplateEngine getTemplateEngine(String reportId, javax.servlet.http.HttpServletRequest request)
          Returns the template engine to use for the report.
protected  String getTemplateEngineId(javax.servlet.http.HttpServletRequest request)
          Returns the template engine id from request.
protected  String getTemplateEngineKind(javax.servlet.http.HttpServletRequest request)
           
protected  String getTemplateEngineKind(String reportId, javax.servlet.http.HttpServletRequest request)
           
 void init(javax.servlet.ServletConfig config)
           
protected  boolean isDisableHTTPResponCache()
           
protected  boolean isGenerateContentDisposition(String reportId, MimeMapping mimeMapping, javax.servlet.http.HttpServletRequest request)
           
protected  void prepareHTTPResponse(String reportId, MimeMapping mimeMapping, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
           
protected  void prepareHTTPResponse(String reportId, String entryName, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
           
protected abstract  void processRequest(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
          Handles all requests (by default).
 
Methods inherited from class javax.servlet.http.HttpServlet
doDelete, doHead, doOptions, doPut, doTrace, getLastModified, service, service
 
Methods inherited from class javax.servlet.GenericServlet
destroy, getInitParameter, getInitParameterNames, getServletConfig, getServletContext, getServletInfo, getServletName, init, log, log
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

BaseXDocReportServlet

public BaseXDocReportServlet()
Method Detail

init

public void init(javax.servlet.ServletConfig config)
          throws javax.servlet.ServletException
Specified by:
init in interface javax.servlet.Servlet
Overrides:
init in class javax.servlet.GenericServlet
Throws:
javax.servlet.ServletException

doGet

public void doGet(javax.servlet.http.HttpServletRequest request,
                  javax.servlet.http.HttpServletResponse response)
           throws javax.servlet.ServletException,
                  IOException
Handles HTTP GET requests by calling #doRequest().

Overrides:
doGet in class javax.servlet.http.HttpServlet
Throws:
javax.servlet.ServletException
IOException

doPost

public void doPost(javax.servlet.http.HttpServletRequest request,
                   javax.servlet.http.HttpServletResponse response)
            throws javax.servlet.ServletException,
                   IOException
Handles HTTP POST requests by calling #doRequest().

Overrides:
doPost in class javax.servlet.http.HttpServlet
Throws:
javax.servlet.ServletException
IOException

getDispatchParameter

protected String getDispatchParameter(javax.servlet.http.HttpServletRequest request)
Returns dispatch parameter value.

Parameters:
request -
Returns:

getReportId

protected String getReportId(javax.servlet.http.HttpServletRequest request)
Returns the id of the report.

Parameters:
request -
Returns:

getProcessState

protected ProcessState getProcessState(javax.servlet.http.HttpServletRequest request)
Returns process state (original|preprocessed|generated).

Parameters:
request -
Returns:

getEntryName

protected String getEntryName(javax.servlet.http.HttpServletRequest request)
Returns the entry name of the report.

Parameters:
request -
Returns:

getTemplateEngineKind

protected String getTemplateEngineKind(String reportId,
                                       javax.servlet.http.HttpServletRequest request)

getTemplateEngineKind

protected String getTemplateEngineKind(javax.servlet.http.HttpServletRequest request)

getTemplateEngineId

protected String getTemplateEngineId(javax.servlet.http.HttpServletRequest request)
Returns the template engine id from request.

Parameters:
request -
Returns:

getTemplateEngine

protected ITemplateEngine getTemplateEngine(String reportId,
                                            javax.servlet.http.HttpServletRequest request)
Returns the template engine to use for the report. By default, it search if there is template id from request and otherwise returns the default template engine.

Parameters:
reportId -
request -
Returns:

getTemplateEngine

protected ITemplateEngine getTemplateEngine(IXDocReport report,
                                            javax.servlet.http.HttpServletRequest request)

getTemplateEngine

protected ITemplateEngine getTemplateEngine(javax.servlet.http.HttpServletRequest request)
Returns the template engine from request and otherwise returns the default template engine.

Parameters:
request -
Returns:

getRegistry

protected XDocReportRegistry getRegistry(javax.servlet.http.HttpServletRequest request)
Returns the XDocReport registry which load and cache document. By default the registry is a singleton. If you wish manage registry per HTTP session, override this method, create an instance per session and returns the registry instance linked to the HTTP session.

Parameters:
request -
Returns:

getRegistryFromHTTPSession

protected XDocReportRegistry getRegistryFromHTTPSession(javax.servlet.http.HttpServletRequest request)
Returns registry from HTTP session.

Parameters:
request -
Returns:

clearRegistryFromHTTPSession

protected void clearRegistryFromHTTPSession(javax.servlet.http.HttpServletRequest request)
Clear registry from HTTP session.

Parameters:
request -

disableHTTPResponCache

protected void disableHTTPResponCache(javax.servlet.http.HttpServletResponse response)
Disable cache HTTP hearder.

Parameters:
response -

prepareHTTPResponse

protected void prepareHTTPResponse(String reportId,
                                   MimeMapping mimeMapping,
                                   javax.servlet.http.HttpServletRequest request,
                                   javax.servlet.http.HttpServletResponse response)

prepareHTTPResponse

protected void prepareHTTPResponse(String reportId,
                                   String entryName,
                                   javax.servlet.http.HttpServletRequest request,
                                   javax.servlet.http.HttpServletResponse response)

isDisableHTTPResponCache

protected boolean isDisableHTTPResponCache()

isGenerateContentDisposition

protected boolean isGenerateContentDisposition(String reportId,
                                               MimeMapping mimeMapping,
                                               javax.servlet.http.HttpServletRequest request)

getContentDisposition

protected String getContentDisposition(String reportId,
                                       MimeMapping mimeMapping,
                                       javax.servlet.http.HttpServletRequest request)

getContentDisposition

protected String getContentDisposition(String fileName)

processRequest

protected abstract void processRequest(javax.servlet.http.HttpServletRequest request,
                                       javax.servlet.http.HttpServletResponse response)
                                throws javax.servlet.ServletException,
                                       IOException
Handles all requests (by default).

Parameters:
request - HttpServletRequest object containing client request
response - HttpServletResponse object for the response
Throws:
javax.servlet.ServletException
IOException


Copyright © 2013. All rights reserved.