Author: mfranklin
Date: Tue Oct 23 14:00:16 2012
New Revision: 1401297

URL: http://svn.apache.org/viewvc?rev=1401297&view=rev
Log:
Fixed serialization issues

Added:
    
rave/branches/mongo/rave-portal-resources/src/main/resources/initial-data.json
      - copied unchanged from r1400083, 
rave/branches/mongo/rave-portal-resources/src/main/resources/initial-data.js
Removed:
    rave/branches/mongo/rave-portal-resources/src/main/resources/initial-data.js
Modified:
    
rave/branches/mongo/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/impl/RegionImpl.java
    
rave/branches/mongo/rave-components/rave-core/src/main/java/org/apache/rave/portal/service/CategoryService.java
    
rave/branches/mongo/rave-components/rave-core/src/main/java/org/apache/rave/portal/service/RegionService.java
    
rave/branches/mongo/rave-components/rave-core/src/main/java/org/apache/rave/portal/service/RegionWidgetService.java
    
rave/branches/mongo/rave-components/rave-core/src/main/java/org/apache/rave/portal/service/WidgetRatingService.java
    
rave/branches/mongo/rave-components/rave-core/src/main/java/org/apache/rave/portal/service/WidgetService.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/MongoDbUser.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/MongoDbCategoryConverter.java
    
rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/model/conversion/impl/MongoDbPageConverter.java
    
rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoDbWidgetRepository.java
    
rave/branches/mongo/rave-portal-resources/src/main/webapp/WEB-INF/dataContext.xml

Modified: 
rave/branches/mongo/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/impl/RegionImpl.java
URL: 
http://svn.apache.org/viewvc/rave/branches/mongo/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/impl/RegionImpl.java?rev=1401297&r1=1401296&r2=1401297&view=diff
==============================================================================
--- 
rave/branches/mongo/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/impl/RegionImpl.java
 (original)
+++ 
rave/branches/mongo/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/impl/RegionImpl.java
 Tue Oct 23 14:00:16 2012
@@ -21,6 +21,7 @@ package org.apache.rave.portal.model.imp
 import org.apache.rave.portal.model.Page;
 import org.apache.rave.portal.model.Region;
 import org.apache.rave.portal.model.RegionWidget;
+import org.codehaus.jackson.annotate.JsonBackReference;
 
 import java.util.List;
 
@@ -56,6 +57,7 @@ public class RegionImpl implements Regio
     }
 
     @Override
+    @JsonBackReference
     public Page getPage() {
         return page;
     }

Modified: 
rave/branches/mongo/rave-components/rave-core/src/main/java/org/apache/rave/portal/service/CategoryService.java
URL: 
http://svn.apache.org/viewvc/rave/branches/mongo/rave-components/rave-core/src/main/java/org/apache/rave/portal/service/CategoryService.java?rev=1401297&r1=1401296&r2=1401297&view=diff
==============================================================================
--- 
rave/branches/mongo/rave-components/rave-core/src/main/java/org/apache/rave/portal/service/CategoryService.java
 (original)
+++ 
rave/branches/mongo/rave-components/rave-core/src/main/java/org/apache/rave/portal/service/CategoryService.java
 Tue Oct 23 14:00:16 2012
@@ -67,6 +67,6 @@ public interface CategoryService {
      *
      * @param category
      */
-    @PreAuthorize("hasPermission(#category.entityId, 
'org.apache.rave.portal.model.Category', 'delete')")
+    @PreAuthorize("hasPermission(#category.id, 
'org.apache.rave.portal.model.Category', 'delete')")
     void delete(Category category);
 }

Modified: 
rave/branches/mongo/rave-components/rave-core/src/main/java/org/apache/rave/portal/service/RegionService.java
URL: 
http://svn.apache.org/viewvc/rave/branches/mongo/rave-components/rave-core/src/main/java/org/apache/rave/portal/service/RegionService.java?rev=1401297&r1=1401296&r2=1401297&view=diff
==============================================================================
--- 
rave/branches/mongo/rave-components/rave-core/src/main/java/org/apache/rave/portal/service/RegionService.java
 (original)
+++ 
rave/branches/mongo/rave-components/rave-core/src/main/java/org/apache/rave/portal/service/RegionService.java
 Tue Oct 23 14:00:16 2012
