package gcom.gui.util.tabelaauxiliar.faixa; import gcom.fachada.Fachada; import gcom.gui.ActionServletException; import gcom.gui.GcomAction; import gcom.gui.ManutencaoRegistroActionForm; import gcom.util.ConstantesSistema; import gcom.util.filtro.ParametroSimples; import gcom.util.tabelaauxiliar.faixa.FiltroTabelaAuxiliarFaixaInteiro; import gcom.util.tabelaauxiliar.faixa.FiltroTabelaAuxiliarFaixaReal; import gcom.util.tabelaauxiliar.faixa.TabelaAuxiliarFaixaInteiro; 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; /** * @author R�mulo Aur�lio * */ public class ExibirAtualizarTabelaAuxiliarFaixaInteiroAction 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) { // Seta o mapeamento de retorno ActionForward retorno = actionMapping .findForward("atualizarTabelaAuxiliarFaixaInteiro"); // Obt�m a inst�ncia da sess�o HttpSession sessao = httpServletRequest.getSession(false); // Obt�m a inst�ncia da fachada Fachada fachada = Fachada.getInstancia(); int tamMaxCampoMenorFaixa = 6; int tamMaxCampoMaiorFaixa = 6; if (httpServletRequest.getParameter("manter") != null) { sessao.setAttribute("manter", true); } else { sessao.removeAttribute("manter"); } ManutencaoRegistroActionForm manutencaoRegistroActionForm = (ManutencaoRegistroActionForm) actionForm; String id = null; // C�digo da tabela auxiliar a ser atualizada if (httpServletRequest.getAttribute("id") != null) { id = (String) httpServletRequest.getAttribute("id"); sessao.setAttribute("id", id); } else { if (manutencaoRegistroActionForm.getIdRegistroAtualizacao() != null) { id = manutencaoRegistroActionForm.getIdRegistroAtualizacao(); sessao.setAttribute("id", id); } } if (sessao.getAttribute("id") != null) { id = (String) sessao.getAttribute("id"); } // String com path do pacote mais o nome do objeto String pacoteNomeObjeto = (String) sessao .getAttribute("pacoteNomeObjeto"); // Cria o filtro para atividade FiltroTabelaAuxiliarFaixaInteiro filtroTabelaAuxiliarFaixaInteiro = new FiltroTabelaAuxiliarFaixaInteiro(); String tela = (String) sessao.getAttribute("tela"); if (httpServletRequest.getAttribute("desfazer") == null) { // Adiciona o par�metro no filtro filtroTabelaAuxiliarFaixaInteiro .adicionarParametro(new ParametroSimples( FiltroTabelaAuxiliarFaixaInteiro.ID, id)); // Pesquisa a tabela auxiliar no sistema Collection tabelasAuxiliaresFaixaInteiro = fachada .pesquisarTabelaAuxiliar(filtroTabelaAuxiliarFaixaInteiro, pacoteNomeObjeto); // Caso a cole��o esteja vazia, indica erro inesperado if (tabelasAuxiliaresFaixaInteiro == null || tabelasAuxiliaresFaixaInteiro.isEmpty()) { throw new ActionServletException("erro.sistema"); } Iterator iteratorTabelaAuxiliarFaixaInteiro = tabelasAuxiliaresFaixaInteiro .iterator(); // A tabela auxiliar abreviada que ser� atualizada TabelaAuxiliarFaixaInteiro tabelaAuxiliarFaixaInteiro = (TabelaAuxiliarFaixaInteiro) iteratorTabelaAuxiliarFaixaInteiro .next(); // Manda a tabela auxiliar na sess�o sessao.setAttribute("tabelaAuxiliarFaixaInteiro", tabelaAuxiliarFaixaInteiro); if (tela.equalsIgnoreCase("areaConstruidaFaixa")) { if (tabelaAuxiliarFaixaInteiro.getIndicadorUso().intValue() == ConstantesSistema.INDICADOR_USO_ATIVO .intValue()) { sessao.setAttribute("indicadorUso", "sim"); } else { sessao.setAttribute("indicadorUso", "nao"); } } DadosTelaTabelaAuxiliarFaixaInteiro dados = (DadosTelaTabelaAuxiliarFaixaInteiro) DadosTelaTabelaAuxiliarFaixaInteiro .obterDadosTelaTabelaAuxiliar(tela); sessao.setAttribute("funcionalidadeTabelaAuxiliarFaixaInteiroFiltrar", dados.getFuncionalidadeTabelaFaixaInteiroFiltrar()); sessao.setAttribute("tamMaxCampoMenorFaixa", new Integer( tamMaxCampoMenorFaixa)); sessao.setAttribute("tamMaxCampoMaiorFaixa", new Integer( tamMaxCampoMaiorFaixa)); } if (httpServletRequest.getAttribute("desfazer") != null) { // Cria o filtro para atividade filtroTabelaAuxiliarFaixaInteiro.limparListaParametros(); // Adiciona o par�metro no filtro filtroTabelaAuxiliarFaixaInteiro .adicionarParametro(new ParametroSimples( FiltroTabelaAuxiliarFaixaReal.ID, id)); // Pesquisa a tabela auxiliar no sistema Collection tabelasAuxiliaresFaixaInteiroBase = fachada .pesquisarTabelaAuxiliar(filtroTabelaAuxiliarFaixaInteiro, pacoteNomeObjeto); // Caso a cole��o esteja vazia, indica erro inesperado if (tabelasAuxiliaresFaixaInteiroBase == null || tabelasAuxiliaresFaixaInteiroBase.isEmpty()) { throw new ActionServletException("erro.sistema"); } Iterator iteratorTabelaAuxiliarFaixaInteiroBase = tabelasAuxiliaresFaixaInteiroBase .iterator(); // A tabela auxiliar abreviada que ser� atualizada TabelaAuxiliarFaixaInteiro tabelaAuxiliarFaixaInteiroBase = (TabelaAuxiliarFaixaInteiro) iteratorTabelaAuxiliarFaixaInteiroBase .next(); // Manda a tabela auxiliar na sess�o sessao.setAttribute("tabelaAuxiliarFaixaInteiro", tabelaAuxiliarFaixaInteiroBase); } httpServletRequest.setAttribute("tela",tela); //Devolve o mapeamento de retorno return retorno; } }