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()) {