package gcom.gui.cadastro.endereco; import gcom.cadastro.geografico.FiltroMunicipio; import gcom.cadastro.geografico.Municipio; import gcom.fachada.Fachada; import gcom.gui.GcomAction; import gcom.util.Util; import gcom.util.filtro.ParametroSimples; import java.util.Collection; 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; /** * Esta classe tem por finalidade exibir para o usu�rio a tela que receber� os par�metros para realiza��o * da filtragem dos CEPs para sele��o * * @author Raphael Rossiter * @date 03/05/2006 */ public class ExibirSelecionarCepAction extends GcomAction { public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { ActionForward retorno = actionMapping.findForward("exibirSelecionarCep"); Fachada fachada = Fachada.getInstancia(); HttpSession sessao = httpServletRequest.getSession(false); SelecionarCepActionForm selecionarCepActionForm = (SelecionarCepActionForm) actionForm; String tipoRetorno = (String) httpServletRequest.getParameter("tipoPesquisaEndereco"); String tipoOperacao = (String) httpServletRequest.getParameter("operacao"); if (tipoRetorno != null && !tipoRetorno.trim().equalsIgnoreCase("")) { sessao.setAttribute("tipoPesquisaRetorno", tipoRetorno); sessao.setAttribute("operacao", tipoOperacao); } //Limpar formul�rio, caso necess�rio if (httpServletRequest.getParameter("limparForm") != null){ selecionarCepActionForm.setIdMunicipio(""); selecionarCepActionForm.setNomeMunicipio(""); selecionarCepActionForm.setNomeLogradouro(""); //Retira da sess�o a cole��o de CEPs que foi selecionada anteriormente sessao.removeAttribute("municipioInformado"); sessao.removeAttribute("colecaoCepSelecionados"); } /* * Caso o par�metro "Munic�pio" seja previamente definido pelo caso de uso que chama est� funcionalidade, * o mesmo dever� ser mantido para realiza��o da filtragem dos bairros */ String idMunicipio = httpServletRequest.getParameter("idMunicipio"); Collection colecaoMunicipio = null; Municipio municipio = null; if (idMunicipio != null && !idMunicipio.equals("")){ FiltroMunicipio filtroMunicipio = new FiltroMunicipio(); filtroMunicipio.adicionarParametro(new ParametroSimples(FiltroMunicipio.ID, idMunicipio)); colecaoMunicipio = fachada.pesquisar(filtroMunicipio, Municipio.class.getName()); if (colecaoMunicipio != null && !colecaoMunicipio.isEmpty()){ sessao.setAttribute("municipioInformado", idMunicipio); municipio = (Municipio) Util.retonarObjetoDeColecao(colecaoMunicipio); selecionarCepActionForm.setIdMunicipio(municipio.getId().toString()); selecionarCepActionForm.setNomeMunicipio(municipio.getNome()); } } return retorno; } }