killbill-memoizeit

analytics: listen to InvoiceAdjustmentEvent events This

8/31/2012 5:54:59 PM

Details

diff --git a/analytics/src/main/java/com/ning/billing/analytics/AnalyticsListener.java b/analytics/src/main/java/com/ning/billing/analytics/AnalyticsListener.java
index 4889892..d3e09e1 100644
--- a/analytics/src/main/java/com/ning/billing/analytics/AnalyticsListener.java
+++ b/analytics/src/main/java/com/ning/billing/analytics/AnalyticsListener.java
@@ -25,6 +25,7 @@ import com.ning.billing.entitlement.api.timeline.RepairEntitlementEvent;
 import com.ning.billing.entitlement.api.user.EffectiveSubscriptionEvent;
 import com.ning.billing.entitlement.api.user.EntitlementUserApiException;
 import com.ning.billing.entitlement.api.user.RequestedSubscriptionEvent;
+import com.ning.billing.invoice.api.InvoiceAdjustmentEvent;
 import com.ning.billing.invoice.api.NullInvoiceEvent;
 import com.ning.billing.invoice.api.InvoiceCreationEvent;
 import com.ning.billing.overdue.OverdueChangeEvent;
@@ -106,6 +107,12 @@ public class AnalyticsListener {
     }
 
     @Subscribe
+    public void handleInvoiceAdjustment(final InvoiceAdjustmentEvent event) {
+        // The event is used as a trigger to rebuild all invoices and invoice items for this account
+        invoiceRecorder.rebuildInvoicesForAccount(event.getAccountId());
+    }
+
+    @Subscribe
     public void handlePaymentInfo(final PaymentInfoEvent paymentInfo) {
         bipRecorder.invoicePaymentPosted(paymentInfo.getAccountId(),
                                          paymentInfo.getPaymentId(),