public void searchBairro() {

      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() + "%"});

         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) {

      }

   }