killbill-uncached
Changes
pom.xml 2(+1 -1)
Details
diff --git a/catalog/src/main/java/org/killbill/billing/catalog/StandaloneCatalog.java b/catalog/src/main/java/org/killbill/billing/catalog/StandaloneCatalog.java
index 36ddcf8..7b654c7 100644
--- a/catalog/src/main/java/org/killbill/billing/catalog/StandaloneCatalog.java
+++ b/catalog/src/main/java/org/killbill/billing/catalog/StandaloneCatalog.java
@@ -21,6 +21,7 @@ import java.util.ArrayList;
import java.util.Date;
import java.util.List;
+import javax.annotation.Nullable;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
@@ -352,7 +353,7 @@ public class StandaloneCatalog extends ValidatingConfig<StandaloneCatalog> imple
}
@Override
- public List<Listing> getAvailableAddonListings(final String baseProductName) {
+ public List<Listing> getAvailableAddOnListings(final String baseProductName, @Nullable final String priceListName) {
final List<Listing> availAddons = new ArrayList<Listing>();
try {
@@ -361,9 +362,11 @@ public class StandaloneCatalog extends ValidatingConfig<StandaloneCatalog> imple
for ( Product availAddon : product.getAvailable() ) {
for ( BillingPeriod billingPeriod : BillingPeriod.values()) {
for( PriceList priceList : getPriceLists().getAllPriceLists()) {
- Plan addonInList = priceList.findPlan(availAddon, billingPeriod);
- if ( (addonInList != null) ) {
- availAddons.add(new DefaultListing(addonInList, priceList));
+ if (priceListName == null || priceListName.equals(priceList.getName())) {
+ Plan addonInList = priceList.findPlan(availAddon, billingPeriod);
+ if ( (addonInList != null) ) {
+ availAddons.add(new DefaultListing(addonInList, priceList));
+ }
}
}
}
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 cfc87ad..a06048a 100644
--- a/catalog/src/main/java/org/killbill/billing/catalog/VersionedCatalog.java
+++ b/catalog/src/main/java/org/killbill/billing/catalog/VersionedCatalog.java
@@ -26,6 +26,7 @@ import java.util.Date;
import java.util.Iterator;
import java.util.List;
+import javax.annotation.Nullable;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
@@ -458,8 +459,8 @@ public class VersionedCatalog extends ValidatingConfig<StandaloneCatalog> implem
}
@Override
- public List<Listing> getAvailableAddonListings(final String baseProductName) throws CatalogApiException {
- return versionForDate(clock.getUTCNow()).getAvailableAddonListings(baseProductName);
+ public List<Listing> getAvailableAddOnListings(final String baseProductName, @Nullable final String priceListName) throws CatalogApiException {
+ return versionForDate(clock.getUTCNow()).getAvailableAddOnListings(baseProductName, priceListName);
}
@Override
diff --git a/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/CatalogResource.java b/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/CatalogResource.java
index d4c7311..aa2458a 100644
--- a/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/CatalogResource.java
+++ b/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/CatalogResource.java
@@ -19,7 +19,9 @@ package org.killbill.billing.jaxrs.resources;
import java.util.ArrayList;
import java.util.List;
+import javax.annotation.Nullable;
import javax.servlet.http.HttpServletRequest;
+import javax.ws.rs.DefaultValue;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
@@ -115,9 +117,10 @@ public class CatalogResource extends JaxRsResourceBase {
@ApiOperation(value = "Retrieve available add-ons for a given product", response = PlanDetailJson.class, responseContainer = "List")
@ApiResponses(value = {})
public Response getAvailableAddons(@QueryParam("baseProductName") final String baseProductName,
+ @Nullable @QueryParam("priceListName") final String priceListName,
@javax.ws.rs.core.Context final HttpServletRequest request) throws CatalogApiException {
final StaticCatalog catalog = catalogService.getCurrentCatalog();
- final List<Listing> listings = catalog.getAvailableAddonListings(baseProductName);
+ final List<Listing> listings = catalog.getAvailableAddOnListings(baseProductName, priceListName);
final List<PlanDetailJson> details = new ArrayList<PlanDetailJson>();
for (final Listing listing : listings) {
details.add(new PlanDetailJson(listing));
pom.xml 2(+1 -1)
diff --git a/pom.xml b/pom.xml
index 119e98c..d87b820 100644
--- a/pom.xml
+++ b/pom.xml
@@ -20,7 +20,7 @@
<parent>
<artifactId>killbill-oss-parent</artifactId>
<groupId>org.kill-bill.billing</groupId>
- <version>0.8.6</version>
+ <version>0.8.7</version>
</parent>
<artifactId>killbill</artifactId>
<version>0.11.14-SNAPSHOT</version>