killbill-memoizeit

Fix bug in entitlement change plan with a requested date, where

9/7/2013 11:03:13 PM

Details

diff --git a/entitlement/src/main/java/com/ning/billing/entitlement/api/DefaultEntitlement.java b/entitlement/src/main/java/com/ning/billing/entitlement/api/DefaultEntitlement.java
index 861fc91..08cb2cc 100644
--- a/entitlement/src/main/java/com/ning/billing/entitlement/api/DefaultEntitlement.java
+++ b/entitlement/src/main/java/com/ning/billing/entitlement/api/DefaultEntitlement.java
@@ -283,7 +283,8 @@ public class DefaultEntitlement extends EntityBase implements Entitlement {
         final InternalCallContext context = internalCallContextFactory.createInternalCallContext(accountId, callContext);
          try {
             checker.checkBlockedChange(subscriptionBase, context);
-            subscriptionBase.changePlan(productName, billingPeriod, priceList, callContext);
+            final DateTime effectiveChangeDate = dateHelper.fromLocalDateAndReferenceTime(localDate, subscriptionBase.getStartDate(), context);
+            subscriptionBase.changePlanWithDate(productName, billingPeriod, priceList, effectiveChangeDate, callContext);
             return entitlementApi.getEntitlementForId(getId(), callContext);
         } catch (BlockingApiException e) {
             throw new EntitlementApiException(e, e.getCode(), e.getMessage());
diff --git a/server/src/main/resources/killbill-server.properties b/server/src/main/resources/killbill-server.properties
index 4c055d3..fdb25ec 100644
--- a/server/src/main/resources/killbill-server.properties
+++ b/server/src/main/resources/killbill-server.properties
@@ -33,3 +33,13 @@ ANTLR_USE_DIRECT_CLASS_LOADING=true
 # To enable test endpoint and have Kill Bill run with a ClockMock
 killbill.server.test.mode=true
 
+killbill.payment.engine.notifications.main.sleep=100
+killbill.invoice.engine.notifications.main.sleep=100
+killbill.billing.persistent.bus.main.sleep=100
+killbill.billing.persistent.bus.main.nbThreads=1
+killbill.billing.persistent.bus.main.claimed=1
+killbill.billing.persistent.bus.external.sleep=100
+killbill.billing.persistent.bus.external.nbThreads=1
+killbill.billing.persistent.bus.external.claimed=1
+killbill.billing.persistent.bus.external.tableName=bus_ext_events
+killbill.billing.persistent.bus.external.historyTableName=bus_ext_events_history