Author: mfranklin
Date: Mon Jun 18 17:46:21 2012
New Revision: 1351422

URL: http://svn.apache.org/viewvc?rev=1351422&view=rev
Log:
Fixed serialization/deserialization issues RAVE-667

Added:
    
rave/branches/model_interfaces/rave-components/rave-web/src/main/java/org/apache/rave/portal/web/model/MaterializedBeanObjectMapperFactory.java
Modified:
    rave/branches/model_interfaces/pom.xml
    
rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/Address.java
    
rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/ApplicationData.java
    
rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/Authority.java
    
rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/Category.java
    
rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/Group.java
    
rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/OAuthConsumerStore.java
    
rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/OAuthTokenInfo.java
    
rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/Organization.java
    
rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/Page.java
    
rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/PageLayout.java
    
rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/PageTemplate.java
    
rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/PageTemplateRegion.java
    
rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/PageTemplateWidget.java
    
rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/PageUser.java
    
rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/Person.java
    
rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/PersonProperty.java
    
rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/PortalPreference.java
    
rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/Region.java
    
rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/RegionWidget.java
    
rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/RegionWidgetPreference.java
    
rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/Tag.java
    
rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/User.java
    
rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/Widget.java
    
rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/WidgetComment.java
    
rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/WidgetRating.java
    
rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/WidgetTag.java
    
rave/branches/model_interfaces/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/JpaWidgetTag.java
    
rave/branches/model_interfaces/rave-components/rave-jpa/src/main/resources/org/apache/rave/jpa-applicationContext.xml
    rave/branches/model_interfaces/rave-components/rave-web/pom.xml
    
rave/branches/model_interfaces/rave-portal-resources/src/main/webapp/WEB-INF/dispatcher-servlet.xml

Modified: rave/branches/model_interfaces/pom.xml
URL: 
http://svn.apache.org/viewvc/rave/branches/model_interfaces/pom.xml?rev=1351422&r1=1351421&r2=1351422&view=diff
==============================================================================
--- rave/branches/model_interfaces/pom.xml (original)
+++ rave/branches/model_interfaces/pom.xml Mon Jun 18 17:46:21 2012
@@ -79,6 +79,8 @@
         <!-- Force maven-filesync-plugin rewrite the Eclipse FileSync plugin 
configuration with
             $mvn filesync:generate -Dmaven.filesync.override=true -->
         <maven.filesync.override>false</maven.filesync.override>
+        <jackson.version>1.8.1</jackson.version>
+
 
         <!-- default empty javaagent
         if needed you can specify it on the command line with 
-Djavaagent="..." -->
@@ -290,6 +292,11 @@
             </exclusions>
             </dependency>
             <dependency>
+                <groupId>org.codehaus.jackson</groupId>
+                <artifactId>jackson-mrbean</artifactId>
+                <version>${jackson.version}</version>
+            </dependency>
+            <dependency>
                 <groupId>com.google.inject.extensions</groupId>
                 <artifactId>guice-persist</artifactId>
                 <version>${guice.version}</version>

Modified: 
rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/Address.java
URL: 
http://svn.apache.org/viewvc/rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/Address.java?rev=1351422&r1=1351421&r2=1351422&view=diff
==============================================================================
--- 
rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/Address.java
 (original)
+++ 
rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/Address.java
 Mon Jun 18 17:46:21 2012
@@ -1,7 +1,10 @@
 package org.apache.rave.portal.model;
 
+import javax.xml.bind.annotation.XmlTransient;
+
 /**
  */
