Olá amigos, estou fazendo uma aplicação com o vRaptor e agora estou com dificuldades para pegar o meu usuário que está na sessão.
LoginLogic (Classe que valida o login/senha e joga o usuário na sessão)
@Component("account")
@InterceptedBy(DaoInterceptor.class)
public class LoginLogic {
private final DaoFactory daoFactory;
private Usuario usuario;
public LoginLogic(DaoFactory daoFactory) {
this.daoFactory = daoFactory;
}
public void login() {
}
public String efetuaLogin(Usuario usuario) {
UsuarioDao dao = (UsuarioDao) this.daoFactory.getUsuarioDao();
this.usuario = dao.existeUnico(usuario);
if (this.usuario != null) {
return "ok";
} else {
return "invalid";
}
}
public void logout() {
this.usuario = null;
}
@Out(scope=ScopeType.SESSION)
public Usuario getUsuario() {
return this.usuario;
}
}
MenuXML (Classe que quero pegar o usuário da sessão. Esta classe que não está retornando o usuário)
public class MenuXML {
@In(scope=ScopeType.SESSION)
private Usuario usuario;
private List<Menu> mainmenu;
public List<Menu> getMainmenu() {
System.out.println(this.usuario.getMenu());
return mainmenu;
}
}
A lógica que chama esta classe é a MeusInteressesLogic. Esta lógica é chamada depois que o cara autentica através do interesse.lista.logic.
@Component("interesse")
@InterceptedBy(AutorizadorInterceptor.class)
public class MeusInteressesLogic {
public void lista() {
MenuXML menu = new MenuXML();
List<Menu> lista = menu.getMainmenu();
}
}
Pelo o que eu li, acredito ter feito certo, mas como sou principiante em vRaptor, acho que tô comendo bola em algum lugar… Pois o this.usuario está null
Abraços…