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);
}