org.talika.tarsis.filters.duplicate
Class DuplicateRequestFilter

java.lang.Object
  extended by org.talika.tarsis.filters.AbstractFilter
      extended by org.talika.tarsis.filters.CommandFilter
          extended by org.talika.tarsis.filters.duplicate.DuplicateRequestFilter
All Implemented Interfaces:
javax.servlet.Filter

public final class DuplicateRequestFilter
extends CommandFilter

DuplicateRequestFilter checks if command is dulicable and then checks if command request is duplicated.

Version:
$Revision: 269 $
Author:
Jose M. Palomar

Constructor Summary
DuplicateRequestFilter()
           
 
Method Summary
 void doFilter(javax.servlet.ServletRequest servletRequest, javax.servlet.ServletResponse servletResponse, javax.servlet.FilterChain filterChain)
          Checks if command is dulicable and then cheks if command request is duplicated.
protected  java.lang.String generateToken(javax.servlet.http.HttpServletRequest request)
          Generates a token for given request.
protected  boolean isTokenValid(javax.servlet.http.HttpServletRequest request)
          Checks if token is valid.
protected  void resetToken(javax.servlet.http.HttpServletRequest request)
          Resets token saved in client's HttpSession.
protected  void saveToken(javax.servlet.http.HttpServletRequest request)
          Saves tokan in client's HttpSession.
 
Methods inherited from class org.talika.tarsis.filters.CommandFilter
destroy, findCommand, getCommandFactory, init
 
Methods inherited from class org.talika.tarsis.filters.AbstractFilter
getContext, getFilterConfig, getLogger
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DuplicateRequestFilter

public DuplicateRequestFilter()
Method Detail

doFilter

public void doFilter(javax.servlet.ServletRequest servletRequest,
                     javax.servlet.ServletResponse servletResponse,
                     javax.servlet.FilterChain filterChain)
              throws java.io.IOException,
                     javax.servlet.ServletException
Checks if command is dulicable and then cheks if command request is duplicated.

Specified by:
doFilter in interface javax.servlet.Filter
Specified by:
doFilter in class AbstractFilter
Parameters:
servletRequest - ServletRequest the ServletRequest object that contains the client's request.
servletResponse - ServletResponse the ServletResponse object that contains the servlet's response.
filterChain - FilterChain invocation chain of filtered request.
Throws:
java.io.IOException - if an input or output exception occurs
javax.servlet.ServletException - if an exception has occurred that interferes with the filter's normal operation
See Also:
Filter.doFilter(ServletRequest, ServletResponse, FilterChain)

generateToken

protected java.lang.String generateToken(javax.servlet.http.HttpServletRequest request)
Generates a token for given request.

Borrowed from Action.java (Jakarta Struts).

Parameters:
request - HttpServletRequest the HttpServletRequest object that contains the client's request.
Returns:
String token generated from request.

isTokenValid

protected boolean isTokenValid(javax.servlet.http.HttpServletRequest request)
Checks if token is valid.

  1. First tries to obtain saved token from HttpSession.
  2. Then tries to obtain token from HttpServletRequest.
  3. Last compare session token with request token.

Parameters:
request - HttpServletRequest the HttpServletRequest object that contains the client's request.
Returns:
boolean

resetToken

protected void resetToken(javax.servlet.http.HttpServletRequest request)
Resets token saved in client's HttpSession.

Parameters:
request - HttpServletRequest the HttpServletRequest object that contains the client's request.

saveToken

protected void saveToken(javax.servlet.http.HttpServletRequest request)
Saves tokan in client's HttpSession.

Parameters:
request - HttpServletRequest the HttpServletRequest object that contains the client's request.


Copyright © 2002-2012 Talika Open Source Group. All Rights Reserved.