killbill-memoizeit

analytics: add MIGRATE event in BST Signed-off-by: Pierre-Alexandre

10/7/2012 10:20:05 PM

Details

diff --git a/analytics/src/main/java/com/ning/billing/analytics/BusinessSubscriptionTransitionRecorder.java b/analytics/src/main/java/com/ning/billing/analytics/BusinessSubscriptionTransitionRecorder.java
index a46a521..1c30912 100644
--- a/analytics/src/main/java/com/ning/billing/analytics/BusinessSubscriptionTransitionRecorder.java
+++ b/analytics/src/main/java/com/ning/billing/analytics/BusinessSubscriptionTransitionRecorder.java
@@ -155,6 +155,7 @@ public class BusinessSubscriptionTransitionRecorder {
         switch (event.getTransitionType()) {
             // A subscription enters either through migration or as newly created subscription
             case MIGRATE_ENTITLEMENT:
+                return subscriptionMigrated(event);
             case CREATE:
                 return subscriptionCreated(event);
             case RE_CREATE:
@@ -177,6 +178,10 @@ public class BusinessSubscriptionTransitionRecorder {
         }
     }
 
+    private BusinessSubscriptionEvent subscriptionMigrated(final SubscriptionEvent created) throws AccountApiException, EntitlementUserApiException {
+        return BusinessSubscriptionEvent.subscriptionMigrated(created.getNextPlan(), catalogService.getFullCatalog(), created.getEffectiveTransitionTime(), created.getSubscriptionStartDate());
+    }
+
     private BusinessSubscriptionEvent subscriptionCreated(final SubscriptionEvent created) throws AccountApiException, EntitlementUserApiException {
         return BusinessSubscriptionEvent.subscriptionCreated(created.getNextPlan(), catalogService.getFullCatalog(), created.getEffectiveTransitionTime(), created.getSubscriptionStartDate());
     }
diff --git a/analytics/src/main/java/com/ning/billing/analytics/model/BusinessSubscriptionEvent.java b/analytics/src/main/java/com/ning/billing/analytics/model/BusinessSubscriptionEvent.java
index eac9c07..4753dc9 100644
--- a/analytics/src/main/java/com/ning/billing/analytics/model/BusinessSubscriptionEvent.java
+++ b/analytics/src/main/java/com/ning/billing/analytics/model/BusinessSubscriptionEvent.java
@@ -38,6 +38,7 @@ public class BusinessSubscriptionEvent {
     private static final String MISC = "MISC";
 
     public enum EventType {
+        MIGRATE,
         ADD,
         CANCEL,
         RE_ADD,
@@ -82,6 +83,10 @@ public class BusinessSubscriptionEvent {
         return eventType;
     }
 
+    public static BusinessSubscriptionEvent subscriptionMigrated(final String plan, final Catalog catalog, final DateTime eventTime, final DateTime subscriptionCreationDate) {
+        return eventFromType(EventType.MIGRATE, plan, catalog, eventTime, subscriptionCreationDate);
+    }
+
     public static BusinessSubscriptionEvent subscriptionCreated(final String plan, final Catalog catalog, final DateTime eventTime, final DateTime subscriptionCreationDate) {
         return eventFromType(EventType.ADD, plan, catalog, eventTime, subscriptionCreationDate);
     }