killbill-uncached

Details

diff --git a/analytics/src/test/java/com/ning/billing/analytics/MockSubscription.java b/analytics/src/test/java/com/ning/billing/analytics/MockSubscription.java
index 447bad5..f7d7dee 100644
--- a/analytics/src/test/java/com/ning/billing/analytics/MockSubscription.java
+++ b/analytics/src/test/java/com/ning/billing/analytics/MockSubscription.java
@@ -21,9 +21,12 @@ import com.ning.billing.catalog.api.IPlan;
 import com.ning.billing.catalog.api.IPlanPhase;
 import com.ning.billing.entitlement.api.user.EntitlementUserApiException;
 import com.ning.billing.entitlement.api.user.Subscription;
+import com.ning.billing.entitlement.api.user.SubscriptionTransition;
+
 import org.joda.time.DateTime;
 import org.joda.time.DateTimeZone;
 
+import java.util.List;
 import java.util.UUID;
 
 public class MockSubscription implements Subscription
@@ -120,4 +123,9 @@ public class MockSubscription implements Subscription
     public DateTime getEndDate() {
         return null;
     }
+
+    @Override
+    public List<SubscriptionTransition> getActiveTransitions() {
+        throw new UnsupportedOperationException();
+    }
 }
diff --git a/api/src/main/java/com/ning/billing/entitlement/api/user/Subscription.java b/api/src/main/java/com/ning/billing/entitlement/api/user/Subscription.java
index 6361b8b..5d8380b 100644
--- a/api/src/main/java/com/ning/billing/entitlement/api/user/Subscription.java
+++ b/api/src/main/java/com/ning/billing/entitlement/api/user/Subscription.java
@@ -16,6 +16,7 @@
 
 package com.ning.billing.entitlement.api.user;
 
+import java.util.List;
 import java.util.UUID;
 
 import org.joda.time.DateTime;
@@ -65,4 +66,6 @@ public interface Subscription {
 
     public IPlanPhase getCurrentPhase();
 
+    public List<SubscriptionTransition> getActiveTransitions();
+
 }
diff --git a/entitlement/src/main/java/com/ning/billing/entitlement/api/user/SubscriptionData.java b/entitlement/src/main/java/com/ning/billing/entitlement/api/user/SubscriptionData.java
index 34bf8db..92ba627 100644
--- a/entitlement/src/main/java/com/ning/billing/entitlement/api/user/SubscriptionData.java
+++ b/entitlement/src/main/java/com/ning/billing/entitlement/api/user/SubscriptionData.java
@@ -168,6 +168,21 @@ public class SubscriptionData implements Subscription {
         throw new EntitlementUserApiException(ErrorCode.NOT_IMPLEMENTED);
     }
 
+    @Override
+    public List<SubscriptionTransition> getActiveTransitions() {
+        if (transitions == null) {
+            return Collections.emptyList();
+        }
+
+        List<SubscriptionTransition> activeTransitions = new ArrayList<SubscriptionTransition>();
+        for (SubscriptionTransition cur : transitions) {
+            if (cur.getEffectiveTransitionTime().isAfter(clock.getUTCNow())) {
+                activeTransitions.add(cur);
+            }
+        }
+        return activeTransitions;
+    }
+
 
     public SubscriptionTransition getLatestTranstion() {
 
@@ -246,20 +261,6 @@ public class SubscriptionData implements Subscription {
         return transitions.get(0);
     }
 
-    public List<SubscriptionTransition> getActiveTransitions() {
-        if (transitions == null) {
-            return Collections.emptyList();
-        }
-
-        List<SubscriptionTransition> activeTransitions = new ArrayList<SubscriptionTransition>();
-        for (SubscriptionTransition cur : transitions) {
-            if (cur.getEffectiveTransitionTime().isAfter(clock.getUTCNow())) {
-                activeTransitions.add(cur);
-            }
-        }
-        return activeTransitions;
-    }
-
     public boolean isSubscriptionFutureCancelled() {
         if (transitions == null) {
             return false;