You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@rave.apache.org by mf...@apache.org on 2013/01/30 15:14:21 UTC

svn commit: r1440426 - in /rave/trunk: ./ rave-components/rave-commons/src/main/java/org/apache/rave/persistence/jpa/util/ rave-components/rave-core/ rave-components/rave-core/src/main/java/org/apache/rave/portal/model/ rave-components/rave-core/src/ma...

Author: mfranklin
Date: Wed Jan 30 14:14:21 2013
New Revision: 1440426

URL: http://svn.apache.org/viewvc?rev=1440426&view=rev
Log:
Fixed merge issues RAVE-880

Modified:
    rave/trunk/pom.xml
    rave/trunk/rave-components/rave-commons/src/main/java/org/apache/rave/persistence/jpa/util/JpaUtil.java
    rave/trunk/rave-components/rave-core/pom.xml
    rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/ActivityStreamsEntry.java
    rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/ActivityStreamsObject.java
    rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/impl/ActivityStreamsEntryImpl.java
    rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/impl/ActivityStreamsObjectImpl.java
    rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/portal/repository/ActivityStreamsRepository.java
    rave/trunk/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/JpaActivityStreamsEntry.java
    rave/trunk/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/JpaActivityStreamsObject.java
    rave/trunk/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/repository/impl/JpaActivityStreamsRepository.java
    rave/trunk/rave-components/rave-jpa/src/main/resources/META-INF/persistence.xml
    rave/trunk/rave-components/rave-jpa/src/main/resources/org/apache/rave/persistence-applicationContext.xml
    rave/trunk/rave-components/rave-jpa/src/test/java/org/apache/rave/portal/activities/repository/JpaActivityEntryRepositoryTest.java
    rave/trunk/rave-providers/rave-opensocial-provider/rave-opensocial-core/src/main/java/org/apache/rave/opensocial/service/impl/DefaultActivityStreamsService.java
    rave/trunk/rave-providers/rave-opensocial-provider/rave-opensocial-core/src/test/java/org/apache/rave/opensocial/service/DefaultActivityStreamsServiceTest.java

Modified: rave/trunk/pom.xml
URL: http://svn.apache.org/viewvc/rave/trunk/pom.xml?rev=1440426&r1=1440425&r2=1440426&view=diff
==============================================================================
--- rave/trunk/pom.xml (original)
+++ rave/trunk/pom.xml Wed Jan 30 14:14:21 2013
@@ -81,6 +81,7 @@
         <freemarker.version>2.3.19</freemarker.version>
         <org.mongodb.driver.version>2.9.1</org.mongodb.driver.version>
         <de.flapdoodle.embed.mongo.version>1.28</de.flapdoodle.embed.mongo.version>
+
         <!-- The location of Rave's H2 file DB. No trailing / -->
         <rave.database.location>/tmp/rave_db</rave.database.location>
 
@@ -93,6 +94,7 @@
         if needed you can specify it on the command line with -Djavaagent="..." -->
         <javaagent />
         <maven-war-plugin.version>2.3</maven-war-plugin.version>
+        <joda-time-version>2.0</joda-time-version>
     </properties>
 
     <repositories>
@@ -533,6 +535,13 @@
                 <version>${freemarker.version}</version>
             </dependency>
 
+            <!-- Joda Time -->
+            <dependency>
+                <groupId>joda-time</groupId>
+                <artifactId>joda-time</artifactId>
+                <version>${joda-time-version}</version>
+            </dependency>
+
             <!-- ApacheDS (LDAP) -->
             <dependency>
                 <groupId>org.apache.directory.server</groupId>

