killbill-uncached

Handle missing SubscriptionTransition events from external

5/3/2013 6:54:55 PM

Details

diff --git a/api/src/main/java/com/ning/billing/beatrix/bus/api/ExtBusEventType.java b/api/src/main/java/com/ning/billing/beatrix/bus/api/ExtBusEventType.java
index ac4fe08..c4a241a 100644
--- a/api/src/main/java/com/ning/billing/beatrix/bus/api/ExtBusEventType.java
+++ b/api/src/main/java/com/ning/billing/beatrix/bus/api/ExtBusEventType.java
@@ -23,8 +23,10 @@ public enum ExtBusEventType {
     ACCOUNT_CREATION,
     ACCOUNT_CHANGE,
     SUBSCRIPTION_CREATION,
+    SUBSCRIPTION_PHASE,
     SUBSCRIPTION_CHANGE,
     SUBSCRIPTION_CANCEL,
+    SUBSCRIPTION_UNCANCEL,
     OVERDUE_CHANGE,
     INVOICE_CREATION,
     INVOICE_ADJUSTMENT,
diff --git a/beatrix/src/main/java/com/ning/billing/beatrix/extbus/BeatrixListener.java b/beatrix/src/main/java/com/ning/billing/beatrix/extbus/BeatrixListener.java
index 39356fb..d716c72 100644
--- a/beatrix/src/main/java/com/ning/billing/beatrix/extbus/BeatrixListener.java
+++ b/beatrix/src/main/java/com/ning/billing/beatrix/extbus/BeatrixListener.java
@@ -111,12 +111,18 @@ public class BeatrixListener {
             objectType = ObjectType.SUBSCRIPTION;
             objectId = realEventST.getSubscriptionId();
             if (realEventST.getTransitionType() == SubscriptionTransitionType.CREATE ||
-                    realEventST.getTransitionType() == SubscriptionTransitionType.RE_CREATE) {
+                    realEventST.getTransitionType() == SubscriptionTransitionType.RE_CREATE ||
+                    realEventST.getTransitionType() == SubscriptionTransitionType.TRANSFER ||
+                    realEventST.getTransitionType() == SubscriptionTransitionType.MIGRATE_ENTITLEMENT) {
                 eventBusType = ExtBusEventType.SUBSCRIPTION_CREATION;
             } else if (realEventST.getTransitionType() == SubscriptionTransitionType.CANCEL) {
                 eventBusType = ExtBusEventType.SUBSCRIPTION_CANCEL;
+            } else if (realEventST.getTransitionType() == SubscriptionTransitionType.PHASE) {
+                eventBusType = ExtBusEventType.SUBSCRIPTION_PHASE;
             } else if (realEventST.getTransitionType() == SubscriptionTransitionType.CHANGE) {
                 eventBusType = ExtBusEventType.SUBSCRIPTION_CHANGE;
+            } else if (realEventST.getTransitionType() == SubscriptionTransitionType.UNCANCEL) {
+                eventBusType = ExtBusEventType.SUBSCRIPTION_UNCANCEL;
             }
             break;
 
diff --git a/osgi-bundles/bundles/analytics/src/main/java/com/ning/billing/osgi/bundles/analytics/AnalyticsListener.java b/osgi-bundles/bundles/analytics/src/main/java/com/ning/billing/osgi/bundles/analytics/AnalyticsListener.java
index c636c01..ba3f43e 100644
--- a/osgi-bundles/bundles/analytics/src/main/java/com/ning/billing/osgi/bundles/analytics/AnalyticsListener.java
+++ b/osgi-bundles/bundles/analytics/src/main/java/com/ning/billing/osgi/bundles/analytics/AnalyticsListener.java
@@ -90,6 +90,8 @@ public class AnalyticsListener implements OSGIKillbillEventHandler {
             case SUBSCRIPTION_CREATION:
             case SUBSCRIPTION_CHANGE:
             case SUBSCRIPTION_CANCEL:
+            case SUBSCRIPTION_PHASE:
+            case SUBSCRIPTION_UNCANCEL:
                 handleSubscriptionEvent(killbillEvent, callContext);
                 break;
             case OVERDUE_CHANGE: