Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package br.com.cursojsf;
- import java.io.BufferedReader;
- import java.io.InputStream;
- import java.io.InputStreamReader;
- import java.net.URL;
- import java.net.URLConnection;
- import java.util.ArrayList;
- import java.util.List;
- import javax.annotation.PostConstruct;
- import javax.faces.application.FacesMessage;
- import javax.faces.bean.ManagedBean;
- import javax.faces.bean.ViewScoped;
- import javax.faces.component.html.HtmlSelectOneMenu;
- import javax.faces.context.ExternalContext;
- import javax.faces.context.FacesContext;
- import javax.faces.event.AjaxBehaviorEvent;
- import javax.faces.model.SelectItem;
- import javax.persistence.TypedQuery;
- import javax.servlet.http.HttpServletRequest;
- import com.google.gson.Gson;
- import br.com.dao.DaoGeneric;
- import br.com.entidades.Cidades;
- import br.com.entidades.Estados;
- import br.com.entidades.Pessoa;
- import br.com.jpautil.JPAUtil;
- import br.com.repository.IDaoPessoa;
- import br.com.repository.IDaoPessoaImpl;
- @ViewScoped
- @ManagedBean(name = "pessoaBean")
- public class PessoaBean {
- private Pessoa pessoa = new Pessoa();
- private DaoGeneric<Pessoa> daoGeneric = new DaoGeneric<>();
- private List<Pessoa> pessoas = new ArrayList<>();
- private IDaoPessoa iDaoPessoa = new IDaoPessoaImpl();
- private List<SelectItem> estados;
- private List<SelectItem> cidades;
- public String salvar() {
- pessoa = daoGeneric.merge(pessoa);
- carregarPessoas();
- mostrarMsg("Cadastro Realizado com Sucesso!");
- return "";
- }
- private void mostrarMsg(String msg) {
- FacesContext context = FacesContext.getCurrentInstance();
- FacesMessage message = new FacesMessage(msg);
- context.addMessage(null, message);
- }
- public String novo() {
- /* Executa algum processo antes de novo */
- pessoa = new Pessoa();
- return "";
- }
- public String limpar() {
- return novo();
- }
- public String remove() {
- daoGeneric.deletePorId(pessoa);
- pessoa = new Pessoa();
- carregarPessoas();
- mostrarMsg("Removido com Sucesso!");
- return "";
- }
- @PostConstruct
- public void carregarPessoas() {
- pessoas = daoGeneric.getListEntity(Pessoa.class);
- }
- public Pessoa getPessoa() {
- return pessoa;
- }
- public void pesquisaCep(AjaxBehaviorEvent event) {
- try {
- URL url = new URL("https://viacep.com.br/ws/" + pessoa.getCep() + "/json/");
- URLConnection connection = url.openConnection();
- InputStream is = connection.getInputStream();
- BufferedReader br = new BufferedReader(new InputStreamReader(is, "UTF-8"));
- String cep = "";
- StringBuilder jsonCep = new StringBuilder();
- while ((cep = br.readLine()) != null) {
- jsonCep.append(cep);
- }
- Pessoa gsonAux = new Gson().fromJson(jsonCep.toString(), Pessoa.class);
- pessoa.setCep(gsonAux.getCep());
- pessoa.setLogradouro(gsonAux.getLogradouro());
- pessoa.setComplemento(gsonAux.getComplemento());
- pessoa.setBairro(gsonAux.getBairro());
- pessoa.setLocalidade(gsonAux.getLocalidade());
- pessoa.setBairro(gsonAux.getBairro());
- pessoa.setUf(gsonAux.getUf());
- pessoa.setUnidade(gsonAux.getUnidade());
- pessoa.setIbge(gsonAux.getIbge());
- pessoa.setGia(gsonAux.getGia());
- } catch (Exception ex) {
- ex.printStackTrace();
- mostrarMsg("Erro ao consultar o cep");
- }
- }
- public void setPessoa(Pessoa pessoa) {
- this.pessoa = pessoa;
- }
- public DaoGeneric<Pessoa> getDaoGeneric() {
- return daoGeneric;
- }
- public void setDaoGeneric(DaoGeneric<Pessoa> daoGeneric) {
- this.daoGeneric = daoGeneric;
- }
- public List<Pessoa> getPessoas() {
- return pessoas;
- }
- public String deslogar() {
- FacesContext context = FacesContext.getCurrentInstance();
- ExternalContext externalContext = context.getExternalContext();
- externalContext.getSessionMap().remove("usuarioLogado");
- HttpServletRequest httpServletRequest = (HttpServletRequest) FacesContext.getCurrentInstance()
- .getExternalContext().getRequest();
- httpServletRequest.getSession().invalidate();
- return "index.jsf";
- }
- public String logar() {
- Pessoa pessoaUser = iDaoPessoa.consultarUsuario(pessoa.getLogin(), pessoa.getSenha());
- if (pessoaUser != null) {// achou o usuário
- // adicionar o usuário na sessão
- FacesContext context = FacesContext.getCurrentInstance();
- ExternalContext externalContext = context.getExternalContext();
- externalContext.getSessionMap().put("usuarioLogado", pessoaUser);
- return "primeirapagina.jsf";
- }
- return "index.jsf";
- }
- public boolean permiteAcesso(String acesso) {
- FacesContext context = FacesContext.getCurrentInstance();
- ExternalContext externalContext = context.getExternalContext();
- Pessoa pessoaUser = (Pessoa) externalContext.getSessionMap().get("usuarioLogado");
- return pessoaUser.getPerfilUser().equals(acesso);
- }
- public void carregarCidades(AjaxBehaviorEvent event) {
- Estados estado = (Estados) ((HtmlSelectOneMenu) event.getSource()).getValue();
- if (estado != null) {
- pessoa.setEstados(estado);
- TypedQuery<Cidades> cidadesQuery = JPAUtil.getEntityManager()
- .createQuery("from Cidades where estados.id = " + estado.getId(), Cidades.class);
- List<Cidades> cidadesCombo = cidadesQuery.getResultList();
- List<SelectItem> selectItemsCidade = new ArrayList<>();
- for (Cidades cidade : cidadesCombo) {
- selectItemsCidade.add(new SelectItem(cidade, cidade.getNome()));
- }
- setCidades(selectItemsCidade);
- }
- }
- private void setCidades(List<SelectItem> cidades) {
- this.cidades = cidades;
- }
- public List<SelectItem> getCidades() {
- return cidades;
- }
- public List<SelectItem> getEstados() {
- estados = iDaoPessoa.listaEStados();
- return estados;
- }
- public void setEstados(List<SelectItem> estados) {
- this.estados = estados;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement