Author: mfranklin
Date: Tue Feb 12 22:36:37 2013
New Revision: 1445420

URL: http://svn.apache.org/r1445420
Log:
Fixed infinite recursion issues with JPA conversion RAVE-887

Modified:
    
rave/trunk/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/JpaPage.java
    
rave/trunk/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/JpaPageTemplate.java
    
rave/trunk/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/JpaPageTemplateRegion.java
    
rave/trunk/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/JpaRegion.java
    
rave/trunk/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/conversion/JpaPageTemplateConverter.java
    
rave/trunk/rave-portal-resources/src/main/resources_mongo/db/initial-data.json

Modified: 
rave/trunk/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/JpaPage.java
URL: 
http://svn.apache.org/viewvc/rave/trunk/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/JpaPage.java?rev=1445420&r1=1445419&r2=1445420&view=diff
==============================================================================
--- 
rave/trunk/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/JpaPage.java
 (original)
+++ 
rave/trunk/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/JpaPage.java
 Tue Feb 12 22:36:37 2013
@@ -18,6 +18,7 @@
  */
 package org.apache.rave.portal.model;
 
+import org.apache.rave.model.ModelConverter;
 import org.apache.rave.persistence.BasicEntity;
 import org.apache.rave.portal.model.conversion.ConvertingListProxyFactory;
 import org.apache.rave.portal.model.conversion.JpaConverter;
@@ -197,7 +198,10 @@ public class JpaPage implements BasicEnt
         }
         this.getRegions().clear();
         if(regions != null) {
-            this.getRegions().addAll(regions);
+            for(Region region : regions) {
+                region.setPage(this);
+                this.getRegions().add(region);
+            }
         }
     }
 
@@ -239,8 +243,12 @@ public class JpaPage implements BasicEnt
             this.subPages = new ArrayList<JpaPage>();
         }
         this.getSubPages().clear();
+
         if(subPages != null) {
-            this.getSubPages().addAll(subPages);
+            for(Page subPage : subPages) {
+                subPage.setParentPage(this);
+                this.getSubPages().add(subPage);
+            }
         }
     }
 

Modified: 
rave/trunk/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/JpaPageTemplate.java
URL: 
http://svn.apache.org/viewvc/rave/trunk/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/JpaPageTemplate.java?rev=1445420&r1=1445419&r2=1445420&view=diff
==============================================================================
--- 
rave/trunk/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/JpaPageTemplate.java
 (original)
+++ 
rave/trunk/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/JpaPageTemplate.java
 Tue Feb 12 22:36:37 2013
@@ -19,6 +19,7 @@
 
 package org.apache.rave.portal.model;
 
+import org.apache.rave.model.ModelConverter;
 import org.apache.rave.persistence.BasicEntity;
 import org.apache.rave.portal.model.conversion.ConvertingListProxyFactory;
 import org.apache.rave.portal.model.conversion.JpaConverter;
@@ -156,7 +157,10 @@ public class JpaPageTemplate implements 
         }
         this.getPageTemplateRegions().clear();
         if(pageTemplateRegions != null) {
-            this.getPageTemplateRegions().addAll(pageTemplateRegions);
+            for(PageTemplateRegion region : pageTemplateRegions) {
+                region.setPageTemplate(this);
+                this.getPageTemplateRegions().add(region);
+            }
         }
     }
 
@@ -192,7 +196,10 @@ public class JpaPageTemplate implements 
         }
         this.getSubPageTemplates().clear();
         if(subPageTemplates != null) {
-            this.getSubPageTemplates().addAll(subPageTemplates);
+            for(PageTemplate subPageTemplate : subPageTemplates) {
+                subPageTemplate.setParentPageTemplate(this);
+                this.getSubPageTemplates().add(subPageTemplate);
+            }
         }
     }
 

Modified: 
rave/trunk/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/JpaPageTemplateRegion.java
URL: 
http://svn.apache.org/viewvc/rave/trunk/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/JpaPageTemplateRegion.java?rev=1445420&r1=1445419&r2=1445420&view=diff
==============================================================================
--- 
rave/trunk/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/JpaPageTemplateRegion.java
 (original)
+++ 
rave/trunk/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/JpaPageTemplateRegion.java
 Tue Feb 12 22:36:37 2013
@@ -19,6 +19,7 @@
 
 package org.apache.rave.portal.model;
 
+import org.apache.rave.model.ModelConverter;
 import org.apache.rave.persistence.BasicEntity;
 import org.apache.rave.portal.model.conversion.ConvertingListProxyFactory;
 import org.apache.rave.portal.model.conversion.JpaConverter;
@@ -109,7 +110,10 @@ public class JpaPageTemplateRegion imple
         }
         this.getPageTemplateWidgets().clear();
         if(pageTemplateWidgets != null) {
-            this.getPageTemplateWidgets().addAll(pageTemplateWidgets);
+            for(PageTemplateWidget widget : pageTemplateWidgets) {
+                widget.setPageTemplateRegion(this);
+                this.getPageTemplateWidgets().add(widget);
+            }
         }
     }
 

Modified: 
rave/trunk/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/JpaRegion.java
URL: 
http://svn.apache.org/viewvc/rave/trunk/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/JpaRegion.java?rev=1445420&r1=1445419&r2=1445420&view=diff
==============================================================================
--- 
rave/trunk/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/JpaRegion.java
 (original)
+++ 
rave/trunk/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/JpaRegion.java
 Tue Feb 12 22:36:37 2013
@@ -18,6 +18,7 @@
  */
 package org.apache.rave.portal.model;
 
+import org.apache.rave.model.ModelConverter;
 import org.apache.rave.persistence.BasicEntity;
 import org.apache.rave.portal.model.conversion.ConvertingListProxyFactory;
 import org.apache.rave.portal.model.conversion.JpaConverter;
@@ -166,7 +167,10 @@ public class JpaRegion implements BasicE
         }
         this.getRegionWidgets().clear();
         if(regionWidgets != null) {
-            this.getRegionWidgets().addAll(regionWidgets);
+            for(RegionWidget widget : regionWidgets) {
+                widget.setRegion(this);
+                this.getRegionWidgets().add(widget);
+            }
         }
     }
 

Modified: 
rave/trunk/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/conversion/JpaPageTemplateConverter.java
URL: 
http://svn.apache.org/viewvc/rave/trunk/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/conversion/JpaPageTemplateConverter.java?rev=1445420&r1=1445419&r2=1445420&view=diff
==============================================================================
--- 
rave/trunk/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/conversion/JpaPageTemplateConverter.java
 (original)
+++ 
rave/trunk/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/conversion/JpaPageTemplateConverter.java
 Tue Feb 12 22:36:37 2013
@@ -44,7 +44,8 @@ public class JpaPageTemplateConverter im
     private JpaPageTemplate createEntity(PageTemplate source) {
         JpaPageTemplate converted = null;
         if(source != null) {
-            converted = source.getId() == null ? new JpaPageTemplate() : 
manager.find(JpaPageTemplate.class, Long.parseLong(source.getId()));    
if(converted == null) {
+            converted = source.getId() == null ? new JpaPageTemplate() : 
manager.find(JpaPageTemplate.class, Long.parseLong(source.getId()));
+            if(converted == null) {
                 converted = new JpaPageTemplate();
             }
             updateProperties(source, converted);

Modified: 
rave/trunk/rave-portal-resources/src/main/resources_mongo/db/initial-data.json
URL: 
http://svn.apache.org/viewvc/rave/trunk/rave-portal-resources/src/main/resources_mongo/db/initial-data.json?rev=1445420&r1=1445419&r2=1445420&view=diff
==============================================================================
--- 
rave/trunk/rave-portal-resources/src/main/resources_mongo/db/initial-data.json 
(original)
+++ 
rave/trunk/rave-portal-resources/src/main/resources_mongo/db/initial-data.json 
Tue Feb 12 22:36:37 2013
@@ -1274,7 +1274,7 @@
     {
         "id": 2,
         "text": "News",
-        "createdUsedId": "1",
+        "createdUserdId": "1",
         "createdDate": 1326949200000,
         "lastModifiedUserId": "1",
         "lastModifiedDate": 1326949200000


Reply via email to