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;