package gcom.gui.cadastro.localidade; import gcom.cadastro.localidade.FiltroGerenciaRegional; import gcom.cadastro.localidade.GerenciaRegional; import gcom.fachada.Fachada; import gcom.gui.ActionServletException; import gcom.gui.GcomAction; import gcom.util.ConstantesSistema; import gcom.util.filtro.ParametroSimples; import java.util.Collection; import java.util.Iterator; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; import org.apache.struts.validator.DynaValidatorForm; /** * Action que define o pr�-processamento da p�gina de pesquisa de Localidade * * @author Administrador * @created 27 de Maio de 2004 */ public class ExibirPesquisarLocalidadeAction extends GcomAction { /** * < <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("pesquisarLocalidade"); //obtendo uma instancia da sessao HttpSession sessao = httpServletRequest.getSession(false); DynaValidatorForm pesquisarActionForm = (DynaValidatorForm) actionForm; // Verifica se o pesquisar localidade foi chamado a partir do inserir localidade // e em caso afirmativo recebe o par�metro e manda-o pela sess�o para // ser verificado no localidade_resultado_pesquisa e depois retirado da // sess�o no ExibirFiltrarLocalidadeAction if (httpServletRequest.getParameter("consulta") != null) { String consulta = httpServletRequest.getParameter("consulta"); sessao.setAttribute("consulta", consulta); }else{ sessao.removeAttribute("consulta"); } if (sessao.getAttribute("caminhoRetornoTelaPesquisaLocalidade") != null){ sessao.removeAttribute("caminhoRetornoTelaPesquisaLocalidade"); } if(httpServletRequest.getParameter("objetoConsulta") == null){ pesquisarActionForm.set("idLocalidade", ""); pesquisarActionForm.set("descricaoLocalidade", ""); pesquisarActionForm.set("idGerenciaRegional", ""); pesquisarActionForm.set("tipoPesquisa", ConstantesSistema.TIPO_PESQUISA_INICIAL.toString()); } String tipo = httpServletRequest.getParameter("tipo"); String idElo = httpServletRequest.getParameter("idElo"); //Obt�m a inst�ncia da Fachada Fachada fachada = Fachada.getInstancia(); FiltroGerenciaRegional filtroGerenciaRegional = new FiltroGerenciaRegional(); if( httpServletRequest.getParameter("indicadorUsoTodos") == null ){ sessao.removeAttribute("indicadorUsoTodos"); filtroGerenciaRegional.adicionarParametro(new ParametroSimples( FiltroGerenciaRegional.INDICADOR_USO, ConstantesSistema.INDICADOR_USO_ATIVO)); } else { sessao.setAttribute("indicadorUsoTodos", httpServletRequest.getParameter("indicadorUsoTodos")); } filtroGerenciaRegional.setCampoOrderBy(FiltroGerenciaRegional.NOME_ABREVIADO); Collection gerencias = fachada.pesquisar(filtroGerenciaRegional, GerenciaRegional.class.getName()); if (gerencias != null && !gerencias.isEmpty()) { GerenciaRegional gerenciaRegional = null; Iterator iterator = gerencias.iterator(); while (iterator.hasNext()) { gerenciaRegional = (GerenciaRegional) iterator.next(); String descGerenciaRegional = gerenciaRegional.getNomeAbreviado() + "-" + gerenciaRegional.getNome(); gerenciaRegional.setNome(descGerenciaRegional); } httpServletRequest.setAttribute("gerenciasRegionais", gerencias); } else { throw new ActionServletException("atencao.naocadastrado", null, "ger�ncia regional"); } sessao.setAttribute("tipoPesquisa", tipo); sessao.setAttribute("idElo",idElo); if(httpServletRequest.getParameter("menu")!= null && !httpServletRequest.getParameter("menu").equals("")){ sessao.removeAttribute("idElo"); } //envia uma flag que ser� verificado no // localidade_resultado_pesquisa.jsp //para saber se ir� usar o enviar dados ou o enviar dados parametros if(httpServletRequest.getParameter("caminhoRetornoTelaPesquisa") != null){ sessao.setAttribute("caminhoRetornoTelaPesquisaLocalidade", httpServletRequest .getParameter("caminhoRetornoTelaPesquisa")); } return retorno; } }