+@XmlTransient
 public interface Address {
     String getCountry();
 

Modified: 
rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/ApplicationData.java
URL: 
http://svn.apache.org/viewvc/rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/ApplicationData.java?rev=1351422&r1=1351421&r2=1351422&view=diff
==============================================================================
--- 
rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/ApplicationData.java
 (original)
+++ 
rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/ApplicationData.java
 Mon Jun 18 17:46:21 2012
@@ -18,8 +18,10 @@
  */
 package org.apache.rave.portal.model;
 
+import javax.xml.bind.annotation.XmlTransient;
 import java.util.Map;
 
+@XmlTransient
 public interface ApplicationData {
     Long getId();
     void setId(Long id);

Modified: 
rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/Authority.java
URL: 
http://svn.apache.org/viewvc/rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/Authority.java?rev=1351422&r1=1351421&r2=1351422&view=diff
==============================================================================
--- 
rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/Authority.java
 (original)
+++ 
rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/Authority.java
 Mon Jun 18 17:46:21 2012
@@ -2,8 +2,10 @@ package org.apache.rave.portal.model;
 
 import org.springframework.security.core.GrantedAuthority;
 
+import javax.xml.bind.annotation.XmlTransient;
 import java.util.Collection;
 
+@XmlTransient
 public interface Authority extends GrantedAuthority {
     @Override
     String getAuthority();

Modified: 
rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/Category.java
URL: 
http://svn.apache.org/viewvc/rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/Category.java?rev=1351422&r1=1351421&r2=1351422&view=diff
==============================================================================
--- 
rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/Category.java
 (original)
+++ 
rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/Category.java
 Mon Jun 18 17:46:21 2012
@@ -15,12 +15,14 @@
  */
 package org.apache.rave.portal.model;
 
+import javax.xml.bind.annotation.XmlTransient;
 import java.util.Date;
 import java.util.List;
 
 /**
  * A category for a widget.
  */
+@XmlTransient
 public interface Category {
     public Long getId();
     public void setId(Long id);

Modified: 
rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/Group.java
URL: 
http://svn.apache.org/viewvc/rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/Group.java?rev=1351422&r1=1351421&r2=1351422&view=diff
==============================================================================
--- 
rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/Group.java
 (original)
+++ 
rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/Group.java
 Mon Jun 18 17:46:21 2012
@@ -18,11 +18,13 @@
  */
 package org.apache.rave.portal.model;
 
+import javax.xml.bind.annotation.XmlTransient;
 import java.util.List;
 
 /**
  *
  */
+@XmlTransient
 public interface Group {
     Person getOwner();
 

Modified: 
rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/OAuthConsumerStore.java
URL: 
http://svn.apache.org/viewvc/rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/OAuthConsumerStore.java?rev=1351422&r1=1351421&r2=1351422&view=diff
==============================================================================
--- 
rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/OAuthConsumerStore.java
 (original)
+++ 
rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/OAuthConsumerStore.java
 Mon Jun 18 17:46:21 2012
@@ -20,6 +20,9 @@
 package org.apache.rave.portal.model;
 
 
+import javax.xml.bind.annotation.XmlTransient;
+
+@XmlTransient
 public interface OAuthConsumerStore {
     /**
      * enum of KeyType's

Modified: 
rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/OAuthTokenInfo.java
URL: 
http://svn.apache.org/viewvc/rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/OAuthTokenInfo.java?rev=1351422&r1=1351421&r2=1351422&view=diff
==============================================================================
--- 
rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/OAuthTokenInfo.java
 (original)
+++ 
rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/OAuthTokenInfo.java
 Mon Jun 18 17:46:21 2012
@@ -19,6 +19,9 @@
 
 package org.apache.rave.portal.model;
 
+import javax.xml.bind.annotation.XmlTransient;
+
+@XmlTransient
 public interface OAuthTokenInfo {
     /**
      * @see {@link 
org.apache.shindig.social.core.oauth.OAuthSecurityToken#getModuleId()}

Modified: 
rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/Organization.java
URL: 
http://svn.apache.org/viewvc/rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/Organization.java?rev=1351422&r1=1351421&r2=1351422&view=diff
==============================================================================
--- 
rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/Organization.java
 (original)
+++ 
rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/Organization.java
 Mon Jun 18 17:46:21 2012
@@ -1,9 +1,11 @@
 package org.apache.rave.portal.model;
 
+import javax.xml.bind.annotation.XmlTransient;
 import java.util.Date;
 
 /**
  */
+@XmlTransient
 public interface Organization {
     Address getAddress();
 

Modified: 
rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/Page.java
URL: 
http://svn.apache.org/viewvc/rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/Page.java?rev=1351422&r1=1351421&r2=1351422&view=diff
==============================================================================
--- 
rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/Page.java
 (original)
+++ 
rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/Page.java
 Mon Jun 18 17:46:21 2012
@@ -18,8 +18,10 @@
  */
 package org.apache.rave.portal.model;
 
+import javax.xml.bind.annotation.XmlTransient;
 import java.util.List;
 
+@XmlTransient
 public interface Page {
     Long getId();
     void setId(Long id);

Modified: 
rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/PageLayout.java
URL: 
http://svn.apache.org/viewvc/rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/PageLayout.java?rev=1351422&r1=1351421&r2=1351422&view=diff
==============================================================================
--- 
rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/PageLayout.java
 (original)
+++ 
rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/PageLayout.java
 Mon Jun 18 17:46:21 2012
@@ -1,5 +1,8 @@
 package org.apache.rave.portal.model;
 
+import javax.xml.bind.annotation.XmlTransient;
+
+@XmlTransient
 public interface PageLayout {
     /**
      * Gets the code used by the rendering engine to identify the page layout

Modified: 
rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/PageTemplate.java
URL: 
http://svn.apache.org/viewvc/rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/PageTemplate.java?rev=1351422&r1=1351421&r2=1351422&view=diff
==============================================================================
--- 
rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/PageTemplate.java
 (original)
+++ 
rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/PageTemplate.java
 Mon Jun 18 17:46:21 2012
@@ -1,7 +1,9 @@
 package org.apache.rave.portal.model;
 
+import javax.xml.bind.annotation.XmlTransient;
 import java.util.List;
 
+@XmlTransient
 public interface PageTemplate {
 
     Long getId();

Modified: 
rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/PageTemplateRegion.java
URL: 
http://svn.apache.org/viewvc/rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/PageTemplateRegion.java?rev=1351422&r1=1351421&r2=1351422&view=diff
==============================================================================
--- 
rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/PageTemplateRegion.java
 (original)
+++ 
rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/PageTemplateRegion.java
 Mon Jun 18 17:46:21 2012
@@ -1,9 +1,11 @@
 package org.apache.rave.portal.model;
 
+import javax.xml.bind.annotation.XmlTransient;
 import java.util.List;
 
 /**
  */
+@XmlTransient
 public interface PageTemplateRegion {
 
     Long getId();

Modified: 
rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/PageTemplateWidget.java
URL: 
http://svn.apache.org/viewvc/rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/PageTemplateWidget.java?rev=1351422&r1=1351421&r2=1351422&view=diff
==============================================================================
--- 
rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/PageTemplateWidget.java
 (original)
+++ 
rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/PageTemplateWidget.java
 Mon Jun 18 17:46:21 2012
@@ -1,7 +1,10 @@
 package org.apache.rave.portal.model;
 
+import javax.xml.bind.annotation.XmlTransient;
+
 /**
  */
+@XmlTransient
 public interface PageTemplateWidget {
 
     Long getId();

Modified: 
rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/PageUser.java
URL: 
http://svn.apache.org/viewvc/rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/PageUser.java?rev=1351422&r1=1351421&r2=1351422&view=diff
==============================================================================
--- 
rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/PageUser.java
 (original)
+++ 
rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/PageUser.java
 Mon Jun 18 17:46:21 2012
@@ -18,6 +18,9 @@
  */
 package org.apache.rave.portal.model;
 
+import javax.xml.bind.annotation.XmlTransient;
+
+@XmlTransient
 public interface PageUser {
     Long getId();
     void setId(Long id);

Modified: 
rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/Person.java
URL: 
http://svn.apache.org/viewvc/rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/Person.java?rev=1351422&r1=1351421&r2=1351422&view=diff
==============================================================================
--- 
rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/Person.java
 (original)
+++ 
rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/Person.java
 Mon Jun 18 17:46:21 2012
@@ -1,9 +1,11 @@
 package org.apache.rave.portal.model;
 
+import javax.xml.bind.annotation.XmlTransient;
 import java.util.List;
 
 /**
  */
+@XmlTransient
 public interface Person {
     String getUsername();
 

Modified: 
rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/PersonProperty.java
URL: 
http://svn.apache.org/viewvc/rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/PersonProperty.java?rev=1351422&r1=1351421&r2=1351422&view=diff
==============================================================================
--- 
rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/PersonProperty.java
 (original)
+++ 
rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/PersonProperty.java
 Mon Jun 18 17:46:21 2012
@@ -1,8 +1,11 @@
 package org.apache.rave.portal.model;
 
+import javax.xml.bind.annotation.XmlTransient;
+
 /**
  *
  */
+@XmlTransient
 public interface PersonProperty {
     Long getId();
 

Modified: 
rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/PortalPreference.java
URL: 
http://svn.apache.org/viewvc/rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/PortalPreference.java?rev=1351422&r1=1351421&r2=1351422&view=diff
==============================================================================
--- 
rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/PortalPreference.java
 (original)
+++ 
rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/PortalPreference.java
 Mon Jun 18 17:46:21 2012
@@ -1,7 +1,9 @@
 package org.apache.rave.portal.model;
 
+import javax.xml.bind.annotation.XmlTransient;
 import java.util.List;
 
+@XmlTransient
 public interface PortalPreference {
     /**
      * Gets the key of the preference, e.g. "availableFruit"

Modified: 
rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/Region.java
URL: 
http://svn.apache.org/viewvc/rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/Region.java?rev=1351422&r1=1351421&r2=1351422&view=diff
==============================================================================
--- 
rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/Region.java
 (original)
+++ 
rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/Region.java
 Mon Jun 18 17:46:21 2012
@@ -18,8 +18,10 @@
  */
 package org.apache.rave.portal.model;
 
+import javax.xml.bind.annotation.XmlTransient;
 import java.util.List;
 
+@XmlTransient
 public interface Region {
     Long getId();
 

Modified: 
rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/RegionWidget.java
URL: 
http://svn.apache.org/viewvc/rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/RegionWidget.java?rev=1351422&r1=1351421&r2=1351422&view=diff
==============================================================================
--- 
rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/RegionWidget.java
 (original)
+++ 
rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/RegionWidget.java
 Mon Jun 18 17:46:21 2012
@@ -21,8 +21,10 @@ package org.apache.rave.portal.model;
 
 import org.codehaus.jackson.annotate.JsonBackReference;
 
+import javax.xml.bind.annotation.XmlTransient;
 import java.util.List;
 
+@XmlTransient
 public interface RegionWidget {
     Long getId();
 

Modified: 
rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/RegionWidgetPreference.java
URL: 
http://svn.apache.org/viewvc/rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/RegionWidgetPreference.java?rev=1351422&r1=1351421&r2=1351422&view=diff
==============================================================================
--- 
rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/RegionWidgetPreference.java
 (original)
+++ 
rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/RegionWidgetPreference.java
 Mon Jun 18 17:46:21 2012
@@ -1,5 +1,8 @@
 package org.apache.rave.portal.model;
 
+import javax.xml.bind.annotation.XmlTransient;
+
+@XmlTransient
 public interface RegionWidgetPreference {
     /**
      * Gets the ID of the RegionWidget this preference is for

Modified: 
rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/Tag.java
URL: 
http://svn.apache.org/viewvc/rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/Tag.java?rev=1351422&r1=1351421&r2=1351422&view=diff
==============================================================================
--- 
rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/Tag.java
 (original)
+++ 
rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/Tag.java
 Mon Jun 18 17:46:21 2012
@@ -15,9 +15,10 @@
  */
 package org.apache.rave.portal.model;
 
+import javax.xml.bind.annotation.XmlTransient;
 import java.util.List;
 
-
+@XmlTransient
 public interface Tag {
 
     String getKeyword();

Modified: 
rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/User.java
URL: 
http://svn.apache.org/viewvc/rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/User.java?rev=1351422&r1=1351421&r2=1351422&view=diff
==============================================================================
--- 
rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/User.java
 (original)
+++ 
rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/User.java
 Mon Jun 18 17:46:21 2012
@@ -3,9 +3,11 @@ package org.apache.rave.portal.model;
 import org.springframework.security.core.GrantedAuthority;
 import org.springframework.security.core.userdetails.UserDetails;
 
+import javax.xml.bind.annotation.XmlTransient;
 import java.util.Collection;
 import java.util.Date;
 
+@XmlTransient
 public interface User extends Person, UserDetails {
     @Override
     Collection<GrantedAuthority> getAuthorities();

Modified: 
rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/Widget.java
URL: 
http://svn.apache.org/viewvc/rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/Widget.java?rev=1351422&r1=1351421&r2=1351422&view=diff
==============================================================================
--- 
rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/Widget.java
 (original)
+++ 
rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/Widget.java
 Mon Jun 18 17:46:21 2012
@@ -2,9 +2,10 @@ package org.apache.rave.portal.model;
 
 import javax.xml.bind.annotation.XmlElementWrapper;
 import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlTransient;
 import java.util.List;
 
-@XmlRootElement
+@XmlTransient
 public interface Widget {
     Long getId();
 

Modified: 
rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/WidgetComment.java
URL: 
http://svn.apache.org/viewvc/rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/WidgetComment.java?rev=1351422&r1=1351421&r2=1351422&view=diff
==============================================================================
--- 
rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/WidgetComment.java
 (original)
+++ 
rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/WidgetComment.java
 Mon Jun 18 17:46:21 2012
@@ -19,11 +19,13 @@
 
 package org.apache.rave.portal.model;
 
+import javax.xml.bind.annotation.XmlTransient;
 import java.util.Date;
 
 /**
  * The a comment by a user for a widget
  */
+@XmlTransient
 public interface WidgetComment {
     Long getId();
     void setId(Long id);

Modified: 
rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/WidgetRating.java
URL: 
http://svn.apache.org/viewvc/rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/WidgetRating.java?rev=1351422&r1=1351421&r2=1351422&view=diff
==============================================================================
--- 
rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/WidgetRating.java
 (original)
+++ 
rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/WidgetRating.java
 Mon Jun 18 17:46:21 2012
@@ -1,7 +1,10 @@
 package org.apache.rave.portal.model;
 
+import javax.xml.bind.annotation.XmlTransient;
+
 /**
  */
+@XmlTransient
 public interface WidgetRating {
     /**
      * Gets the ID of the Widget this rating is for

Modified: 
rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/WidgetTag.java
URL: 
http://svn.apache.org/viewvc/rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/WidgetTag.java?rev=1351422&r1=1351421&r2=1351422&view=diff
==============================================================================
--- 
rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/WidgetTag.java
 (original)
+++ 
rave/branches/model_interfaces/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/WidgetTag.java
 Mon Jun 18 17:46:21 2012
@@ -16,8 +16,10 @@
 
 package org.apache.rave.portal.model;
 
+import javax.xml.bind.annotation.XmlTransient;
 import java.util.Date;
 
+@XmlTransient
 public interface WidgetTag {
     
     Long getWidgetId();

Modified: 
rave/branches/model_interfaces/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/JpaWidgetTag.java
URL: 
http://svn.apache.org/viewvc/rave/branches/model_interfaces/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/JpaWidgetTag.java?rev=1351422&r1=1351421&r2=1351422&view=diff
==============================================================================
--- 
rave/branches/model_interfaces/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/JpaWidgetTag.java
 (original)
+++ 
rave/branches/model_interfaces/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/JpaWidgetTag.java
 Mon Jun 18 17:46:21 2012
@@ -106,7 +106,7 @@ public class JpaWidgetTag implements Wid
 
     @Override
     public void setTag(Tag tag) {
-        this.tag = (JpaTag)tag;
+        this.tag = JpaConverter.getInstance().convert(tag, Tag.class);
     }
 
     @Override

Modified: 
rave/branches/model_interfaces/rave-components/rave-jpa/src/main/resources/org/apache/rave/jpa-applicationContext.xml
URL: 
http://svn.apache.org/viewvc/rave/branches/model_interfaces/rave-components/rave-jpa/src/main/resources/org/apache/rave/jpa-applicationContext.xml?rev=1351422&r1=1351421&r2=1351422&view=diff
==============================================================================
--- 
rave/branches/model_interfaces/rave-components/rave-jpa/src/main/resources/org/apache/rave/jpa-applicationContext.xml
 (original)
+++ 
rave/branches/model_interfaces/rave-components/rave-jpa/src/main/resources/org/apache/rave/jpa-applicationContext.xml
 Mon Jun 18 17:46:21 2012
@@ -28,7 +28,7 @@
        xsi:schemaLocation="http://www.springframework.org/schema/beans 
http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
         http://www.springframework.org/schema/context 
http://www.springframework.org/schema/context/spring-context-3.1.xsd
         http://www.springframework.org/schema/tx 
http://www.springframework.org/schema/tx/spring-tx-3.1.xsd
-
+        http://www.springframework.org/schema/oxm 
http://www.springframework.org/schema/oxm/spring-oxm-3.1.xsd
         http://www.springframework.org/schema/aop 
http://www.springframework.org/schema/aop/spring-aop-3.1.xsd";>
 
     <!-- make the the portal.properties props available to autowire injectors, 
location of the properties can
@@ -52,8 +52,6 @@
     <!-- rave-core component base-package scan -->
     <context:component-scan base-package="org.apache.rave.portal.model"/>
     <context:component-scan base-package="org.apache.rave.portal.repository"/>
-    <context:component-scan base-package="org.apache.rave.portal.service"/>
-    <context:component-scan base-package="org.apache.rave.portal.security"/>
 
     <bean id="transactionManager" 
class="org.springframework.orm.jpa.JpaTransactionManager">
         <property name="entityManagerFactory" ref="entityManagerFactory"/>

Modified: rave/branches/model_interfaces/rave-components/rave-web/pom.xml
URL: 
http://svn.apache.org/viewvc/rave/branches/model_interfaces/rave-components/rave-web/pom.xml?rev=1351422&r1=1351421&r2=1351422&view=diff
==============================================================================
--- rave/branches/model_interfaces/rave-components/rave-web/pom.xml (original)
+++ rave/branches/model_interfaces/rave-components/rave-web/pom.xml Mon Jun 18 
17:46:21 2012
@@ -53,6 +53,10 @@
             <artifactId>jcl-over-slf4j</artifactId>
         </dependency>
         <dependency>
+            <groupId>org.codehaus.jackson</groupId>
+            <artifactId>jackson-mrbean</artifactId>
+        </dependency>
+        <dependency>
             <groupId>org.springframework</groupId>
             <artifactId>spring-web</artifactId>
         </dependency>

Added: 
rave/branches/model_interfaces/rave-components/rave-web/src/main/java/org/apache/rave/portal/web/model/MaterializedBeanObjectMapperFactory.java
URL: 
http://svn.apache.org/viewvc/rave/branches/model_interfaces/rave-components/rave-web/src/main/java/org/apache/rave/portal/web/model/MaterializedBeanObjectMapperFactory.java?rev=1351422&view=auto
==============================================================================
--- 
rave/branches/model_interfaces/rave-components/rave-web/src/main/java/org/apache/rave/portal/web/model/MaterializedBeanObjectMapperFactory.java
 (added)
+++ 
rave/branches/model_interfaces/rave-components/rave-web/src/main/java/org/apache/rave/portal/web/model/MaterializedBeanObjectMapperFactory.java
 Mon Jun 18 17:46:21 2012
@@ -0,0 +1,27 @@
+package org.apache.rave.portal.web.model;
+
+import org.codehaus.jackson.map.ObjectMapper;
+import org.codehaus.jackson.mrbean.MrBeanModule;
+import org.springframework.beans.factory.FactoryBean;
+
+/**
+ * Configures the Jackson ObjectMapper to materialize interfaces
+ */
+public class MaterializedBeanObjectMapperFactory implements 
FactoryBean<ObjectMapper> {
+    @Override
+    public ObjectMapper getObject() throws Exception {
+        ObjectMapper mapper = new ObjectMapper();
+        mapper.registerModule(new MrBeanModule());
+        return mapper;
+    }
+
+    @Override
+    public Class<?> getObjectType() {
+        return ObjectMapper.class;
+    }
+
+    @Override
+    public boolean isSingleton() {
+        return false;
+    }
+}

Modified: 
rave/branches/model_interfaces/rave-portal-resources/src/main/webapp/WEB-INF/dispatcher-servlet.xml
URL: 
http://svn.apache.org/viewvc/rave/branches/model_interfaces/rave-portal-resources/src/main/webapp/WEB-INF/dispatcher-servlet.xml?rev=1351422&r1=1351421&r2=1351422&view=diff
==============================================================================
--- 
rave/branches/model_interfaces/rave-portal-resources/src/main/webapp/WEB-INF/dispatcher-servlet.xml
 (original)
+++ 
rave/branches/model_interfaces/rave-portal-resources/src/main/webapp/WEB-INF/dispatcher-servlet.xml
 Mon Jun 18 17:46:21 2012
@@ -37,7 +37,19 @@
     <context:component-scan base-package="org.apache.rave.portal.web.api"/>
 
     <!-- Configures the @Controller programming model -->
-    <mvc:annotation-driven/>
+    <mvc:annotation-driven>
+        <mvc:message-converters>
+            <bean 
class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter">
+                <property name="objectMapper">
+                    <bean 
class="org.apache.rave.portal.web.model.MaterializedBeanObjectMapperFactory"/>
+                </property>
+            </bean>
+            <bean primary="true" 
class="org.springframework.http.converter.xml.MarshallingHttpMessageConverter">
+                <property name="marshaller" ref="xmlMarshaller" />
+                <property name="unmarshaller" ref="xmlMarshaller" />
+            </bean>
+        </mvc:message-converters>
+    </mvc:annotation-driven>
     <mvc:interceptors>
         <bean 
class="org.apache.rave.portal.web.interceptors.CommonModelHandlerInterceptor"/>
         <!--
@@ -49,7 +61,7 @@
             can be used if you need to get more detailed information about
             the device such as manufacturer, model, screen size, etc.
         -->
-        <bean 
class="org.springframework.mobile.device.DeviceResolverHandlerInterceptor" />
+        <bean 
class="org.springframework.mobile.device.DeviceResolverHandlerInterceptor"/>
     </mvc:interceptors>
 
     <!-- Forwards requests to the "/" resource to the "page" view -->
@@ -61,38 +73,17 @@
         <property name="suffix" value=".jsp"/>
     </bean>
 
-    <!-- TODO: Fix HttpMessage Converter-->
-
-<!--    <oxm:jaxb2-marshaller id="marshaller">
-        <oxm:class-to-be-bound name="org.apache.rave.portal.model.Page"/>
-        <oxm:class-to-be-bound 
name="org.apache.rave.portal.model.RegionWidgetPreference"/>
+    <oxm:jaxb2-marshaller id="xmlMarshaller">
+        <oxm:class-to-be-bound name="org.apache.rave.portal.model.JpaUser"/>
+        <oxm:class-to-be-bound name="org.apache.rave.portal.model.JpaPage"/>
+        <oxm:class-to-be-bound name="org.apache.rave.portal.model.JpaRegion"/>
+        <oxm:class-to-be-bound 
name="org.apache.rave.portal.model.JpaRegionWidget"/>
+        <oxm:class-to-be-bound 
name="org.apache.rave.portal.model.JpaRegionWidgetPreference"/>
+        <oxm:class-to-be-bound name="org.apache.rave.portal.model.JpaWidget"/>
         <oxm:class-to-be-bound 
name="org.apache.rave.portal.web.model.RegionWidgetPreferenceListWrapper"/>
-    </oxm:jaxb2-marshaller>-->
+    </oxm:jaxb2-marshaller>
+
 
-    <bean 
class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter">
-        <property name="messageConverters">
-            <list>
-                <bean id="stringHttpMessageConverter" 
class="org.springframework.http.converter.StringHttpMessageConverter">
-                    <property name="supportedMediaTypes">
-                        <list>
-                            <bean class="org.springframework.http.MediaType">
-                                <constructor-arg index="0" value="text"/>
-                                <constructor-arg index="1" value="plain"/>
-                                <constructor-arg index="2" value="UTF-8"/>
-                            </bean>
-                            <bean class="org.springframework.http.MediaType">
-                                <constructor-arg index="0" value="text"/>
-                                <constructor-arg index="1" value="javascript"/>
-                                <constructor-arg index="2" value="UTF-8"/>
-                            </bean>
-                        </list>
-                    </property>
-                </bean>
-               <!-- <bean 
class="org.springframework.http.converter.xml.MarshallingHttpMessageConverter"
-                      p:marshaller-ref="marshaller" 
p:unmarshaller-ref="marshaller"/>-->
-            </list>
-        </property>
-    </bean>
     <bean id="tilesConfigurer" 
class="org.springframework.web.servlet.view.tiles2.TilesConfigurer">
         <property name="definitions">
             <list>


Reply via email to