package br.com.caelum.stella.gateway.bb; import java.text.MessageFormat; import br.com.caelum.stella.gateway.core.IntegrationHandler; public class BBSolicitaAutorizacaoPagamento implements IntegrationHandler<BBDadosAutorizacaoPagamento> { private BBCheckout checkout; private String numeroASerAnexadoAoCodigoDeConvenio; private Object[] urlRetornoParams; private Object[] urlInformaParams; private BBDadosConfiguracao dadosConfiguracao; public BBSolicitaAutorizacaoPagamento(BBCheckout checkout, String numeroASerAnexadoAoCodigoDeConvenio) { this(checkout, new BBDadosConfiguracao(), numeroASerAnexadoAoCodigoDeConvenio, new Object[] {}, new Object[] {}); } public BBSolicitaAutorizacaoPagamento(BBCheckout checkout, String numeroASerAnexadoAoCodigoDeConvenio, Object[] urlRetornoParams, Object[] urlInformaParams) { this(checkout, new BBDadosConfiguracao(), numeroASerAnexadoAoCodigoDeConvenio, urlRetornoParams, urlInformaParams); } public BBSolicitaAutorizacaoPagamento(BBCheckout checkout, BBDadosConfiguracao dadosConfiguracao, String numeroASerAnexadoAoCodigoDeConvenio) { this(checkout, dadosConfiguracao, numeroASerAnexadoAoCodigoDeConvenio, new Object[] {}, new Object[] {}); } public BBSolicitaAutorizacaoPagamento(BBCheckout checkout, BBDadosConfiguracao dadosConfiguracao, String numeroASerAnexadoAoCodigoDeConvenio, Object[] urlRetornoParams, Object[] urlInformaParams) { this.checkout = checkout; this.dadosConfiguracao = dadosConfiguracao; this.numeroASerAnexadoAoCodigoDeConvenio = numeroASerAnexadoAoCodigoDeConvenio; this.urlRetornoParams = urlInformaParams; this.urlInformaParams = urlInformaParams; } public BBDadosAutorizacaoPagamento handle() { // TODO Auto-generated method stub return new BBDadosAutorizacaoPagamento(checkout,new BBBasicDataReturn(dadosConfiguracao.getIdConv(), new RefTranGenerator().geraRefTran(dadosConfiguracao.getCodigoConvenioCobranca(), numeroASerAnexadoAoCodigoDeConvenio)), MessageFormat .format(dadosConfiguracao.getUrlRetorno(), urlRetornoParams), MessageFormat.format( dadosConfiguracao.getUrlInforma(), urlInformaParams)); } }