killbill-uncached

Fixing price initialization

11/21/2011 5:04:01 PM

Details

diff --git a/catalog/src/main/java/com/ning/billing/catalog/Plan.java b/catalog/src/main/java/com/ning/billing/catalog/Plan.java
index 9a994f0..5b0a926 100644
--- a/catalog/src/main/java/com/ning/billing/catalog/Plan.java
+++ b/catalog/src/main/java/com/ning/billing/catalog/Plan.java
@@ -119,10 +119,12 @@ public class Plan extends ValidatingConfig<Catalog> implements IPlan {
 		super.initialize(catalog, sourceURI);
 		if(finalPhase != null) {
 			finalPhase.setPlan(this);
+			finalPhase.initialize(catalog, sourceURI);
 		}
 		if(initialPhases != null) {
 			for(PlanPhase p : initialPhases) {
 				p.setPlan(this);
+				p.initialize(catalog, sourceURI);
 			}
 		}
 	}
diff --git a/catalog/src/main/java/com/ning/billing/catalog/PlanPhase.java b/catalog/src/main/java/com/ning/billing/catalog/PlanPhase.java
index 851ef12..50ded44 100644
--- a/catalog/src/main/java/com/ning/billing/catalog/PlanPhase.java
+++ b/catalog/src/main/java/com/ning/billing/catalog/PlanPhase.java
@@ -16,6 +16,8 @@
 
 package com.ning.billing.catalog;
 
+import java.net.URI;
+
 import javax.xml.bind.annotation.XmlAccessType;
 import javax.xml.bind.annotation.XmlAccessorType;
 import javax.xml.bind.annotation.XmlAttribute;
@@ -138,6 +140,13 @@ public class PlanPhase extends ValidatingConfig<Catalog> implements IPlanPhase {
 		return errors;
 
 	}
+	
+
+	@Override
+	public void initialize(Catalog root, URI uri) {
+		if (fixedPrice != null) { fixedPrice.initialize(root, uri);  }	
+		if (recurringPrice != null) { recurringPrice.initialize(root, uri); }
+	}
 
 	protected PlanPhase setFixedPrice(InternationalPrice price) {
 		this.fixedPrice = price;