package gcom.batch.faturamento; import gcom.faturamento.ControladorFaturamentoLocal; import gcom.faturamento.ControladorFaturamentoLocalHome; import gcom.micromedicao.Rota; import gcom.util.ConstantesJNDI; import gcom.util.ControladorException; import gcom.util.ServiceLocator; import gcom.util.ServiceLocatorException; import gcom.util.SistemaException; import java.util.Collection; import java.util.Date; import javax.ejb.CreateException; import javax.ejb.EJBException; import javax.ejb.MessageDrivenBean; import javax.ejb.MessageDrivenContext; import javax.jms.JMSException; import javax.jms.Message; import javax.jms.MessageListener; import javax.jms.ObjectMessage; /** * [UC1001] Emitir declara��o de quita��o anual de d�bitos * * Este caso de uso permite a gera��o de declara��o de quita��o de d�bitos. * * @author Hugo Amorim * @date 17/03/2010 */ public class BatchGerarDadosDeclaracaoQuitacaoAnualDebitosMDB implements MessageDrivenBean, MessageListener { private static final long serialVersionUID = 1L; public BatchGerarDadosDeclaracaoQuitacaoAnualDebitosMDB() { super(); } public void onMessage(Message message) { if (message instanceof ObjectMessage) { ObjectMessage objectMessage = (ObjectMessage) message; try { this.getControladorFaturamento() .gerarDadosDeclaracaoQuitacaoAnualDebitos( (Integer) ((Object[]) objectMessage.getObject())[0], //ID FUNCIONALIDADE INICIADA (Collection<Integer>) ((Object[]) objectMessage.getObject())[1], //ANO (Rota) ((Object[]) objectMessage.getObject())[2],//ROTA (Short) ((Object[]) objectMessage.getObject())[3],//INDICADOR CONTA PARCELADA (Short) ((Object[]) objectMessage.getObject())[4],//INDICADOR COBRANCA JUDICIAL (Date) ((Object[]) objectMessage.getObject())[5]//DATA VERIFICACAO PAGAMENTOS ); } catch (JMSException e) { System.out.println("Erro no MDB"); e.printStackTrace(); } catch (ControladorException e) { System.out.println("Erro no MDB"); e.printStackTrace(); } } } public void ejbRemove() throws EJBException { } public void setMessageDrivenContext(MessageDrivenContext arg0) throws EJBException { } /** * Retorna o valor de controladorFaturamento * * @return O valor de controladorFaturamento */ protected ControladorFaturamentoLocal getControladorFaturamento() { ControladorFaturamentoLocalHome localHome = null; ControladorFaturamentoLocal local = null; // pega a inst�ncia do ServiceLocator. ServiceLocator locator = null; try { locator = ServiceLocator.getInstancia(); localHome = (ControladorFaturamentoLocalHome) locator .getLocalHomePorEmpresa(ConstantesJNDI.CONTROLADOR_FATURAMENTO_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); } } public void ejbCreate() { } }