killbill-memoizeit

invoice: Fix InvoiceCalculatorUtils to always invoke KillBillMoney.of()

6/14/2016 2:43:40 PM

Details

diff --git a/invoice/src/main/java/org/killbill/billing/invoice/calculator/InvoiceCalculatorUtils.java b/invoice/src/main/java/org/killbill/billing/invoice/calculator/InvoiceCalculatorUtils.java
index eceab78..7431845 100644
--- a/invoice/src/main/java/org/killbill/billing/invoice/calculator/InvoiceCalculatorUtils.java
+++ b/invoice/src/main/java/org/killbill/billing/invoice/calculator/InvoiceCalculatorUtils.java
@@ -85,7 +85,7 @@ public abstract class InvoiceCalculatorUtils {
     private static BigDecimal computeInvoiceAmountAdjustedForAccountCredit(final Currency currency, final Iterable<InvoiceItem> invoiceItems) {
         BigDecimal amountAdjusted = BigDecimal.ZERO;
         if (invoiceItems == null || !invoiceItems.iterator().hasNext()) {
-            return amountAdjusted;
+            return KillBillMoney.of(amountAdjusted, currency);
         }
 
         for (final InvoiceItem invoiceItem : invoiceItems) {
@@ -111,7 +111,7 @@ public abstract class InvoiceCalculatorUtils {
     public static BigDecimal computeInvoiceAmountCharged(final Currency currency, @Nullable final Iterable<InvoiceItem> invoiceItems) {
         BigDecimal amountCharged = BigDecimal.ZERO;
         if (invoiceItems == null || !invoiceItems.iterator().hasNext()) {
-            return amountCharged;
+            return KillBillMoney.of(amountCharged, currency);
         }
 
         for (final InvoiceItem invoiceItem : invoiceItems) {
@@ -135,7 +135,7 @@ public abstract class InvoiceCalculatorUtils {
     public static BigDecimal computeInvoiceOriginalAmountCharged(final DateTime invoiceCreatedDate, final Currency currency, @Nullable final Iterable<InvoiceItem> invoiceItems) {
         BigDecimal amountCharged = BigDecimal.ZERO;
         if (invoiceItems == null || !invoiceItems.iterator().hasNext()) {
-            return amountCharged;
+            return KillBillMoney.of(amountCharged, currency);
         }
 
         for (final InvoiceItem invoiceItem : invoiceItems) {
@@ -151,7 +151,7 @@ public abstract class InvoiceCalculatorUtils {
     public static BigDecimal computeInvoiceAmountCredited(final Currency currency, @Nullable final Iterable<InvoiceItem> invoiceItems) {
         BigDecimal amountCredited = BigDecimal.ZERO;
         if (invoiceItems == null || !invoiceItems.iterator().hasNext()) {
-            return amountCredited;
+            return KillBillMoney.of(amountCredited, currency);
         }
 
         for (final InvoiceItem invoiceItem : invoiceItems) {
@@ -166,7 +166,7 @@ public abstract class InvoiceCalculatorUtils {
     public static BigDecimal computeInvoiceAmountPaid(final Currency currency, @Nullable final Iterable<InvoicePayment> invoicePayments) {
         BigDecimal amountPaid = BigDecimal.ZERO;
         if (invoicePayments == null || !invoicePayments.iterator().hasNext()) {
-            return amountPaid;
+            return KillBillMoney.of(amountPaid, currency);
         }
 
         for (final InvoicePayment invoicePayment : invoicePayments) {
@@ -184,7 +184,7 @@ public abstract class InvoiceCalculatorUtils {
     public static BigDecimal computeInvoiceAmountRefunded(final Currency currency, @Nullable final Iterable<InvoicePayment> invoicePayments) {
         BigDecimal amountRefunded = BigDecimal.ZERO;
         if (invoicePayments == null || !invoicePayments.iterator().hasNext()) {
-            return amountRefunded;
+            return KillBillMoney.of(amountRefunded, currency);
         }
 
         for (final InvoicePayment invoicePayment : invoicePayments) {