private void pesquisarEnter(
      FiltrarQualidadeAguaActionForm form, HttpServletRequest httpServletRequest, Fachada fachada) {

    // pesquisa enter de FONTE DE CAPTACAO
    if (form.getFonteCaptacao() != null && !form.getFonteCaptacao().equals("")) {

      FiltroFonteCaptacao filtroFonteCaptacao = new FiltroFonteCaptacao();

      try {
        filtroFonteCaptacao.adicionarParametro(
            new ParametroSimples(FiltroFonteCaptacao.ID, new Integer(form.getFonteCaptacao())));
      } catch (NumberFormatException ex) {
        throw new ActionServletException(
            "atencao.campo_texto.numero_obrigatorio", null, "Fonte de Captação");
      }

      filtroFonteCaptacao.setCampoOrderBy(FiltroFonteCaptacao.DESCRICAO);
      Collection colecaoFonteCaptacao =
          fachada.pesquisar(filtroFonteCaptacao, FonteCaptacao.class.getName());

      if (colecaoFonteCaptacao != null && !colecaoFonteCaptacao.isEmpty()) {
        FonteCaptacao fonteCaptacao =
            (FonteCaptacao) Util.retonarObjetoDeColecao(colecaoFonteCaptacao);
        form.setDescricaoFonteCaptacao(fonteCaptacao.getDescricao());

        httpServletRequest.setAttribute("fonteCaptacaoEncontrada", true);
      } else {
        form.setFonteCaptacao("");
        form.setDescricaoFonteCaptacao("FONTE DE CAPTACÃO INEXISTENTE");
      }
    }
  }
  /**
   * < <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("listaFonteCaptacao");

    // Mudar isso quando tiver esquema de segurança
    HttpSession sessao = httpServletRequest.getSession(false);

    DynaValidatorForm pesquisarActionForm = (DynaValidatorForm) actionForm;

    String codigo = (String) pesquisarActionForm.get("codigoFonteCaptacao");
    String descricao = (String) pesquisarActionForm.get("descricaoFonteCaptacao");
    String tipoPesquisaDescricao = (String) pesquisarActionForm.get("tipoPesquisaDescricao");
    String descricaoAbreviada = (String) pesquisarActionForm.get("descricaoAbreviadaFonteCaptacao");

    boolean peloMenosUmParametroInformado = false;

    String idTipoCaptacao = null;
    String tipoPesquisa = null;

    FiltroFonteCaptacao filtroFonteCaptacao = new FiltroFonteCaptacao();

    // Objetos que serão retornados pelo Hibernate
    filtroFonteCaptacao.adicionarCaminhoParaCarregamentoEntidade("tipoCaptacao");

    filtroFonteCaptacao.setCampoOrderBy(FiltroFonteCaptacao.ID);

    Fachada fachada = Fachada.getInstancia();

    if (sessao.getAttribute("idTipoCaptacao") != null) {
      idTipoCaptacao = sessao.getAttribute("idTipoCaptacao").toString();
    }

    if (sessao.getAttribute("tipoPesquisa") != null) {
      tipoPesquisa = sessao.getAttribute("tipoPesquisa").toString();
    }
    if (sessao.getAttribute("indicadorUsoTodos") == null) {
      filtroFonteCaptacao.adicionarParametro(
          new ParametroSimples(
              FiltroFonteCaptacao.INDICADOR_USO, ConstantesSistema.INDICADOR_USO_ATIVO));
    }

    if (idTipoCaptacao != null && !idTipoCaptacao.equals("")) {

      filtroFonteCaptacao.adicionarParametro(
          new ParametroSimples(FiltroFonteCaptacao.ID_TIPO_CAPTACAO, idTipoCaptacao));
      peloMenosUmParametroInformado = true;
    }

    if (codigo != null && !codigo.equals("")) {
      filtroFonteCaptacao.adicionarParametro(
          new ParametroSimples(FiltroFonteCaptacao.ID, new Integer(codigo)));
      peloMenosUmParametroInformado = true;
    }
    if (descricao != null && !descricao.trim().equalsIgnoreCase("")) {
      if (tipoPesquisaDescricao != null
          && tipoPesquisaDescricao.equals(ConstantesSistema.TIPO_PESQUISA_COMPLETA.toString())) {
        filtroFonteCaptacao.adicionarParametro(
            new ComparacaoTextoCompleto(FiltroFonteCaptacao.DESCRICAO, descricao));
      } else {
        filtroFonteCaptacao.adicionarParametro(
            new ComparacaoTexto(FiltroFonteCaptacao.DESCRICAO, descricao));
      }
      peloMenosUmParametroInformado = true;
    }

    if (descricaoAbreviada != null && !descricaoAbreviada.trim().equals("")) {

      filtroFonteCaptacao.adicionarParametro(
          new ParametroSimples(FiltroFonteCaptacao.DESCRICAO_ABREVIADA, descricaoAbreviada));
    }

    if (!peloMenosUmParametroInformado) {
      throw new ActionServletException("atencao.filtro.nenhum_parametro_informado");
    }

    Collection fonteCaptacao =
        fachada.pesquisar(filtroFonteCaptacao, FonteCaptacao.class.getName());

    if (fonteCaptacao != null && !fonteCaptacao.isEmpty()) {
      // Aciona o controle de paginação para que sejam pesquisados apenas
      // os registros que aparecem na página
      Map resultado =
          controlarPaginacao(
              httpServletRequest, retorno, filtroFonteCaptacao, FonteCaptacao.class.getName());
      fonteCaptacao = (Collection) resultado.get("colecaoRetorno");
      retorno = (ActionForward) resultado.get("destinoActionForward");
      sessao.setAttribute("fonteCaptacao", fonteCaptacao);

    } else {
      throw new ActionServletException("atencao.pesquisa.nenhumresultado", null, "fonte captacao");
    }

    // Passa o parametro para o tipo de resultado e o tira da sessão
    httpServletRequest.setAttribute("tipoPesquisa", tipoPesquisa);

    return retorno;
  }
  private void pesquisarEnter(
      AtualizarSistemaAbastecimentoActionForm form,
      HttpServletRequest httpServletRequest,
      Fachada fachada) {

    if (httpServletRequest.getParameter("idTipoCaptacao") != null) {
      String idTipoCaptacao = (String) httpServletRequest.getParameter("idTipoCaptacao");
      form.setTipoCaptacao(idTipoCaptacao);
    }

    if (httpServletRequest.getParameter("idFonteCaptacao") != null) {
      String idFonteCaptacao = (String) httpServletRequest.getParameter("idFonteCaptacao");
      form.setFonteCaptacaoId(idFonteCaptacao);
    }

    //		 pesquisa enter de FONTE DE CAPTACAO sem ter realizado pesquisa de TIPO DE CAPTACAO
    if ((form.getTipoCaptacao() == null || form.getTipoCaptacao().equals(""))
        && form.getFonteCaptacaoId() != null
        && !form.getFonteCaptacaoId().equals("")) {

      FiltroFonteCaptacao filtroFonteCaptacao = new FiltroFonteCaptacao();

      try {
        filtroFonteCaptacao.adicionarParametro(
            new ParametroSimples(FiltroFonteCaptacao.ID, new Integer(form.getFonteCaptacaoId())));
      } catch (NumberFormatException ex) {
        throw new ActionServletException(
            "atencao.campo_texto.numero_obrigatorio", null, "Fonte de Captação");
      }

      filtroFonteCaptacao.setCampoOrderBy(FiltroFonteCaptacao.DESCRICAO);
      Collection colecaoFonteCaptacao =
          fachada.pesquisar(filtroFonteCaptacao, FonteCaptacao.class.getName());

      if (colecaoFonteCaptacao != null && !colecaoFonteCaptacao.isEmpty()) {
        FonteCaptacao fonteCaptacao =
            (FonteCaptacao) Util.retonarObjetoDeColecao(colecaoFonteCaptacao);
        form.setFonteCaptacaoDescricao(fonteCaptacao.getDescricao());
        if (form.getDescricaoTipoCaptacao() != null
            && form.getTipoCaptacao() != null
            && !form.getDescricaoTipoCaptacao().equals("TIPO DE CAPTACÃO INEXISTENTE")) {
          httpServletRequest.setAttribute("tipoCaptacaoEncontrado", true);
        }
        httpServletRequest.setAttribute("fonteCaptacaoEncontrada", true);
      } else {
        form.setFonteCaptacaoId("");
        form.setFonteCaptacaoDescricao("FONTE DE CAPTACÃO INEXISTENTE");
        httpServletRequest.removeAttribute("fonteCaptacaoEncontrada");
      }
    }

    // pesquisa enter de tipo de captacao
    if (form.getTipoCaptacao() != null && !form.getTipoCaptacao().equals("")) {

      FiltroTipoCaptacao filtroTipoCaptacao = new FiltroTipoCaptacao();

      try {
        filtroTipoCaptacao.adicionarParametro(
            new ParametroSimples(FiltroTipoCaptacao.ID, new Integer(form.getTipoCaptacao())));
      } catch (NumberFormatException ex) {
        throw new ActionServletException(
            "atencao.campo_texto.numero_obrigatorio", null, "Tipo de Captação");
      }

      filtroTipoCaptacao.setCampoOrderBy(FiltroFonteCaptacao.DESCRICAO);
      Collection colecaoTipoCaptacao =
          fachada.pesquisar(filtroTipoCaptacao, TipoCaptacao.class.getName());

      if (colecaoTipoCaptacao != null && !colecaoTipoCaptacao.isEmpty()) {
        TipoCaptacao tipoCaptacao = (TipoCaptacao) Util.retonarObjetoDeColecao(colecaoTipoCaptacao);
        form.setDescricaoTipoCaptacao(tipoCaptacao.getDescricao());
        if (form.getFonteCaptacaoDescricao() != null
            && form.getFonteCaptacaoId() != null
            && !form.getFonteCaptacaoDescricao().equals("FONTE DE CAPTACÃO INEXISTENTE")) {
          httpServletRequest.setAttribute("fonteCaptacaoEncontrada", true);
        }
        httpServletRequest.setAttribute("tipoCaptacaoEncontrado", true);

      } else {
        form.setTipoCaptacao("");
        form.setDescricaoTipoCaptacao("TIPO DE CAPTACÃO INEXISTENTE");
        httpServletRequest.removeAttribute("tipoCaptacaoEncontrado");
      }
    }

    // Pesquisar Fonte de Captacao Com Tipo de Captacao
    if (form.getTipoCaptacao() != null
        && !form.getTipoCaptacao().equals("")
        && form.getFonteCaptacaoId() != null
        && !form.getFonteCaptacaoId().equals("")) {

      FiltroFonteCaptacao filtroFonteCaptacao = new FiltroFonteCaptacao();

      try {
        filtroFonteCaptacao.adicionarParametro(
            new ParametroSimples(FiltroFonteCaptacao.ID_TIPO_CAPTACAO, form.getTipoCaptacao()));
        filtroFonteCaptacao.adicionarParametro(
            new ParametroSimples(FiltroFonteCaptacao.ID, new Integer(form.getFonteCaptacaoId())));
      } catch (NumberFormatException ex) {
        throw new ActionServletException(
            "atencao.campo_texto.numero_obrigatorio", null, "Fonte de Captação");
      }

      filtroFonteCaptacao.setCampoOrderBy(FiltroFonteCaptacao.DESCRICAO);
      Collection colecaoFonteCaptacao =
          fachada.pesquisar(filtroFonteCaptacao, FonteCaptacao.class.getName());

      if (colecaoFonteCaptacao != null && !colecaoFonteCaptacao.isEmpty()) {
        FonteCaptacao fonteCaptacao =
            (FonteCaptacao) Util.retonarObjetoDeColecao(colecaoFonteCaptacao);
        form.setFonteCaptacaoDescricao(fonteCaptacao.getDescricao());
        httpServletRequest.setAttribute("tipoCaptacaoEncontrado", true);
        httpServletRequest.setAttribute("fonteCaptacaoEncontrada", true);
      } else {
        form.setFonteCaptacaoId("");
        form.setFonteCaptacaoDescricao("FONTE DE CAPTACÃO INEXISTENTE");
        httpServletRequest.removeAttribute("fonteCaptacaoEncontrada");
      }
    }
  }