org.acegisecurity.wrapper
Class SavedRequestAwareWrapper

java.lang.Object
  extended by javax.servlet.ServletRequestWrapper
      extended by javax.servlet.http.HttpServletRequestWrapper
          extended by org.acegisecurity.wrapper.SecurityContextHolderAwareRequestWrapper
              extended by org.acegisecurity.wrapper.SavedRequestAwareWrapper
All Implemented Interfaces:
javax.servlet.http.HttpServletRequest, javax.servlet.ServletRequest

public class SavedRequestAwareWrapper
extends SecurityContextHolderAwareRequestWrapper

Provides request parameters, headers and cookies from either an original request or a saved request.

Note that not all request parameters in the original request are emulated by this wrapper. Nevertheless, the important data from the original request is emulated and this should prove adequate for most purposes (in particular standard HTTP GET and POST operations).

Added into a request by SecurityContextHolderAwareRequestFilter.

Version:
$Id: SavedRequestAwareWrapper.java 1859 2007-05-24 23:20:40Z vishalpuri $
Author:
Andrey Grebnev, Ben Alex

Field Summary
protected static Locale defaultLocale
          The default Locale if none are specified.
protected  SimpleDateFormat[] formats
          The set of SimpleDateFormat formats to use in getDateHeader().
protected static TimeZone GMT_ZONE
           
protected static org.apache.commons.logging.Log logger
           
protected  SavedRequest savedRequest
           
 
Fields inherited from interface javax.servlet.http.HttpServletRequest
BASIC_AUTH, CLIENT_CERT_AUTH, DIGEST_AUTH, FORM_AUTH
 
Constructor Summary
SavedRequestAwareWrapper(javax.servlet.http.HttpServletRequest request, PortResolver portResolver)
           
 
Method Summary
 javax.servlet.http.Cookie[] getCookies()
          The default behavior of this method is to return getCookies() on the wrapped request object.
 long getDateHeader(String name)
          The default behavior of this method is to return getDateHeader(String name) on the wrapped request object.
 String getHeader(String name)
          The default behavior of this method is to return getHeader(String name) on the wrapped request object.
 Enumeration getHeaderNames()
          The default behavior of this method is to return getHeaderNames() on the wrapped request object.
 Enumeration getHeaders(String name)
          The default behavior of this method is to return getHeaders(String name) on the wrapped request object.
 int getIntHeader(String name)
          The default behavior of this method is to return getIntHeader(String name) on the wrapped request object.
 Locale getLocale()
          The default behavior of this method is to return getLocale() on the wrapped request object.
 Enumeration getLocales()
          The default behavior of this method is to return getLocales() on the wrapped request object.
 String getMethod()
          The default behavior of this method is to return getMethod() on the wrapped request object.
 String getParameter(String name)
          The default behavior of this method is to return getParameter(String name) on the wrapped request object.
 Map getParameterMap()
          The default behavior of this method is to return getParameterMap() on the wrapped request object.
 Enumeration getParameterNames()
          The default behavior of this method is to return getParameterNames() on the wrapped request object.
 String[] getParameterValues(String name)
          The default behavior of this method is to return getParameterValues(String name) on the wrapped request object.
 
Methods inherited from class org.acegisecurity.wrapper.SecurityContextHolderAwareRequestWrapper
getRemoteUser, getUserPrincipal, isUserInRole
 
Methods inherited from class javax.servlet.http.HttpServletRequestWrapper
getAuthType, getContextPath, getPathInfo, getPathTranslated, getQueryString, getRequestedSessionId, getRequestURI, getRequestURL, getServletPath, getSession, getSession, isRequestedSessionIdFromCookie, isRequestedSessionIdFromUrl, isRequestedSessionIdFromURL, isRequestedSessionIdValid
 
Methods inherited from class javax.servlet.ServletRequestWrapper
getAttribute, getAttributeNames, getCharacterEncoding, getContentLength, getContentType, getInputStream, getLocalAddr, getLocalName, getLocalPort, getProtocol, getReader, getRealPath, getRemoteAddr, getRemoteHost, getRemotePort, getRequest, getRequestDispatcher, getScheme, getServerName, getServerPort, isSecure, removeAttribute, setAttribute, setCharacterEncoding, setRequest
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface javax.servlet.ServletRequest
getAttribute, getAttributeNames, getCharacterEncoding, getContentLength, getContentType, getInputStream, getLocalAddr, getLocalName, getLocalPort, getProtocol, getReader, getRealPath, getRemoteAddr, getRemoteHost, getRemotePort, getRequestDispatcher, getScheme, getServerName, getServerPort, isSecure, removeAttribute, setAttribute, setCharacterEncoding
 

Field Detail

logger

protected static final org.apache.commons.logging.Log logger

GMT_ZONE

protected static final TimeZone GMT_ZONE

defaultLocale

protected static Locale defaultLocale
The default Locale if none are specified.


savedRequest

protected SavedRequest savedRequest

formats

