package gcom.gui.cadastro.localidade; import gcom.cadastro.localidade.CondicaoAbastecimentoAgua; import gcom.cadastro.localidade.FiltroCondicaoAbastecimentoAgua; import gcom.cadastro.localidade.FiltroGrauDificuldadeExecucao; import gcom.cadastro.localidade.FiltroGrauRiscoSegurancaFisica; import gcom.cadastro.localidade.GrauDificuldadeExecucao; import gcom.cadastro.localidade.GrauRiscoSegurancaFisica; import gcom.cadastro.localidade.QuadraFace; import gcom.fachada.Fachada; import gcom.gui.GcomAction; import gcom.operacional.Bacia; import gcom.operacional.DistritoOperacional; import gcom.operacional.FiltroBacia; import gcom.operacional.FiltroDistritoOperacional; import gcom.util.ConstantesSistema; import gcom.util.Util; import gcom.util.filtro.ParametroSimples; import java.util.ArrayList; import java.util.Collection; import java.util.Collections; import java.util.Comparator; import java.util.Iterator; import java.util.List; 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 AdicionarQuadraFaceAction extends GcomAction{ public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { ActionForward retorno = actionMapping.findForward("adicionarQuadraFace"); Fachada fachada = Fachada.getInstancia(); HttpSession sessao = httpServletRequest.getSession(false); AdicionarQuadraFaceActionForm adicionarQuadraFaceActionForm = (AdicionarQuadraFaceActionForm) actionForm; //COLE��O PARA APRESENTA��O NA TELA Collection colecaoQuadraFace = (Collection) sessao.getAttribute("colecaoQuadraFace"); //PARA INSERIR inserirQuadraFace(httpServletRequest, sessao, fachada, adicionarQuadraFaceActionForm, colecaoQuadraFace); //PARA ATUALIZAR atualizarQuadraFace(httpServletRequest, sessao, fachada, adicionarQuadraFaceActionForm, colecaoQuadraFace); return retorno; } private void inserirQuadraFace(HttpServletRequest httpServletRequest, HttpSession sessao, Fachada fachada, AdicionarQuadraFaceActionForm adicionarQuadraFaceActionForm, Collection colecaoQuadraFace){ if (adicionarQuadraFaceActionForm.getAcao() != null && adicionarQuadraFaceActionForm.getAcao().equalsIgnoreCase("inserir")){ QuadraFace quadraFace = new QuadraFace(); //N�MERO DA FACE quadraFace.setNumeroQuadraFace(Integer.valueOf(adicionarQuadraFaceActionForm.getNumeroFace())); //INDICADOR REDE DE �GUA quadraFace.setIndicadorRedeAgua(Short.valueOf(adicionarQuadraFaceActionForm.getIndicadorRedeAguaAux())); //INDICADOR REDE DE ESGOTO quadraFace.setIndicadorRedeEsgoto(Short.valueOf(adicionarQuadraFaceActionForm.getIndicadorRedeEsgotoAux())); //BACIA if (adicionarQuadraFaceActionForm.getBaciaID() != null && !adicionarQuadraFaceActionForm.getBaciaID().equals("")){ FiltroBacia filtroBacia = new FiltroBacia(); filtroBacia.adicionarCaminhoParaCarregamentoEntidade("sistemaEsgoto"); filtroBacia.adicionarParametro(new ParametroSimples(FiltroBacia.ID, Integer.valueOf(adicionarQuadraFaceActionForm.getBaciaID()))); Collection colecaoBacia = fachada.pesquisar(filtroBacia, Bacia.class.getName()); Bacia bacia = (Bacia) Util.retonarObjetoDeColecao(colecaoBacia); quadraFace.setBacia(bacia); } //DISTRITO_OPERACIONAL if (adicionarQuadraFaceActionForm.getDistritoOperacionalID() != null && !adicionarQuadraFaceActionForm.getDistritoOperacionalID().equals("")){ FiltroDistritoOperacional filtroDistritoOperacional = new FiltroDistritoOperacional(); filtroDistritoOperacional.adicionarParametro(new ParametroSimples(FiltroDistritoOperacional.ID, Integer.valueOf(adicionarQuadraFaceActionForm.getDistritoOperacionalID()))); Collection colecaoDistritoOperacional = fachada.pesquisar(filtroDistritoOperacional, DistritoOperacional.class.getName()); DistritoOperacional distritoOperacional = (DistritoOperacional) Util.retonarObjetoDeColecao(colecaoDistritoOperacional); quadraFace.setDistritoOperacional(distritoOperacional); } // GRAU DE DIFICULDADE DE EXECU��O if(adicionarQuadraFaceActionForm.getGrauDificuldadeExecucaoID() != null && !adicionarQuadraFaceActionForm.getGrauDificuldadeExecucaoID().equals("-1")){ FiltroGrauDificuldadeExecucao filtroGrauDificuldadeExecucao = new FiltroGrauDificuldadeExecucao(); filtroGrauDificuldadeExecucao.adicionarParametro(new ParametroSimples( FiltroGrauDificuldadeExecucao.ID, Integer.valueOf(adicionarQuadraFaceActionForm.getGrauDificuldadeExecucaoID()))); Collection colecaoGrauDificuldadeExecucao = fachada.pesquisar(filtroGrauDificuldadeExecucao, GrauDificuldadeExecucao.class.getName()); GrauDificuldadeExecucao grauDificuldadeExecucao = (GrauDificuldadeExecucao) Util.retonarObjetoDeColecao(colecaoGrauDificuldadeExecucao); quadraFace.setGrauDificuldadeExecucao(grauDificuldadeExecucao); } // GRAU DE RISCO DE SEGURAN�A F�SICA if(adicionarQuadraFaceActionForm.getGrauRiscoSegurancaFisicaID() != null && !adicionarQuadraFaceActionForm.getGrauRiscoSegurancaFisicaID().equals("-1")){ FiltroGrauRiscoSegurancaFisica filtroGrauRiscoSegurancaFisica = new FiltroGrauRiscoSegurancaFisica(); filtroGrauRiscoSegurancaFisica.adicionarParametro(new ParametroSimples( FiltroGrauRiscoSegurancaFisica.ID, Integer.valueOf(adicionarQuadraFaceActionForm.getGrauRiscoSegurancaFisicaID()))); Collection colecaoGrauRiscoSegurancaFisica = fachada.pesquisar(filtroGrauRiscoSegurancaFisica, GrauRiscoSegurancaFisica.class.getName()); GrauRiscoSegurancaFisica grauRiscoSegurancaFisica = (GrauRiscoSegurancaFisica) Util.retonarObjetoDeColecao(colecaoGrauRiscoSegurancaFisica); quadraFace.setGrauRiscoSegurancaFisica(grauRiscoSegurancaFisica); } // N�VEL DE PRESS�O if(adicionarQuadraFaceActionForm.getNivelPressaoID() != null && !adicionarQuadraFaceActionForm.getNivelPressaoID().equals("-1")){ // GRAU INTERMIT�NCIA if(adicionarQuadraFaceActionForm.getGrauIntermitenciaID() != null && !adicionarQuadraFaceActionForm.getGrauIntermitenciaID().equals("-1")){ FiltroCondicaoAbastecimentoAgua filtroCondicaoAbastecimentoAgua = new FiltroCondicaoAbastecimentoAgua(); filtroCondicaoAbastecimentoAgua.adicionarParametro(new ParametroSimples( FiltroCondicaoAbastecimentoAgua.GRAU_INTERMITENCIA_ID, Integer.valueOf(adicionarQuadraFaceActionForm.getGrauIntermitenciaID()))); filtroCondicaoAbastecimentoAgua.adicionarParametro(new ParametroSimples( FiltroCondicaoAbastecimentoAgua.NIVEL_PRESSAO_ID, Integer.valueOf(adicionarQuadraFaceActionForm.getNivelPressaoID()))); Collection colecaoCondicaoAbastecimentoAgua = fachada.pesquisar(filtroCondicaoAbastecimentoAgua, CondicaoAbastecimentoAgua.class.getName()); CondicaoAbastecimentoAgua condicaoAbastecimentoAgua = (CondicaoAbastecimentoAgua) Util.retonarObjetoDeColecao(colecaoCondicaoAbastecimentoAgua); quadraFace.setCondicaoAbastecimentoAgua(condicaoAbastecimentoAgua); } } //INDICADOR DE USO quadraFace.setIndicadorUso(ConstantesSistema.INDICADOR_USO_ATIVO); //VALIDA��O DOS DADOS INFORMADOS PARA CADASTRO DE FACE DA QUADRA fachada.validarQuadraFace(quadraFace, colecaoQuadraFace, true); //ACRESCENTANDO A FACE DA QUADRA NA COLE��O DE APRESENTA��O if (colecaoQuadraFace != null && !colecaoQuadraFace.isEmpty()){ colecaoQuadraFace.add(quadraFace); } else{ colecaoQuadraFace = new ArrayList(); colecaoQuadraFace.add(quadraFace); } //ORDENANDO AS FACES DA QUADRA PELO NUMERO Collections.sort((List) colecaoQuadraFace, new Comparator() { public int compare(Object a, Object b) { Integer numeroQuadraFace1 = ((QuadraFace) a) .getNumeroQuadraFace(); Integer numeroQuadraFace2 = ((QuadraFace) b) .getNumeroQuadraFace(); return numeroQuadraFace1.compareTo(numeroQuadraFace2); } }); sessao.setAttribute("colecaoQuadraFace", colecaoQuadraFace); httpServletRequest.setAttribute("reloadPage", "OK"); } } private void atualizarQuadraFace(HttpServletRequest httpServletRequest, HttpSession sessao, Fachada fachada, AdicionarQuadraFaceActionForm adicionarQuadraFaceActionForm, Collection colecaoQuadraFace){ if (adicionarQuadraFaceActionForm.getAcao() != null && adicionarQuadraFaceActionForm.getAcao().equalsIgnoreCase("atualizar")){ Integer numeroQuadraFaceParaAtualizar = Integer.valueOf( adicionarQuadraFaceActionForm.getNumeroFace()); Iterator it = colecaoQuadraFace.iterator(); QuadraFace quadraFace = null; while (it.hasNext()){ quadraFace = (QuadraFace) it.next(); if (quadraFace.getNumeroQuadraFace().equals(numeroQuadraFaceParaAtualizar)){ colecaoQuadraFace.remove(quadraFace); break; } } //INDICADOR REDE DE �GUA quadraFace.setIndicadorRedeAgua(Short.valueOf(adicionarQuadraFaceActionForm.getIndicadorRedeAguaAux())); //INDICADOR REDE DE ESGOTO quadraFace.setIndicadorRedeEsgoto(Short.valueOf(adicionarQuadraFaceActionForm.getIndicadorRedeEsgotoAux())); //BACIA if (adicionarQuadraFaceActionForm.getBaciaID() != null && !adicionarQuadraFaceActionForm.getBaciaID().equals("")){ FiltroBacia filtroBacia = new FiltroBacia(); filtroBacia.adicionarCaminhoParaCarregamentoEntidade("sistemaEsgoto"); filtroBacia.adicionarParametro(new ParametroSimples(FiltroBacia.ID, Integer.valueOf(adicionarQuadraFaceActionForm.getBaciaID()))); Collection colecaoBacia = fachada.pesquisar(filtroBacia, Bacia.class.getName()); Bacia bacia = (Bacia) Util.retonarObjetoDeColecao(colecaoBacia); quadraFace.setBacia(bacia); } else{ quadraFace.setBacia(null); } //DISTRITO_OPERACIONAL if (adicionarQuadraFaceActionForm.getDistritoOperacionalID() != null && !adicionarQuadraFaceActionForm.getDistritoOperacionalID().equals("")){ FiltroDistritoOperacional filtroDistritoOperacional = new FiltroDistritoOperacional(); filtroDistritoOperacional.adicionarParametro(new ParametroSimples(FiltroDistritoOperacional.ID, Integer.valueOf(adicionarQuadraFaceActionForm.getDistritoOperacionalID()))); Collection colecaoDistritoOperacional = fachada.pesquisar(filtroDistritoOperacional, DistritoOperacional.class.getName()); DistritoOperacional distritoOperacional = (DistritoOperacional) Util.retonarObjetoDeColecao(colecaoDistritoOperacional); quadraFace.setDistritoOperacional(distritoOperacional); } else{ quadraFace.setDistritoOperacional(null); } // GRAU DE DIFICULDADE DE EXECU��O if(adicionarQuadraFaceActionForm.getGrauDificuldadeExecucaoID() != null && !adicionarQuadraFaceActionForm.getGrauDificuldadeExecucaoID().equals("-1")){ FiltroGrauDificuldadeExecucao filtroGrauDificuldadeExecucao = new FiltroGrauDificuldadeExecucao(); filtroGrauDificuldadeExecucao.adicionarParametro(new ParametroSimples( FiltroGrauDificuldadeExecucao.ID, Integer.valueOf(adicionarQuadraFaceActionForm.getGrauDificuldadeExecucaoID()))); Collection colecaoGrauDificuldadeExecucao = fachada.pesquisar(filtroGrauDificuldadeExecucao, GrauDificuldadeExecucao.class.getName()); GrauDificuldadeExecucao grauDificuldadeExecucao = (GrauDificuldadeExecucao) Util.retonarObjetoDeColecao(colecaoGrauDificuldadeExecucao); quadraFace.setGrauDificuldadeExecucao(grauDificuldadeExecucao); } // GRAU DE RISCO DE SEGURAN�A F�SICA if(adicionarQuadraFaceActionForm.getGrauRiscoSegurancaFisicaID() != null && !adicionarQuadraFaceActionForm.getGrauRiscoSegurancaFisicaID().equals("-1")){ FiltroGrauRiscoSegurancaFisica filtroGrauRiscoSegurancaFisica = new FiltroGrauRiscoSegurancaFisica(); filtroGrauRiscoSegurancaFisica.adicionarParametro(new ParametroSimples( FiltroGrauRiscoSegurancaFisica.ID, Integer.valueOf(adicionarQuadraFaceActionForm.getGrauRiscoSegurancaFisicaID()))); Collection colecaoGrauRiscoSegurancaFisica = fachada.pesquisar(filtroGrauRiscoSegurancaFisica, GrauRiscoSegurancaFisica.class.getName()); GrauRiscoSegurancaFisica grauRiscoSegurancaFisica = (GrauRiscoSegurancaFisica) Util.retonarObjetoDeColecao(colecaoGrauRiscoSegurancaFisica); quadraFace.setGrauRiscoSegurancaFisica(grauRiscoSegurancaFisica); } // N�VEL DE PRESS�O if(adicionarQuadraFaceActionForm.getNivelPressaoID() != null && !adicionarQuadraFaceActionForm.getNivelPressaoID().equals("-1")){ // GRAU INTERMIT�NCIA if(adicionarQuadraFaceActionForm.getGrauIntermitenciaID() != null && !adicionarQuadraFaceActionForm.getGrauIntermitenciaID().equals("-1")){ FiltroCondicaoAbastecimentoAgua filtroCondicaoAbastecimentoAgua = new FiltroCondicaoAbastecimentoAgua(); filtroCondicaoAbastecimentoAgua.adicionarParametro(new ParametroSimples( FiltroCondicaoAbastecimentoAgua.GRAU_INTERMITENCIA_ID, Integer.valueOf(adicionarQuadraFaceActionForm.getGrauIntermitenciaID()))); filtroCondicaoAbastecimentoAgua.adicionarParametro(new ParametroSimples( FiltroCondicaoAbastecimentoAgua.NIVEL_PRESSAO_ID, Integer.valueOf(adicionarQuadraFaceActionForm.getNivelPressaoID()))); Collection colecaoCondicaoAbastecimentoAgua = fachada.pesquisar(filtroCondicaoAbastecimentoAgua, CondicaoAbastecimentoAgua.class.getName()); CondicaoAbastecimentoAgua condicaoAbastecimentoAgua = (CondicaoAbastecimentoAgua) Util.retonarObjetoDeColecao(colecaoCondicaoAbastecimentoAgua); quadraFace.setCondicaoAbastecimentoAgua(condicaoAbastecimentoAgua); } } //INDICADOR DE USO quadraFace.setIndicadorUso(ConstantesSistema.INDICADOR_USO_ATIVO); //VALIDA��O DOS DADOS INFORMADOS PARA CADASTRO DE FACE DA QUADRA fachada.validarQuadraFace(quadraFace, colecaoQuadraFace, false); //ACRESCENTANDO A FACE DA QUADRA ATUALIZADA NA COLE��O DE APRESENTA��O colecaoQuadraFace.add(quadraFace); //ORDENANDO AS FACES DA QUADRA PELO NUMERO Collections.sort((List) colecaoQuadraFace, new Comparator() { public int compare(Object a, Object b) { Integer numeroQuadraFace1 = ((QuadraFace) a) .getNumeroQuadraFace(); Integer numeroQuadraFace2 = ((QuadraFace) b) .getNumeroQuadraFace(); return numeroQuadraFace1.compareTo(numeroQuadraFace2); } }); sessao.setAttribute("colecaoQuadraFace", colecaoQuadraFace); httpServletRequest.setAttribute("reloadPage", "OK"); } } }