/** * < <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("retornarFiltroTabelaAuxiliarTipo"); DynaValidatorForm pesquisarActionForm = (DynaValidatorForm) actionForm; // Obtém a instância da sessão HttpSession sessao = httpServletRequest.getSession(false); // pega na sessão o nome do tipo do objeto mandado pelo // ExibirManterTabelaAuxiliarTipoAction String tipoObjeto = (String) sessao.getAttribute("tipo"); // Recupera os parâmetros do form String id = (String) pesquisarActionForm.get("id"); String descricao = (String) pesquisarActionForm.get("descricao"); Integer tipo = (Integer) pesquisarActionForm.get("tipo"); // cria o filtro para Tabela Auxiliar FiltroTabelaAuxiliarTipo filtroTabelaAuxiliarTipo = new FiltroTabelaAuxiliarTipo(); // Insere os parâmetros informados no filtro if (id != null && !id.trim().equalsIgnoreCase("")) { filtroTabelaAuxiliarTipo.adicionarParametro( new ParametroSimples(FiltroTabelaAuxiliarTipo.ID, id)); } if (descricao != null && !descricao.trim().equalsIgnoreCase("")) { filtroTabelaAuxiliarTipo.adicionarParametro( new ComparacaoTexto(FiltroTabelaAuxiliarTipo.DESCRICAO, descricao)); } if (tipo != null && tipo.intValue() != ConstantesSistema.NUMERO_NAO_INFORMADO) { filtroTabelaAuxiliarTipo.adicionarParametro(new ParametroSimples(tipoObjeto, tipo)); } // Manda o filtro pelo request para o ExibirManterTabelaAuxiliar httpServletRequest.setAttribute("filtroTabelaAuxiliarTipo", filtroTabelaAuxiliarTipo); httpServletRequest.setAttribute("tipo", tipo); sessao.removeAttribute("tipo"); // Devolve o mapeamento de retorno return retorno; }
/** * < <Descrição do método>> * * @param tabelaAuxiliarAbstrata Descrição do parâmetro * @throws ControladorException */ public void atualizarTabelaAuxiliar(TabelaAuxiliarAbstrata tabelaAuxiliarAbstrata) throws ControladorException { try { // -----VALIDAÇÃO DOS TIMESTAMP PARA ATUALIZAÇÃO DE CADASTRO // Validação para Tabela Auxiliar if (tabelaAuxiliarAbstrata instanceof TabelaAuxiliar) { // Cria o objeto TabelaAuxiliar tabelaAuxiliar = null; // Faz o casting tabelaAuxiliar = (TabelaAuxiliar) tabelaAuxiliarAbstrata; // Cria o filtro FiltroTabelaAuxiliar filtroTabelaAuxiliar = new FiltroTabelaAuxiliar(); // Pega o nome do pacote do objeto String nomePacoteObjeto = tabelaAuxiliar.getClass().getName(); // Seta os parametros do filtro filtroTabelaAuxiliar.adicionarParametro( new ParametroSimples(FiltroTabelaAuxiliar.ID, tabelaAuxiliar.getId())); // Pesquisa a coleção de acordo com o filtro passado Collection tabelasAuxiliares = repositorioUtil.pesquisar(filtroTabelaAuxiliar, nomePacoteObjeto); TabelaAuxiliar tabelaAuxiliarNaBase = (TabelaAuxiliar) tabelasAuxiliares.iterator().next(); // Verifica se a data de alteração do objeto gravado na base é // maior que a na instancia if ((tabelaAuxiliarNaBase .getUltimaAlteracao() .after(tabelaAuxiliar.getUltimaAlteracao()))) { sessionContext.setRollbackOnly(); throw new ControladorException("erro.atualizacao.timestamp"); } // Faz uma referencia ao objeto tabelaAuxiliarAbstrata = tabelaAuxiliar; } // Validação para Tabela Auxiliar Abreviada if (tabelaAuxiliarAbstrata instanceof TabelaAuxiliarAbreviada) { // Cria o objeto TabelaAuxiliarAbreviada tabelaAuxiliarAbreviada = null; // Faz o casting tabelaAuxiliarAbreviada = (TabelaAuxiliarAbreviada) tabelaAuxiliarAbstrata; // Cria o filtro FiltroTabelaAuxiliarAbreviada filtroTabelaAuxiliarAbreviada = new FiltroTabelaAuxiliarAbreviada(); // Pega o nome do pacote do objeto String nomePacoteObjeto = tabelaAuxiliarAbreviada.getClass().getName(); // Seta os parametros do filtro filtroTabelaAuxiliarAbreviada.adicionarParametro( new ParametroSimples( FiltroTabelaAuxiliarAbreviada.ID, tabelaAuxiliarAbreviada.getId())); // Pesquisa a coleção de acordo com o filtro passado Collection tabelasAuxiliaresAbreviadas = repositorioUtil.pesquisar(filtroTabelaAuxiliarAbreviada, nomePacoteObjeto); TabelaAuxiliar tabelaAuxiliarAbreviadaNaBase = (TabelaAuxiliar) tabelasAuxiliaresAbreviadas.iterator().next(); // Verifica se a data de alteração do objeto gravado na base é // maior que a na instancia if ((tabelaAuxiliarAbreviadaNaBase .getUltimaAlteracao() .after(tabelaAuxiliarAbreviada.getUltimaAlteracao()))) { sessionContext.setRollbackOnly(); throw new ControladorException("erro.atualizacao.timestamp"); } // Faz uma referencia ao objeto tabelaAuxiliarAbstrata = tabelaAuxiliarAbreviada; } // Validação para Tabela Auxiliar Faixa if (tabelaAuxiliarAbstrata instanceof TabelaAuxiliarFaixa) { // Cria o objeto TabelaAuxiliarFaixa tabelaAuxiliarFaixa = null; // Faz o casting tabelaAuxiliarFaixa = (TabelaAuxiliarFaixa) tabelaAuxiliarAbstrata; // Cria o filtro FiltroTabelaAuxiliarFaixa filtroTabelaAuxiliarFaixa = new FiltroTabelaAuxiliarFaixa(); // Pega o nome do pacote do objeto String nomePacoteObjeto = tabelaAuxiliarFaixa.getClass().getName(); // Seta os parametros do filtro filtroTabelaAuxiliarFaixa.adicionarParametro( new ParametroSimples(FiltroTabelaAuxiliarFaixa.ID, tabelaAuxiliarFaixa.getId())); // Pesquisa a coleção de acordo com o filtro passado Collection tabelasAuxiliaresFaixas = repositorioUtil.pesquisar(filtroTabelaAuxiliarFaixa, nomePacoteObjeto); TabelaAuxiliarFaixa tabelaAuxiliarFaixaNaBase = (TabelaAuxiliarFaixa) tabelasAuxiliaresFaixas.iterator().next(); // Verifica se a data de alteração do objeto gravado na base é // maior que a na instancia if ((tabelaAuxiliarFaixaNaBase .getUltimaAlteracao() .after(tabelaAuxiliarFaixa.getUltimaAlteracao()))) { sessionContext.setRollbackOnly(); throw new AtualizacaoInvalidaException(); } // Faz uma referencia ao objeto tabelaAuxiliarAbstrata = tabelaAuxiliarFaixa; } // Validação para Tabela Auxiliar if (tabelaAuxiliarAbstrata instanceof TabelaAuxiliarTipo) { // Cria o objeto TabelaAuxiliarTipo tabelaAuxiliarTipo = null; // Faz o casting tabelaAuxiliarTipo = (TabelaAuxiliarTipo) tabelaAuxiliarAbstrata; // Cria o filtro FiltroTabelaAuxiliarTipo filtroTabelaAuxiliarTipo = new FiltroTabelaAuxiliarTipo(); // Pega o nome do pacote do objeto String nomePacoteObjeto = tabelaAuxiliarTipo.getClass().getName(); // Seta os parametros do filtro filtroTabelaAuxiliarTipo.adicionarParametro( new ParametroSimples(FiltroTabelaAuxiliarTipo.ID, tabelaAuxiliarTipo.getId())); // Pesquisa a coleção de acordo com o filtro passado Collection tabelasAuxiliaresTipos = repositorioUtil.pesquisar(filtroTabelaAuxiliarTipo, nomePacoteObjeto); TabelaAuxiliarTipo tabelaAuxiliarTipoNaBase = (TabelaAuxiliarTipo) tabelasAuxiliaresTipos.iterator().next(); // Verifica se a data de alteração do objeto gravado na base é // maior que a na instancia if ((tabelaAuxiliarTipoNaBase .getUltimaAlteracao() .after(tabelaAuxiliarTipo.getUltimaAlteracao()))) { sessionContext.setRollbackOnly(); throw new ControladorException("erro.atualizacao.timestamp"); } // Faz uma referencia ao objeto tabelaAuxiliarAbstrata = tabelaAuxiliarTipo; } // Seta a data/hora tabelaAuxiliarAbstrata.setUltimaAlteracao(new Date()); // Atualiza objeto repositorioUtil.atualizar(tabelaAuxiliarAbstrata); } catch (ErroRepositorioException ex) { sessionContext.setRollbackOnly(); throw new ControladorException("erro.sistema", ex); } }