protected SimpleDateFormat[] formats
The set of SimpleDateFormat formats to use in getDateHeader(). Notice that because SimpleDateFormat is not thread-safe, we can't declare formats[] as a static variable.

Constructor Detail

SavedRequestAwareWrapper

public SavedRequestAwareWrapper(javax.servlet.http.HttpServletRequest request,
                                PortResolver portResolver)
Method Detail

getCookies

public javax.servlet.http.Cookie[] getCookies()
The default behavior of this method is to return getCookies() on the wrapped request object.

Specified by:
getCookies in interface javax.servlet.http.HttpServletRequest
Overrides:
getCookies in class javax.servlet.http.HttpServletRequestWrapper
Returns:
DOCUMENT ME!

getDateHeader

public long getDateHeader(String name)
The default behavior of this method is to return getDateHeader(String name) on the wrapped request object.

Specified by:
getDateHeader in interface javax.servlet.http.HttpServletRequest
Overrides:
getDateHeader in class javax.servlet.http.HttpServletRequestWrapper
Parameters:
name - DOCUMENT ME!
Returns:
DOCUMENT ME!
Throws:
IllegalArgumentException - DOCUMENT ME!

getHeader

public String getHeader(String name)
The default behavior of this method is to return getHeader(String name) on the wrapped request object.

Specified by:
getHeader in interface javax.servlet.http.HttpServletRequest
Overrides:
getHeader in class javax.servlet.http.HttpServletRequestWrapper
Parameters:
name - DOCUMENT ME!
Returns:
DOCUMENT ME!

getHeaderNames

public Enumeration getHeaderNames()
The default behavior of this method is to return getHeaderNames() on the wrapped request object.

Specified by:
getHeaderNames in interface javax.servlet.http.HttpServletRequest
Overrides:
getHeaderNames in class javax.servlet.http.HttpServletRequestWrapper
Returns:
DOCUMENT ME!

getHeaders

public Enumeration getHeaders(String name)
The default behavior of this method is to return getHeaders(String name) on the wrapped request object.

Specified by:
getHeaders in interface javax.servlet.http.HttpServletRequest
Overrides:
getHeaders in class javax.servlet.http.HttpServletRequestWrapper
Parameters:
name - DOCUMENT ME!
Returns:
DOCUMENT ME!

getIntHeader

public int getIntHeader(String name)
The default behavior of this method is to return getIntHeader(String name) on the wrapped request object.

Specified by:
getIntHeader in interface javax.servlet.http.HttpServletRequest
Overrides:
getIntHeader in class javax.servlet.http.HttpServletRequestWrapper
Parameters:
name - DOCUMENT ME!
Returns:
DOCUMENT ME!

getLocale

public Locale getLocale()
The default behavior of this method is to return getLocale() on the wrapped request object.

Specified by:
getLocale in interface javax.servlet.ServletRequest
Overrides:
getLocale in class javax.servlet.ServletRequestWrapper
Returns:
DOCUMENT ME!

getLocales

public Enumeration getLocales()
The default behavior of this method is to return getLocales() on the wrapped request object.

Specified by:
getLocales in interface javax.servlet.ServletRequest
Overrides:
getLocales in class javax.servlet.ServletRequestWrapper
Returns:
DOCUMENT ME!

getMethod

public String getMethod()
The default behavior of this method is to return getMethod() on the wrapped request object.

Specified by:
getMethod in interface javax.servlet.http.HttpServletRequest
Overrides:
getMethod in class javax.servlet.http.HttpServletRequestWrapper
Returns:
DOCUMENT ME!

getParameter

public String getParameter(String name)
The default behavior of this method is to return getParameter(String name) on the wrapped request object.

Specified by:
getParameter in interface javax.servlet.ServletRequest
Overrides:
getParameter in class javax.servlet.ServletRequestWrapper
Parameters:
name - DOCUMENT ME!
Returns:
DOCUMENT ME!

getParameterMap

public Map getParameterMap()
The default behavior of this method is to return getParameterMap() on the wrapped request object.

Specified by:
getParameterMap in interface javax.servlet.ServletRequest
Overrides:
getParameterMap in class javax.servlet.ServletRequestWrapper
Returns:
DOCUMENT ME!

getParameterNames

public Enumeration getParameterNames()
The default behavior of this method is to return getParameterNames() on the wrapped request object.

Specified by:
getParameterNames in interface javax.servlet.ServletRequest
Overrides:
getParameterNames in class javax.servlet.ServletRequestWrapper
Returns:
DOCUMENT ME!

getParameterValues

public String[] getParameterValues(String name)
The default behavior of this method is to return getParameterValues(String name) on the wrapped request object.

Specified by:
getParameterValues in interface javax.servlet.ServletRequest
Overrides:
getParameterValues in class javax.servlet.ServletRequestWrapper
Parameters:
name - DOCUMENT ME!
Returns:
DOCUMENT ME!


Copyright © 2004-2009 Interface21, Inc. All Rights Reserved.