/**
 * Zwraca <code>true</code>, jeli istnieje token transakcji 
 * zapamitany w aktualnej sesji klienta a warto tokenu z dania 
 * jest taka sama jak warto tokenu z sesji.
 *
 * Zwraca <code>false</code>
 * gdy zaistnieje jedna z nastpujcych sytuacji:
 * <ul>
 * <li>Nie istnieje sesja zwizana z daniem</li>
 * <li>W tej sesji nie zosta zapamitany token</li>
 * <li>W daniu nie pojawi si parametr z tokenem</li>
 * <li>Doczona warto tokenu nie odpowiada tej znajdujcej si w tokenie z sesji uytkownika</li>
 * </ul>
 *
 * @param request Przetwarzane danie
 */
protected boolean isTokenValid(HttpServletRequest request) {
  // Pobranie zapisanego tokena transakcji z sesji
  HttpSession session = request.getSession(false);
  if (session == null)
    return (false);
  String saved = (String) session.getAttribute(TRANSACTION_TOKEN_KEY);
  if (saved == null)
    return (false);
  // Pobranie tokena przesanego z daniem
  String token = (String) request.getParameter(Constants.TOKEN_KEY);
  if (token == null)
    return (false);
  // Czy tokeny s sobie rwne?
  return (saved.equals(token));
}
 
//(Copyright (c) 1999 The Apache Software Foundation. Wszelkie prawa zastrzeone.