@@ -27,6 +27,6 @@ public interface RegionService {
       * Register a new region
       * @param region the region object to register
       */
-     @PreAuthorize("hasPermission(#region.entityId, 
'org.apache.rave.portal.model.Region', 'create')")
+     @PreAuthorize("hasPermission(#region.id, 
'org.apache.rave.portal.model.Region', 'create')")
      void registerNewRegion(Region region);
 }

Modified: 
rave/branches/mongo/rave-components/rave-core/src/main/java/org/apache/rave/portal/service/RegionWidgetService.java
URL: 
http://svn.apache.org/viewvc/rave/branches/mongo/rave-components/rave-core/src/main/java/org/apache/rave/portal/service/RegionWidgetService.java?rev=1401297&r1=1401296&r2=1401297&view=diff
==============================================================================
--- 
rave/branches/mongo/rave-components/rave-core/src/main/java/org/apache/rave/portal/service/RegionWidgetService.java
 (original)
+++ 
rave/branches/mongo/rave-components/rave-core/src/main/java/org/apache/rave/portal/service/RegionWidgetService.java
 Tue Oct 23 14:00:16 2012
@@ -42,7 +42,7 @@ public interface RegionWidgetService {
      * @param regionWidget The RegionWidget to save.
      * @return The updated RegionWidget with all ID numbers populated.
      */
-    @PreAuthorize("hasPermission(#regionWidget.entityId, 
'org.apache.rave.portal.model.RegionWidget', 'update')")
+    @PreAuthorize("hasPermission(#regionWidget.id, 
'org.apache.rave.portal.model.RegionWidget', 'update')")
     RegionWidget saveRegionWidget(RegionWidget regionWidget);
 
     /**

Modified: 
rave/branches/mongo/rave-components/rave-core/src/main/java/org/apache/rave/portal/service/WidgetRatingService.java
URL: 
http://svn.apache.org/viewvc/rave/branches/mongo/rave-components/rave-core/src/main/java/org/apache/rave/portal/service/WidgetRatingService.java?rev=1401297&r1=1401296&r2=1401297&view=diff
==============================================================================
--- 
rave/branches/mongo/rave-components/rave-core/src/main/java/org/apache/rave/portal/service/WidgetRatingService.java
 (original)
+++ 
rave/branches/mongo/rave-components/rave-core/src/main/java/org/apache/rave/portal/service/WidgetRatingService.java
 Tue Oct 23 14:00:16 2012
@@ -43,7 +43,7 @@ public interface WidgetRatingService {
      * @param widgetRating WidgetRating
      * @param score        value of the rating
      */
-    @PreAuthorize("hasPermission(#widgetRating.entityId, 
'org.apache.rave.portal.model.WidgetRating', 'update')")
+    @PreAuthorize("hasPermission(#widgetRating.id, 
'org.apache.rave.portal.model.WidgetRating', 'update')")
     void updateScore(WidgetRating widgetRating, Integer score);
 
     /**

Modified: 
rave/branches/mongo/rave-components/rave-core/src/main/java/org/apache/rave/portal/service/WidgetService.java
URL: 
http://svn.apache.org/viewvc/rave/branches/mongo/rave-components/rave-core/src/main/java/org/apache/rave/portal/service/WidgetService.java?rev=1401297&r1=1401296&r2=1401297&view=diff
==============================================================================
--- 
rave/branches/mongo/rave-components/rave-core/src/main/java/org/apache/rave/portal/service/WidgetService.java
 (original)
+++ 
rave/branches/mongo/rave-components/rave-core/src/main/java/org/apache/rave/portal/service/WidgetService.java
 Tue Oct 23 14:00:16 2012
@@ -154,7 +154,7 @@ public interface WidgetService {
      *
      * @param widget to save
      */
-    @PreAuthorize("hasPermission(#widget.entityId, 
'org.apache.rave.portal.model.Widget', 'update')")
+    @PreAuthorize("hasPermission(#widget.id, 
'org.apache.rave.portal.model.Widget', 'update')")
     void updateWidget(Widget widget);
 
 /**

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=1401297&r1=1401296&r2=1401297&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
 Tue Oct 23 14:00:16 2012
@@ -23,7 +23,9 @@ import com.google.common.collect.Lists;
 import org.apache.rave.portal.model.impl.CategoryImpl;
 import org.apache.rave.portal.repository.UserRepository;
 import org.apache.rave.portal.repository.WidgetRepository;
+import org.codehaus.jackson.annotate.JsonAutoDetect;
 import org.codehaus.jackson.annotate.JsonIgnore;
+import org.codehaus.jackson.annotate.JsonMethod;
 
 import javax.xml.bind.annotation.XmlAccessType;
 import javax.xml.bind.annotation.XmlAccessorType;
@@ -31,13 +33,14 @@ import javax.xml.bind.annotation.XmlTran
 import java.util.List;
 
 @XmlAccessorType(value = XmlAccessType.FIELD)
+@JsonAutoDetect(value = JsonMethod.FIELD)
 public class MongoDbCategory extends CategoryImpl {
 
     @XmlTransient @JsonIgnore
     private UserRepository userRepository;
 
     @XmlTransient @JsonIgnore
-    private WidgetRepository widgetTagRepository;
+    private WidgetRepository widgetRepository;
 
     private Long lastModifiedUserId;
     private Long createdUserId;
@@ -52,12 +55,12 @@ public class MongoDbCategory extends Cat
         this.userRepository = userRepository;
     }
 
-    public WidgetRepository getWidgetTagRepository() {
-        return widgetTagRepository;
+    public WidgetRepository getWidgetRepository() {
+        return widgetRepository;
     }
 
-    public void setWidgetTagRepository(WidgetRepository widgetTagRepository) {
-        this.widgetTagRepository = widgetTagRepository;
+    public void setWidgetRepository(WidgetRepository widgetRepository) {
+        this.widgetRepository = widgetRepository;
     }
 
     public List<Long> getWidgetIds() {
@@ -87,7 +90,7 @@ public class MongoDbCategory extends Cat
     @Override
     public User getCreatedUser() {
         User creator = super.getCreatedUser();
-        if(creator == null) {
+        if(creator == null && createdUserId != null) {
             creator = userRepository.get(createdUserId);
             super.setCreatedUser(creator);
         }
@@ -97,7 +100,7 @@ public class MongoDbCategory extends Cat
     @Override
     public User getLastModifiedUser() {
         User lastModifier = super.getLastModifiedUser();
-        if(lastModifier == null) {
+        if(lastModifier == null && lastModifiedUserId != null) {
             lastModifier = userRepository.get(lastModifiedUserId);
             super.setLastModifiedUser(lastModifier);
         }
@@ -110,7 +113,7 @@ public class MongoDbCategory extends Cat
         if(widgets == null) {
             widgets = Lists.newArrayList();
             for(Long widgetId : widgetIds) {
-                widgets.add(widgetTagRepository.get(widgetId));
+                widgets.add(widgetRepository.get(widgetId));
             }
         }
         return widgets;

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=1401297&r1=1401296&r2=1401297&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
 Tue Oct 23 14:00:16 2012
@@ -22,13 +22,16 @@ 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;
+import org.codehaus.jackson.annotate.JsonMethod;
 
 import javax.xml.bind.annotation.XmlAccessType;
 import javax.xml.bind.annotation.XmlAccessorType;
 import javax.xml.bind.annotation.XmlTransient;
 
 @XmlAccessorType(value = XmlAccessType.FIELD)
+@JsonAutoDetect(value = JsonMethod.FIELD)
 public class MongoDbPage extends PageImpl {
 
     @XmlTransient @JsonIgnore

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=1401297&r1=1401296&r2=1401297&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
 Tue Oct 23 14:00:16 2012
@@ -22,13 +22,16 @@ package org.apache.rave.portal.model;
 
 import org.apache.rave.portal.model.impl.PageTemplateImpl;
 import org.apache.rave.portal.repository.PageLayoutRepository;
+import org.codehaus.jackson.annotate.JsonAutoDetect;
 import org.codehaus.jackson.annotate.JsonIgnore;
+import org.codehaus.jackson.annotate.JsonMethod;
 
 import javax.xml.bind.annotation.XmlAccessType;
 import javax.xml.bind.annotation.XmlAccessorType;
 import javax.xml.bind.annotation.XmlTransient;
 
 @XmlAccessorType(value = XmlAccessType.FIELD)
+@JsonAutoDetect(value = JsonMethod.FIELD)
 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=1401297&r1=1401296&r2=1401297&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
 Tue Oct 23 14:00:16 2012
@@ -21,13 +21,16 @@ package org.apache.rave.portal.model;
 
 import org.apache.rave.portal.model.impl.PageTemplateWidgetImpl;
 import org.apache.rave.portal.repository.WidgetRepository;
+import org.codehaus.jackson.annotate.JsonAutoDetect;
 import org.codehaus.jackson.annotate.JsonIgnore;
+import org.codehaus.jackson.annotate.JsonMethod;
 
 import javax.xml.bind.annotation.XmlAccessType;
 import javax.xml.bind.annotation.XmlAccessorType;
 import javax.xml.bind.annotation.XmlTransient;
 
 @XmlAccessorType(value = XmlAccessType.FIELD)
+@JsonAutoDetect(value = JsonMethod.FIELD)
 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=1401297&r1=1401296&r2=1401297&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
 Tue Oct 23 14:00:16 2012
@@ -21,7 +21,9 @@ package org.apache.rave.portal.model;
 
 import org.apache.rave.portal.model.impl.PageUserImpl;
 import org.apache.rave.portal.repository.UserRepository;
+import org.codehaus.jackson.annotate.JsonAutoDetect;
 import org.codehaus.jackson.annotate.JsonIgnore;
+import org.codehaus.jackson.annotate.JsonMethod;
 
 import javax.xml.bind.annotation.XmlAccessType;
 import javax.xml.bind.annotation.XmlAccessorType;
@@ -29,6 +31,7 @@ import javax.xml.bind.annotation.XmlTran
 
 
 @XmlAccessorType(value = XmlAccessType.FIELD)
+@JsonAutoDetect(value = JsonMethod.FIELD)
 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=1401297&r1=1401296&r2=1401297&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
 Tue Oct 23 14:00:16 2012
@@ -22,7 +22,9 @@ package org.apache.rave.portal.model;
 
 import org.apache.rave.portal.model.impl.RegionWidgetImpl;
 import org.apache.rave.portal.repository.WidgetRepository;
+import org.codehaus.jackson.annotate.JsonAutoDetect;
 import org.codehaus.jackson.annotate.JsonIgnore;
+import org.codehaus.jackson.annotate.JsonMethod;
 
 import javax.xml.bind.annotation.XmlAccessType;
 import javax.xml.bind.annotation.XmlAccessorType;
@@ -30,6 +32,7 @@ import javax.xml.bind.annotation.XmlTran
 
 
 @XmlAccessorType(value = XmlAccessType.FIELD)
+@JsonAutoDetect(value = JsonMethod.FIELD)
 public class MongoDbRegionWidget extends RegionWidgetImpl {
     private long widgetId;
 

Modified: 
rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/model/MongoDbUser.java
URL: 
http://svn.apache.org/viewvc/rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/model/MongoDbUser.java?rev=1401297&r1=1401296&r2=1401297&view=diff
==============================================================================
--- 
rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/model/MongoDbUser.java
 (original)
+++ 
rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/model/MongoDbUser.java
 Tue Oct 23 14:00:16 2012
@@ -22,7 +22,9 @@ package org.apache.rave.portal.model;
 import com.google.common.collect.Lists;
 import org.apache.rave.portal.model.impl.UserImpl;
 import org.apache.rave.portal.repository.PageLayoutRepository;
+import org.codehaus.jackson.annotate.JsonAutoDetect;
 import org.codehaus.jackson.annotate.JsonIgnore;
+import org.codehaus.jackson.annotate.JsonMethod;
 import org.springframework.security.core.GrantedAuthority;
 import org.springframework.security.core.authority.SimpleGrantedAuthority;
 
@@ -35,6 +37,7 @@ import java.util.List;
 /**
  */
 @XmlAccessorType(value = XmlAccessType.FIELD)
+@JsonAutoDetect(value = JsonMethod.FIELD)
 public class MongoDbUser extends UserImpl {
 
     private List<String> authorityCodes;
@@ -80,7 +83,7 @@ public class MongoDbUser extends UserImp
 
     @Override
     public Collection<GrantedAuthority> getAuthorities() {
-        verifyAuthorityCodes();
+        ensureAuthorityCodes();
         Collection<GrantedAuthority> grantedAuthorities = Lists.newArrayList();
         for (String code : authorityCodes) {
             grantedAuthorities.add(new SimpleGrantedAuthority(code));
@@ -95,7 +98,7 @@ public class MongoDbUser extends UserImp
 
     @Override
     public void removeAuthority(Authority authority) {
-        verifyAuthorityCodes();
+        ensureAuthorityCodes();
         if (authorityCodes.contains(authority.getAuthority())) {
             authorityCodes.remove(authority.getAuthority());
         }
@@ -131,14 +134,14 @@ public class MongoDbUser extends UserImp
         this.pageLayoutRepository = pageLayoutRepository;
     }
 
-    private void verifyAuthorityCodes() {
+    private void ensureAuthorityCodes() {
         if (authorityCodes == null) {
             authorityCodes = Lists.newArrayList();
         }
     }
 
     private void addAuthorityCode(GrantedAuthority authority) {
-        verifyAuthorityCodes();
+        ensureAuthorityCodes();
         if (!authorityCodes.contains(authority.getAuthority())) {
             authorityCodes.add(authority.getAuthority());
         }

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=1401297&r1=1401296&r2=1401297&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
 Tue Oct 23 14:00:16 2012
@@ -23,7 +23,9 @@ import com.google.common.collect.Lists;
 import org.apache.rave.portal.model.impl.WidgetImpl;
 import org.apache.rave.portal.repository.CategoryRepository;
 import org.apache.rave.portal.repository.UserRepository;
+import org.codehaus.jackson.annotate.JsonAutoDetect;
 import org.codehaus.jackson.annotate.JsonIgnore;
+import org.codehaus.jackson.annotate.JsonMethod;
 
 import javax.xml.bind.annotation.XmlAccessType;
 import javax.xml.bind.annotation.XmlAccessorType;
@@ -34,7 +36,9 @@ import java.util.List;
  */
 
 @XmlAccessorType(value = XmlAccessType.FIELD)
+@JsonAutoDetect(value = JsonMethod.FIELD)
 public class MongoDbWidget extends WidgetImpl {
+
     @XmlTransient @JsonIgnore
     private CategoryRepository categoryRepository;
 
@@ -85,7 +89,7 @@ public class MongoDbWidget extends Widge
     @Override
     public User getOwner() {
         User user = super.getOwner();
-        if(user == null) {
+        if(user == null && ownerId != null) {
             user = userRepository.get(ownerId);
             super.setOwner(user);
         }
@@ -94,13 +98,10 @@ public class MongoDbWidget extends Widge
 
     @Override
     public List<Category> getCategories() {
+        ensureCategoryIds();
         List<Category> categories = super.getCategories();
         if(categories == null || categories.isEmpty()) {
-            categories = Lists.newArrayList();
-            for(Long id : categoryIds) {
-                categories.add(categoryRepository.get(id));
-            }
-            super.setCategories(categories);
+            categories = createCategoriesFromIds();
         }
         return categories;
     }
@@ -123,4 +124,27 @@ public class MongoDbWidget extends Widge
         result = 31 * result + (getId() != null ? getId().hashCode() : 0);
         return result;
     }
+
+    private void ensureCategoryIds() {
+        if(categoryIds == null) {
+            categoryIds = Lists.newArrayList();
+        }
+    }
+
+    private void addCategory(List<Category> categories, Long id) {
+        Category category = categoryRepository.get(id);
+        if(category != null) {
+            categories.add(category);
+        }
+    }
+
+    private List<Category> createCategoriesFromIds() {
+        List<Category> categories;
+        categories = Lists.newArrayList();
+        for(Long id : categoryIds) {
+            addCategory(categories, id);
+        }
+        super.setCategories(categories);
+        return categories;
+    }
 }

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=1401297&r1=1401296&r2=1401297&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
 Tue Oct 23 14:00:16 2012
@@ -21,7 +21,9 @@ package org.apache.rave.portal.model;
 
 import org.apache.rave.portal.model.impl.WidgetCommentImpl;
 import org.apache.rave.portal.repository.UserRepository;
+import org.codehaus.jackson.annotate.JsonAutoDetect;
 import org.codehaus.jackson.annotate.JsonIgnore;
+import org.codehaus.jackson.annotate.JsonMethod;
 
 import javax.xml.bind.annotation.XmlAccessType;
 import javax.xml.bind.annotation.XmlAccessorType;
@@ -31,6 +33,7 @@ import javax.xml.bind.annotation.XmlTran
  */
 
 @XmlAccessorType(value = XmlAccessType.FIELD)
+@JsonAutoDetect(value = JsonMethod.FIELD)
 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=1401297&r1=1401296&r2=1401297&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
 Tue Oct 23 14:00:16 2012
@@ -21,7 +21,9 @@ package org.apache.rave.portal.model;
 
 import org.apache.rave.portal.model.impl.WidgetTagImpl;
 import org.apache.rave.portal.repository.UserRepository;
+import org.codehaus.jackson.annotate.JsonAutoDetect;
 import org.codehaus.jackson.annotate.JsonIgnore;
+import org.codehaus.jackson.annotate.JsonMethod;
 
 import javax.xml.bind.annotation.XmlAccessType;
 import javax.xml.bind.annotation.XmlAccessorType;
@@ -31,6 +33,7 @@ import javax.xml.bind.annotation.XmlTran
  */
 
 @XmlAccessorType(value = XmlAccessType.FIELD)
+@JsonAutoDetect(value = JsonMethod.FIELD)
 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/MongoDbCategoryConverter.java
URL: 
http://svn.apache.org/viewvc/rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/model/conversion/impl/MongoDbCategoryConverter.java?rev=1401297&r1=1401296&r2=1401297&view=diff
==============================================================================
--- 
rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/model/conversion/impl/MongoDbCategoryConverter.java
 (original)
+++ 
rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/model/conversion/impl/MongoDbCategoryConverter.java
 Tue Oct 23 14:00:16 2012
@@ -48,7 +48,7 @@ public class MongoDbCategoryConverter im
             return;
         }
         dehydrated.setUserRepository(userRepository);
-        dehydrated.setWidgetTagRepository(widgetRepository);
+        dehydrated.setWidgetRepository(widgetRepository);
     }
 
     @Override
@@ -59,6 +59,8 @@ public class MongoDbCategoryConverter im
     @Override
     public MongoDbCategory convert(Category source) {
         MongoDbCategory category = source instanceof MongoDbCategory ? 
((MongoDbCategory) source) : new MongoDbCategory();
+        category.setWidgetRepository(null);
+        category.setUserRepository(null);
         category.setCreatedUserId(source.getCreatedUser().getId());
         category.setCreatedUser(null);
         category.setLastModifiedUserId(source.getLastModifiedUser().getId());

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=1401297&r1=1401296&r2=1401297&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
 Tue Oct 23 14:00:16 2012
@@ -146,6 +146,7 @@ public class MongoDbPageConverter implem
         regionWidget.setWidgetId(sourceRegionWidget.getWidget().getId());
         regionWidget.setWidget(null);
         regionWidget.setWidgetRepository(null);
+        regionWidget.setRegion(null);
         regionWidget.setPreferences(sourceRegionWidget.getPreferences());
         updatePreferences(regionWidget);
         return regionWidget;

Modified: 
rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoDbWidgetRepository.java
URL: 
http://svn.apache.org/viewvc/rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoDbWidgetRepository.java?rev=1401297&r1=1401296&r2=1401297&view=diff
==============================================================================
--- 
rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoDbWidgetRepository.java
 (original)
+++ 
rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoDbWidgetRepository.java
 Tue Oct 23 14:00:16 2012
@@ -53,12 +53,12 @@ public class MongoDbWidgetRepository imp
 
     @Override
     public List<Widget> getAll() {
-        return template.find(new Query());
+        return template.find(addSort(new Query()));
     }
 
     @Override
     public List<Widget> getLimitedList(int offset, int pageSize) {
-        return template.find(new Query().skip(offset).limit(pageSize));
+        return template.find(addSort(new 
Query().skip(offset).limit(pageSize)));
     }
 
     @Override

Modified: 
rave/branches/mongo/rave-portal-resources/src/main/webapp/WEB-INF/dataContext.xml
URL: 
http://svn.apache.org/viewvc/rave/branches/mongo/rave-portal-resources/src/main/webapp/WEB-INF/dataContext.xml?rev=1401297&r1=1401296&r2=1401297&view=diff
==============================================================================
--- 
rave/branches/mongo/rave-portal-resources/src/main/webapp/WEB-INF/dataContext.xml
 (original)
+++ 
rave/branches/mongo/rave-portal-resources/src/main/webapp/WEB-INF/dataContext.xml
 Tue Oct 23 14:00:16 2012
@@ -39,7 +39,7 @@
     <bean id="dataImporter" 
class="org.apache.rave.portal.util.data.DataImporter">
         <property name="scriptLocations">
             <list>
-                <value>classpath:initial-data.js</value>
+                <value>classpath:initial-data.json</value>
             </list>
         </property>
     </bean>


Reply via email to