package gcom.batch.cobranca.spcserasa;
import gcom.cobranca.NegativacaoComando;
import gcom.cobranca.NegativacaoCriterio;
import gcom.cobranca.Negativador;
import gcom.cobranca.NegativadorContrato;
import gcom.cobranca.NegativadorMovimento;
import gcom.spcserasa.ControladorSpcSerasaLocal;
import gcom.spcserasa.ControladorSpcSerasaLocalHome;
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;
public class BatchExecutarComandoNegativacaoMDB implements MessageDrivenBean, MessageListener {
private static final long serialVersionUID = 1L;
public BatchExecutarComandoNegativacaoMDB() {
super();
}
public void setMessageDrivenContext(MessageDrivenContext ctx) throws EJBException {}
public void ejbRemove() throws EJBException {}
public void onMessage(Message message) {
if (message instanceof ObjectMessage) {
ObjectMessage objectMessage = (ObjectMessage) message;
try {
this.getControladorSpcSerasa().gerarMovimentodeInclusaoNegativacaoPorCriterio(
(Integer) ((Object[]) objectMessage.getObject())[0],
(NegativacaoCriterio) ((Object[]) objectMessage.getObject())[1],
(Negativador) ((Object[]) objectMessage.getObject())[2],
(NegativacaoComando) ((Object[]) objectMessage.getObject())[3],
(NegativadorContrato) ((Object[]) objectMessage.getObject())[4],
(NegativadorMovimento) ((Object[]) objectMessage.getObject())[5],
(Integer) ((Object[]) objectMessage.getObject())[6]);
} catch (JMSException e) {
System.out.println("Erro no MDB");
e.printStackTrace();
} catch (ControladorException e) {
System.out.println("Erro no MDB");
e.printStackTrace();
}
}
}
private ControladorSpcSerasaLocal getControladorSpcSerasa() {
ControladorSpcSerasaLocalHome localHome = null;
ControladorSpcSerasaLocal local = null;
ServiceLocator locator = null;
try {
locator = ServiceLocator.getInstancia();
localHome = (ControladorSpcSerasaLocalHome) locator.getLocalHome(ConstantesJNDI.CONTROLADOR_SPC_SERASA_SEJB);
local = localHome.create();
return local;
} catch (CreateException e) {
throw new SistemaException(e);
} catch (ServiceLocatorException e) {
throw new SistemaException(e);
}
}
public void ejbCreate() {}
}