package gcom.gui.seguranca.acesso.transacao; import gcom.fachada.Fachada; import gcom.gui.ActionServletException; import gcom.gui.GcomAction; import gcom.seguranca.transacao.FiltroTabela; import gcom.seguranca.transacao.FiltroTabelaColuna; import gcom.seguranca.transacao.Tabela; import gcom.seguranca.transacao.TabelaColuna; import gcom.util.ConstantesSistema; import gcom.util.Util; import gcom.util.filtro.ComparacaoTexto; import gcom.util.filtro.ComparacaoTextoCompleto; 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; /** * @author R�mulo Aur�lio * */ public class PesquisarColunaTabelaAction extends GcomAction{ /** * Este caso de uso efetua pesquisa de coluna de tabela * * [UC0308] Pesquisar Coluna da Tabela * * * @author R�mulo Aur�lio * @date 19/04/2007 * * @param actionMapping * @param actionForm * @param httpServletRequest * @param httpServletResponse * @return */ public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { ActionForward retorno = actionMapping .findForward("exibirResultadoPesquisaColunaTabelaAction"); HttpSession sessao = httpServletRequest.getSession(false); PesquisarColunaTabelaActionForm form = (PesquisarColunaTabelaActionForm) actionForm; FiltroTabelaColuna filtroTabelaColuna = new FiltroTabelaColuna(); Fachada fachada = Fachada.getInstancia(); boolean peloMenosUmParametroInformado = false; String codigo = form.getCodigo(); String nome = form.getNome(); String idTabela= form.getIdTabela(); String tipoPesquisa = form.getTipoPesquisa(); // Verifica se o campo nome foi informado if (nome != null && !nome.trim().equalsIgnoreCase("")) { peloMenosUmParametroInformado = true; if (tipoPesquisa != null && tipoPesquisa .equals(ConstantesSistema.TIPO_PESQUISA_COMPLETA .toString())) { filtroTabelaColuna.adicionarParametro(new ComparacaoTextoCompleto( FiltroTabelaColuna.DESCRICAO_COLUNA, nome)); } else { filtroTabelaColuna.adicionarParametro(new ComparacaoTexto( FiltroTabelaColuna.DESCRICAO_COLUNA, nome)); } } // Verifica se o campo codigo foi informado if (codigo != null && !codigo.trim().equalsIgnoreCase("")) { peloMenosUmParametroInformado = true; filtroTabelaColuna.adicionarParametro(new ParametroSimples( FiltroTabelaColuna.ID,codigo)); } //Verifica se o c�digo da Tabela foi digitado if (idTabela != null && !idTabela.trim().equals("") && Integer.parseInt(idTabela) > 0) { FiltroTabela filtroTabela = new FiltroTabela(); filtroTabela.adicionarParametro(new ParametroSimples( FiltroTabela.ID, idTabela)); Collection<Tabela> colecaoTabela = fachada.pesquisar(filtroTabela, Tabela.class.getName()); if(Util.isVazioOrNulo(colecaoTabela)){ throw new ActionServletException("atencao.tabela.inexistente"); } filtroTabelaColuna.adicionarParametro(new ParametroSimples(FiltroTabelaColuna.TABELA_ID,idTabela)); filtroTabelaColuna.adicionarCaminhoParaCarregamentoEntidade("tabela"); peloMenosUmParametroInformado = true; } filtroTabelaColuna.adicionarCaminhoParaCarregamentoEntidade(FiltroTabelaColuna.TABELA); // Erro caso o usu�rio mandou Pesquisar sem nenhum par�metro if (!peloMenosUmParametroInformado) { throw new ActionServletException( "atencao.filtro.nenhum_parametro_informado"); } if (sessao.getAttribute("podeRetificarContaAction") != null && !sessao.getAttribute("podeRetificarContaAction").equals("") && sessao.getAttribute("podeRetificarContaAction").equals("SIM")) { filtroTabelaColuna.adicionarParametro( new ParametroSimples(FiltroTabelaColuna.INDICADOR_PODE_RETIFICAR_CONTA, ConstantesSistema.SIM)); } Collection colecaoTabelaColuna = fachada.pesquisar(filtroTabelaColuna,TabelaColuna.class.getName()); if(colecaoTabelaColuna !=null && !colecaoTabelaColuna.isEmpty()){ sessao.setAttribute("colecaoTabelaColuna",colecaoTabelaColuna); }else{ throw new ActionServletException("atencao.naocadastrado",null,"Tabela Coluna"); } return retorno; } }