Details
diff --git a/jaxrs/src/main/java/com/ning/billing/jaxrs/json/InvoiceItemJsonSimple.java b/jaxrs/src/main/java/com/ning/billing/jaxrs/json/InvoiceItemJsonSimple.java
index 9a1d2de..bf09acf 100644
--- a/jaxrs/src/main/java/com/ning/billing/jaxrs/json/InvoiceItemJsonSimple.java
+++ b/jaxrs/src/main/java/com/ning/billing/jaxrs/json/InvoiceItemJsonSimple.java
@@ -17,7 +17,9 @@
package com.ning.billing.jaxrs.json;
import java.math.BigDecimal;
-import java.util.UUID;
+import java.util.List;
+
+import javax.annotation.Nullable;
import org.joda.time.LocalDate;
@@ -26,13 +28,13 @@ import com.ning.billing.invoice.api.InvoiceItem;
import com.fasterxml.jackson.annotation.JsonProperty;
-public class InvoiceItemJsonSimple {
+public class InvoiceItemJsonSimple extends JsonBase {
- private final UUID invoiceItemId;
- private final UUID invoiceId;
- private final UUID accountId;
- private final UUID bundleId;
- private final UUID subscriptionId;
+ private final String invoiceItemId;
+ private final String invoiceId;
+ private final String accountId;
+ private final String bundleId;
+ private final String subscriptionId;
private final String planName;
private final String phaseName;
private final String description;
@@ -41,18 +43,20 @@ public class InvoiceItemJsonSimple {
private final BigDecimal amount;
private final Currency currency;
- public InvoiceItemJsonSimple(@JsonProperty("invoiceItemId") final UUID invoiceItemId,
- @JsonProperty("invoiceId") final UUID invoiceId,
- @JsonProperty("accountId") final UUID accountId,
- @JsonProperty("bundleId") final UUID bundleId,
- @JsonProperty("subscriptionId") final UUID subscriptionId,
+ public InvoiceItemJsonSimple(@JsonProperty("invoiceItemId") final String invoiceItemId,
+ @JsonProperty("invoiceId") final String invoiceId,
+ @JsonProperty("accountId") final String accountId,
+ @JsonProperty("bundleId") final String bundleId,
+ @JsonProperty("subscriptionId") final String subscriptionId,
@JsonProperty("planName") final String planName,
@JsonProperty("phaseName") final String phaseName,
@JsonProperty("description") final String description,
@JsonProperty("startDate") final LocalDate startDate,
@JsonProperty("endDate") final LocalDate endDate,
@JsonProperty("amount") final BigDecimal amount,
- @JsonProperty("currency") final Currency currency) {
+ @JsonProperty("currency") final Currency currency,
+ @JsonProperty("auditLogs") @Nullable final List<AuditLogJson> auditLogs) {
+ super(auditLogs);
this.invoiceItemId = invoiceItemId;
this.invoiceId = invoiceId;
this.accountId = accountId;
@@ -68,28 +72,29 @@ public class InvoiceItemJsonSimple {
}
public InvoiceItemJsonSimple(final InvoiceItem item) {
- this(item.getId(), item.getInvoiceId(), item.getAccountId(), item.getBundleId(), item.getSubscriptionId(),
+ this(toString(item.getId()), toString(item.getInvoiceId()), toString(item.getAccountId()),
+ toString(item.getBundleId()), toString(item.getSubscriptionId()),
item.getPlanName(), item.getPhaseName(), item.getDescription(), item.getStartDate(), item.getEndDate(),
- item.getAmount(), item.getCurrency());
+ item.getAmount(), item.getCurrency(), null);
}
- public UUID getInvoiceItemId() {
+ public String getInvoiceItemId() {
return invoiceItemId;
}
- public UUID getInvoiceId() {
+ public String getInvoiceId() {
return invoiceId;
}
- public UUID getAccountId() {
+ public String getAccountId() {
return accountId;
}
- public UUID getBundleId() {
+ public String getBundleId() {
return bundleId;
}
- public UUID getSubscriptionId() {
+ public String getSubscriptionId() {
return subscriptionId;
}
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 b3e078c..315e74d 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
@@ -17,6 +17,7 @@
package com.ning.billing.jaxrs.json;
import java.util.List;
+import java.util.UUID;
import javax.annotation.Nullable;
@@ -55,6 +56,10 @@ public abstract class JsonBase {
return auditLogs.get(0).getReasonCode();
}
+ protected static String toString(@Nullable final UUID id) {
+ return id == null ? null : id.toString();
+ }
+
public List<AuditLogJson> getAuditLogs() {
return auditLogs;
}
diff --git a/jaxrs/src/test/java/com/ning/billing/jaxrs/json/TestInvoiceItemJsonSimple.java b/jaxrs/src/test/java/com/ning/billing/jaxrs/json/TestInvoiceItemJsonSimple.java
index 327bc83..a182119 100644
--- a/jaxrs/src/test/java/com/ning/billing/jaxrs/json/TestInvoiceItemJsonSimple.java
+++ b/jaxrs/src/test/java/com/ning/billing/jaxrs/json/TestInvoiceItemJsonSimple.java
@@ -17,6 +17,7 @@
package com.ning.billing.jaxrs.json;
import java.math.BigDecimal;
+import java.util.List;
import java.util.UUID;
import org.joda.time.LocalDate;
@@ -36,11 +37,11 @@ public class TestInvoiceItemJsonSimple extends JaxrsTestSuite {
@Test(groups = "fast")
public void testJson() throws Exception {
- final UUID invoiceItemId = UUID.randomUUID();
- final UUID invoiceId = UUID.randomUUID();
- final UUID accountId = UUID.randomUUID();
- final UUID bundleId = UUID.randomUUID();
- final UUID subscriptionId = UUID.randomUUID();
+ final String invoiceItemId = UUID.randomUUID().toString();
+ final String invoiceId = UUID.randomUUID().toString();
+ final String accountId = UUID.randomUUID().toString();
+ final String bundleId = UUID.randomUUID().toString();
+ final String subscriptionId = UUID.randomUUID().toString();
final String planName = UUID.randomUUID().toString();
final String phaseName = UUID.randomUUID().toString();
final String description = UUID.randomUUID().toString();
@@ -48,9 +49,10 @@ public class TestInvoiceItemJsonSimple extends JaxrsTestSuite {
final LocalDate endDate = clock.getUTCToday();
final BigDecimal amount = BigDecimal.TEN;
final Currency currency = Currency.MXN;
+ final List<AuditLogJson> auditLogs = createAuditLogsJson();
final InvoiceItemJsonSimple invoiceItemJsonSimple = new InvoiceItemJsonSimple(invoiceItemId, invoiceId, accountId, bundleId, subscriptionId,
planName, phaseName, description, startDate, endDate,
- amount, currency);
+ amount, currency, auditLogs);
Assert.assertEquals(invoiceItemJsonSimple.getInvoiceItemId(), invoiceItemId);
Assert.assertEquals(invoiceItemJsonSimple.getInvoiceId(), invoiceId);
Assert.assertEquals(invoiceItemJsonSimple.getAccountId(), accountId);
@@ -63,6 +65,7 @@ public class TestInvoiceItemJsonSimple extends JaxrsTestSuite {
Assert.assertEquals(invoiceItemJsonSimple.getEndDate(), endDate);
Assert.assertEquals(invoiceItemJsonSimple.getAmount(), amount);
Assert.assertEquals(invoiceItemJsonSimple.getCurrency(), currency);
+ Assert.assertEquals(invoiceItemJsonSimple.getAuditLogs(), auditLogs);
final String asJson = mapper.writeValueAsString(invoiceItemJsonSimple);
final InvoiceItemJsonSimple fromJson = mapper.readValue(asJson, InvoiceItemJsonSimple.class);
@@ -86,11 +89,11 @@ public class TestInvoiceItemJsonSimple extends JaxrsTestSuite {
Mockito.when(invoiceItem.getCurrency()).thenReturn(Currency.EUR);
final InvoiceItemJsonSimple invoiceItemJsonSimple = new InvoiceItemJsonSimple(invoiceItem);
- Assert.assertEquals(invoiceItemJsonSimple.getInvoiceItemId(), invoiceItem.getId());
- Assert.assertEquals(invoiceItemJsonSimple.getInvoiceId(), invoiceItem.getInvoiceId());
- Assert.assertEquals(invoiceItemJsonSimple.getAccountId(), invoiceItem.getAccountId());
- Assert.assertEquals(invoiceItemJsonSimple.getBundleId(), invoiceItem.getBundleId());
- Assert.assertEquals(invoiceItemJsonSimple.getSubscriptionId(), invoiceItem.getSubscriptionId());
+ Assert.assertEquals(invoiceItemJsonSimple.getInvoiceItemId(), invoiceItem.getId().toString());
+ Assert.assertEquals(invoiceItemJsonSimple.getInvoiceId(), invoiceItem.getInvoiceId().toString());
+ Assert.assertEquals(invoiceItemJsonSimple.getAccountId(), invoiceItem.getAccountId().toString());
+ Assert.assertEquals(invoiceItemJsonSimple.getBundleId(), invoiceItem.getBundleId().toString());
+ Assert.assertEquals(invoiceItemJsonSimple.getSubscriptionId(), invoiceItem.getSubscriptionId().toString());
Assert.assertEquals(invoiceItemJsonSimple.getPlanName(), invoiceItem.getPlanName());
Assert.assertEquals(invoiceItemJsonSimple.getPhaseName(), invoiceItem.getPhaseName());
Assert.assertEquals(invoiceItemJsonSimple.getDescription(), invoiceItem.getDescription());
diff --git a/jaxrs/src/test/java/com/ning/billing/jaxrs/json/TestInvoiceJsonWithItems.java b/jaxrs/src/test/java/com/ning/billing/jaxrs/json/TestInvoiceJsonWithItems.java
index 280b831..1b310f6 100644
--- a/jaxrs/src/test/java/com/ning/billing/jaxrs/json/TestInvoiceJsonWithItems.java
+++ b/jaxrs/src/test/java/com/ning/billing/jaxrs/json/TestInvoiceJsonWithItems.java
@@ -99,10 +99,10 @@ public class TestInvoiceJsonWithItems extends JaxrsTestSuite {
Assert.assertNull(invoiceJsonWithItems.getAuditLogs());
final InvoiceItemJsonSimple invoiceItemJsonSimple = invoiceJsonWithItems.getItems().get(0);
- Assert.assertEquals(invoiceItemJsonSimple.getInvoiceId(), invoiceItem.getInvoiceId());
- Assert.assertEquals(invoiceItemJsonSimple.getAccountId(), invoiceItem.getAccountId());
- Assert.assertEquals(invoiceItemJsonSimple.getBundleId(), invoiceItem.getBundleId());
- Assert.assertEquals(invoiceItemJsonSimple.getSubscriptionId(), invoiceItem.getSubscriptionId());
+ Assert.assertEquals(invoiceItemJsonSimple.getInvoiceId(), invoiceItem.getInvoiceId().toString());
+ Assert.assertEquals(invoiceItemJsonSimple.getAccountId(), invoiceItem.getAccountId().toString());
+ Assert.assertEquals(invoiceItemJsonSimple.getBundleId(), invoiceItem.getBundleId().toString());
+ Assert.assertEquals(invoiceItemJsonSimple.getSubscriptionId(), invoiceItem.getSubscriptionId().toString());
Assert.assertEquals(invoiceItemJsonSimple.getPlanName(), invoiceItem.getPlanName());
Assert.assertEquals(invoiceItemJsonSimple.getPhaseName(), invoiceItem.getPhaseName());
Assert.assertEquals(invoiceItemJsonSimple.getDescription(), invoiceItem.getDescription());
@@ -113,11 +113,11 @@ public class TestInvoiceJsonWithItems extends JaxrsTestSuite {
}
private InvoiceItemJsonSimple createInvoiceItemJson() {
- final UUID invoiceItemId = UUID.randomUUID();
- final UUID invoiceId = UUID.randomUUID();
- final UUID accountId = UUID.randomUUID();
- final UUID bundleId = UUID.randomUUID();
- final UUID subscriptionId = UUID.randomUUID();
+ final String invoiceItemId = UUID.randomUUID().toString();
+ final String invoiceId = UUID.randomUUID().toString();
+ final String accountId = UUID.randomUUID().toString();
+ final String bundleId = UUID.randomUUID().toString();
+ final String subscriptionId = UUID.randomUUID().toString();
final String planName = UUID.randomUUID().toString();
final String phaseName = UUID.randomUUID().toString();
final String description = UUID.randomUUID().toString();
@@ -127,7 +127,7 @@ public class TestInvoiceJsonWithItems extends JaxrsTestSuite {
final Currency currency = Currency.MXN;
return new InvoiceItemJsonSimple(invoiceItemId, invoiceId, accountId, bundleId, subscriptionId,
planName, phaseName, description, startDate, endDate,
- amount, currency);
+ amount, currency, null);
}
private InvoiceItem createInvoiceItem() {