killbill-uncached

Fix #5

9/13/2013 11:07:37 PM

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 dae101d..d7b3c39 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
@@ -33,23 +33,23 @@ public class ChargebackJson extends JsonBase {
 
     private final DateTime requestedDate;
     private final DateTime effectiveDate;
-    private final BigDecimal chargebackAmount;
+    private final BigDecimal amount;
     private final String paymentId;
-    private final String reason;
+    private final String currency;
 
     @JsonCreator
     public ChargebackJson(@JsonProperty("requestedDate") final DateTime requestedDate,
                           @JsonProperty("effectiveDate") final DateTime effectiveDate,
-                          @JsonProperty("chargebackAmount") final BigDecimal chargebackAmount,
+                          @JsonProperty("amount") final BigDecimal chargebackAmount,
                           @JsonProperty("paymentId") final String paymentId,
-                          @JsonProperty("reason") final String reason,
+                          @JsonProperty("currency") final String currency,
                           @JsonProperty("auditLogs") @Nullable final List<AuditLogJson> auditLogs) {
         super(auditLogs);
         this.requestedDate = requestedDate;
         this.effectiveDate = effectiveDate;
-        this.chargebackAmount = chargebackAmount;
+        this.amount = chargebackAmount;
         this.paymentId = paymentId;
-        this.reason = reason;
+        this.currency = currency;
     }
 
     public ChargebackJson(final InvoicePayment chargeback) {
@@ -58,7 +58,7 @@ public class ChargebackJson extends JsonBase {
 
     public ChargebackJson(final InvoicePayment chargeback, @Nullable final List<AuditLog> auditLogs) {
         this(chargeback.getPaymentDate(), chargeback.getPaymentDate(), chargeback.getAmount().negate(),
-             chargeback.getPaymentId().toString(), reasonCodeFromAuditLogs(auditLogs), toAuditLogJson(auditLogs));
+             chargeback.getPaymentId().toString(), chargeback.getCurrency().toString(), toAuditLogJson(auditLogs));
     }
 
     public DateTime getRequestedDate() {
@@ -69,16 +69,16 @@ public class ChargebackJson extends JsonBase {
         return effectiveDate;
     }
 
-    public BigDecimal getChargebackAmount() {
-        return chargebackAmount;
+    public BigDecimal getAmount() {
+        return amount;
     }
 
-    public String getPaymentId() {
-        return paymentId;
+    public String getCurrency() {
+        return currency;
     }
 
-    public String getReason() {
-        return reason;
+    public String getPaymentId() {
+        return paymentId;
     }
 
     @Override
@@ -92,8 +92,8 @@ public class ChargebackJson extends JsonBase {
 
         final ChargebackJson that = (ChargebackJson) o;
 
-        if (!((chargebackAmount == null && that.chargebackAmount == null) ||
-              (chargebackAmount != null && that.chargebackAmount != null && chargebackAmount.compareTo(that.chargebackAmount) == 0))) {
+        if (!((amount == null && that.amount == null) ||
+              (amount != null && that.amount != null && amount.compareTo(that.amount) == 0))) {
             return false;
         }
         if (!((effectiveDate == null && that.effectiveDate == null) ||
@@ -103,7 +103,7 @@ public class ChargebackJson extends JsonBase {
         if (paymentId != null ? !paymentId.equals(that.paymentId) : that.paymentId != null) {
             return false;
         }
-        if (reason != null ? !reason.equals(that.reason) : that.reason != null) {
+        if (currency != null ? !currency.equals(that.currency) : that.currency != null) {
             return false;
         }
         if (!((requestedDate == null && that.requestedDate == null) ||
@@ -118,9 +118,9 @@ public class ChargebackJson extends JsonBase {
     public int hashCode() {
         int result = requestedDate != null ? requestedDate.hashCode() : 0;
         result = 31 * result + (effectiveDate != null ? effectiveDate.hashCode() : 0);
-        result = 31 * result + (chargebackAmount != null ? chargebackAmount.hashCode() : 0);
+        result = 31 * result + (amount != null ? amount.hashCode() : 0);
         result = 31 * result + (paymentId != null ? paymentId.hashCode() : 0);
-        result = 31 * result + (reason != null ? reason.hashCode() : 0);
+        result = 31 * result + (currency != null ? currency.hashCode() : 0);
         return result;
     }
 }
diff --git a/jaxrs/src/main/java/com/ning/billing/jaxrs/json/JsonBase.java b/jaxrs/src/main/java/com/ning/billing/jaxrs/json/JsonBase.java
index 2cbdf29..f40d131 100644
--- a/jaxrs/src/main/java/com/ning/billing/jaxrs/json/JsonBase.java
+++ b/jaxrs/src/main/java/com/ning/billing/jaxrs/json/JsonBase.java
@@ -52,14 +52,6 @@ public abstract class JsonBase {
         }));
     }
 
-    protected static String reasonCodeFromAuditLogs(@Nullable final List<AuditLog> auditLogs) {
-        if (auditLogs == null || auditLogs.size() == 0) {
-            return null;
-        }
-
-        return auditLogs.get(0).getReasonCode();
-    }
-
     protected static String toString(@Nullable final UUID id) {
         return id == null ? null : id.toString();
     }
diff --git a/jaxrs/src/main/java/com/ning/billing/jaxrs/resources/ChargebackResource.java b/jaxrs/src/main/java/com/ning/billing/jaxrs/resources/ChargebackResource.java
index 203e5ab..6b1bd9f 100644
--- a/jaxrs/src/main/java/com/ning/billing/jaxrs/resources/ChargebackResource.java
+++ b/jaxrs/src/main/java/com/ning/billing/jaxrs/resources/ChargebackResource.java
@@ -16,8 +16,6 @@
 
 package com.ning.billing.jaxrs.resources;
 
-import java.util.ArrayList;
-import java.util.List;
 import java.util.UUID;
 
 import javax.servlet.http.HttpServletRequest;
@@ -37,7 +35,6 @@ import com.ning.billing.clock.Clock;
 import com.ning.billing.invoice.api.InvoiceApiException;
 import com.ning.billing.invoice.api.InvoicePayment;
 import com.ning.billing.invoice.api.InvoicePaymentApi;
-import com.ning.billing.jaxrs.json.ChargebackCollectionJson;
 import com.ning.billing.jaxrs.json.ChargebackJson;
 import com.ning.billing.jaxrs.util.Context;
 import com.ning.billing.jaxrs.util.JaxrsUriBuilder;
@@ -45,7 +42,6 @@ import com.ning.billing.util.api.AuditUserApi;
 import com.ning.billing.util.api.CustomFieldUserApi;
 import com.ning.billing.util.api.TagUserApi;
 import com.ning.billing.util.callcontext.CallContext;
-import com.ning.billing.util.callcontext.TenantContext;
 
 import com.google.inject.Inject;
 import com.google.inject.Singleton;
@@ -98,7 +94,7 @@ public class ChargebackResource extends JaxRsResourceBase {
         if (invoicePayment == null) {
             throw new InvoiceApiException(ErrorCode.INVOICE_PAYMENT_NOT_FOUND, json.getPaymentId());
         }
-        final InvoicePayment chargeBack = invoicePaymentApi.createChargeback(invoicePayment.getId(), json.getChargebackAmount(),
+        final InvoicePayment chargeBack = invoicePaymentApi.createChargeback(invoicePayment.getId(), json.getAmount(),
                                                                              callContext);
         return uriBuilder.buildResponse(ChargebackResource.class, "getChargeback", chargeBack.getId());
     }
diff --git a/jaxrs/src/test/java/com/ning/billing/jaxrs/json/TestChargebackCollectionJson.java b/jaxrs/src/test/java/com/ning/billing/jaxrs/json/TestChargebackCollectionJson.java
index 4a6778d..28bb72f 100644
--- a/jaxrs/src/test/java/com/ning/billing/jaxrs/json/TestChargebackCollectionJson.java
+++ b/jaxrs/src/test/java/com/ning/billing/jaxrs/json/TestChargebackCollectionJson.java
@@ -39,10 +39,10 @@ public class TestChargebackCollectionJson extends JaxrsTestSuiteNoDB {
         final DateTime effectiveDate = new DateTime(DateTimeZone.UTC);
         final BigDecimal chargebackAmount = BigDecimal.TEN;
         final String paymentId = UUID.randomUUID().toString();
-        final String reason = UUID.randomUUID().toString();
+        final String currency = "USD";
         final List<AuditLogJson> auditLogs = createAuditLogsJson(clock.getUTCNow());
         final ChargebackJson chargebackJson = new ChargebackJson(requestedDate, effectiveDate, chargebackAmount, paymentId,
-                                                                 reason, auditLogs);
+                                                                 currency, auditLogs);
 
         final String accountId = UUID.randomUUID().toString();
         final ChargebackCollectionJson chargebackCollectionJson = new ChargebackCollectionJson(accountId, ImmutableList.<ChargebackJson>of(chargebackJson));
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 cfaad76..e40ae9b 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
@@ -37,15 +37,14 @@ public class TestChargebackJson extends JaxrsTestSuiteNoDB {
         final DateTime effectiveDate = new DateTime(DateTimeZone.UTC);
         final BigDecimal chargebackAmount = BigDecimal.TEN;
         final String paymentId = UUID.randomUUID().toString();
-        final String reason = UUID.randomUUID().toString();
+        final String currency = "USD";
         final List<AuditLogJson> auditLogs = createAuditLogsJson(clock.getUTCNow());
         final ChargebackJson chargebackJson = new ChargebackJson(requestedDate, effectiveDate, chargebackAmount, paymentId,
-                                                                 reason, auditLogs);
+                                                                 currency, auditLogs);
         Assert.assertEquals(chargebackJson.getRequestedDate(), requestedDate);
         Assert.assertEquals(chargebackJson.getEffectiveDate(), effectiveDate);
-        Assert.assertEquals(chargebackJson.getChargebackAmount(), chargebackAmount);
+        Assert.assertEquals(chargebackJson.getAmount(), chargebackAmount);
         Assert.assertEquals(chargebackJson.getPaymentId(), paymentId);
-        Assert.assertEquals(chargebackJson.getReason(), reason);
         Assert.assertEquals(chargebackJson.getAuditLogs(), auditLogs);
 
         final String asJson = mapper.writeValueAsString(chargebackJson);
diff --git a/server/src/test/java/com/ning/billing/jaxrs/TestAccountTimeline.java b/server/src/test/java/com/ning/billing/jaxrs/TestAccountTimeline.java
index 57c4d65..b5227f6 100644
--- a/server/src/test/java/com/ning/billing/jaxrs/TestAccountTimeline.java
+++ b/server/src/test/java/com/ning/billing/jaxrs/TestAccountTimeline.java
@@ -120,7 +120,7 @@ public class TestAccountTimeline extends TestJaxrsBase {
             Assert.assertEquals(paymentJson.getChargebacks().size(), 1);
             final ChargebackJson chargebackJson = paymentJson.getChargebacks().get(0);
             Assert.assertEquals(chargebackJson.getPaymentId(), paymentJson.getPaymentId());
-            Assert.assertEquals(chargebackJson.getChargebackAmount().compareTo(chargebackAmount), 0);
+            Assert.assertEquals(chargebackJson.getAmount().compareTo(chargebackAmount), 0);
 
             // Verify audits
             final List<AuditLogJson> paymentAuditLogs = paymentJson.getAuditLogs();
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 4975c17..7729321 100644
--- a/server/src/test/java/com/ning/billing/jaxrs/TestChargeback.java
+++ b/server/src/test/java/com/ning/billing/jaxrs/TestChargeback.java
@@ -82,7 +82,7 @@ public class TestChargeback extends TestJaxrsBase {
         assertEquals(objFromJson.getChargebacks().size(), 4);
         for (int i = 0; i < objFromJson.getChargebacks().size(); i++) {
             final ChargebackJson chargeBack = objFromJson.getChargebacks().get(i);
-            assertTrue(chargeBack.getChargebackAmount().compareTo(input.getChargebackAmount()) == 0);
+            assertTrue(chargeBack.getAmount().compareTo(input.getAmount()) == 0);
             assertEquals(chargeBack.getPaymentId(), input.getPaymentId());
         }
 
@@ -113,8 +113,8 @@ public class TestChargeback extends TestJaxrsBase {
     @Test(groups = "slow")
     public void testInvoicePaymentDoesNotExist() throws Exception {
         final ChargebackJson input = new ChargebackJson(new DateTime(DateTimeZone.UTC), new DateTime(DateTimeZone.UTC),
-                                                        BigDecimal.TEN, UUID.randomUUID().toString(), UUID.randomUUID().toString(),
-                                                        null);
+                                                        BigDecimal.TEN, UUID.randomUUID().toString(),
+                                                        null, null);
         final String jsonInput = mapper.writeValueAsString(input);
 
         // Try to create the chargeback
@@ -179,14 +179,14 @@ public class TestChargeback extends TestJaxrsBase {
         final ChargebackCollectionJson objFromJson = mapper.readValue(response.getResponseBody(), ChargebackCollectionJson.class);
         assertEquals(objFromJson.getChargebacks().size(), 1);
         final ChargebackJson chargeBack = objFromJson.getChargebacks().get(0);
-        assertTrue(chargeBack.getChargebackAmount().compareTo(input.getChargebackAmount()) == 0);
+        assertTrue(chargeBack.getAmount().compareTo(input.getAmount()) == 0);
         assertEquals(chargeBack.getPaymentId(), input.getPaymentId());
     }
 
     private void verifySingleChargebackResponse(final Response response, final ChargebackJson input) throws IOException {
         assertEquals(response.getStatusCode(), Status.OK.getStatusCode());
         final ChargebackJson objFromJson = mapper.readValue(response.getResponseBody(), ChargebackJson.class);
-        assertTrue(objFromJson.getChargebackAmount().compareTo(input.getChargebackAmount()) == 0);
+        assertTrue(objFromJson.getAmount().compareTo(input.getAmount()) == 0);
     }
 
     private PaymentJsonSimple createAccountWithInvoiceAndPayment() throws Exception {