killbill-uncached

catalog: change error code when a plan for a given date isn't

11/2/2016 7:32:27 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 fbf5591..83f07ac 100644
--- a/catalog/src/main/java/org/killbill/billing/catalog/VersionedCatalog.java
+++ b/catalog/src/main/java/org/killbill/billing/catalog/VersionedCatalog.java
@@ -36,11 +36,9 @@ import javax.xml.bind.annotation.XmlRootElement;
 
 import org.joda.time.DateTime;
 import org.killbill.billing.ErrorCode;
-import org.killbill.billing.callcontext.InternalTenantContext;
 import org.killbill.billing.catalog.api.BillingActionPolicy;
 import org.killbill.billing.catalog.api.BillingAlignment;
 import org.killbill.billing.catalog.api.BillingMode;
-import org.killbill.billing.catalog.api.BillingPeriod;
 import org.killbill.billing.catalog.api.Catalog;
 import org.killbill.billing.catalog.api.CatalogApiException;
 import org.killbill.billing.catalog.api.Currency;
@@ -131,6 +129,10 @@ public class VersionedCatalog extends ValidatingConfig<VersionedCatalog> impleme
         public Plan findPlan(final StandaloneCatalog catalog) throws CatalogApiException {
             return catalog.createOrFindCurrentPlan(spec, overrides);
         }
+
+        public PlanSpecifier getSpec() {
+            return spec;
+        }
     }
 
     private CatalogPlanEntry findCatalogPlanEntry(final PlanRequestWrapper wrapper,
@@ -169,7 +171,12 @@ public class VersionedCatalog extends ValidatingConfig<VersionedCatalog> impleme
             }
         }
 
-        throw new CatalogApiException(ErrorCode.CAT_NO_CATALOG_FOR_GIVEN_DATE, requestedDate.toDate().toString());
+        final PlanSpecifier spec = wrapper.getSpec();
+        throw new CatalogApiException(ErrorCode.CAT_PLAN_NOT_FOUND,
+                                      spec.getPlanName() != null ? spec.getPlanName() : "undefined",
+                                      spec.getProductName() != null ? spec.getProductName() : "undefined",
+                                      spec.getBillingPeriod() != null ? spec.getBillingPeriod() : "undefined",
+                                      spec.getPriceListName() != null ? spec.getPriceListName() : "undefined");
     }
 
     private static class CatalogPlanEntry {