Details
diff --git a/catalog/src/main/java/org/killbill/billing/catalog/dao/DefaultCatalogOverrideDao.java b/catalog/src/main/java/org/killbill/billing/catalog/dao/DefaultCatalogOverrideDao.java
index 3494b7b..8b9f31c 100644
--- a/catalog/src/main/java/org/killbill/billing/catalog/dao/DefaultCatalogOverrideDao.java
+++ b/catalog/src/main/java/org/killbill/billing/catalog/dao/DefaultCatalogOverrideDao.java
@@ -112,7 +112,7 @@ public class DefaultCatalogOverrideDao implements CatalogOverrideDao {
keys.add(key.toString());
}
}
- return sqlDao.getTargetPlanDefinition(keys, keys.size(), context);
+ return keys.size() > 0 ? sqlDao.getTargetPlanDefinition(keys, keys.size(), context) : null;
}
private void createCatalogOverridePlanPhaseFromTransaction(final short phaseNum, final CatalogOverridePhaseDefinitionModelDao phaseDef, final CatalogOverridePlanDefinitionModelDao planDef, final Handle inTransactionHandle, final InternalCallContext context) {
diff --git a/catalog/src/test/java/org/killbill/billing/catalog/dao/TestCatalogOverrideDao.java b/catalog/src/test/java/org/killbill/billing/catalog/dao/TestCatalogOverrideDao.java
index 29188c3..cbff820 100644
--- a/catalog/src/test/java/org/killbill/billing/catalog/dao/TestCatalogOverrideDao.java
+++ b/catalog/src/test/java/org/killbill/billing/catalog/dao/TestCatalogOverrideDao.java
@@ -65,7 +65,7 @@ public class TestCatalogOverrideDao extends CatalogTestSuiteWithEmbeddedDB {
assertEquals(newPlan.getParentPlanName(), "discount-standard-monthly");
assertTrue(newPlan.getIsActive());
- final List<CatalogOverridePhaseDefinitionModelDao> phases = catalogOverrideDao.getOverriddenPlanPhases(1L, internalCallContext);
+ final List<CatalogOverridePhaseDefinitionModelDao> phases = catalogOverrideDao.getOverriddenPlanPhases(newPlan.getRecordId(), internalCallContext);
assertEquals(phases.size(), 2);
}
diff --git a/catalog/src/test/java/org/killbill/billing/catalog/TestDefaultPriceOverride.java b/catalog/src/test/java/org/killbill/billing/catalog/TestDefaultPriceOverride.java
index abf31f7..0af9c4a 100644
--- a/catalog/src/test/java/org/killbill/billing/catalog/TestDefaultPriceOverride.java
+++ b/catalog/src/test/java/org/killbill/billing/catalog/TestDefaultPriceOverride.java
@@ -61,7 +61,6 @@ public class TestDefaultPriceOverride extends CatalogTestSuiteWithEmbeddedDB {
final Matcher m = DefaultPriceOverride.CUSTOM_PLAN_NAME_PATTERN.matcher(overriddenPlan.getName());
assertTrue(m.matches());
assertEquals(m.group(1), plan.getName());
- assertEquals(m.group(2), "1"); // first entry in the table
assertEquals(overriddenPlan.getProduct().getName(), plan.getProduct().getName());
assertEquals(overriddenPlan.getRecurringBillingPeriod(), plan.getRecurringBillingPeriod());
diff --git a/jaxrs/src/main/java/org/killbill/billing/jaxrs/json/PhasePriceOverrideJson.java b/jaxrs/src/main/java/org/killbill/billing/jaxrs/json/PhasePriceOverrideJson.java
index 25c4de8..74b5c2b 100644
--- a/jaxrs/src/main/java/org/killbill/billing/jaxrs/json/PhasePriceOverrideJson.java
+++ b/jaxrs/src/main/java/org/killbill/billing/jaxrs/json/PhasePriceOverrideJson.java
@@ -122,10 +122,10 @@ public class PhasePriceOverrideJson {
@Nullable
@Override
public PlanPhasePriceOverride apply(@Nullable final PhasePriceOverrideJson input) {
- final PhaseType phaseType = input.getPhaseType() != null ? PhaseType.valueOf(input.getPhaseType()) : null;
if (input.getPhaseName() != null) {
return new DefaultPlanPhasePriceOverride(input.getPhaseName(), currency, input.getFixedPrice(), input.getRecurringPrice());
} else {
+ final PhaseType phaseType = input.getPhaseType() != null ? PhaseType.valueOf(input.getPhaseType()) : null;
final PlanPhaseSpecifier planPhaseSpecifier = new PlanPhaseSpecifier(spec.getProductName(), spec.getProductCategory(), spec.getBillingPeriod(), spec.getPriceListName(), phaseType);
return new DefaultPlanPhasePriceOverride(planPhaseSpecifier, currency, input.getFixedPrice(), input.getRecurringPrice());
}
diff --git a/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/SubscriptionResource.java b/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/SubscriptionResource.java
index e1eb4dc..e9fafe0 100644
--- a/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/SubscriptionResource.java
+++ b/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/SubscriptionResource.java
@@ -156,7 +156,9 @@ public class SubscriptionResource extends JaxRsResourceBase {
verifyNonNullOrEmpty(entitlement.getProductName(), "SubscriptionJson productName needs to be set",
entitlement.getProductCategory(), "SubscriptionJson productCategory needs to be set",
entitlement.getBillingPeriod(), "SubscriptionJson billingPeriod needs to be set",
- entitlement.getPriceList(), "SubscriptionJson priceList needs to be set");
+ entitlement.getPriceList(), "SubscriptionJson priceList needs to be set",
+ entitlement.getAccountId(), "SubscriptionJson accountId needs to be set");
+
final boolean createAddOnEntitlement = ProductCategory.ADD_ON.toString().equals(entitlement.getProductCategory());
if (createAddOnEntitlement) {
verifyNonNullOrEmpty(entitlement.getBundleId(), "SubscriptionJson bundleId should be specified");
@@ -244,7 +246,8 @@ public class SubscriptionResource extends JaxRsResourceBase {
verifyNonNullOrEmpty(entitlement, "SubscriptionJson body should be specified");
verifyNonNullOrEmpty(entitlement.getProductName(), "SubscriptionJson productName needs to be set",
entitlement.getBillingPeriod(), "SubscriptionJson billingPeriod needs to be set",
- entitlement.getPriceList(), "SubscriptionJson priceList needs to be set");
+ entitlement.getPriceList(), "SubscriptionJson priceList needs to be set",
+ entitlement.getAccountId(), "SubscriptionJson accountId needs to be set");
final CallContext callContext = context.createContext(createdBy, reason, comment, request);