package gcom.cobranca; import gcom.batch.ControladorBatchLocal; import gcom.batch.ControladorBatchLocalHome; import gcom.cadastro.imovel.ControladorImovelLocal; import gcom.cadastro.imovel.ControladorImovelLocalHome; import gcom.util.ConstantesJNDI; import gcom.util.ControladorException; import gcom.util.ErroRepositorioException; import gcom.util.ServiceLocator; import gcom.util.ServiceLocatorException; import gcom.util.SistemaException; import javax.ejb.CreateException; import javax.ejb.SessionContext; /** * Esta classe tem como finalidade encapsular o caso de uso [UC0880] - Gerar * Movimento de Extensao de Contas em Cobranca por Empresa , gerando maior * facilidade na manuten��o do mesmo. * * @author R�mulo Aur�lio * @date 09/02/2009 */ public class UC0880GerarMovimentoExtensaoContasEmCobrancaPorEmpresa { private static UC0880GerarMovimentoExtensaoContasEmCobrancaPorEmpresa instancia; private IRepositorioCobranca repositorioCobranca; private SessionContext sessionContext; private UC0880GerarMovimentoExtensaoContasEmCobrancaPorEmpresa( IRepositorioCobranca repositorioCobranca, SessionContext sessionContext) { this.repositorioCobranca = repositorioCobranca; this.sessionContext = sessionContext; } public static UC0880GerarMovimentoExtensaoContasEmCobrancaPorEmpresa getInstancia( IRepositorioCobranca repositorioCobranca, SessionContext sessionContext) { if (instancia == null) { instancia = new UC0880GerarMovimentoExtensaoContasEmCobrancaPorEmpresa( repositorioCobranca, sessionContext); } return instancia; } /** * Controlador Imovel * * @author Raphael Rossiter * @date 30/04/2008 * * @return ControladorImovelLocal */ protected ControladorImovelLocal getControladorImovel() { ControladorImovelLocalHome localHome = null; ControladorImovelLocal local = null; ServiceLocator locator = null; try { locator = ServiceLocator.getInstancia(); localHome = (ControladorImovelLocalHome) locator .getLocalHome(ConstantesJNDI.CONTROLADOR_IMOVEL_SEJB); // guarda a referencia de um objeto capaz de fazer chamadas � // objetos remotamente local = localHome.create(); return local; } catch (CreateException e) { throw new SistemaException(e); } catch (ServiceLocatorException e) { throw new SistemaException(e); } } /** * Controlador Cobranca * * @author Raphael Rossiter * @date 30/04/2008 * * @return ControladorCobrancaLocal */ protected ControladorCobrancaLocal getControladorCobranca() { ControladorCobrancaLocalHome localHome = null; ControladorCobrancaLocal local = null; ServiceLocator locator = null; try { locator = ServiceLocator.getInstancia(); localHome = (ControladorCobrancaLocalHome) locator .getLocalHomePorEmpresa(ConstantesJNDI.CONTROLADOR_COBRANCA_SEJB); // guarda a referencia de um objeto capaz de fazer chamadas � // objetos remotamente local = localHome.create(); return local; } catch (CreateException e) { throw new SistemaException(e); } catch (ServiceLocatorException e) { throw new SistemaException(e); } } protected ControladorBatchLocal getControladorBatch() { ControladorBatchLocalHome localHome = null; ControladorBatchLocal local = null; // pega a inst�ncia do ServiceLocator. ServiceLocator locator = null; try { locator = ServiceLocator.getInstancia(); localHome = (ControladorBatchLocalHome) locator .getLocalHome(ConstantesJNDI.CONTROLADOR_BATCH_SEJB); local = localHome.create(); return local; } catch (CreateException e) { throw new SistemaException(e); } catch (ServiceLocatorException e) { throw new SistemaException(e); } } /** * [UC0880] - Gerar Movimento de Extensao de Contas em Cobranca por Empresa * * @author R�mulo Aur�lio * @param idPerfil * @date 09/02/2009 * * @param idRota * @param anoMesReferencia * @return boolean * @throws ControladorException */ public void gerarMovimentoExtensaoContasEmCobranca(Integer idLocalidade, Integer idPerfil) throws ControladorException { try { repositorioCobranca .inserirMovimentoExtensaoContasEmCobranca(idLocalidade,idPerfil); } catch (ErroRepositorioException e) { sessionContext.setRollbackOnly(); throw new ControladorException("erro.sistema", e); } } }