/** * < <Descrição do método>> * * @param actionMapping Descrição do parâmetro * @param actionForm Descrição do parâmetro * @param httpServletRequest Descrição do parâmetro * @param httpServletResponse Descrição do parâmetro * @return Descrição do retorno */ public ActionForward execute( ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { ActionForward retorno = actionMapping.findForward("listaMunicipio"); // Mudar isso quando tiver esquema de segurança HttpSession sessao = httpServletRequest.getSession(false); DynaValidatorForm pesquisarActionForm = (DynaValidatorForm) actionForm; // Recupera os parâmetros do form String nome = (String) pesquisarActionForm.get("nomeMunicipio"); Integer idRegiaoDesenvolvimento = (Integer) pesquisarActionForm.get("idRegiaoDesenvolvimento"); Integer idRegiao = (Integer) pesquisarActionForm.get("idRegiao"); Integer idMicrorregiao = (Integer) pesquisarActionForm.get("idMicrorregiao"); Integer idUnidadeFederacao = (Integer) pesquisarActionForm.get("idUnidadeFederacao"); String tipoPesquisa = (String) pesquisarActionForm.get("tipoPesquisa"); FiltroMunicipio filtroMunicipio = new FiltroMunicipio(); filtroMunicipio.setCampoOrderBy(FiltroCliente.NOME); boolean peloMenosUmParametroInformado = false; // Insere os parâmetros informados no filtro if (nome != null && !nome.trim().equalsIgnoreCase("")) { peloMenosUmParametroInformado = true; if (tipoPesquisa != null && tipoPesquisa.equals(ConstantesSistema.TIPO_PESQUISA_COMPLETA.toString())) { filtroMunicipio.adicionarParametro(new ComparacaoTextoCompleto(FiltroMunicipio.NOME, nome)); } else { filtroMunicipio.adicionarParametro(new ComparacaoTexto(FiltroMunicipio.NOME, nome)); } } if (idRegiaoDesenvolvimento != null && idRegiaoDesenvolvimento.intValue() != ConstantesSistema.NUMERO_NAO_INFORMADO) { peloMenosUmParametroInformado = true; filtroMunicipio.adicionarParametro( new ParametroSimples(FiltroMunicipio.REGIAO_DESENVOLVOMENTO_ID, idRegiaoDesenvolvimento)); } if (idRegiao != null && idRegiao.intValue() != ConstantesSistema.NUMERO_NAO_INFORMADO) { peloMenosUmParametroInformado = true; filtroMunicipio.adicionarParametro(new ParametroSimples(FiltroMunicipio.REGIAO_ID, idRegiao)); } if (idMicrorregiao != null && idMicrorregiao.intValue() != ConstantesSistema.NUMERO_NAO_INFORMADO) { peloMenosUmParametroInformado = true; filtroMunicipio.adicionarParametro( new ParametroSimples(FiltroMunicipio.MICRORREGICAO_ID, idMicrorregiao)); } if (idUnidadeFederacao != null && idUnidadeFederacao.intValue() != ConstantesSistema.NUMERO_NAO_INFORMADO) { peloMenosUmParametroInformado = true; filtroMunicipio.adicionarParametro( new ParametroSimples(FiltroMunicipio.UNIDADE_FEDERACAO_ID, idUnidadeFederacao)); } if (sessao.getAttribute("indicadorUsoTodos") == null) { filtroMunicipio.adicionarParametro( new ParametroSimples( FiltroMunicipio.INDICADOR_USO, ConstantesSistema.INDICADOR_USO_ATIVO)); } // Erro caso o usuário mandou filtrar sem nenhum parâmetro if (!peloMenosUmParametroInformado) { throw new ActionServletException("atencao.filtro.nenhum_parametro_informado"); } Collection municipios = null; // Obtém a instância da Fachada Fachada fachada = Fachada.getInstancia(); // adiciona as dependências para serem mostradas na página filtroMunicipio.adicionarCaminhoParaCarregamentoEntidade("microrregiao.regiao"); // Faz a busca das empresas municipios = fachada.pesquisar(filtroMunicipio, Municipio.class.getName()); // Aciona o controle de paginação para que sejam pesquisados apenas // os registros que aparecem na página Map resultado = controlarPaginacao(httpServletRequest, retorno, filtroMunicipio, Municipio.class.getName()); municipios = (Collection) resultado.get("colecaoRetorno"); retorno = (ActionForward) resultado.get("destinoActionForward"); if (municipios.isEmpty()) { // Nenhum logradouro cadastrado de acordo com os parâmetros passados throw new ActionServletException("atencao.pesquisa.nenhumresultado", null, "município"); } sessao.setAttribute("colecaoMunicipios", municipios); return retorno; }