killbill-uncached

Fixes issue #307

3/22/2015 6:31:26 PM

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 d0ff756..b9a1b65 100644
--- a/catalog/src/main/java/org/killbill/billing/catalog/VersionedCatalog.java
+++ b/catalog/src/main/java/org/killbill/billing/catalog/VersionedCatalog.java
@@ -97,7 +97,7 @@ public class VersionedCatalog extends ValidatingConfig<StandaloneCatalog> implem
     private int indexOfVersionForDate(final Date date) throws CatalogApiException {
         for (int i = versions.size() - 1; i >= 0; i--) {
             final StandaloneCatalog c = versions.get(i);
-            if (c.getEffectiveDate().getTime() < date.getTime()) {
+            if (c.getEffectiveDate().getTime() <= date.getTime()) {
                 return i;
             }
         }
@@ -155,8 +155,8 @@ public class VersionedCatalog extends ValidatingConfig<StandaloneCatalog> implem
                 }
             }
 
-            final DateTime catalogEffectiveDate = new DateTime(c.getEffectiveDate());
-            if (subscriptionStartDate.isAfter(catalogEffectiveDate)) { // Its a new subscription this plan always applies
+            DateTime catalogEffectiveDate = new DateTime(c.getEffectiveDate());
+            if (!subscriptionStartDate.isBefore(catalogEffectiveDate)) { // Its a new subscription this plan always applies
                 return plan;
             } else { //Its an existing subscription
                 if (plan.getEffectiveDateForExistingSubscriptons() != null) { //if it is null any change to this does not apply to existing subscriptions