package br.com.bbsys.control.core; import br.com.bbsys.business.usuario.UsuarioBusiness; import br.com.bbsys.control.home.HomeController; import br.com.bbsys.dao.usuario.UsuarioDao; import br.com.bbsys.model.usuario.Usuario; import br.com.bbsys.session.usuario.UsuarioSession; import br.com.caelum.vraptor.Get; import br.com.caelum.vraptor.Path; import br.com.caelum.vraptor.Post; import br.com.caelum.vraptor.Resource; import br.com.caelum.vraptor.Result; import br.com.caelum.vraptor.view.Results; @Resource public class LoginController { private Result result; private UsuarioBusiness usuarioBusiness; private UsuarioSession userSession; public LoginController(Result result, UsuarioBusiness usuarioBusiness, UsuarioSession userSession) { this.result = result; this.usuarioBusiness = usuarioBusiness; this.userSession = userSession; } @Get @Path("/login") public void login() {} @Post @Path("/login") public void login(Usuario usuario) { try { Usuario user = usuarioBusiness.login(usuario); userSession.setUsuario(user); result.redirectTo(HomeController.class).homelogada(); } catch (Exception e) { result.include("messageException", e.getMessage()); //result.use(Results.json()).from(e.getMessage()).serialize(); result.forwardTo(this).login(); } } @Path("/logout") public void logout() { userSession.setUsuario(null); result.redirectTo(this).login(); } }