killbill-uncached

catalog: Fix CatalogUpdater to not throw an exception when

9/19/2016 3:45:24 PM

Details

diff --git a/catalog/src/main/java/org/killbill/billing/catalog/CatalogUpdater.java b/catalog/src/main/java/org/killbill/billing/catalog/CatalogUpdater.java
index 684e21e..dd0dcfd 100644
--- a/catalog/src/main/java/org/killbill/billing/catalog/CatalogUpdater.java
+++ b/catalog/src/main/java/org/killbill/billing/catalog/CatalogUpdater.java
@@ -175,7 +175,17 @@ public class CatalogUpdater {
 
         if (desc.getProductCategory() == ProductCategory.ADD_ON) {
             for (final String bp : desc.getAvailableBaseProducts()) {
-                catalog.addProductAvailableAO(getExistingProduct(bp), product);
+                final DefaultProduct targetBasePlan = getExistingProduct(bp);
+                boolean found = false;
+                for (DefaultProduct cur : targetBasePlan.getAvailable()) {
+                    if (cur.getName().equals(product.getName())) {
+                        found = true;
+                        break;
+                    }
+                }
+                if (!found) {
+                    catalog.addProductAvailableAO(getExistingProduct(bp), product);
+                }
             }
         }