org.jumpmind.symmetric.web
Class ServletResourceTemplate

java.lang.Object
  extended by org.jumpmind.symmetric.web.ServletResourceTemplate
All Implemented Interfaces:
IServletResource
Direct Known Subclasses:
AbstractFilter

public class ServletResourceTemplate
extends java.lang.Object
implements IServletResource

All symmetric servlets and filters (other than SymmetricFilter and SymmetricServlet) should extend this class. It it managed by Spring.


Field Summary
protected  java.util.regex.Pattern[] compiledRegexPatterns
           
protected  IParameterService parameterService
           
protected  javax.servlet.ServletContext servletContext
           
protected  java.lang.String[] uriPatterns
           
 
Constructor Summary
ServletResourceTemplate()
           
 
Method Summary
protected  void compileRegexPatterns()
           
 void destroy()
           
protected  org.springframework.context.ApplicationContext getDefaultApplicationContext()
           
 java.lang.String[] getRegexPatterns()
           
protected  javax.servlet.ServletContext getServletContext()
           
 IServletResource getSpringBean()
          Returns true if this is a container managed resource.
 java.lang.String[] getUriPatterns()
           
 void init(javax.servlet.ServletContext servletContext)
           
 boolean isContainerCompatible()
          Returns true if this should be container compatible
 boolean isDisabled()
           
 boolean isSpringManaged()
          Returns true if this is a spring managed resource.
 boolean matches(javax.servlet.ServletRequest request)
          Returns true if the request path matches the uriPattern on this filter.
protected  boolean matchesRegexPattern(java.lang.String uri, java.util.regex.Pattern compiledRegexPattern)
           
protected  boolean matchesRegexPatterns(java.lang.String uri)
           
protected  boolean matchesUriPattern(java.lang.String uri, java.lang.String uriPattern)
           
protected  boolean matchesUriPatterns(java.lang.String uri)
           
protected  java.lang.String normalizeRequestUri(javax.servlet.http.HttpServletRequest httpRequest)
          Returns the part of the path we are interested in when doing pattern matching.
 void refresh()
           
protected  boolean sendError(javax.servlet.ServletResponse resp, int statusCode)
          Because you can't send an error when the response is already committed, this helps to avoid unnecessary errors in the logs.
protected  boolean sendError(javax.servlet.ServletResponse resp, int statusCode, java.lang.String message)
          Because you can't send an error when the response is already committed, this helps to avoid unnecessary errors in the logs.
 void setDisabled(boolean disabled)
           
 void setParameterService(IParameterService parameterService)
           
 void setRegexPattern(java.lang.String regexPattern)
           
 void setRegexPatterns(java.lang.String[] regexPatterns)
           
protected  void setServletContext(javax.servlet.ServletContext servletContext)
           
 void setUriPattern(java.lang.String uriPattern)
           
 void setUriPatterns(java.lang.String[] uriPatterns)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

servletContext

protected javax.servlet.ServletContext servletContext

uriPatterns

protected java.lang.String[] uriPatterns

compiledRegexPatterns

protected java.util.regex.Pattern[] compiledRegexPatterns

parameterService

protected IParameterService parameterService
Constructor Detail

ServletResourceTemplate

public ServletResourceTemplate()
Method Detail

init

public void init(javax.servlet.ServletContext servletContext)

refresh

public void refresh()
Specified by:
refresh in interface IServletResource

compileRegexPatterns

protected void compileRegexPatterns()

setDisabled

public void setDisabled(boolean disabled)
Specified by:
setDisabled in interface IServletResource

setUriPattern

public void setUriPattern(java.lang.String uriPattern)
Specified by:
setUriPattern in interface IServletResource

setUriPatterns

public void setUriPatterns(java.lang.String[] uriPatterns)
Specified by:
setUriPatterns in interface IServletResource

setRegexPattern

public void setRegexPattern(java.lang.String regexPattern)
Specified by:
setRegexPattern in interface IServletResource

setRegexPatterns

public void setRegexPatterns(java.lang.String[] regexPatterns)
Specified by:
setRegexPatterns in interface IServletResource

isDisabled

public boolean isDisabled()
Specified by:
isDisabled in interface IServletResource

getUriPatterns

public java.lang.String[] getUriPatterns()
Specified by:
getUriPatterns in interface IServletResource

getRegexPatterns

public java.lang.String[] getRegexPatterns()
Specified by:
getRegexPatterns in interface IServletResource

matchesRegexPatterns

protected boolean matchesRegexPatterns(java.lang.String uri)

matchesRegexPattern

protected boolean matchesRegexPattern(java.lang.String uri,
                                      java.util.regex.Pattern compiledRegexPattern)

matchesUriPatterns

protected boolean matchesUriPatterns(java.lang.String uri)

matchesUriPattern

protected boolean matchesUriPattern(java.lang.String uri,
                                    java.lang.String uriPattern)

getServletContext

protected javax.servlet.ServletContext getServletContext()

destroy

public void destroy()
Specified by:
destroy in interface IServletResource

matches

public boolean matches(javax.servlet.ServletRequest request)
Description copied from interface: IServletResource
Returns true if the request path matches the uriPattern on this filter.

Specified by:
matches in interface IServletResource
Returns:

normalizeRequestUri

protected java.lang.String normalizeRequestUri(javax.servlet.http.HttpServletRequest httpRequest)
Returns the part of the path we are interested in when doing pattern matching. This should work whether or not the servlet or filter is explicitly mapped inside of the web.xml since it always strips off the contextPath.

Parameters:
httpRequest -
Returns:

sendError

protected boolean sendError(javax.servlet.ServletResponse resp,
                            int statusCode)
                     throws java.io.IOException
Because you can't send an error when the response is already committed, this helps to avoid unnecessary errors in the logs.

Parameters:
resp -
statusCode -
Throws:
java.io.IOException

sendError

protected boolean sendError(javax.servlet.ServletResponse resp,
                            int statusCode,
                            java.lang.String message)
                     throws java.io.IOException
Because you can't send an error when the response is already committed, this helps to avoid unnecessary errors in the logs.

Parameters:
resp -
statusCode -
message - a message to put in the body of the response
Throws:
java.io.IOException

getDefaultApplicationContext

protected org.springframework.context.ApplicationContext getDefaultApplicationContext()

isSpringManaged

public boolean isSpringManaged()
Returns true if this is a spring managed resource.

Specified by:
isSpringManaged in interface IServletResource
Returns:

getSpringBean

public IServletResource getSpringBean()
Returns true if this is a container managed resource.

Specified by:
getSpringBean in interface IServletResource
Returns:

isContainerCompatible

public boolean isContainerCompatible()
Returns true if this should be container compatible

Specified by:
isContainerCompatible in interface IServletResource
Returns:

setServletContext

protected void setServletContext(javax.servlet.ServletContext servletContext)

setParameterService

public void setParameterService(IParameterService parameterService)


Copyright © 2007-2008. All Rights Reserved.