Author: mfranklin
Date: Thu Oct 25 20:54:44 2012
New Revision: 1402325

URL: http://svn.apache.org/viewvc?rev=1402325&view=rev
Log:
Fixed infinite recursion on serialization

Modified:
    
rave/branches/mongo/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/impl/PageUserImpl.java
    
rave/branches/mongo/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/impl/RegionWidgetImpl.java
    
rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/model/MongoDbCategory.java
    
rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/model/MongoDbPage.java
    
rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/model/MongoDbPageTemplate.java
    
rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/model/MongoDbPageTemplateWidget.java
    
rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/model/MongoDbPageUser.java
    
rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/model/MongoDbRegionWidget.java
    
rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/model/MongoDbWidget.java
    
rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/model/MongoDbWidgetComment.java
    
rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/model/MongoDbWidgetTag.java
    
rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/model/conversion/impl/MongoDbPageConverter.java

Modified: 
rave/branches/mongo/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/impl/PageUserImpl.java
URL: 
http://svn.apache.org/viewvc/rave/branches/mongo/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/impl/PageUserImpl.java?rev=1402325&r1=1402324&r2=1402325&view=diff
==============================================================================
--- 
rave/branches/mongo/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/impl/PageUserImpl.java
 (original)
+++ 
rave/branches/mongo/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/impl/PageUserImpl.java
 Thu Oct 25 20:54:44 2012
@@ -19,15 +19,18 @@
 package org.apache.rave.portal.model.impl;
 
 import org.apache.rave.portal.model.*;
