package gcom.batch.atendimentopublico; import gcom.atendimentopublico.ControladorAtendimentoPublicoLocal; import gcom.atendimentopublico.ControladorAtendimentoPublicoLocalHome; import gcom.cadastro.localidade.SetorComercial; import gcom.cadastro.sistemaparametro.SistemaParametro; import gcom.seguranca.acesso.usuario.Usuario; import gcom.util.ConstantesJNDI; import gcom.util.ControladorException; import gcom.util.ServiceLocator; import gcom.util.ServiceLocatorException; import gcom.util.SistemaException; 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; /** * [UC0996] Emitir Ordem de Fiscaliza��o para im�veis suprimidos * * Este caso de uso permite realizar a recupera��o das informa��es dos im�veis * que estejam com seus ramais surprimidos, parcialmente ou totalmente, por um * per�odo pr�-determinado e os armazena em uma base de dados para uma posterior * gera��o de arquivo de texto. * * * @author Hugo Amorim * @date 08/03/2010 * */ public class BatchEmitirOrdemDeFiscalizacaoMDB implements MessageDrivenBean, MessageListener { /** * */ private static final long serialVersionUID = 1L; public BatchEmitirOrdemDeFiscalizacaoMDB() { super(); } public void ejbRemove() throws EJBException { } public void setMessageDrivenContext(MessageDrivenContext arg0) throws EJBException { } public void onMessage(Message message) { if (message instanceof ObjectMessage) { ObjectMessage objectMessage = (ObjectMessage) message; try { this.getControladorAtendimentoPublico() .gerarDadosOrdemDeFiscalizacao( (Integer) ((Object[]) objectMessage.getObject())[0], (Usuario) ((Object[]) objectMessage.getObject())[1], (SetorComercial) ((Object[]) objectMessage.getObject())[2], (SistemaParametro) ((Object[]) objectMessage.getObject())[3]); } catch (JMSException e) { System.out.println("Erro no MDB"); e.printStackTrace(); } catch (ControladorException e) { System.out.println("Erro no MDB"); e.printStackTrace(); } } } /** * Default create method * * @throws CreateException */ public void ejbCreate() { } /** * Retorna o valor de controladorAtendimentoPublico * * @return O valor de controladorAtendimentoPublico */ protected ControladorAtendimentoPublicoLocal getControladorAtendimentoPublico() { ControladorAtendimentoPublicoLocalHome localHome = null; ControladorAtendimentoPublicoLocal local = null; // pega a inst�ncia do ServiceLocator. ServiceLocator locator = null; try { locator = ServiceLocator.getInstancia(); localHome = (ControladorAtendimentoPublicoLocalHome) locator .getLocalHome(ConstantesJNDI.CONTROLADOR_ATENDIMENTO_PUBLICO_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); } } }