killbill-memoizeit

catalog: relax Plan validation We don't require a top-level

11/29/2018 7:14:54 AM

Details

diff --git a/catalog/src/main/java/org/killbill/billing/catalog/DefaultPlan.java b/catalog/src/main/java/org/killbill/billing/catalog/DefaultPlan.java
index ad332e6..c898f14 100644
--- a/catalog/src/main/java/org/killbill/billing/catalog/DefaultPlan.java
+++ b/catalog/src/main/java/org/killbill/billing/catalog/DefaultPlan.java
@@ -247,7 +247,8 @@ public class DefaultPlan extends ValidatingConfig<StandaloneCatalog> implements 
                                            DefaultPlan.class, ""));
         }
 
-        if (recurringBillingMode == null) {
+        // Pure usage based plans would not have a recurringBillingMode
+        if (!BillingPeriod.NO_BILLING_PERIOD.equals(getRecurringBillingPeriod()) && recurringBillingMode == null) {
             errors.add(new ValidationError(String.format("Invalid recurring billingMode for plan '%s'", name), DefaultPlan.class, ""));
         }