package org.omnifaces.security.jaspic.request;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.omnifaces.security.jaspic.Utils;
public class BaseCookieDAO {
public void save(HttpServletRequest request, HttpServletResponse response, String name, String value, Integer maxAge) {
Cookie cookie = new Cookie(name, value);
if (maxAge != null) {
cookie.setMaxAge(maxAge);
}
cookie.setHttpOnly(true);
cookie.setPath(Utils.isEmpty(request.getContextPath())? "/" : request.getContextPath());
response.addCookie(cookie);
}
public Cookie get(HttpServletRequest request, String name) {
if (request.getCookies() != null) {
for (Cookie cookie : request.getCookies()) {
if (name.equals(cookie.getName()) && !isEmpty(cookie)) {
return cookie;
}
}
}
return null;
}
public void remove(HttpServletRequest request, HttpServletResponse response, String name) {
Cookie cookie = new Cookie(name, null);
cookie.setMaxAge(0);
cookie.setPath(Utils.isEmpty(request.getContextPath())? "/" : request.getContextPath());
response.addCookie(cookie);
}
private boolean isEmpty(Cookie cookie) {
return cookie.getValue() == null || cookie.getValue().trim().isEmpty();
}
}