Details
diff --git a/api/src/main/java/com/ning/billing/catalog/api/PriceList.java b/api/src/main/java/com/ning/billing/catalog/api/PriceList.java
index 7ba912a..8dc46b4 100644
--- a/api/src/main/java/com/ning/billing/catalog/api/PriceList.java
+++ b/api/src/main/java/com/ning/billing/catalog/api/PriceList.java
@@ -16,7 +16,6 @@
package com.ning.billing.catalog.api;
-
public interface PriceList {
public abstract String getName();
@@ -25,4 +24,5 @@ public interface PriceList {
public abstract Plan findPlan(Product product, BillingPeriod period);
+ public Plan[] getPlans();
}
diff --git a/catalog/src/main/java/com/ning/billing/catalog/DefaultPriceList.java b/catalog/src/main/java/com/ning/billing/catalog/DefaultPriceList.java
index 9c9ce54..f2bd4e1 100644
--- a/catalog/src/main/java/com/ning/billing/catalog/DefaultPriceList.java
+++ b/catalog/src/main/java/com/ning/billing/catalog/DefaultPriceList.java
@@ -54,10 +54,12 @@ public class DefaultPriceList extends ValidatingConfig<StandaloneCatalog> implem
this.name = name;
}
- protected DefaultPlan[] getPlans() {
+ @Override
+ public DefaultPlan[] getPlans() {
return plans;
}
+ @Override
public boolean isRetired() {
return retired;
}
diff --git a/catalog/src/main/java/com/ning/billing/catalog/StandaloneCatalog.java b/catalog/src/main/java/com/ning/billing/catalog/StandaloneCatalog.java
index 3b3869f..8be724f 100644
--- a/catalog/src/main/java/com/ning/billing/catalog/StandaloneCatalog.java
+++ b/catalog/src/main/java/com/ning/billing/catalog/StandaloneCatalog.java
@@ -351,10 +351,11 @@ public class StandaloneCatalog extends ValidatingConfig<StandaloneCatalog> imple
for (Plan plan : getCurrentPlans()) {
if (plan.getProduct().getCategory().equals(ProductCategory.BASE)) {
for (PriceList priceList : getPriceLists().getAllPriceLists()) {
- Plan planInList = priceList.findPlan(plan.getProduct(), plan.getBillingPeriod());
-
- if (planInList != null) {
- availBasePlans.add(new DefaultListing(plan, priceList));
+ for (Plan priceListPlan : priceList.getPlans()) {
+ if (priceListPlan.getName().equals(plan.getName()) &&
+ priceListPlan.getProduct().getName().equals(plan.getProduct().getName())) {
+ availBasePlans.add(new DefaultListing(priceListPlan, priceList));
+ }
}
}
}
diff --git a/util/src/test/java/com/ning/billing/mock/MockPriceList.java b/util/src/test/java/com/ning/billing/mock/MockPriceList.java
index 8903a3c..6b2fe31 100644
--- a/util/src/test/java/com/ning/billing/mock/MockPriceList.java
+++ b/util/src/test/java/com/ning/billing/mock/MockPriceList.java
@@ -56,4 +56,9 @@ public class MockPriceList implements PriceList {
public Plan getPlan() {
return plan;
}
+
+ @Override
+ public Plan[] getPlans() {
+ return new Plan[] { plan };
+ }
}