package br.gov.serpro.treino.view.managedbean; import java.util.ArrayList; import java.util.List; import javax.annotation.PostConstruct; import javax.faces.bean.ManagedBean; import javax.faces.bean.SessionScoped; import javax.faces.context.FacesContext; import org.apache.log4j.Logger; import br.gov.serpro.treino.bean.Obra; import br.gov.serpro.treino.bean.User; import br.gov.serpro.treino.business.IUserBC; import br.gov.serpro.treino.business.implementation.UserBC; import br.gov.serpro.treino.config.TreinoConfig; import br.gov.serpro.treino.constant.Navigation; import br.gov.serpro.treino.exception.ErrorMessage; @SessionScoped @ManagedBean(name = "userMB") public class UserMB extends TestGridMB { private static final long serialVersionUID = 1L; private static Logger log = Logger.getLogger(UserMB.class); private List<Obra> users; private User user; private IUserBC userBC = new UserBC(); @PostConstruct public void init() { users = new ArrayList<Obra>(); modeInsert = false; user = new User(); } public boolean isLogged() { String username = (String) FacesContext.getCurrentInstance().getExternalContext().getSessionMap().get("username"); return (username != null && !username.equals("")); } public void login(String _user, String _pass) { try { User user = userBC.find(_user, _pass); if (user != null) { // Inicia as configurações e dados do banco em memória TreinoConfig.getInstance(); log.info("usuário [" + user.getName() + "] logado"); FacesContext.getCurrentInstance().getExternalContext().getSessionMap().put("username", _user); FacesContext.getCurrentInstance().getApplication().getNavigationHandler().handleNavigation(FacesContext.getCurrentInstance(), null, Navigation.INDEX); return; } } catch (Throwable e) { FacesUtil.addMessage(ErrorMessage.USER_LOGIN, null, e); } } public List<Obra> getUsers() { return users; } public void setUsers(List<Obra> users) { this.users = users; } public User getUser() { return user; } public void setUser(User user) { this.user = user; } }