public void searchBairro() {

        if (selectBtnSearchCidade == true && this.cidade.getCidade_id() != null) {

            facesContext = FacesContext.getCurrentInstance();
            requestContext = RequestContext.getCurrentInstance();

            List<Bairro> listBairro;
            try {
                bairro.setCidade(cidade);
                listBairro = genericDAO.searchObject(Bairro.class,"bairro",
                        null, null,
                        new String[]{"cidade", "bai_descricao"},
                        new Object[]{bairro.getCidade(), "%" + bairro.getBai_descricao() + "%"});
                selectBtnSearchBairro = true;

                if (listBairro.isEmpty()) {
                    opcaoHeader = "cadastrar bairro";

                    facesContext.addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR, "Bairro não encontrado", "Cadastre-o para prosseguir!"));
                    requestContext.getCurrentInstance().execute("PF('cadastrarDialog').show();");
                } else if (listBairro.size() == 1) {
                    facesContext.addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO, "Bairro encontrado", "Prossiga o cadastro!"));
                    bairro = listBairro.get(0);
                } else {
                    facesContext.addMessage(null, new FacesMessage(FacesMessage.SEVERITY_WARN, "Informe mais detalhes!", "Sua busca retornou muitos registros"));
                }

            } catch (Exception ex) {
                
            }
        } else {
            facesContext.addMessage(null, new FacesMessage(FacesMessage.SEVERITY_WARN, "Alterta!", "Verifique a Cidade para prosseguir"));
        }

    }