package gcom.gui.cadastro.localidade; import gcom.cadastro.geografico.FiltroMunicipio; import gcom.cadastro.geografico.Municipio; import gcom.cadastro.localidade.FiltroSetorComercial; import gcom.cadastro.localidade.SetorComercial; import gcom.fachada.Fachada; import gcom.gui.ActionServletException; import gcom.gui.GcomAction; import gcom.util.ConstantesSistema; import gcom.util.ErroRepositorioException; import gcom.util.Util; import gcom.util.filtro.ParametroSimples; import java.rmi.RemoteException; 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; public class AlterarSetorComercialAction extends GcomAction { //Obt�m a inst�ncia da fachada Fachada fachada = Fachada.getInstancia(); public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { //Seta o retorno ActionForward retorno = actionMapping.findForward("telaSucesso"); //Obt�m a sess�o HttpSession sessao = httpServletRequest.getSession(false); PesquisarAtualizarSetorComercialActionForm pesquisarAtualizarSetorComercialActionForm = (PesquisarAtualizarSetorComercialActionForm) actionForm; String setorComercialID = pesquisarAtualizarSetorComercialActionForm .getSetorComercialID(); String localidadeID = pesquisarAtualizarSetorComercialActionForm .getLocalidadeID(); String setorComercialCD = pesquisarAtualizarSetorComercialActionForm .getSetorComercialCD(); String setorComercialNome = pesquisarAtualizarSetorComercialActionForm .getSetorComercialNome(); String municipioID = pesquisarAtualizarSetorComercialActionForm .getMunicipioID(); String indicadorUso = pesquisarAtualizarSetorComercialActionForm .getIndicadorUso(); if (setorComercialID == null || setorComercialID.equalsIgnoreCase("")) { throw new ActionServletException( "atencao.setor_comercial_nao_informado"); } else if (localidadeID == null || localidadeID.equalsIgnoreCase("")) { throw new ActionServletException("atencao.localidade_nao_informada"); } else if (setorComercialCD == null || setorComercialCD.equalsIgnoreCase("")) { throw new ActionServletException( "atencao.codigo_setor_comercial_nao_informado"); } else if (municipioID == null || municipioID.equalsIgnoreCase("")) { throw new ActionServletException("atencao.municipio_nao_informado"); } else if (setorComercialNome == null || setorComercialNome.equalsIgnoreCase("")) { throw new ActionServletException( "atencao.nome_setor_comercial_nao_informado"); } else if (indicadorUso == null || indicadorUso.equalsIgnoreCase("")) { throw new ActionServletException( "atencao.indicador_uso_nao_informado"); } else { //===================================================================== //Validando os dados informados pelo usu�rio. Municipio municipioNovo = (Municipio) pesquisarObjeto(municipioID, 3); if (municipioNovo == null) { throw new ActionServletException( "atencao.pesquisa.municipio_inexistente"); } Short indicadorUsoNovo = new Short(indicadorUso); //====================================================================== SetorComercial setorComercialAtual = (SetorComercial) sessao.getAttribute("setorComercialManter"); if (setorComercialAtual == null) { //Setor comercial nao encontrado throw new ActionServletException( "atencao.processo.setorComercialNaoCadastrada"); } setorComercialAtual.setDescricao(setorComercialNome); setorComercialAtual.setMunicipio(municipioNovo); setorComercialAtual.setIndicadorUso(indicadorUsoNovo); fachada.atualizarSetorComercial(setorComercialAtual,null); montarPaginaSucesso(httpServletRequest, "Setor comercial de c�digo " + setorComercialAtual.getCodigo() + " atualizado com sucesso.", " Realizar outra manuten��o de setor comercial", "exibirAtualizarSetorComercialAction.do"); } //devolve o mapeamento de retorno return retorno; } /** * * @param objetoPesquisa * @param objetoPai * @param tipoObjeto * @return * @throws RemoteException * @throws ErroRepositorioException */ private Object pesquisarObjeto(String objetoPesquisa, int tipoObjeto) { Object retorno = null; Collection colecaoPesquisa = null; switch (tipoObjeto) { //Setor Comercial case 2: FiltroSetorComercial filtroSetorComercial = new FiltroSetorComercial(); filtroSetorComercial.adicionarParametro(new ParametroSimples( FiltroSetorComercial.ID, objetoPesquisa)); colecaoPesquisa = fachada.pesquisar(filtroSetorComercial, SetorComercial.class.getName()); if (colecaoPesquisa != null && !colecaoPesquisa.isEmpty()) { retorno = Util.retonarObjetoDeColecao(colecaoPesquisa); } break; case 3: FiltroMunicipio filtroMunicipio = new FiltroMunicipio(); filtroMunicipio.adicionarParametro(new ParametroSimples( FiltroMunicipio.ID, objetoPesquisa)); filtroMunicipio.adicionarParametro(new ParametroSimples( FiltroMunicipio.INDICADOR_USO, ConstantesSistema.INDICADOR_USO_ATIVO)); colecaoPesquisa = fachada.pesquisar(filtroMunicipio, Municipio.class.getName()); if (colecaoPesquisa != null && !colecaoPesquisa.isEmpty()) { retorno = Util.retonarObjetoDeColecao(colecaoPesquisa); } break; default: break; } return retorno; } }