Pessoal estou implementando um filtro para controlar o accesso a um recurso, mas para isso eu preciso pegar uma lista que contém todos os usuários online, e esta lista está em uma classe chamada ApplicationBean1 com escopo application. Não estou sabendo como pegar esta classe pelo meu filter, pois está dando nullPointException quando dou um getListaUsuarios(). Alguém pode me ajudar???
//Esta classe está com o escopo Application
public class ApplicationBean1 {
private List<Usuarios> listaUsuarios = new ArrayList<Usuarios>();
private int qtdSessoes = 0;
/**
*
*/
public ApplicationBean1() {
// TODO Auto-generated constructor stub
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
}
/**
* @param qtdSessoes the qtdSessoes to set
*/
public void setQtdSessoes(int qtdSessoes) {
this.qtdSessoes = qtdSessoes;
}
/**
* @return the qtdSessoes
*/
public int getQtdSessoes() {
return qtdSessoes;
}
public void setListaUsuarios(List<Usuarios> listaUsuarios) {
this.listaUsuarios = listaUsuarios;
}
public List<Usuarios> getListaUsuarios() {
return listaUsuarios;
}
}
//Meu Filtro
public class filterLogin implements Filter {
public filterLogin() {
}
public void destroy() {
}
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException,ServletException {
HttpSession session = ((HttpServletRequest)request).getSession();
List<Usuarios> lista = new ArrayList<Usuarios>();
SessionBean s = (SessionBean)session.getAttribute("SessionBean");
ApplicationBean1 a = (ApplicationBean1)session.getAttribute("ApplicationBean1");
//na linha abaixo está dando nullPointException
lista = a.getListaUsuarios();
for(Usuarios u:lista)
{
if(!u.getSessao().equals(session))
result = false;
}
if(result==true)
chain.doFilter(request, response);
else{
((HttpServletResponse)request).sendRedirect("../paginas/login/login.jsf");
Usuario usuario = (Usuario)session.getAttribute("usuario");
}
}
public void init(FilterConfig fConfig) throws ServletException {
}
}