Gabriel, foi copiei uma classe ja atualizada pelos exercicios subsequentes. Ela esta compilando sim.
Considere a classe abaixo:
FiltroDeAuditoria
@WebFilter (urlPatterns="/*")
public class FiltroDeAuditoria implements Filter {
@Override
public void destroy() {
// TODO Auto-generated method stub
}
@Override
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
throws IOException, ServletException {
HttpServletRequest req = (HttpServletRequest) request;
// Cookie cookie = this.getUsuario(req);
Cookie cookie = new Cookies(req.getCookies()).getUsuarioLogado();
// HttpSession session = req.getSession();
// Usuario usuarioLogado = (Usuario) session.getAttribute("usuario.logado");
String usuario = "<deslogado>";
if (cookie != null) {
usuario = cookie.getValue();
}
// if (usuarioLogado != null) {
// usuario = usuarioLogado.getEmail();
// }
System.out.println("Usuário " + usuario + " acessando a URI " + req.getRequestURI());
chain.doFilter(request, response);
}
private Cookie getUsuario(HttpServletRequest req) {
Cookie[] cookies = req.getCookies();
if (cookies == null) {
return null;
}
for (Cookie cookie: cookies) {
if (cookie.getName().equals("usuario.logado")) {
return cookie;
}
}
return null;
}
@Override
public void init(FilterConfig arg0) throws ServletException {
// TODO Auto-generated method stub
}
}
Com relacao ao metodo getUsuarioLogado este faz parte da classe Cookies
package br.com.alura.gerenciador.web;
import javax.servlet.http.Cookie;
public class Cookies {
private final Cookie[] cookies;
public Cookies(Cookie[] cookies){
this.cookies = cookies;
}
public Cookie getUsuarioLogado() {
if (this.cookies == null) {
return null;
}
for (Cookie cookie : cookies) {
if (cookie.getName().equals("usuario.logado")) {
return cookie;
}
}
return null;
}
}
Tudo estava funcionando normalmente, mas nao consigo depurar.