Details
diff --git a/jaxrs/src/main/java/com/ning/billing/jaxrs/json/ChargebackJson.java b/jaxrs/src/main/java/com/ning/billing/jaxrs/json/ChargebackJson.java
index 2c6cdad..ae35667 100644
--- a/jaxrs/src/main/java/com/ning/billing/jaxrs/json/ChargebackJson.java
+++ b/jaxrs/src/main/java/com/ning/billing/jaxrs/json/ChargebackJson.java
@@ -32,6 +32,7 @@ import com.fasterxml.jackson.annotation.JsonProperty;
public class ChargebackJson extends JsonBase {
+ private final String chargebackId;
private final String accountId;
private final DateTime requestedDate;
private final DateTime effectiveDate;
@@ -40,7 +41,8 @@ public class ChargebackJson extends JsonBase {
private final String currency;
@JsonCreator
- public ChargebackJson(@JsonProperty("accountId") final String accountId,
+ public ChargebackJson(@JsonProperty("chargebackId") final String chargebackId,
+ @JsonProperty("accountId") final String accountId,
@JsonProperty("requestedDate") final DateTime requestedDate,
@JsonProperty("effectiveDate") final DateTime effectiveDate,
@JsonProperty("amount") final BigDecimal chargebackAmount,
@@ -48,6 +50,7 @@ public class ChargebackJson extends JsonBase {
@JsonProperty("currency") final String currency,
@JsonProperty("auditLogs") @Nullable final List<AuditLogJson> auditLogs) {
super(auditLogs);
+ this.chargebackId = chargebackId;
this.accountId = accountId;
this.requestedDate = requestedDate;
this.effectiveDate = effectiveDate;
@@ -61,8 +64,12 @@ public class ChargebackJson extends JsonBase {
}
public ChargebackJson(final UUID accountId, final InvoicePayment chargeback, @Nullable final List<AuditLog> auditLogs) {
- this(accountId.toString(), chargeback.getPaymentDate(), chargeback.getPaymentDate(), chargeback.getAmount().negate(),
- chargeback.getPaymentId().toString(), chargeback.getCurrency().toString(), toAuditLogJson(auditLogs));
+ this(chargeback.getId().toString(), accountId.toString(), chargeback.getPaymentDate(), chargeback.getPaymentDate(),
+ chargeback.getAmount().negate(), chargeback.getPaymentId().toString(), chargeback.getCurrency().toString(), toAuditLogJson(auditLogs));
+ }
+
+ public String getChargebackId() {
+ return chargebackId;
}
public String getAccountId() {
@@ -100,6 +107,9 @@ public class ChargebackJson extends JsonBase {
final ChargebackJson that = (ChargebackJson) o;
+ if (chargebackId != null ? !chargebackId.equals(that.chargebackId) : that.chargebackId != null) {
+ return false;
+ }
if (!((amount == null && that.amount == null) ||
(amount != null && that.amount != null && amount.compareTo(that.amount) == 0))) {
return false;
@@ -121,16 +131,16 @@ public class ChargebackJson extends JsonBase {
(requestedDate != null && that.requestedDate != null && requestedDate.compareTo(that.requestedDate) == 0))) {
return false;
}
-
return true;
}
@Override
public int hashCode() {
- int result = requestedDate != null ? requestedDate.hashCode() : 0;
+ int result = chargebackId != null ? chargebackId.hashCode() : 0;
+ result = 31 * result + (accountId != null ? accountId.hashCode() : 0);
+ result = 31 * result + (requestedDate != null ? requestedDate.hashCode() : 0);
result = 31 * result + (effectiveDate != null ? effectiveDate.hashCode() : 0);
result = 31 * result + (amount != null ? amount.hashCode() : 0);
- result = 31 * result + (accountId != null ? accountId.hashCode() : 0);
result = 31 * result + (paymentId != null ? paymentId.hashCode() : 0);
result = 31 * result + (currency != null ? currency.hashCode() : 0);
return result;
@@ -139,7 +149,8 @@ public class ChargebackJson extends JsonBase {
@Override
public String toString() {
return "ChargebackJson{" +
- "accountId='" + accountId + '\'' +
+ "chargebackId='" + chargebackId + '\'' +
+ ", accountId='" + accountId + '\'' +
", requestedDate=" + requestedDate +
", effectiveDate=" + effectiveDate +
", amount=" + amount +
diff --git a/jaxrs/src/test/java/com/ning/billing/jaxrs/json/TestChargebackJson.java b/jaxrs/src/test/java/com/ning/billing/jaxrs/json/TestChargebackJson.java
index 4caee20..2a4c19e 100644
--- a/jaxrs/src/test/java/com/ning/billing/jaxrs/json/TestChargebackJson.java
+++ b/jaxrs/src/test/java/com/ning/billing/jaxrs/json/TestChargebackJson.java
@@ -36,12 +36,14 @@ public class TestChargebackJson extends JaxrsTestSuiteNoDB {
final DateTime requestedDate = new DateTime(DateTimeZone.UTC);
final DateTime effectiveDate = new DateTime(DateTimeZone.UTC);
final BigDecimal chargebackAmount = BigDecimal.TEN;
+ final String chargebackId = UUID.randomUUID().toString();
final String accountId = UUID.randomUUID().toString();
final String paymentId = UUID.randomUUID().toString();
final String currency = "USD";
final List<AuditLogJson> auditLogs = createAuditLogsJson(clock.getUTCNow());
- final ChargebackJson chargebackJson = new ChargebackJson(accountId, requestedDate, effectiveDate, chargebackAmount, paymentId,
- currency, auditLogs);
+ final ChargebackJson chargebackJson = new ChargebackJson(chargebackId, accountId, requestedDate, effectiveDate, chargebackAmount,
+ paymentId, currency, auditLogs);
+ Assert.assertEquals(chargebackJson.getChargebackId(), chargebackId);
Assert.assertEquals(chargebackJson.getRequestedDate(), requestedDate);
Assert.assertEquals(chargebackJson.getEffectiveDate(), effectiveDate);
Assert.assertEquals(chargebackJson.getAmount(), chargebackAmount);
diff --git a/server/src/test/java/com/ning/billing/jaxrs/KillbillClient.java b/server/src/test/java/com/ning/billing/jaxrs/KillbillClient.java
index 0e257ed..40336e1 100644
--- a/server/src/test/java/com/ning/billing/jaxrs/KillbillClient.java
+++ b/server/src/test/java/com/ning/billing/jaxrs/KillbillClient.java
@@ -724,7 +724,7 @@ public abstract class KillbillClient extends GuicyKillbillTestSuiteWithEmbeddedD
//
protected ChargebackJson createChargeBack(final String paymentId, final BigDecimal chargebackAmount) throws IOException {
- final ChargebackJson input = new ChargebackJson(null, null, null, chargebackAmount, paymentId, null, null);
+ final ChargebackJson input = new ChargebackJson(null, null, null, null, chargebackAmount, paymentId, null, null);
final String jsonInput = mapper.writeValueAsString(input);
// Create the chargeback
diff --git a/server/src/test/java/com/ning/billing/jaxrs/TestChargeback.java b/server/src/test/java/com/ning/billing/jaxrs/TestChargeback.java
index c0502e1..81a6f81 100644
--- a/server/src/test/java/com/ning/billing/jaxrs/TestChargeback.java
+++ b/server/src/test/java/com/ning/billing/jaxrs/TestChargeback.java
@@ -39,7 +39,6 @@ import com.ning.billing.jaxrs.resources.JaxrsResource;
import com.ning.http.client.Response;
import com.fasterxml.jackson.core.type.TypeReference;
-import com.google.common.collect.ImmutableMap;
import static org.testng.Assert.assertEquals;
import static org.testng.Assert.assertNotNull;
@@ -59,7 +58,7 @@ public class TestChargeback extends TestJaxrsBase {
final PaymentJson payment = createAccountWithInvoiceAndPayment();
// We get a 249.95 payment so we do 4 chargeback and then the fifth should fail
- final ChargebackJson input = new ChargebackJson(null, null, null, new BigDecimal("50.00"), payment.getPaymentId(), null, null);
+ final ChargebackJson input = new ChargebackJson(null, null, null, null, new BigDecimal("50.00"), payment.getPaymentId(), null, null);
final String jsonInput = mapper.writeValueAsString(input);
//
@@ -111,9 +110,9 @@ public class TestChargeback extends TestJaxrsBase {
@Test(groups = "slow")
public void testInvoicePaymentDoesNotExist() throws Exception {
- final ChargebackJson input = new ChargebackJson(null, new DateTime(DateTimeZone.UTC), new DateTime(DateTimeZone.UTC),
- BigDecimal.TEN, UUID.randomUUID().toString(),
- null, null);
+ final ChargebackJson input = new ChargebackJson(null, null, new DateTime(DateTimeZone.UTC),
+ new DateTime(DateTimeZone.UTC), BigDecimal.TEN,
+ UUID.randomUUID().toString(), null, null);
final String jsonInput = mapper.writeValueAsString(input);
// Try to create the chargeback
@@ -123,7 +122,7 @@ public class TestChargeback extends TestJaxrsBase {
@Test(groups = "slow")
public void testBadRequest() throws Exception {
- final ChargebackJson input = new ChargebackJson(null, null, null, null, null, null, null);
+ final ChargebackJson input = new ChargebackJson(null, null, null, null, null, null, null, null);
final String jsonInput = mapper.writeValueAsString(input);
// Try to create the chargeback
@@ -150,7 +149,7 @@ public class TestChargeback extends TestJaxrsBase {
}
private void createAndVerifyChargeback(final PaymentJson payment) throws IOException {
- final ChargebackJson input = new ChargebackJson(null, null, null, BigDecimal.TEN, payment.getPaymentId(), null, null);
+ final ChargebackJson input = new ChargebackJson(null, null, null, null, BigDecimal.TEN, payment.getPaymentId(), null, null);
final String jsonInput = mapper.writeValueAsString(input);
// Create the chargeback