killbill-aplcache

Details

diff --git a/entitlement/src/main/java/com/ning/billing/entitlement/api/billing/DefaultBillingEvent.java b/entitlement/src/main/java/com/ning/billing/entitlement/api/billing/DefaultBillingEvent.java
index 11c5a79..44fc9cb 100644
--- a/entitlement/src/main/java/com/ning/billing/entitlement/api/billing/DefaultBillingEvent.java
+++ b/entitlement/src/main/java/com/ning/billing/entitlement/api/billing/DefaultBillingEvent.java
@@ -54,16 +54,25 @@ public class DefaultBillingEvent implements BillingEvent {
                 transition.getNextPlan() : transition.getPreviousPlan();
         fixedPrice = (transition.getNextPhase() == null) ? null :
         		transition.getNextPhase().getFixedPrice();
-        recurringPrice = (transition.getNextPhase() == null) ? null :
-        	transition.getNextPhase().getRecurringPrice();
+        recurringPrice = calculateRecurringPrice(transition);
         description = transition.getTransitionType().toString();
         billingModeType = BillingModeType.IN_ADVANCE;
         billingPeriod =  (transition.getTransitionType() != SubscriptionTransitionType.CANCEL) ?
                 transition.getNextPhase().getBillingPeriod() : transition.getPreviousPhase().getBillingPeriod();
-        type = transition.getTransitionType();
+       type = transition.getTransitionType();
     }
 
-    // Intended for test only
+    private InternationalPrice calculateRecurringPrice(
+    		SubscriptionTransition transition) {
+    	// MDW Note - we are assuming that the only things that can follow a PAUSE are RESUME or CANCEL
+    	if (transition.getNextPhase() == null || transition.getTransitionType() == SubscriptionTransitionType.PAUSE){
+    		return	null;
+    	} 
+    	return transition.getNextPhase().getRecurringPrice();
+    	
+    }
+
+	// Intended for test only
     public DefaultBillingEvent(Subscription subscription, DateTime effectiveDate, Plan plan, PlanPhase planPhase, InternationalPrice fixedPrice,
             InternationalPrice recurringPrice, BillingPeriod billingPeriod, int billCycleDay, BillingModeType billingModeType, String description, SubscriptionTransitionType type) {
         this.subscription = subscription;