diff --git a/osgi-bundles/bundles/analytics/src/main/java/com/ning/billing/osgi/bundles/analytics/dao/factory/BusinessSubscriptionTransitionFactory.java b/osgi-bundles/bundles/analytics/src/main/java/com/ning/billing/osgi/bundles/analytics/dao/factory/BusinessSubscriptionTransitionFactory.java
index 1a9c372..5573bbd 100644
--- a/osgi-bundles/bundles/analytics/src/main/java/com/ning/billing/osgi/bundles/analytics/dao/factory/BusinessSubscriptionTransitionFactory.java
+++ b/osgi-bundles/bundles/analytics/src/main/java/com/ning/billing/osgi/bundles/analytics/dao/factory/BusinessSubscriptionTransitionFactory.java
@@ -17,6 +17,7 @@
package com.ning.billing.osgi.bundles.analytics.dao.factory;
import java.util.Collection;
+import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
import java.util.UUID;
@@ -124,6 +125,18 @@ public class BusinessSubscriptionTransitionFactory extends BusinessFactoryBase {
}
}
+ // We can now fix the next end date (the last next_end date will be set by the catalog by using the phase name)
+ final Iterator<BusinessSubscriptionTransitionModelDao> bstIterator = bsts.iterator();
+ if (bstIterator.hasNext()) {
+ BusinessSubscriptionTransitionModelDao prevBst = bstIterator.next();
+
+ while (bstIterator.hasNext()) {
+ final BusinessSubscriptionTransitionModelDao nextBst = bstIterator.next();
+ prevBst.setNextEndDate(nextBst.getNextStartDate());
+ prevBst = nextBst;
+ }
+ }
+
return bsts;
}
diff --git a/osgi-bundles/bundles/analytics/src/main/java/com/ning/billing/osgi/bundles/analytics/dao/model/BusinessSubscriptionTransitionModelDao.java b/osgi-bundles/bundles/analytics/src/main/java/com/ning/billing/osgi/bundles/analytics/dao/model/BusinessSubscriptionTransitionModelDao.java
index f12cc58..cadfec5 100644
--- a/osgi-bundles/bundles/analytics/src/main/java/com/ning/billing/osgi/bundles/analytics/dao/model/BusinessSubscriptionTransitionModelDao.java
+++ b/osgi-bundles/bundles/analytics/src/main/java/com/ning/billing/osgi/bundles/analytics/dao/model/BusinessSubscriptionTransitionModelDao.java
@@ -192,6 +192,10 @@ public class BusinessSubscriptionTransitionModelDao extends BusinessModelDaoBase
return SUBSCRIPTION_TABLE_NAME;
}
+ public void setNextEndDate(final DateTime nextEndDate) {
+ this.nextEndDate = nextEndDate;
+ }
+
public Long getSubscriptionEventRecordId() {
return subscriptionEventRecordId;
}