killbill-memoizeit

Merge branch 'analytics-as-osgi-plugin' of github.com:killbill/killbill

4/11/2013 8:02:59 PM

Details

diff --git a/osgi-bundles/bundles/analytics/src/main/java/com/ning/billing/osgi/bundles/analytics/dao/BusinessInvoiceDao.java b/osgi-bundles/bundles/analytics/src/main/java/com/ning/billing/osgi/bundles/analytics/dao/BusinessInvoiceDao.java
index d67189e..32e8bde 100644
--- a/osgi-bundles/bundles/analytics/src/main/java/com/ning/billing/osgi/bundles/analytics/dao/BusinessInvoiceDao.java
+++ b/osgi-bundles/bundles/analytics/src/main/java/com/ning/billing/osgi/bundles/analytics/dao/BusinessInvoiceDao.java
@@ -298,19 +298,14 @@ public class BusinessInvoiceDao extends BusinessAnalyticsDaoBase {
 
         // Now find the "reparation" items, i.e. the ones which correspond to the repaired items
         final Map<UUID, InvoiceItem> reparationInvoiceItemIdToRepairItemMappings = new LinkedHashMap<UUID, InvoiceItem>();
-        for (final InvoiceItem repairedInvoiceItem : allInvoiceItems) {
-            // Skip non-repaired items
-            if (!repairedInvoiceItemIdToRepairInvoiceItemMappings.keySet().contains(repairedInvoiceItem.getId())) {
-                continue;
-            }
-
+        for (final InvoiceItem repairedInvoiceItem : repairedInvoiceItemIdToRepairInvoiceItemMappings.values()) {
             InvoiceItem reparationItem = null;
             for (final InvoiceItem invoiceItem : allInvoiceItems) {
                 // Try to find the matching "reparation" item
                 if (repairedInvoiceItem.getInvoiceItemType().equals(invoiceItem.getInvoiceItemType()) &&
                     repairedInvoiceItem.getSubscriptionId().equals(invoiceItem.getSubscriptionId()) &&
                     repairedInvoiceItem.getStartDate().compareTo(invoiceItem.getStartDate()) == 0 &&
-                    repairedInvoiceItem.getEndDate().isAfter(invoiceItem.getEndDate())) {
+                    !repairedInvoiceItem.getEndDate().isBefore(invoiceItem.getEndDate())) {
                     if (reparationItem == null) {
                         reparationItem = invoiceItem;
                     } else {