+import org.codehaus.jackson.annotate.JsonBackReference;
 
 public class PageUserImpl implements PageUser {
     private Long id;
     private User user;
-    private Page page;
     private boolean editor;
     private Long renderSequence;
     private PageInvitationStatus pageStatus;
 
+    @JsonBackReference
+    private Page page;
+
     public PageUserImpl(){}
 
     public PageUserImpl(Long id){

Modified: 
rave/branches/mongo/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/impl/RegionWidgetImpl.java
URL: 
http://svn.apache.org/viewvc/rave/branches/mongo/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/impl/RegionWidgetImpl.java?rev=1402325&r1=1402324&r2=1402325&view=diff
==============================================================================
--- 
rave/branches/mongo/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/impl/RegionWidgetImpl.java
 (original)
+++ 
rave/branches/mongo/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/impl/RegionWidgetImpl.java
 Thu Oct 25 20:54:44 2012
@@ -22,13 +22,13 @@ import org.apache.rave.portal.model.Regi
 import org.apache.rave.portal.model.RegionWidget;
 import org.apache.rave.portal.model.RegionWidgetPreference;
 import org.apache.rave.portal.model.Widget;
+import org.codehaus.jackson.annotate.JsonBackReference;
 
 import java.util.List;
 
 public class RegionWidgetImpl implements RegionWidget {
     private Long id;
     private Widget widget;
-    private Region region;
     private String renderPosition;
     private Integer renderOrder = 0;
     private Boolean collapsed = false;
@@ -36,6 +36,9 @@ public class RegionWidgetImpl implements
     private Boolean locked = false;
     private Boolean hideChrome = false;
 
+    @JsonBackReference
+    private Region region;
+
     public RegionWidgetImpl() {
 
     }

Modified: 
rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/model/MongoDbCategory.java
URL: 
http://svn.apache.org/viewvc/rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/model/MongoDbCategory.java?rev=1402325&r1=1402324&r2=1402325&view=diff
==============================================================================
--- 
rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/model/MongoDbCategory.java
 (original)
+++ 
rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/model/MongoDbCategory.java
 Thu Oct 25 20:54:44 2012
@@ -35,7 +35,7 @@ import static org.springframework.data.m
 import static org.springframework.data.mongodb.core.query.Query.query;
 
 @XmlAccessorType(value = XmlAccessType.FIELD)
-@JsonAutoDetect(value = JsonMethod.FIELD)
+@JsonAutoDetect(value = JsonMethod.FIELD, fieldVisibility = 
JsonAutoDetect.Visibility.ANY)
 public class MongoDbCategory extends CategoryImpl {
 
     @XmlTransient @JsonIgnore

Modified: 
rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/model/MongoDbPage.java
URL: 
http://svn.apache.org/viewvc/rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/model/MongoDbPage.java?rev=1402325&r1=1402324&r2=1402325&view=diff
==============================================================================
--- 
rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/model/MongoDbPage.java
 (original)
+++ 
rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/model/MongoDbPage.java
 Thu Oct 25 20:54:44 2012
@@ -20,7 +20,6 @@
 package org.apache.rave.portal.model;
 
 import org.apache.rave.portal.model.impl.PageImpl;
-import org.apache.rave.portal.repository.PageLayoutRepository;
 import org.apache.rave.portal.repository.UserRepository;
 import org.codehaus.jackson.annotate.JsonAutoDetect;
 import org.codehaus.jackson.annotate.JsonIgnore;
@@ -31,22 +30,18 @@ import javax.xml.bind.annotation.XmlAcce
 import javax.xml.bind.annotation.XmlTransient;
 
 @XmlAccessorType(value = XmlAccessType.FIELD)
-@JsonAutoDetect(value = JsonMethod.FIELD)
+@JsonAutoDetect(value = JsonMethod.FIELD, fieldVisibility = 
JsonAutoDetect.Visibility.ANY)
 public class MongoDbPage extends PageImpl {
 
     @XmlTransient @JsonIgnore
     private UserRepository userRepository;
 
-    @XmlTransient @JsonIgnore
-    private PageLayoutRepository pageLayoutRepository;
-
     private Long ownerId;
     private String pageLayoutCode;
 
     public MongoDbPage() {}
 
-    public MongoDbPage(PageLayoutRepository pageLayoutRepository, 
UserRepository userRepository) {
-        this.pageLayoutRepository = pageLayoutRepository;
+    public MongoDbPage(UserRepository userRepository) {
         this.userRepository = userRepository;
     }
 
@@ -74,14 +69,6 @@ public class MongoDbPage extends PageImp
         this.userRepository = userRepository;
     }
 
-    public PageLayoutRepository getPageLayoutRepository() {
-        return pageLayoutRepository;
-    }
-
-    public void setPageLayoutRepository(PageLayoutRepository 
pageLayoutRepository) {
-        this.pageLayoutRepository = pageLayoutRepository;
-    }
-
     @Override
     public User getOwner() {
         User owner = super.getOwner();
@@ -93,15 +80,6 @@ public class MongoDbPage extends PageImp
     }
 
     @Override
-    public PageLayout getPageLayout() {
-        PageLayout layout = super.getPageLayout();
-        if(layout == null) {
-            layout = pageLayoutRepository.getByPageLayoutCode(pageLayoutCode);
-            super.setPageLayout(layout);
-        }
-        return layout;
-    }
-    @Override
     public boolean equals(Object o) {
         if (this == o) return true;
         if (!(o instanceof Page)) return false;

Modified: 
rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/model/MongoDbPageTemplate.java
URL: 
http://svn.apache.org/viewvc/rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/model/MongoDbPageTemplate.java?rev=1402325&r1=1402324&r2=1402325&view=diff
==============================================================================
--- 
rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/model/MongoDbPageTemplate.java
 (original)
+++ 
rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/model/MongoDbPageTemplate.java
 Thu Oct 25 20:54:44 2012
@@ -31,7 +31,7 @@ import javax.xml.bind.annotation.XmlAcce
 import javax.xml.bind.annotation.XmlTransient;
 
 @XmlAccessorType(value = XmlAccessType.FIELD)
-@JsonAutoDetect(value = JsonMethod.FIELD)
+@JsonAutoDetect(value = JsonMethod.FIELD, fieldVisibility = 
JsonAutoDetect.Visibility.ANY)
 public class MongoDbPageTemplate extends PageTemplateImpl {
 
     @XmlTransient @JsonIgnore

Modified: 
rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/model/MongoDbPageTemplateWidget.java
URL: 
http://svn.apache.org/viewvc/rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/model/MongoDbPageTemplateWidget.java?rev=1402325&r1=1402324&r2=1402325&view=diff
==============================================================================
--- 
rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/model/MongoDbPageTemplateWidget.java
 (original)
+++ 
rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/model/MongoDbPageTemplateWidget.java
 Thu Oct 25 20:54:44 2012
@@ -30,7 +30,7 @@ import javax.xml.bind.annotation.XmlAcce
 import javax.xml.bind.annotation.XmlTransient;
 
 @XmlAccessorType(value = XmlAccessType.FIELD)
-@JsonAutoDetect(value = JsonMethod.FIELD)
+@JsonAutoDetect(value = JsonMethod.FIELD, fieldVisibility = 
JsonAutoDetect.Visibility.ANY)
 public class MongoDbPageTemplateWidget extends PageTemplateWidgetImpl{
     @XmlTransient @JsonIgnore
     private WidgetRepository widgetRepository;

Modified: 
rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/model/MongoDbPageUser.java
URL: 
http://svn.apache.org/viewvc/rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/model/MongoDbPageUser.java?rev=1402325&r1=1402324&r2=1402325&view=diff
==============================================================================
--- 
rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/model/MongoDbPageUser.java
 (original)
+++ 
rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/model/MongoDbPageUser.java
 Thu Oct 25 20:54:44 2012
@@ -31,7 +31,7 @@ import javax.xml.bind.annotation.XmlTran
 
 
 @XmlAccessorType(value = XmlAccessType.FIELD)
-@JsonAutoDetect(value = JsonMethod.FIELD)
+@JsonAutoDetect(value = JsonMethod.FIELD, fieldVisibility = 
JsonAutoDetect.Visibility.ANY)
 public class MongoDbPageUser extends PageUserImpl {
     @XmlTransient @JsonIgnore
     private UserRepository userRepository;

Modified: 
rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/model/MongoDbRegionWidget.java
URL: 
http://svn.apache.org/viewvc/rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/model/MongoDbRegionWidget.java?rev=1402325&r1=1402324&r2=1402325&view=diff
==============================================================================
--- 
rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/model/MongoDbRegionWidget.java
 (original)
+++ 
rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/model/MongoDbRegionWidget.java
 Thu Oct 25 20:54:44 2012
@@ -32,7 +32,7 @@ import javax.xml.bind.annotation.XmlTran
 
 
 @XmlAccessorType(value = XmlAccessType.FIELD)
-@JsonAutoDetect(value = JsonMethod.FIELD)
+@JsonAutoDetect(value = JsonMethod.FIELD, fieldVisibility = 
JsonAutoDetect.Visibility.ANY)
 public class MongoDbRegionWidget extends RegionWidgetImpl {
     private long widgetId;
 

Modified: 
rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/model/MongoDbWidget.java
URL: 
http://svn.apache.org/viewvc/rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/model/MongoDbWidget.java?rev=1402325&r1=1402324&r2=1402325&view=diff
==============================================================================
--- 
rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/model/MongoDbWidget.java
 (original)
+++ 
rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/model/MongoDbWidget.java
 Thu Oct 25 20:54:44 2012
@@ -36,7 +36,7 @@ import java.util.List;
  */
 
 @XmlAccessorType(value = XmlAccessType.FIELD)
-@JsonAutoDetect(value = JsonMethod.FIELD)
+@JsonAutoDetect(value = JsonMethod.FIELD, fieldVisibility = 
JsonAutoDetect.Visibility.ANY)
 public class MongoDbWidget extends WidgetImpl {
 
     @XmlTransient @JsonIgnore

Modified: 
rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/model/MongoDbWidgetComment.java
URL: 
http://svn.apache.org/viewvc/rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/model/MongoDbWidgetComment.java?rev=1402325&r1=1402324&r2=1402325&view=diff
==============================================================================
--- 
rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/model/MongoDbWidgetComment.java
 (original)
+++ 
rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/model/MongoDbWidgetComment.java
 Thu Oct 25 20:54:44 2012
@@ -33,7 +33,7 @@ import javax.xml.bind.annotation.XmlTran
  */
 
 @XmlAccessorType(value = XmlAccessType.FIELD)
-@JsonAutoDetect(value = JsonMethod.FIELD)
+@JsonAutoDetect(value = JsonMethod.FIELD, fieldVisibility = 
JsonAutoDetect.Visibility.ANY)
 public class MongoDbWidgetComment extends WidgetCommentImpl {
     @XmlTransient @JsonIgnore
     private UserRepository userRepository;

Modified: 
rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/model/MongoDbWidgetTag.java
URL: 
http://svn.apache.org/viewvc/rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/model/MongoDbWidgetTag.java?rev=1402325&r1=1402324&r2=1402325&view=diff
==============================================================================
--- 
rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/model/MongoDbWidgetTag.java
 (original)
+++ 
rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/model/MongoDbWidgetTag.java
 Thu Oct 25 20:54:44 2012
@@ -33,7 +33,7 @@ import javax.xml.bind.annotation.XmlTran
  */
 
 @XmlAccessorType(value = XmlAccessType.FIELD)
-@JsonAutoDetect(value = JsonMethod.FIELD)
+@JsonAutoDetect(value = JsonMethod.FIELD, fieldVisibility = 
JsonAutoDetect.Visibility.ANY)
 public class MongoDbWidgetTag extends WidgetTagImpl {
     @XmlTransient @JsonIgnore
     private UserRepository userRepository;

Modified: 
rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/model/conversion/impl/MongoDbPageConverter.java
URL: 
http://svn.apache.org/viewvc/rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/model/conversion/impl/MongoDbPageConverter.java?rev=1402325&r1=1402324&r2=1402325&view=diff
==============================================================================
--- 
rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/model/conversion/impl/MongoDbPageConverter.java
 (original)
+++ 
rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/model/conversion/impl/MongoDbPageConverter.java
 Thu Oct 25 20:54:44 2012
@@ -63,7 +63,6 @@ public class MongoDbPageConverter implem
         page.setOwner(null);
         page.setPageLayout(null);
         page.setParentPage(null);
-        page.setPageLayoutRepository(null);
         page.setUserRepository(null);
 
         List<PageUser> convertedMembers = Lists.newArrayList();
@@ -108,7 +107,7 @@ public class MongoDbPageConverter implem
         if (page == null) {
             return;
         }
-        page.setPageLayoutRepository(pageLayoutRepository);
+        
page.setPageLayout(pageLayoutRepository.getByPageLayoutCode(page.getPageLayoutCode()));
         page.setUserRepository(userRepository);
 
         for (PageUser user : page.getMembers()) {


Reply via email to