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;