/* * * Copyright (c) 2013 - 2014 INT - National Institute of Technology & COPPE - Alberto Luiz Coimbra Institute - Graduate School and Research in Engineering. * See the file license.txt for copyright permission. * */ package service; import java.util.List; import service.anotacao.Transacional; import service.exception.AplicacaoException; import modelo.Parametros; import DAO.ParametrosDAO; import DAO.Impl.ParametrosDAOImpl; import DAO.controle.FabricaDeDao; import DAO.exception.ObjetoNaoEncontradoException; /** * * As classes de servi�o � que possuem as regras de neg�cio. Fazem as cr�ticas * quando necess�rio e chamam as classes DAO para pegar as informa��es do BD. * * S�o essas classes AppService que fazem o controle de transa�ao, ou seja quem * abre a transa�ao, "quem commita" atrav�s do interceptador de appservice. Aqui * defino se o metodo � transacional ou n�o e em fun�ao desta informa�ao o * interceptador vai usar ou nao transacao. * * * * @author felipe * */ public class ParametrosAppService { // DAOs private static ParametrosDAO parametrosDAO; public ParametrosAppService() { try { // DAOs parametrosDAO = FabricaDeDao.getDao(ParametrosDAOImpl.class); } catch (Exception e) { e.printStackTrace(); // O comando a seguir s� ser� usado caso haja a cria��o de um service. // Exemplo: // Um Service A tem dentro de si a chamada de um Service B, s� que o Service B tamb�m tem // uma chamada para o Service A, logo um service chamaria o outro sem parar causando assim um loop infinito. // Contudo, em termos de uso do sistemas esse erro n�o ocorreria de forma clara, // pois a View seria carregada sem dados. // Para evitar que esse tipo de erro gere confus�es - como o usu�rio pensar que o banco foi perdido, por exemplo - // utilizamos o comando System.exit(1) que interrompe a aplica��o, deixando explicita a ocorr�ncia do erro. //System.exit(1); } } /** * cria um objeto do tipo Parametros * * @throws AplicacaoException */ @Transacional public void inclui(Parametros parametros) { parametrosDAO.inclui(parametros); } /** * Altera um objeto do tipo Parametros * * @throws AplicacaoException */ @Transacional public void altera(Parametros parametros) { parametrosDAO.altera(parametros); } // A principio nao � para ter exclui ja que eh preciso ter sempre esse objeto la no BD // // /** // * Exclui um objeto do tipo Parametros // * // * @throws AplicacaoException // */ // @Transacional // public void exclui(Parametros parametros) throws AplicacaoException { // // try { // parametros = parametrosDAO.recuperaParametrosPorId(parametros.getId()); // } catch (ObjetoNaoEncontradoException e) { // throw new AplicacaoException("parametros.NAO_ENCONTRADO"); // } // // parametrosDAO.exclui(parametros); // } /** * Executa uma busca por um unico conjunto de parametros pelo Id * * @return Parametros */ public Parametros recuperaParametrosPorId(long id) { Parametros parametros = null; try{ parametros = parametrosDAO.recuperaParametrosPorId(id); }catch(ObjetoNaoEncontradoException e){ } return parametros; } /** * Executa uma busca por todos os parametros * * @return List<Parametros> */ public List<Parametros> recuperaListaDeParametros() { return parametrosDAO.recuperaListaDeParametros(); } }