+++ /dev/null
-package de.juplo.yourshouter;
-
-
-import javax.servlet.http.Cookie;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import org.springframework.web.util.CookieGenerator;
-import org.thymeleaf.util.StringUtils;
-
-
-/**
- * Utility class for managing the cookie that remembers the user.
- *
- * @author Kai Moritz
- */
-final class UserCookieGenerator
-{
- private final static Logger LOG =
- LoggerFactory.getLogger(UserCookieGenerator.class);
-
- public final static UserCookieGenerator INSTANCE = new UserCookieGenerator();
-
-
- private final CookieGenerator generator = new CookieGenerator();
-
-
- /**
- * Constructs an instance of this class, using <code>user</code> as the
- * cookie-name.
- */
- private UserCookieGenerator()
- {
- generator.setCookieName("user");
- }
-
-
- /**
- * Creates a cookie with the name <code>user</code>, that stores the ID of
- * the user for subsequent calls.
- *
- * @param user
- * The ID of the current user
- * @param response
- * The {@link HttpServletResponse} to store the cookie in.
- */
- public void addCookie(String user, HttpServletResponse response)
- {
- LOG.debug("adding cookie {}={}", generator.getCookieName(), user);
- generator.addCookie(response, user);
- }
-
- /**
- * Removes the cookie with the name <code>user</code> by storing an empty
- * string as its value.
- *
- * @param response
- * The {@link HttpServletResponse} to remove the cookie from.
- */
- public void removeCookie(HttpServletResponse response)
- {
- LOG.debug("removing cookie {}", generator.getCookieName());
- generator.addCookie(response, "");
- }
-
- /**
- * Reads the current value of the cookie with the name <code>user</code>.
- *
- * @param request
- * The {@link HttpServletRequest} to read the cookie-value from.
- * @return
- * The value of the cookie with the name <code>user</code>, or
- * <code>null</code>, if no cookie by that name can be found or the value
- * of the cookie is an empty string.
- */
- public String readCookieValue(HttpServletRequest request)
- {
- String name = generator.getCookieName();
- Cookie[] cookies = request.getCookies();
- if (cookies != null)
- {
- for (Cookie cookie : cookies)
- {
- if (cookie.getName().equals(name))
- {
- String value = cookie.getValue();
- if (!StringUtils.isEmptyOrWhitespace(value))
- {
- LOG.debug("found cookie {}={}", name, value);
- return value;
- }
- }
- }
- }
- LOG.debug("cookie \"{}\" not found!", name);
- return null;
- }
-}