Modified: rave/trunk/rave-components/rave-commons/src/main/java/org/apache/rave/persistence/jpa/util/JpaUtil.java
URL: http://svn.apache.org/viewvc/rave/trunk/rave-components/rave-commons/src/main/java/org/apache/rave/persistence/jpa/util/JpaUtil.java?rev=1440426&r1=1440425&r2=1440426&view=diff
==============================================================================
--- rave/trunk/rave-components/rave-commons/src/main/java/org/apache/rave/persistence/jpa/util/JpaUtil.java (original)
+++ rave/trunk/rave-components/rave-commons/src/main/java/org/apache/rave/persistence/jpa/util/JpaUtil.java Wed Jan 30 14:14:21 2013
@@ -37,8 +37,7 @@ public class JpaUtil {
 
     private static final int LARGE_PAGESIZE = 1000;
 
-
-    public JpaUtil() {}
+    private JpaUtil() {}
 
     /**
      * Gets a single, unique result from the list

Modified: rave/trunk/rave-components/rave-core/pom.xml
URL: http://svn.apache.org/viewvc/rave/trunk/rave-components/rave-core/pom.xml?rev=1440426&r1=1440425&r2=1440426&view=diff
==============================================================================
--- rave/trunk/rave-components/rave-core/pom.xml (original)
+++ rave/trunk/rave-components/rave-core/pom.xml Wed Jan 30 14:14:21 2013
@@ -103,26 +103,10 @@
             <artifactId>json</artifactId>
         </dependency>
 
-        <!-- GSON JSON library -->
-        <dependency>
-            <groupId>com.google.code.gson</groupId>
-            <artifactId>gson</artifactId>
-            <version>2.2.1</version>
-            <scope>compile</scope>
-        </dependency>
-
         <!-- Joda Time -->
         <dependency>
             <groupId>joda-time</groupId>
             <artifactId>joda-time</artifactId>
-            <version>2.0</version>
-        </dependency>
-
-        <!-- Google Collections -->
-        <dependency>
-            <groupId>com.google.guava</groupId>
-            <artifactId>guava</artifactId>
-            <version>r09</version>
         </dependency>
 
         <!-- Logging -->

Modified: rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/ActivityStreamsEntry.java
URL: http://svn.apache.org/viewvc/rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/ActivityStreamsEntry.java?rev=1440426&r1=1440425&r2=1440426&view=diff
==============================================================================
--- rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/ActivityStreamsEntry.java (original)
+++ rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/ActivityStreamsEntry.java Wed Jan 30 14:14:21 2013
@@ -28,7 +28,7 @@ public interface ActivityStreamsEntry ex
     public void setIcon(ActivityStreamsMediaLink icon) ;
 
 
-    public ActivityStreamsItem getObject() ;
+    public ActivityStreamsObject getObject() ;
 
 
     public void setObject(ActivityStreamsObject object) ;

Modified: rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/ActivityStreamsObject.java
URL: http://svn.apache.org/viewvc/rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/ActivityStreamsObject.java?rev=1440426&r1=1440425&r2=1440426&view=diff
==============================================================================
--- rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/ActivityStreamsObject.java (original)
+++ rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/ActivityStreamsObject.java Wed Jan 30 14:14:21 2013
@@ -7,9 +7,9 @@ import java.util.List;
 public interface ActivityStreamsObject extends ActivityStreamsItem {
 
 
-    public List<? extends ActivityStreamsObject> getAttachments() ;
+    public List<ActivityStreamsObject> getAttachments() ;
 
-    public void setAttachments(List<? extends ActivityStreamsObject> attachments) ;
+    public void setAttachments(List<ActivityStreamsObject> attachments) ;
 
     public ActivityStreamsObject getAuthor() ;
 

Modified: rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/impl/ActivityStreamsEntryImpl.java
URL: http://svn.apache.org/viewvc/rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/impl/ActivityStreamsEntryImpl.java?rev=1440426&r1=1440425&r2=1440426&view=diff
==============================================================================
--- rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/impl/ActivityStreamsEntryImpl.java (original)
+++ rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/impl/ActivityStreamsEntryImpl.java Wed Jan 30 14:14:21 2013
@@ -21,13 +21,12 @@ package org.apache.rave.portal.model.imp
 
 
 import org.apache.rave.portal.model.ActivityStreamsEntry;
-import org.apache.rave.portal.model.ActivityStreamsItem;
-import org.apache.rave.portal.model.ActivityStreamsObject;
 import org.apache.rave.portal.model.ActivityStreamsMediaLink;
+import org.apache.rave.portal.model.ActivityStreamsObject;
 
+import java.util.Date;
 import java.util.HashMap;
 import java.util.logging.Logger;
-import java.util.Date;
 
 /**
  * A simple bean implementation of an ActivityStream Entry. See
@@ -43,126 +42,87 @@ public class ActivityStreamsEntryImpl im
 
     private String id;
 
-
     private ActivityStreamsObject actor;
 
-
     private String content;
 
-
     private ActivityStreamsObject generator;
 
-
     private ActivityStreamsMediaLink icon;
 
-
-    private ActivityStreamsItem object;
-
+    private ActivityStreamsObject object;
 
     private ActivityStreamsObject provider;
 
-
     private ActivityStreamsObject target;
 
-
     private String title;
 
-
     private String verb;
-
     //The user who verb'd this activity
 
     private String userId;
-
     //If this activity was generated as part of a group, this indicates the group's id
 
     private String groupId;
-
     //The id of the application that published this activity
 
     private String appId;
 
-
     private String bcc;
 
-
     private String bto;
 
-
     private String cc;
 
-
     private String context;
 
-
     private String dc;
 
-
     private Date endTime;
 
-
     private String geojson;
 
-
     private String inReplyTo;
 
-
     private String ld;
 
-
     private String links;
 
-
     private String location;
 
-
     private String mood;
 
-
     private String odata;
 
-
     private String opengraph;
 
-
     private String priority;
 
-
     private String rating;
 
-
     private String result;
 
-
     private String schema_org;
 
-
     private String source;
 
-
     private Date startTime;
 
-
     private String tags;
 
-
     private String to;
 
     private Date published;
 
-
     private Date updated;
 
-
     private String url;
 
-
     private String objectType;
 
-
     private HashMap openSocial;
 
-
     private HashMap extensions;
 
     /**
@@ -233,10 +193,6 @@ public class ActivityStreamsEntryImpl im
         this.extensions = extensions;
     }
 
-
-
-
-
     public ActivityStreamsObject getActor() {
         return actor;
     }
@@ -289,7 +245,7 @@ public class ActivityStreamsEntryImpl im
     }
 
     /** {@inheritDoc} */
-    public ActivityStreamsItem getObject() {
+    public ActivityStreamsObject getObject() {
         return object;
     }
 

Modified: rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/impl/ActivityStreamsObjectImpl.java
URL: http://svn.apache.org/viewvc/rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/impl/ActivityStreamsObjectImpl.java?rev=1440426&r1=1440425&r2=1440426&view=diff
==============================================================================
--- rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/impl/ActivityStreamsObjectImpl.java (original)
+++ rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/impl/ActivityStreamsObjectImpl.java Wed Jan 30 14:14:21 2013
@@ -33,138 +33,94 @@ public class ActivityStreamsObjectImpl i
     private static final long serialVersionUID = 1L;
 
 
-
-    private List<? extends ActivityStreamsObject> attachments;
-
-
+    private List<ActivityStreamsObject> attachments;
 
     private ActivityStreamsObject author;
 
-
     private String content;
 
-
     private String displayName;
 
-
     private List<String> downstreamDuplicates;
 
-
     private String id;
 
     private ActivityStreamsMediaLink image;
 
-
     private String summary;
 
-
     private List<String> upstreamDuplicates;
 
-
     private String alias;
 
-
     private String attendedBy;
 
-
     private String attending;
 
-
     private String dc;
 
-
     private Date endTime;
 
-
     private String followers;
 
-
     private String following;
 
-
     private String friend_requests;
 
-
     private String friends;
 
-
     private String geojson;
 
-
     private String invited;
 
-
     private String likes;
 
-
     private String ld;
 
-
     private String links;
 
-
     private String location;
 
-
     private String maybeAttending;
 
-
     private String members;
 
-
     private String notAttendedBy;
 
-
     private String mood;
 
-
     private String notAttending;
 
-
     private String odata;
 
-
     private String opengraph;
 
-
     private String rating;
 
-
     private String replies;
 
-
     private String reviews;
 
-
     private String saves;
 
-
     private String schema_org;
 
-
     private String shares;
 
-
     private String source;
 
-
     private Date startTime;
 
     private Date published;
 
-
     private Date updated;
 
-
     private String url;
 
-
     private String objectType;
 
-
     private HashMap openSocial;
 
-
     private HashMap extensions;
 
     /**
@@ -174,43 +130,48 @@ public class ActivityStreamsObjectImpl i
     }
 
 
-
-    /** {@inheritDoc} */
+    /**
+     * {@inheritDoc}
+     */
 
     public Date getPublished() {
         return published;
     }
 
-    /** {@inheritDoc} */
+    /**
+     * {@inheritDoc}
+     */
     public void setPublished(Date published) {
         this.published = published;
     }
 
-    public Date getUpdated(){
+    public Date getUpdated() {
         return updated;
     }
 
-    public void setUpdated(Date updated){
-        this.updated=updated;
+    public void setUpdated(Date updated) {
+        this.updated = updated;
     }
 
-    public String getUrl(){
+    public String getUrl() {
         return this.url;
     }
 
-    public void setUrl(String url){
-        this.url=url;
+    public void setUrl(String url) {
+        this.url = url;
     }
 
-    public String getObjectType(){
+    public String getObjectType() {
         return this.objectType;
     }
 
-    public void setObjectType(String objectType){
-        this.objectType=objectType;
+    public void setObjectType(String objectType) {
+        this.objectType = objectType;
     }
 
-    /** {@inheritDoc} */
+    /**
+     * {@inheritDoc}
+     */
 
     public HashMap getOpenSocial() {
         return openSocial;
@@ -224,13 +185,17 @@ public class ActivityStreamsObjectImpl i
         this.openSocial = openSocial;
     }
 
-    /** {@inheritDoc} */
+    /**
+     * {@inheritDoc}
+     */
 
     public HashMap getExtensions() {
         return extensions;
     }
 
-    /** {@inheritDoc} */
+    /**
+     * {@inheritDoc}
+     */
     public void setExtensions(HashMap extensions) {
 
 
@@ -249,26 +214,30 @@ public class ActivityStreamsObjectImpl i
     /**
      * {@inheritDoc}
      */
-    private void setNativeAttachments(List<? extends ActivityStreamsObject> attachments) {
+    private void setNativeAttachments(List<ActivityStreamsObject> attachments) {
         this.attachments = attachments;
     }
 
-    public List<? extends ActivityStreamsObject> getAttachments() {
+    public List<ActivityStreamsObject> getAttachments() {
         return this.attachments;
     }
 
-    public void setAttachments(List<? extends ActivityStreamsObject> attachments) {
+    public void setAttachments(List<ActivityStreamsObject> attachments) {
         this.attachments = attachments;
     }
 
 
-    /** {@inheritDoc} */
+    /**
+     * {@inheritDoc}
+     */
 
     public String getId() {
         return id;
     }
 
-    /** {@inheritDoc} */
+    /**
+     * {@inheritDoc}
+     */
     public void setId(String id) {
         this.id = id;
     }
@@ -304,7 +273,6 @@ public class ActivityStreamsObjectImpl i
     }
 
 
-
     /**
      * {@inheritDoc}
      */
@@ -622,16 +590,13 @@ public class ActivityStreamsObjectImpl i
     }
 
 
-
     public List<ActivityStreamsObjectImpl> convertAll(List<ActivityStreamsObjectImpl> objects) {
         List<ActivityStreamsObjectImpl> entity = Lists.newArrayList();
-        for(ActivityStreamsObjectImpl object : objects) {
+        for (ActivityStreamsObjectImpl object : objects) {
             entity.add(object);
         }
         return entity;
     }
 
 
-
-
 }

Modified: rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/portal/repository/ActivityStreamsRepository.java
URL: http://svn.apache.org/viewvc/rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/portal/repository/ActivityStreamsRepository.java?rev=1440426&r1=1440425&r2=1440426&view=diff
==============================================================================
--- rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/portal/repository/ActivityStreamsRepository.java (original)
+++ rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/portal/repository/ActivityStreamsRepository.java Wed Jan 30 14:14:21 2013
@@ -19,24 +19,24 @@
 
 package org.apache.rave.portal.repository;
 
+import org.apache.rave.persistence.Repository;
 import org.apache.rave.portal.model.ActivityStreamsEntry;
 
-import java.util.Collection;
+import java.util.List;
 
-public interface ActivityStreamsRepository {
+public interface ActivityStreamsRepository extends Repository<ActivityStreamsEntry> {
 
+    /**
+     * Retrieves all ActivityStreamsEntry instances from the persistence layer
+     * @return a list of {@link ActivityStreamsEntry}
+     */
+    List<ActivityStreamsEntry> getAll();
+
+    /**
+     * Retrieves the ActivityStreamsEntry instances for a given user from the persistence layer
+     * @return a list of {@link ActivityStreamsEntry}
+     */
+    List<ActivityStreamsEntry> getByUserId(String id);
 
-
-    public <T extends ActivityStreamsEntry> T save(T e);
-
-    public Collection<? extends ActivityStreamsEntry> getAll();
-
-    public <T extends ActivityStreamsEntry> T getById(String id);
-
-    public Collection<? extends ActivityStreamsEntry> getByUserId(String id);
-
-    public <T extends ActivityStreamsEntry> void delete(T e);
-
-
-    public <T extends ActivityStreamsEntry> void deleteById(String id) ;
+    public void deleteById(String id) ;
 }

Modified: rave/trunk/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/JpaActivityStreamsEntry.java
URL: http://svn.apache.org/viewvc/rave/trunk/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/JpaActivityStreamsEntry.java?rev=1440426&r1=1440425&r2=1440426&view=diff
==============================================================================
--- rave/trunk/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/JpaActivityStreamsEntry.java (original)
+++ rave/trunk/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/JpaActivityStreamsEntry.java Wed Jan 30 14:14:21 2013
@@ -24,6 +24,7 @@ import java.util.HashMap;
 import java.util.logging.Logger;
 import java.util.Date;
 
+import org.apache.rave.portal.model.conversion.JpaConverter;
 import org.apache.rave.portal.model.impl.ActivityStreamsEntryImpl;
 import org.apache.rave.portal.model.impl.ActivityStreamsMediaLinkImpl;
 import org.apache.rave.portal.model.impl.ActivityStreamsObjectImpl;
@@ -31,9 +32,7 @@ import org.apache.rave.portal.model.impl
 
 @Entity
 @Access(AccessType.FIELD)
-@Inheritance(strategy = InheritanceType.TABLE_PER_CLASS)
-@Table(name = "activityentry_entityjpa")
-@SequenceGenerator(name="activityEntrySequence", sequenceName = "activity_entry_sequence")
+@DiscriminatorValue("Activity")
 @NamedQueries({
         @NamedQuery(name = JpaActivityStreamsEntry.FIND_ALL, query = "SELECT a FROM JpaActivityStreamsEntry a ORDER BY a.updated DESC"),
         @NamedQuery(name = JpaActivityStreamsEntry.FIND_BY_ID, query = "SELECT a FROM JpaActivityStreamsEntry a WHERE a.id = :id"),
@@ -41,7 +40,7 @@ import org.apache.rave.portal.model.impl
         @NamedQuery(name = JpaActivityStreamsEntry.FIND_BY_GROUPID, query = "SELECT a FROM JpaActivityStreamsEntry a WHERE a.groupId = :groupId ORDER BY a.updated DESC"),
         @NamedQuery(name = JpaActivityStreamsEntry.FIND_BY_APPID, query = "SELECT a FROM JpaActivityStreamsEntry a WHERE a.appId = :appId ORDER BY a.updated DESC")
 })
-public class JpaActivityStreamsEntry extends ActivityStreamsEntryImpl {
+public class JpaActivityStreamsEntry extends JpaActivityStreamsItem implements ActivityStreamsEntry {
 
     private static final long serialVersionUID = 1L;
     private static Logger log = Logger.getLogger(JpaActivityStreamsEntry.class.getName());
@@ -53,255 +52,126 @@ public class JpaActivityStreamsEntry ext
     public static final String FIND_BY_APPID = "JpaActivityStreamsEntry.findByAppId";
 
 
-    @Id
-    @GeneratedValue(strategy=GenerationType.SEQUENCE, generator = "activityEntrySequence")
-    private String id;
-
 
     @ManyToOne(fetch = FetchType.EAGER, cascade = {CascadeType.PERSIST, CascadeType.MERGE})
-    private ActivityStreamsObject actor;
-
+    private JpaActivityStreamsObject actor;
 
     @Basic
     private String content;
 
-
     @ManyToOne(fetch = FetchType.EAGER, cascade = {CascadeType.PERSIST, CascadeType.MERGE})
-    private ActivityStreamsObject generator;
-
+    private JpaActivityStreamsObject generator;
 
     @OneToOne
-    private ActivityStreamsMediaLink icon;
-
+    private JpaActivityStreamsMediaLink icon;
 
     @ManyToOne(fetch = FetchType.EAGER, cascade = CascadeType.ALL)
-    private ActivityStreamsItem object;
-
+    private JpaActivityStreamsObject object;
 
     @ManyToOne(fetch = FetchType.EAGER, cascade = {CascadeType.PERSIST, CascadeType.MERGE})
-    private ActivityStreamsObject provider;
-
+    private JpaActivityStreamsObject provider;
 
     @ManyToOne(fetch = FetchType.EAGER, cascade = {CascadeType.PERSIST, CascadeType.MERGE})
-    private ActivityStreamsObject target;
-
+    private JpaActivityStreamsObject target;
 
     @Basic
     private String title;
 
-
     @Basic
     private String verb;
 
     //The user who verb'd this activity
-
     @Basic
     private String userId;
 
     //If this activity was generated as part of a group, this indicates the group's id
-
     @Basic
     private String groupId;
 
     //The id of the application that published this activity
-
     @Basic
     private String appId;
 
-
     @Basic
     private String bcc;
 
-
     @Basic
     private String bto;
 
-
     @Basic
     private String cc;
 
-
     @Basic
     private String context;
 
-
     @Basic
     private String dc;
 
-
     @Basic
     private Date endTime;
 
-
     @Basic
     private String geojson;
 
-
     @Basic
     private String inReplyTo;
 
-
     @Basic
     private String ld;
 
-
     @Basic
     private String links;
 
-
     @Basic
     private String location;
 
-
     @Basic
     private String mood;
 
-
     @Basic
     private String odata;
 
-
     @Basic
     private String opengraph;
 
-
     @Basic
     private String priority;
 
-
     @Basic
     private String rating;
 
-
     @Basic
     private String result;
 
-
     @Basic
     private String schema_org;
 
-
     @Basic
     private String source;
 
-
     @Basic
     private Date startTime;
 
-
     @Basic
     private String tags;
 
-
     @Basic
     private String to;
 
 
-    @Basic
-    @Temporal(javax.persistence.TemporalType.TIMESTAMP)
-    private Date published;
-
-
-    @Basic
-    @Temporal(javax.persistence.TemporalType.TIMESTAMP)
-    private Date updated;
-
-
-    @Basic
-    private String url;
-
-
-    @Basic
-    private String objectType;
-
-
-    @OneToMany(fetch = FetchType.EAGER, cascade = CascadeType.ALL)
-    private HashMap openSocial;
-
-
-    @OneToMany(fetch = FetchType.EAGER, cascade = CascadeType.ALL)
-    private HashMap extensions;
-
-
     /**
      * Create a new empty DeserializableActivityEntry
      */
     public JpaActivityStreamsEntry() {
     }
 
-    /** {@inheritDoc} */
-
-    public Date getPublished() {
-        return published;
-    }
-
-    /** {@inheritDoc} */
-    public void setPublished(Date published) {
-        this.published = published;
-    }
-
-    public Date getUpdated(){
-        return updated;
-    }
-
-    public void setUpdated(Date updated){
-        this.updated=updated;
-    }
-
-    public String getUrl(){
-        return this.url;
-    }
-
-    public void setUrl(String url){
-        this.url=url;
-    }
-
-    public String getObjectType(){
-        return this.objectType;
-    }
-
-    public void setObjectType(String objectType){
-        this.objectType=objectType;
-    }
-
-    /** {@inheritDoc} */
-
-    public HashMap getOpenSocial() {
-        return openSocial;
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    public void setOpenSocial(HashMap openSocial) {
-
-        this.openSocial = openSocial;
-    }
-
-    /** {@inheritDoc} */
-
-    public HashMap getExtensions() {
-        return extensions;
-    }
-
-    /** {@inheritDoc} */
-    public void setExtensions(HashMap extensions) {
-
-
-        this.extensions = extensions;
-    }
-
-
-
-
-
     public ActivityStreamsObject getActor() {
         return actor;
     }
 
     /** {@inheritDoc} */
     public void setActor(ActivityStreamsObject actor) {
-        this.actor = actor;
+        this.actor = JpaConverter.getInstance().convert(actor, ActivityStreamsObject.class);
     }
 
     /** {@inheritDoc} */
@@ -322,7 +192,7 @@ public class JpaActivityStreamsEntry ext
 
     /** {@inheritDoc} */
     public void setGenerator(ActivityStreamsObject generator) {
-        this.generator = generator;
+        this.generator = JpaConverter.getInstance().convert(generator, ActivityStreamsObject.class);
     }
 
     /** {@inheritDoc} */
@@ -332,32 +202,19 @@ public class JpaActivityStreamsEntry ext
 
     /** {@inheritDoc} */
     public void setIcon(ActivityStreamsMediaLink icon) {
-        this.icon = icon;
-    }
-
-    /** {@inheritDoc} */
-
-    public String getId() {
-        return id;
-    }
-
-    /** {@inheritDoc} */
-    public void setId(String id) {
-        this.id = id;
+        this.icon = JpaConverter.getInstance().convert(icon, ActivityStreamsMediaLink.class);
     }
 
     /** {@inheritDoc} */
-    public ActivityStreamsItem getObject() {
+    public ActivityStreamsObject getObject() {
         return object;
     }
 
     /** {@inheritDoc} */
-    public void setObject(ActivityStreamsItem object) {
-        this.object = object;
+    public void setObject(ActivityStreamsObject object) {
+        this.object = JpaConverter.getInstance().convert(object, ActivityStreamsObject.class);
     }
 
-
-
     /** {@inheritDoc} */
     public ActivityStreamsObject getProvider() {
         return provider;
@@ -365,7 +222,7 @@ public class JpaActivityStreamsEntry ext
 
     /** {@inheritDoc} */
     public void setProvider(ActivityStreamsObject provider) {
-        this.provider = provider;
+        this.provider = JpaConverter.getInstance().convert(provider, ActivityStreamsObject.class);
     }
 
     /** {@inheritDoc} */
@@ -375,7 +232,7 @@ public class JpaActivityStreamsEntry ext
 
     /** {@inheritDoc} */
     public void setTarget(ActivityStreamsObject target) {
-        this.target = target;
+        this.target = JpaConverter.getInstance().convert(target, ActivityStreamsObject.class);
     }
 
     /** {@inheritDoc} */
@@ -652,6 +509,4 @@ public class JpaActivityStreamsEntry ext
         this.to = to;
     }
 
-
-
 }

Modified: rave/trunk/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/JpaActivityStreamsObject.java
URL: http://svn.apache.org/viewvc/rave/trunk/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/JpaActivityStreamsObject.java?rev=1440426&r1=1440425&r2=1440426&view=diff
==============================================================================
--- rave/trunk/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/JpaActivityStreamsObject.java (original)
+++ rave/trunk/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/JpaActivityStreamsObject.java Wed Jan 30 14:14:21 2013
@@ -20,7 +20,11 @@
 package org.apache.rave.portal.model;
 
 
+import com.google.common.collect.Lists;
+import org.apache.rave.portal.model.conversion.ConvertingListProxyFactory;
+import org.apache.rave.portal.model.conversion.JpaConverter;
 import org.apache.rave.portal.model.impl.ActivityStreamsObjectImpl;
+import org.apache.rave.util.CollectionUtils;
 
 import javax.persistence.*;
 import java.util.Date;
@@ -30,202 +34,130 @@ import java.util.List;
 
 @Entity
 @Access(AccessType.FIELD)
-@Inheritance(strategy = InheritanceType.TABLE_PER_CLASS)
-@Table(name = "activitystreams_objectjpa")
-@SequenceGenerator(name="activityObjectSequence", sequenceName = "activity_object_sequence")
+@DiscriminatorValue("Object")
 @NamedQueries({
         @NamedQuery(name = JpaActivityStreamsObject.FIND_BY_ID, query = "SELECT a FROM JpaActivityStreamsObject a WHERE a.id = :id")
 })
-
-public class JpaActivityStreamsObject extends ActivityStreamsObjectImpl {
+public class JpaActivityStreamsObject extends JpaActivityStreamsItem implements ActivityStreamsObject {
 
     private static final long serialVersionUID = 1L;
 
     public static final String FIND_BY_ID = "JpaActivityStreamsObject.findById";
 
     @OneToMany(fetch = FetchType.EAGER, cascade = CascadeType.ALL)
-
-    private List<? extends ActivityStreamsObject> attachments;
+    private List<JpaActivityStreamsObject> attachments;
 
     @ManyToOne(fetch = FetchType.EAGER, cascade = CascadeType.ALL)
     private JpaActivityStreamsObject author;
 
-
     @Basic
     private String content;
 
-
     @Basic
     private String displayName;
 
-
     @ElementCollection(fetch = FetchType.EAGER)
     private List<String> downstreamDuplicates;
 
-
-    @Id
-    @GeneratedValue(strategy=GenerationType.SEQUENCE, generator = "activityObjectSequence")
-    private String id;
-
-
-
     @ManyToOne(fetch = FetchType.EAGER, cascade = CascadeType.ALL)
     protected JpaActivityStreamsMediaLink image;
 
-
     @Basic
     private String summary;
 
-
     @ElementCollection(fetch = FetchType.EAGER)
     private List<String> upstreamDuplicates;
 
-
     @Basic
     private String alias;
 
-
     @Basic
     private String attendedBy;
 
-
     @Basic
     private String attending;
 
-
     @Basic
     private String dc;
 
-
     @Basic
     private Date endTime;
 
-
     @Basic
     private String followers;
 
-
     @Basic
     private String following;
 
-
     @Basic
     private String friend_requests;
 
-
     @Basic
     private String friends;
 
-
     @Basic
     private String geojson;
 
-
     @Basic
     private String invited;
 
-
     @Basic
     private String likes;
 
-
     @Basic
     private String ld;
 
-
     @Basic
     private String links;
 
-
     @Basic
     private String location;
 
-
     @Basic
     private String maybeAttending;
 
-
     @Basic
     private String members;
 
-
     @Basic
     private String notAttendedBy;
 
-
     @Basic
     private String mood;
 
-
     @Basic
     private String notAttending;
 
-
     @Basic
     private String odata;
 
-
     @Basic
     private String opengraph;
 
-
     @Basic
     private String rating;
 
-
     @Basic
     private String replies;
 
-
     @Basic
     private String reviews;
 
-
     @Basic
     private String saves;
 
-
     @Basic
     private String schema_org;
 
-
     @Basic
     private String shares;
 
-
     @Basic
     private String source;
 
-
     @Basic
     private Date startTime;
 
-
-    @Basic
-    @Temporal(javax.persistence.TemporalType.TIMESTAMP)
-    private Date published;
-
-
-    @Basic
-    @Temporal(javax.persistence.TemporalType.TIMESTAMP)
-    private Date updated;
-
-
-    @Basic
-    private String url;
-
-
-    @Basic
-    private String objectType;
-
-
-    @OneToMany(fetch = FetchType.EAGER, cascade = CascadeType.ALL)
-    private HashMap openSocial;
-
-
-    @OneToMany(fetch = FetchType.EAGER, cascade = CascadeType.ALL)
-    private HashMap extensions;
-
     /**
      * Constructs an empty ActivityObject.
      */
@@ -233,102 +165,18 @@ public class JpaActivityStreamsObject ex
     }
 
 
-    /** {@inheritDoc} */
-
-    public Date getPublished() {
-        return published;
-    }
-
-    /** {@inheritDoc} */
-    public void setPublished(Date published) {
-        this.published = published;
-    }
-
-    public Date getUpdated(){
-        return updated;
-    }
-
-    public void setUpdated(Date updated){
-        this.updated=updated;
-    }
-
-    public String getUrl(){
-        return this.url;
-    }
-
-    public void setUrl(String url){
-        this.url=url;
-    }
-
-    public String getObjectType(){
-        return this.objectType;
+    public List<ActivityStreamsObject> getAttachments() {
+        return ConvertingListProxyFactory.createProxyList(ActivityStreamsObject.class, this.attachments);
     }
 
-    public void setObjectType(String objectType){
-        this.objectType=objectType;
-    }
-
-    /** {@inheritDoc} */
-
-    public HashMap getOpenSocial() {
-        return openSocial;
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    public void setOpenSocial(HashMap openSocial) {
-
-        this.openSocial = openSocial;
-    }
-
-    /** {@inheritDoc} */
-
-    public HashMap getExtensions() {
-        return extensions;
-    }
-
-    /** {@inheritDoc} */
-    public void setExtensions(HashMap extensions) {
-
-
-        this.extensions = extensions;
-    }
-
-
-    /**
-     * {@inheritDoc}
-     */
-
-    protected List<? extends ActivityStreamsObject> getNativeAttachments() {
-        return attachments;
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    protected void setNativeAttachments(List<? extends ActivityStreamsObject> attachments) {
-        this.attachments = attachments;
-    }
-
-    public List<? extends ActivityStreamsObject> getAttachments() {
-        return this.attachments;
-    }
-
-    public void setAttachments(List<? extends ActivityStreamsObject> attachments) {
-        this.attachments = attachments;
-    }
-
-
-    /** {@inheritDoc} */
-
-    public String getId() {
-        return id;
-    }
-
-    /** {@inheritDoc} */
-    public void setId(String id) {
-        this.id = id;
+    public void setAttachments(List<ActivityStreamsObject> attachments) {
+        if(this.attachments == null) {
+            this.attachments = Lists.newArrayList();
+        }
+        this.attachments.clear();
+        if(attachments != null) {
+            this.getAttachments().addAll(attachments);
+        }
     }
 
     /**
@@ -342,8 +190,8 @@ public class JpaActivityStreamsObject ex
     /**
      * {@inheritDoc}
      */
-    public void setAuthor(JpaActivityStreamsObject author) {
-        this.author = author;
+    public void setAuthor(ActivityStreamsObject author) {
+        this.author = JpaConverter.getInstance().convert(author, ActivityStreamsObject.class);
     }
 
     /**
@@ -397,18 +245,17 @@ public class JpaActivityStreamsObject ex
      * {@inheritDoc}
      */
 
-    public JpaActivityStreamsMediaLink getImage() {
+    public ActivityStreamsMediaLink getImage() {
         return image;
     }
 
     /**
      * {@inheritDoc}
      */
-    public void setImage(JpaActivityStreamsMediaLink image) {
-        this.image = image;
+    public void setImage(ActivityStreamsMediaLink image) {
+        this.image = JpaConverter.getInstance().convert(image, ActivityStreamsMediaLink.class);
     }
 
-
     /**
      * {@inheritDoc}
      */

Modified: rave/trunk/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/repository/impl/JpaActivityStreamsRepository.java
URL: http://svn.apache.org/viewvc/rave/trunk/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/repository/impl/JpaActivityStreamsRepository.java?rev=1440426&r1=1440425&r2=1440426&view=diff
==============================================================================
--- rave/trunk/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/repository/impl/JpaActivityStreamsRepository.java (original)
+++ rave/trunk/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/repository/impl/JpaActivityStreamsRepository.java Wed Jan 30 14:14:21 2013
@@ -19,20 +19,21 @@
 
 package org.apache.rave.portal.repository.impl;
 
-import java.util.Collection;
-
-import javax.persistence.EntityManager;
-import javax.persistence.PersistenceContext;
-import javax.persistence.TypedQuery;
-
+import org.apache.rave.persistence.jpa.util.JpaUtil;
 import org.apache.rave.portal.model.ActivityStreamsEntry;
-import org.apache.rave.portal.model.ActivityStreamsItem;
 import org.apache.rave.portal.model.JpaActivityStreamsEntry;
-import org.apache.rave.persistence.jpa.util.JpaUtil;
+import org.apache.rave.portal.model.conversion.JpaActivityStreamsEntryConverter;
 import org.apache.rave.portal.repository.ActivityStreamsRepository;
+import org.apache.rave.util.CollectionUtils;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Repository;
 import org.springframework.transaction.annotation.Transactional;
 
+import javax.persistence.EntityManager;
+import javax.persistence.PersistenceContext;
+import javax.persistence.TypedQuery;
+import java.util.List;
+
 
 @Repository
 public class JpaActivityStreamsRepository implements ActivityStreamsRepository {
@@ -40,37 +41,46 @@ public class JpaActivityStreamsRepositor
 	@PersistenceContext
     private EntityManager manager;
 
-	@Transactional
-	public <T extends ActivityStreamsEntry> T save(T e) {
-		return JpaUtil.saveOrUpdate(e.getId(), manager, e);
+    @Autowired
+    private JpaActivityStreamsEntryConverter converter;
+
+    @Override
+    public Class<? extends ActivityStreamsEntry> getType() {
+        return JpaActivityStreamsEntry.class;
+    }
+
+    @Transactional
+	public ActivityStreamsEntry save(ActivityStreamsEntry e) {
+        JpaActivityStreamsEntry entry = converter.convert(e);
+        if(entry.getUserId() == null && entry.getActor() != null) {
+            entry.setUserId(entry.getActor().getId());
+        }
+		return JpaUtil.saveOrUpdate(entry.getId(), manager, entry);
 	}
-	
-	@Transactional
-	public Collection<? extends ActivityStreamsEntry> getAll() {
+
+	public List<ActivityStreamsEntry> getAll() {
 		TypedQuery<JpaActivityStreamsEntry> query = manager.createNamedQuery("JpaActivityStreamsEntry.findAll", JpaActivityStreamsEntry.class);
-		return query.getResultList();
+		return CollectionUtils.<ActivityStreamsEntry>toBaseTypedList(query.getResultList());
 	}
 
-	@Transactional
-	public <T extends ActivityStreamsEntry> T getById(String id) {
-		return (T)manager.find(JpaActivityStreamsEntry.class, id);
+	public ActivityStreamsEntry get(String id) {
+		return manager.find(JpaActivityStreamsEntry.class, id);
 	}
-	
-	@Transactional
-	public Collection<? extends ActivityStreamsEntry> getByUserId(String id) {
+
+	public List<ActivityStreamsEntry> getByUserId(String id) {
 		TypedQuery<JpaActivityStreamsEntry> query = manager.createNamedQuery("JpaActivityStreamsEntry.findByUserId", JpaActivityStreamsEntry.class);
         query.setParameter("userId", id);
-		return query.getResultList();
+		return CollectionUtils.<ActivityStreamsEntry>toBaseTypedList(query.getResultList());
 	}
-	
-	@Transactional
-	public <T extends ActivityStreamsEntry> void delete(T e) {
-		manager.remove(manager.merge(e));
+
+    @Transactional
+	public void delete(ActivityStreamsEntry e) {
+		deleteById(e.getId());
 	}
 	
 	@Transactional
-	public <T extends ActivityStreamsEntry> void deleteById(String id) {
-        T e = getById(id);
-		manager.remove(manager.merge(e));
+	public void deleteById(String id) {
+        ActivityStreamsEntry e = get(id);
+		manager.remove(e);
 	}
 }

Modified: rave/trunk/rave-components/rave-jpa/src/main/resources/META-INF/persistence.xml
URL: http://svn.apache.org/viewvc/rave/trunk/rave-components/rave-jpa/src/main/resources/META-INF/persistence.xml?rev=1440426&r1=1440425&r2=1440426&view=diff
==============================================================================
--- rave/trunk/rave-components/rave-jpa/src/main/resources/META-INF/persistence.xml (original)
+++ rave/trunk/rave-components/rave-jpa/src/main/resources/META-INF/persistence.xml Wed Jan 30 14:14:21 2013
@@ -51,6 +51,7 @@
             <class>org.apache.rave.portal.model.JpaOAuthTokenInfo</class>
             <class>org.apache.rave.portal.model.JpaOAuthConsumerStore</class>
             <class>org.apache.rave.portal.repository.impl.JpaApplicationDataRepository$JpaSerializableApplicationData</class>
+            <class>org.apache.rave.portal.model.JpaActivityStreamsItem</class>
             <class>org.apache.rave.portal.model.JpaActivityStreamsEntry</class>
             <class>org.apache.rave.portal.model.JpaActivityStreamsObject</class>
             <class>org.apache.rave.portal.model.JpaActivityStreamsMediaLink</class>

Modified: rave/trunk/rave-components/rave-jpa/src/main/resources/org/apache/rave/persistence-applicationContext.xml
URL: http://svn.apache.org/viewvc/rave/trunk/rave-components/rave-jpa/src/main/resources/org/apache/rave/persistence-applicationContext.xml?rev=1440426&r1=1440425&r2=1440426&view=diff
==============================================================================
--- rave/trunk/rave-components/rave-jpa/src/main/resources/org/apache/rave/persistence-applicationContext.xml (original)
+++ rave/trunk/rave-components/rave-jpa/src/main/resources/org/apache/rave/persistence-applicationContext.xml Wed Jan 30 14:14:21 2013
@@ -29,8 +29,6 @@
         http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd
         http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd">
 
-    <context:component-scan base-package="org.apache.rave.portal.activities.repository"/>
-
     <bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager">
         <property name="entityManagerFactory" ref="entityManagerFactory"/>
     </bean>

Modified: rave/trunk/rave-components/rave-jpa/src/test/java/org/apache/rave/portal/activities/repository/JpaActivityEntryRepositoryTest.java
URL: http://svn.apache.org/viewvc/rave/trunk/rave-components/rave-jpa/src/test/java/org/apache/rave/portal/activities/repository/JpaActivityEntryRepositoryTest.java?rev=1440426&r1=1440425&r2=1440426&view=diff
==============================================================================
--- rave/trunk/rave-components/rave-jpa/src/test/java/org/apache/rave/portal/activities/repository/JpaActivityEntryRepositoryTest.java (original)
+++ rave/trunk/rave-components/rave-jpa/src/test/java/org/apache/rave/portal/activities/repository/JpaActivityEntryRepositoryTest.java Wed Jan 30 14:14:21 2013
@@ -20,7 +20,6 @@ package org.apache.rave.portal.activitie
 
 import org.apache.rave.portal.model.ActivityStreamsEntry;
 import org.apache.rave.portal.model.JpaActivityStreamsEntry;
-import org.apache.rave.portal.model.impl.ActivityStreamsEntryImpl;
 import org.apache.rave.portal.repository.ActivityStreamsRepository;
 import org.junit.Before;
 import org.junit.Test;
@@ -84,7 +83,7 @@ public class JpaActivityEntryRepositoryT
         List<ActivityStreamsEntry> collection =
                 (List<ActivityStreamsEntry>)repository.getAll();
 
-        ActivityStreamsEntryImpl t = repository.getById(collection.get(0).getId());
+        ActivityStreamsEntry t = repository.get(collection.get(0).getId());
         assertEquals(t.getId(), collection.get(0).getId());
     }
 
@@ -103,7 +102,7 @@ public class JpaActivityEntryRepositoryT
         // Check that it was actually test2 that was deleted
         Iterator it = collection.iterator();
         while(it.hasNext()) {
-          ActivityStreamsEntryImpl ae = (ActivityStreamsEntryImpl)it.next();
+          ActivityStreamsEntry ae = (ActivityStreamsEntry)it.next();
           assertNotEquals(ae.getId(), deletedId);
         }
         assertEquals(2, collection.size());
@@ -130,7 +129,7 @@ public class JpaActivityEntryRepositoryT
         // Check that it was actually test1 that was deleted
         Iterator it = collection.iterator();
         while(it.hasNext()) {
-          ActivityStreamsEntryImpl ae = (ActivityStreamsEntryImpl)it.next();
+          ActivityStreamsEntry ae = (ActivityStreamsEntry)it.next();
           assertNotEquals(ae.getId(), deletedId);
         }
         assertEquals(2, collection.size());

Modified: rave/trunk/rave-providers/rave-opensocial-provider/rave-opensocial-core/src/main/java/org/apache/rave/opensocial/service/impl/DefaultActivityStreamsService.java
URL: http://svn.apache.org/viewvc/rave/trunk/rave-providers/rave-opensocial-provider/rave-opensocial-core/src/main/java/org/apache/rave/opensocial/service/impl/DefaultActivityStreamsService.java?rev=1440426&r1=1440425&r2=1440426&view=diff
==============================================================================
--- rave/trunk/rave-providers/rave-opensocial-provider/rave-opensocial-core/src/main/java/org/apache/rave/opensocial/service/impl/DefaultActivityStreamsService.java (original)
+++ rave/trunk/rave-providers/rave-opensocial-provider/rave-opensocial-core/src/main/java/org/apache/rave/opensocial/service/impl/DefaultActivityStreamsService.java Wed Jan 30 14:14:21 2013
@@ -4,21 +4,19 @@ import com.google.common.collect.Immutab
 import com.google.common.collect.Lists;
 import com.google.common.collect.Sets;
 import org.apache.rave.portal.model.ActivityStreamsEntry;
+import org.apache.rave.portal.model.impl.ActivityStreamsEntryImpl;
+import org.apache.rave.portal.repository.ActivityStreamsRepository;
+import org.apache.rave.util.ActivityConversionUtil;
 import org.apache.shindig.auth.SecurityToken;
 import org.apache.shindig.common.util.ImmediateFuture;
 import org.apache.shindig.protocol.ProtocolException;
 import org.apache.shindig.protocol.RestfulCollection;
-import org.apache.shindig.social.opensocial.model.ActivityEntry;
-import org.apache.shindig.social.opensocial.spi.*;
-import org.apache.rave.util.ActivityConversionUtil;
 import org.apache.shindig.social.core.model.ActivityEntryImpl;
+import org.apache.shindig.social.opensocial.model.ActivityEntry;
 import org.apache.shindig.social.opensocial.model.Person;
-import org.apache.rave.portal.model.impl.ActivityStreamsEntryImpl;
-
-import org.apache.rave.portal.repository.ActivityStreamsRepository;
-
+import org.apache.shindig.social.opensocial.spi.*;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.context.annotation.Primary;
+import org.springframework.stereotype.Service;
 
 import java.util.*;
 import java.util.concurrent.ExecutionException;
@@ -26,7 +24,7 @@ import java.util.concurrent.Future;
 import java.util.logging.Logger;
 
 
-@Primary
+@Service
 public class DefaultActivityStreamsService implements ActivityStreamService {
 
     @Autowired
@@ -99,7 +97,7 @@ public class DefaultActivityStreamsServi
         List<ActivityEntry> entries = Lists.newLinkedList();
 
         for (String id : activityIds) {
-            ActivityStreamsEntryImpl entry = repository.getById(id);
+            ActivityStreamsEntry entry = repository.get(id);
 
             if (entry!=null){
                 if (entry.getUserId().equalsIgnoreCase(uid)) {
@@ -132,7 +130,7 @@ public class DefaultActivityStreamsServi
 
         String uid = userId.getUserId(token);
 
-        ActivityStreamsEntryImpl entry = repository.getById(activityId);
+        ActivityStreamsEntry entry = repository.get(activityId);
 
         if (entry!=null){
             if (entry.getUserId().equalsIgnoreCase(uid)) {
@@ -167,7 +165,7 @@ public class DefaultActivityStreamsServi
         String uid = userId.getUserId(token);
 
         for (String id : activityIds) {
-            ActivityStreamsEntryImpl activity = repository.getById(id);
+            ActivityStreamsEntry activity = repository.get(id);
             //TODO: should we be checking against the user id?
             if (activity != null && activity.getUserId().equalsIgnoreCase(uid)) {
                 repository.delete(activity);
@@ -222,7 +220,7 @@ public class DefaultActivityStreamsServi
         tmp.setGroupId(groupId.getObjectId().toString());
         tmp.setAppId(appId);
 
-        ActivityStreamsEntryImpl saved = repository.save(tmp);
+        ActivityStreamsEntry saved = repository.save(tmp);
         ActivityEntryImpl impl = converter.convert(saved);
         return ImmediateFuture.newInstance((ActivityEntry) impl);
     }
@@ -344,7 +342,7 @@ public class DefaultActivityStreamsServi
      * @param fields
      * @return
      */
-    private ActivityEntry filterFields(ActivityStreamsEntryImpl entry,
+    private ActivityEntry filterFields(ActivityStreamsEntry entry,
                                        Set<String> fields) {
         // TODO: implement
 

Modified: rave/trunk/rave-providers/rave-opensocial-provider/rave-opensocial-core/src/test/java/org/apache/rave/opensocial/service/DefaultActivityStreamsServiceTest.java
URL: http://svn.apache.org/viewvc/rave/trunk/rave-providers/rave-opensocial-provider/rave-opensocial-core/src/test/java/org/apache/rave/opensocial/service/DefaultActivityStreamsServiceTest.java?rev=1440426&r1=1440425&r2=1440426&view=diff
==============================================================================
--- rave/trunk/rave-providers/rave-opensocial-provider/rave-opensocial-core/src/test/java/org/apache/rave/opensocial/service/DefaultActivityStreamsServiceTest.java (original)
+++ rave/trunk/rave-providers/rave-opensocial-provider/rave-opensocial-core/src/test/java/org/apache/rave/opensocial/service/DefaultActivityStreamsServiceTest.java Wed Jan 30 14:14:21 2013
@@ -171,7 +171,7 @@ public class DefaultActivityStreamsServi
         Set<String> fields = new HashSet<String>();
 
         expect(repository.save(activityStreamsEntry)).andReturn(activityStreamsEntry);
-        expect(repository.getById(ACTIVITY_ID)).andReturn(activityStreamsEntry);
+        expect(repository.get(ACTIVITY_ID)).andReturn(activityStreamsEntry);
         expect(personService.getPeople(users,groupId,null,fields,token)).andReturn(ImmediateFuture.newInstance(new RestfulCollection<Person>(getDbPersonList())));
         replay(repository);
         replay(personService);
@@ -199,7 +199,7 @@ public class DefaultActivityStreamsServi
 
 
         expect(repository.save(activityStreamsEntry)).andReturn(activityStreamsEntry);
-        expect(repository.getById(ACTIVITY_ID)).andReturn(activityStreamsEntry);
+        expect(repository.get(ACTIVITY_ID)).andReturn(activityStreamsEntry);
         replay(repository);
 
 
@@ -224,7 +224,7 @@ public class DefaultActivityStreamsServi
 
 
         expect(repository.save(activityStreamsEntry)).andReturn(activityStreamsEntry);
-        expect(repository.getById(ACTIVITY_ID)).andReturn(activityStreamsEntry);
+        expect(repository.get(ACTIVITY_ID)).andReturn(activityStreamsEntry);
         repository.delete(activityStreamsEntry);
         expectLastCall();
         replay(repository);