package br.com.caelum.stella.gateway.bb; import java.math.BigDecimal; import org.apache.commons.httpclient.methods.PostMethod; import br.com.caelum.stella.gateway.core.BigDecimalFormatter; import br.com.caelum.stella.gateway.core.GatewaysConf; import br.com.caelum.stella.gateway.core.HttpIntegrationRequester; import br.com.caelum.stella.gateway.core.IntegrationHandler; public class BBVerificaFormularioSonda implements IntegrationHandler<BBFormularioSondaReturn> { private BBBasicDataReturn dadosRetornoPadrao; private BigDecimal valorSonda; private BBFormularioSondaReturnBuilder formularioSondaReturnBuilder; public BBVerificaFormularioSonda(String refTran, BigDecimal valorSonda, BBFormularioSondaReturnBuilder formularioSondaReturnBuilder) { this(new BBBasicDataReturn(new BBDadosConfiguracao().getIdConv(), refTran), valorSonda, formularioSondaReturnBuilder); } public BBVerificaFormularioSonda(BBBasicDataReturn dadosRetornoPadrao, BigDecimal valorSonda, BBFormularioSondaReturnBuilder formularioSondaReturnBuilder) { super(); this.dadosRetornoPadrao = dadosRetornoPadrao; this.valorSonda = valorSonda; this.formularioSondaReturnBuilder = formularioSondaReturnBuilder; } public BBFormularioSondaReturn handle() { // TODO Auto-generated method stub PostMethod postMethod = new PostMethod(new GatewaysConf() .getBBUrlSonda()); postMethod.addParameter("refTran", dadosRetornoPadrao.getRefTran()); postMethod.addParameter("idConv", String.valueOf(dadosRetornoPadrao.getIdConv())); postMethod.addParameter("valorSonda", new BigDecimalFormatter() .bigDecimalToStringInCents(valorSonda)); postMethod.addParameter("formato", formularioSondaReturnBuilder .getCodigo()); String retorno = new HttpIntegrationRequester(postMethod).makeRequest(); return formularioSondaReturnBuilder.buildReturn(retorno); } }