package gcom.gui.cadastro.imovel; import java.util.Collection; import gcom.cadastro.imovel.Imovel; import gcom.cadastro.localidade.FiltroSetorComercial; import gcom.gui.GcomAction; import gcom.util.ConstantesSistema; import gcom.util.filtro.ParametroSimples; 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; /** * < <Descri��o da Classe>> * * @author Administrador */ public class ExibirInserirImovelEnderecoAction 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("inserirImovelEndereco"); // obtendo uma instancia da sessao HttpSession sessao = httpServletRequest.getSession(false); String removeEndereco = httpServletRequest .getParameter("removeEndereco"); if (removeEndereco != null && !removeEndereco.equals("")) { sessao.removeAttribute("colecaoEnderecos"); }else { //********************************************************************** // Autor: Ivan Sergio // Data: 23/07/2009 // CRC2103 // Guarda o endereco do Imovel para o caso em que o Inserir/Manter // cliente � invocado pelo Inserir/Manter Imovel como PopUp //********************************************************************** Collection colecaoEndereco = (Collection) sessao.getAttribute("colecaoEnderecos"); if (colecaoEndereco != null && !colecaoEndereco.isEmpty()) { Object obj = (Object) colecaoEndereco.iterator().next(); if (!(obj instanceof Imovel)) { sessao.removeAttribute("colecaoEnderecos"); } if (sessao.getAttribute("colecaoEnderecosImovel") != null) { sessao.setAttribute("colecaoEnderecos", sessao.getAttribute("colecaoEnderecosImovel")); } }else if (sessao.getAttribute("colecaoEnderecosImovel") != null) { sessao.setAttribute("colecaoEnderecos", sessao.getAttribute("colecaoEnderecosImovel")); } //********************************************************************** } if (httpServletRequest.getAttribute("confirmou") != null) { sessao.setAttribute("confirmou", "sim"); } sessao.removeAttribute("gis"); DynaValidatorForm inserirImovelLocalidadeActionForm = (DynaValidatorForm) sessao .getAttribute("InserirImovelActionForm"); String codigoSetorComercial = (String) inserirImovelLocalidadeActionForm .get("idSetorComercial"); String idLocalidade = (String) inserirImovelLocalidadeActionForm .get("idLocalidade"); FiltroSetorComercial filtroSetorComercial = new FiltroSetorComercial(); filtroSetorComercial .adicionarCaminhoParaCarregamentoEntidade(FiltroSetorComercial.MUNICIPIO); // coloca parametro no filtro filtroSetorComercial.adicionarParametro(new ParametroSimples( FiltroSetorComercial.INDICADORUSO, ConstantesSistema.INDICADOR_USO_ATIVO)); filtroSetorComercial.adicionarParametro(new ParametroSimples( FiltroSetorComercial.ID_LOCALIDADE, new Integer(idLocalidade))); filtroSetorComercial.adicionarParametro(new ParametroSimples( FiltroSetorComercial.CODIGO_SETOR_COMERCIAL, new Integer( codigoSetorComercial))); // Obt�m a inst�ncia da Fachada // Fachada fachada = Fachada.getInstancia(); // pesquisa // Collection setorComerciais = fachada.pesquisar(filtroSetorComercial, // SetorComercial.class.getName()); // Collection colecaoEndereco = (Collection) sessao // .getAttribute("colecaoEnderecos"); // // if (colecaoEndereco != null && !colecaoEndereco.isEmpty()) { // // Imovel imovel = (Imovel) colecaoEndereco.iterator().next(); // // System.out // .println("imovel.getLogradouroBairro().getLogradouro().getMunicipio().getId().toString()=" // + imovel.getLogradouroBairro().getLogradouro() // .getMunicipio().getId().intValue()); // System.out // .println("( ((SetorComercial) ((List) setorComerciais).get(0)).getMunicipio().getId()=" // + (((SetorComercial) ((List) setorComerciais) // .get(0)).getMunicipio().getId().intValue())); // System.out // .println("boolean=" // + (!(imovel.getLogradouroBairro().getLogradouro() // .getMunicipio().getId().intValue() == (((SetorComercial) ((List) setorComerciais) // .get(0)).getMunicipio().getId().intValue())))); // // if (imovel.getLogradouroBairro() != null // && imovel.getLogradouroBairro().getLogradouro() != null // && imovel.getLogradouroBairro().getLogradouro() // .getMunicipio() != null // && (!(imovel.getLogradouroBairro().getLogradouro() // .getMunicipio().getId().intValue() == (((SetorComercial) ((List) setorComerciais) // .get(0)).getMunicipio().getId().intValue())))) { // // Usuario usuario = (Usuario) sessao // .getAttribute("usuarioLogado"); // // if (!fachada // .verificarPermissaoInserirImovelMunicipioLogradouroDiferenteSetor(usuario)) { // // throw new ActionServletException( // "atencao.usuario.sem.permissao.inserir_logradouro_municipio_diferente_setor_comercial"); // // } else { // if (sessao.getAttribute("confirmou") == null) { // httpServletRequest.setAttribute("destino", // actionMapping // .findForward("inserirImovelEndereco")); // // // httpServletRequest.setAttribute("confirmou", "sim"); // // // retorno = actionMapping // // .findForward("gerenciado"); // String destino ="inserirImovelEndereco" ; // actionMapping.setParameter(destino); // // retorno = montarPaginaConfirmacaoWizard( // "atencao.usuario.sem.permissao.inserir_logradouro_municipio_diferente_setor_comercial", // httpServletRequest, actionMapping, ""); // } // } // httpServletRequest.setAttribute("atencao","O munic�pio do // logradouro n�o � o mesmo do setor comercial"); // URL da pr�xima ABA // httpServletRequest // .setAttribute( // "proximaAba", // "/gsan/inserirImovelWizardAction.do?destino=3&action=inserirImovelEnderecoAction"); // // // URL da ABA anterior // httpServletRequest // .setAttribute( // "voltarAba", // "/gsan/inserirImovelWizardAction.do?removeEndereco=true&destino=2&action=inserirImovelLocalidadeAction"); // // retorno = actionMapping.findForward("telaOpcaoConsultar"); // sessao.removeAttribute("colecaoEnderecos"); // throw new // ActionServletException("atencao.municipio.diferente.setor_comercial.logradouro"); return retorno; } }