com.atlassian.johnson.filters
Class AbstractJohnsonFilter

java.lang.Object
  extended by com.atlassian.johnson.filters.AbstractJohnsonFilter
All Implemented Interfaces:
javax.servlet.Filter
Direct Known Subclasses:
Johnson503Filter, JohnsonFilter, JohnsonSoapFilter, JohnsonXmlRpcFilter

public abstract class AbstractJohnsonFilter
extends java.lang.Object
implements javax.servlet.Filter

Base class for handling error cases where the application is unavailable to handle normal requests.


Field Summary
protected  JohnsonConfig config
           
protected  javax.servlet.FilterConfig filterConfig
           
protected static java.lang.String TEXT_XML_UTF8_CONTENT_TYPE
           
 
Constructor Summary
AbstractJohnsonFilter()
           
 
Method Summary
 void destroy()
           
 void doFilter(javax.servlet.ServletRequest servletRequest, javax.servlet.ServletResponse servletResponse, javax.servlet.FilterChain filterChain)
          This filter checks to see if there are any application consistency errors before any pages are accessed.
protected  JohnsonEventContainer getContainerAndRunEventChecks(javax.servlet.http.HttpServletRequest req)
           
protected static java.lang.String getServletPath(javax.servlet.http.HttpServletRequest request)
          Retrieves the current request servlet path.
protected  java.lang.String getStringForEvents(java.util.Collection events)
           
protected abstract  void handleError(JohnsonEventContainer appEventContainer, javax.servlet.http.HttpServletRequest servletRequest, javax.servlet.http.HttpServletResponse servletResponse)
          Handles the given request for error cases when there is a Johnson Event which stops normal application functioning.
protected abstract  void handleNotSetup(javax.servlet.http.HttpServletRequest servletRequest, javax.servlet.http.HttpServletResponse servletResponse)
          Handles the given request for cases when the application is not yet setup which stops normal application functioning.
protected  boolean ignoreURI(java.lang.String uri)
           
 void init(javax.servlet.FilterConfig filterConfig)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

TEXT_XML_UTF8_CONTENT_TYPE

protected static final java.lang.String TEXT_XML_UTF8_CONTENT_TYPE
See Also:
Constant Field Values

filterConfig

protected javax.servlet.FilterConfig filterConfig

config

protected JohnsonConfig config
Constructor Detail

AbstractJohnsonFilter

public AbstractJohnsonFilter()
Method Detail

init

public void init(javax.servlet.FilterConfig filterConfig)
Specified by:
init in interface javax.servlet.Filter

doFilter

public void doFilter(javax.servlet.ServletRequest servletRequest,
                     javax.servlet.ServletResponse servletResponse,
                     javax.servlet.FilterChain filterChain)
              throws java.io.IOException,
                     javax.servlet.ServletException
This filter checks to see if there are any application consistency errors before any pages are accessed. If there are errors then a redirect to the errors page is made

Specified by:
doFilter in interface javax.servlet.Filter
Throws:
java.io.IOException
javax.servlet.ServletException

handleError

protected abstract void handleError(JohnsonEventContainer appEventContainer,
                                    javax.servlet.http.HttpServletRequest servletRequest,
                                    javax.servlet.http.HttpServletResponse servletResponse)
                             throws java.io.IOException
Handles the given request for error cases when there is a Johnson Event which stops normal application functioning.

Parameters:
appEventContainer - the JohnsonEventContainer that contains the events.
servletRequest - the request being directed to the error.
servletResponse - the response.
Throws:
java.io.IOException - when the error cannot be handled.

handleNotSetup

protected abstract void handleNotSetup(javax.servlet.http.HttpServletRequest servletRequest,
                                       javax.servlet.http.HttpServletResponse servletResponse)
                                throws java.io.IOException
Handles the given request for cases when the application is not yet setup which stops normal application functioning.

Parameters:
servletRequest - the request being directed to the error.
servletResponse - the response.
Throws:
java.io.IOException - when the error cannot be handled.

ignoreURI

protected boolean ignoreURI(java.lang.String uri)

getServletPath

protected static java.lang.String getServletPath(javax.servlet.http.HttpServletRequest request)
Retrieves the current request servlet path. Deals with differences between servlet specs (2.2 vs 2.3+) Taken from the Webwork RequestUtils class

Parameters:
request - the request
Returns:
the servlet path

getContainerAndRunEventChecks

protected JohnsonEventContainer getContainerAndRunEventChecks(javax.servlet.http.HttpServletRequest req)

getStringForEvents

protected java.lang.String getStringForEvents(java.util.Collection events)

destroy

public void destroy()
Specified by:
destroy in interface javax.servlet.Filter


Copyright © 2012 Atlassian. All Rights Reserved.