killbill-uncached

Details

diff --git a/invoice/src/main/java/com/ning/billing/invoice/model/DefaultInvoice.java b/invoice/src/main/java/com/ning/billing/invoice/model/DefaultInvoice.java
index 1f4309d..ff015f5 100644
--- a/invoice/src/main/java/com/ning/billing/invoice/model/DefaultInvoice.java
+++ b/invoice/src/main/java/com/ning/billing/invoice/model/DefaultInvoice.java
@@ -190,13 +190,7 @@ public class DefaultInvoice extends EntityBase implements Invoice {
 
     @Override
     public BigDecimal getOriginalChargedAmount() {
-        BigDecimal result = BigDecimal.ZERO;
-        for (final InvoiceItem cur :  invoiceItems) {
-            if (cur.getCreatedDate().compareTo(getCreatedDate()) == 0) {
-                result = result.add(cur.getAmount());
-            }
-        }
-        return result;
+        return invoiceItems.getOriginalChargedAmount();
     }
 
     @Override
diff --git a/invoice/src/main/java/com/ning/billing/invoice/model/InvoiceItemList.java b/invoice/src/main/java/com/ning/billing/invoice/model/InvoiceItemList.java
index 2e7ed33..da82790 100644
--- a/invoice/src/main/java/com/ning/billing/invoice/model/InvoiceItemList.java
+++ b/invoice/src/main/java/com/ning/billing/invoice/model/InvoiceItemList.java
@@ -62,6 +62,21 @@ public class InvoiceItemList extends ArrayList<InvoiceItem> {
         return getAmoutForItems(InvoiceItemType.EXTERNAL_CHARGE, InvoiceItemType.RECURRING, InvoiceItemType.FIXED, InvoiceItemType.REPAIR_ADJ);
     }
 
+    public BigDecimal getOriginalChargedAmount() {
+        BigDecimal result = BigDecimal.ZERO.setScale(NUMBER_OF_DECIMALS, ROUNDING_METHOD);
+        for (final InvoiceItem cur :  this) {
+            if (cur.getInvoiceItemType() != InvoiceItemType.EXTERNAL_CHARGE &&
+                cur.getInvoiceItemType() != InvoiceItemType.RECURRING &&
+                cur.getInvoiceItemType() != InvoiceItemType.FIXED) {
+                continue;
+            }
+            if (cur.getCreatedDate().compareTo(cur.getCreatedDate()) == 0) {
+                result = result.add(cur.getAmount());
+            }
+        }
+        return result;
+    }
+
     public BigDecimal getCBAAmount() {
         return getAmoutForItems(InvoiceItemType.CBA_ADJ);
     }