killbill-memoizeit

catalog: fix planChange implementation This fixes https://github.com/killbill/killbill/issues/978

5/24/2018 6:07:56 AM

Details

diff --git a/catalog/src/main/java/org/killbill/billing/catalog/VersionedCatalog.java b/catalog/src/main/java/org/killbill/billing/catalog/VersionedCatalog.java
index 0f2898d..6402a57 100644
--- a/catalog/src/main/java/org/killbill/billing/catalog/VersionedCatalog.java
+++ b/catalog/src/main/java/org/killbill/billing/catalog/VersionedCatalog.java
@@ -340,7 +340,8 @@ public class VersionedCatalog extends ValidatingConfig<VersionedCatalog> impleme
                                        final DateTime requestedDate,
                                        final DateTime subscriptionStartDate)
             throws CatalogApiException {
-        final StaticCatalog staticCatalog = getStaticCatalog(from, requestedDate, subscriptionStartDate);
+        // Use the "to" specifier, to make sure the new plan always exists
+        final StaticCatalog staticCatalog = getStaticCatalog(to, requestedDate, subscriptionStartDate);
         return staticCatalog.planChange(from, to);
     }