package gcom.gui.atendimentopublico.registroatendimento; import gcom.atendimentopublico.registroatendimento.FiltroEspecificacaoImovelSituacao; import gcom.gui.ActionServletException; import gcom.gui.GcomAction; import gcom.util.ConstantesSistema; import gcom.util.filtro.ComparacaoTexto; import gcom.util.filtro.ComparacaoTextoCompleto; import gcom.util.filtro.ParametroSimples; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; /** * [UC0403] - Filtrar Especifica��o da Situa��o do Im�vel * * @author Rafael Francisco Pinto * @date 08/11/2006 */ public class FiltrarEspecificacaoSituacaoImovelAction extends GcomAction { public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { ActionForward retorno = actionMapping.findForward("exibirManterEspecificacaoSituacaoImovelAction"); FiltrarEspecificacaoSituacaoImovelActionForm form = (FiltrarEspecificacaoSituacaoImovelActionForm) actionForm; // Recupera todos os campos da p�gina para ser colocada no filtro // posteriormente String indicadorAtualizar = form.getIndicadorAtualizar(); String idEspecificacao = form.getIdEspecificacao(); String descricaoEspecificacao = form.getDescricaoEspecificacao(); String tipoPesquisa = form.getTipoPesquisa(); if (indicadorAtualizar != null && !indicadorAtualizar.equals("")) { this.getSessao(httpServletRequest).setAttribute("indicadorAtualizar", indicadorAtualizar); } else { this.getSessao(httpServletRequest).removeAttribute("indicadorAtualizar"); } boolean peloMenosUmParametroInformado = false; FiltroEspecificacaoImovelSituacao filtro = new FiltroEspecificacaoImovelSituacao(); // C�digo if (idEspecificacao != null && !idEspecificacao.trim().equals("")) { peloMenosUmParametroInformado = true; filtro.adicionarParametro( new ParametroSimples(FiltroEspecificacaoImovelSituacao.ID, idEspecificacao)); } // Descri��o if (descricaoEspecificacao != null && !descricaoEspecificacao.trim().equals("")) { peloMenosUmParametroInformado = true; if (tipoPesquisa != null && tipoPesquisa.equals(ConstantesSistema.TIPO_PESQUISA_COMPLETA.toString())) { filtro.adicionarParametro( new ComparacaoTextoCompleto(FiltroEspecificacaoImovelSituacao.DESCRICAO, descricaoEspecificacao)); } else { filtro.adicionarParametro( new ComparacaoTexto(FiltroEspecificacaoImovelSituacao.DESCRICAO, descricaoEspecificacao)); } } // Erro caso o usu�rio mandou filtrar sem nenhum par�metro if (!peloMenosUmParametroInformado) { throw new ActionServletException("atencao.filtro.nenhum_parametro_informado"); } // Manda o filtro pela sessao para o // ExibirManterEspecificacaoSituacaoImovelAction this.getSessao(httpServletRequest).setAttribute("filtroEspecificacaoSituacaoImovel", filtro); return retorno; } }