Author: ard
Date: Wed Sep 12 15:29:25 2012
New Revision: 1383998

URL: http://svn.apache.org/viewvc?rev=1383998&view=rev
Log:
RAVE-697 Merging child nodes correctly

Modified:
    
rave/sandbox/content-services/rave-web-hmvc/src/main/java/org/apache/rave/portal/web/mvc/config/enhancers/ExtendsEnhancer.java

Modified: 
rave/sandbox/content-services/rave-web-hmvc/src/main/java/org/apache/rave/portal/web/mvc/config/enhancers/ExtendsEnhancer.java
URL: 
http://svn.apache.org/viewvc/rave/sandbox/content-services/rave-web-hmvc/src/main/java/org/apache/rave/portal/web/mvc/config/enhancers/ExtendsEnhancer.java?rev=1383998&r1=1383997&r2=1383998&view=diff
==============================================================================
--- 
rave/sandbox/content-services/rave-web-hmvc/src/main/java/org/apache/rave/portal/web/mvc/config/enhancers/ExtendsEnhancer.java
 (original)
+++ 
rave/sandbox/content-services/rave-web-hmvc/src/main/java/org/apache/rave/portal/web/mvc/config/enhancers/ExtendsEnhancer.java
 Wed Sep 12 15:29:25 2012
@@ -110,18 +110,19 @@ public class ExtendsEnhancer implements 
         
         // merge the fields of children that are in common 
         for (MutablePageFragment child : fragment.getChildrenMap().values()) {
-            MutablePageFragment extendsFromChild = 
extendsFrom.getChild(child.getName());
-            if (extendsFromChild != null) {
-                mergeFields(child, extendsFromChild);
+            MutablePageFragment inheritedChild = 
extendsFrom.getChild(child.getName());
+            if (inheritedChild != null) {
+                mergeFields(child, inheritedChild);
+                mergeChilds(child, inheritedChild);
             }
         }
 
         // DEEP COPY the children that extendsFrom has but that fragment does 
not have
-        for (MutablePageFragment extendsFromChild : 
extendsFrom.getChildrenMap().values()) {
-            MutablePageFragment child = 
fragment.getChild(extendsFromChild.getName());
+        for (MutablePageFragment inheritedChild : 
extendsFrom.getChildrenMap().values()) {
+            MutablePageFragment child = 
fragment.getChild(inheritedChild.getName());
             if (child == null) {
                 // now add to fragment a DEEP COPY from extendsFromChild
-                MutablePageFragment deepCopyChild = new 
MutablePageFragment(extendsFromChild, fragment);
+                MutablePageFragment deepCopyChild = new 
MutablePageFragment(inheritedChild, fragment);
                 alreadyResolved.add(deepCopyChild.getPath());
                 fragment.addChild(deepCopyChild);
             }


Reply via email to