You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@shindig.apache.org by wo...@apache.org on 2011/05/17 19:03:55 UTC
svn commit: r1104411 [1/2] - in /shindig/trunk: config/
content/samplecontainer/examples/ActivityStreams/ content/sampledata/
java/social-api/src/main/java/org/apache/shindig/social/core/model/
java/social-api/src/main/java/org/apache/shindig/social/co...
Author: woodser
Date: Tue May 17 17:03:54 2011
New Revision: 1104411
URL: http://svn.apache.org/viewvc?rev=1104411&view=rev
Log:
Committing changes to support Activity Streams 1.0
- updated data model
- updated tests
- updated serialization
- updated sample Activity Streams gadget
- create/update returns ActivityEntry instead of null
Neither arbitrary nor OpenSocial-specific extensions are supported yet. That's the plan for the next patch.
Added:
shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/core/model/ExtensionImpl.java
shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/model/Extension.java
Removed:
shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/core/model/OpenSocialImpl.java
shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/model/OpenSocial.java
Modified:
shindig/trunk/config/container.js
shindig/trunk/content/samplecontainer/examples/ActivityStreams/ActivityStreamsRender.js
shindig/trunk/content/samplecontainer/examples/ActivityStreams/OpenSocialWrapper.js
shindig/trunk/content/sampledata/canonicaldb.json
shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/core/model/ActivityEntryImpl.java
shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/core/model/ActivityObjectImpl.java
shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/core/util/atom/AtomEntry.java
shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/core/util/xstream/XStream081Configuration.java
shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/model/ActivityEntry.java
shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/model/ActivityObject.java
shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/model/MediaLink.java
shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/spi/ActivityStreamService.java
shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/sample/spi/JsonDbOpensocialService.java
shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/dataservice/integration/RestfulAtomActivityEntryTest.java
shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/dataservice/integration/RestfulJsonActivityEntryTest.java
shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/dataservice/integration/RestfulXmlActivityEntryTest.java
shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/dataservice/integration/fixtures/ActivityEntryAtomId.xml
shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/dataservice/integration/fixtures/ActivityEntryAtomIds.xml
shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/dataservice/integration/fixtures/ActivityEntryJsonCreated.json
shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/dataservice/integration/fixtures/ActivityEntryJsonDelete.json
shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/dataservice/integration/fixtures/ActivityEntryJsonGroup.json
shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/dataservice/integration/fixtures/ActivityEntryJsonId.json
shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/dataservice/integration/fixtures/ActivityEntryJsonIds.json
shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/dataservice/integration/fixtures/ActivityEntryJsonUpdated.json
shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/dataservice/integration/fixtures/ActivityEntryXmlId.xml
shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/dataservice/integration/fixtures/ActivityEntryXmlIds.xml
shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/dataservice/integration/fixtures/ActivityStreamsSupportedFields.json
shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/opensocial/service/ActivityStreamHandlerTest.java
shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/sample/spi/JsonDbOpensocialServiceTest.java
Modified: shindig/trunk/config/container.js
URL: http://svn.apache.org/viewvc/shindig/trunk/config/container.js?rev=1104411&r1=1104410&r2=1104411&view=diff
==============================================================================
--- shindig/trunk/config/container.js (original)
+++ shindig/trunk/config/container.js Tue May 17 17:03:54 2011
@@ -266,8 +266,8 @@
"activity" : ["appId", "body", "bodyId", "externalId", "id", "mediaItems", "postedTime", "priority",
"streamFaviconUrl", "streamSourceUrl", "streamTitle", "streamUrl", "templateParams", "title",
"url", "userId"],
- "activityEntry" : ["actor", "body", "generator", "icon", "object", "postedTime", "provider", "target", "title",
- "updatedTime", "verb"],
+ "activityEntry" : ["actor", "content", "generator", "icon", "id", "object", "published", "provider", "target",
+ "title", "updated", "url", "verb"],
"album" : ["id", "thumbnailUrl", "title", "description", "location", "ownerId"],
"mediaItem" : ["album_id", "created", "description", "duration", "file_size", "id", "language", "last_updated",
"location", "mime_type", "num_comments", "num_views", "num_votes", "rating", "start_time",
Modified: shindig/trunk/content/samplecontainer/examples/ActivityStreams/ActivityStreamsRender.js
URL: http://svn.apache.org/viewvc/shindig/trunk/content/samplecontainer/examples/ActivityStreams/ActivityStreamsRender.js?rev=1104411&r1=1104410&r2=1104411&view=diff
==============================================================================
--- shindig/trunk/content/samplecontainer/examples/ActivityStreams/ActivityStreamsRender.js (original)
+++ shindig/trunk/content/samplecontainer/examples/ActivityStreams/ActivityStreamsRender.js Tue May 17 17:03:54 2011
@@ -117,16 +117,16 @@ function ActivityStreamsRender() {
function processActivityEntries(entries) {
var html = '';
for(idx = 0; idx < entries.length; idx++) {
- if(entries[idx].object.link && entries[idx].object.link != "null") {
- html += "<h3><a href='" + entries[idx].object.link + "'>" + entries[idx].title + "</a></h3>";
+ if(entries[idx].object.url && entries[idx].object.url != "null") {
+ html += "<h3><a href='" + entries[idx].object.url + "'>" + entries[idx].title + "</a></h3>";
} else {
html += "<h3>" + entries[idx].title + "</h3>";
}
- html += "ID: " + entries[idx].object.id + "<br>";
+ html += "ID: " + entries[idx].id + "<br>";
html += "Actor: " + entries[idx].actor.displayName + "<br>";
- html += "Posted: " + entries[idx].postedTime + "<br>";
- if(entries[idx].body && entries[idx].body != "null") {
- html += "Body: " + entries[idx].body + "<br>";
+ html += "Posted: " + entries[idx].published + "<br>";
+ if(entries[idx].content && entries[idx].content != "null") {
+ html += "Content: " + entries[idx].content + "<br>";
}
}
return html;
Modified: shindig/trunk/content/samplecontainer/examples/ActivityStreams/OpenSocialWrapper.js
URL: http://svn.apache.org/viewvc/shindig/trunk/content/samplecontainer/examples/ActivityStreams/OpenSocialWrapper.js?rev=1104411&r1=1104410&r2=1104411&view=diff
==============================================================================
--- shindig/trunk/content/samplecontainer/examples/ActivityStreams/OpenSocialWrapper.js (original)
+++ shindig/trunk/content/samplecontainer/examples/ActivityStreams/OpenSocialWrapper.js Tue May 17 17:03:54 2011
@@ -93,15 +93,15 @@ function OpenSocialWrapper() {
osapi.activitystreams.get(params).execute(callback);
}
- this.postActivityEntry = function(title, body, verb, actorId, actorName, objectName, objectSummary,
+ this.postActivityEntry = function(title, content, verb, actorId, actorName, objectName, objectSummary,
objectPermalink, objectType, callback) {
var params = {
userId: '@viewer',
groupId: '@self',
activity: {
- postedTime: '2010-04-27T06:02:36+0000',
+ published: '2010-04-27T06:02:36+0000',
title: title,
- body: body,
+ content: content,
actor: {
id: actorId,
displayName: actorName
@@ -110,7 +110,7 @@ function OpenSocialWrapper() {
object: {
id: new Date().getTime(),
displayName: objectName,
- link: objectPermalink,
+ url: objectPermalink,
objectType: objectType,
summary: objectSummary
}
@@ -123,13 +123,13 @@ function OpenSocialWrapper() {
var params = {
userId: '@viewer',
groupId: '@self',
- activityEntryId: activityEntryId
+ activityId: activityEntryId
}
osapi.activitystreams.delete(params).execute(callback);
}
this.getActivityEntryById = function(activityEntryId, callback) {
- var params = {activityEntryId: activityEntryId};
+ var params = {activityId: activityEntryId};
osapi.activitystreams.get(params).execute(callback);
}
}
\ No newline at end of file
Modified: shindig/trunk/content/sampledata/canonicaldb.json
URL: http://svn.apache.org/viewvc/shindig/trunk/content/sampledata/canonicaldb.json?rev=1104411&r1=1104410&r2=1104411&view=diff
==============================================================================
--- shindig/trunk/content/sampledata/canonicaldb.json (original)
+++ shindig/trunk/content/sampledata/canonicaldb.json Tue May 17 17:03:54 2011
@@ -351,71 +351,82 @@
},
"activityEntries" : {
"john.doe": [{
- "verb": "post",
- "postedTime": "2011-02-10T15:04:55Z",
- "generator": {
- "url": "http://example.org/activities-app"
- },
- "provider": {
- "url": "http://example.org/activity-stream"
- },
- "title": "John Doe posted a new video to his album.",
- "target": {
- "url": "http://example.org/album/",
- "objectType": "http://activitystrea.ms/schema/1.0/photo-album",
- "id": "tag:example.org,2011:abc123",
- "displayName": "John's Photo Album",
- "image": {
- "url": "http://example.org/album/thumbnail.jpg",
- "width": 250,
- "height": 250
- }
- },
- "object" : {
- "url": "http://example.org/album/my_fluffy_cat.jpg",
- "objectType": "http://activitystrea.ms/schema/1.0/photo",
- "id": "object1",
- "summary": "<body>My activity summary.</body>",
- "image": {
- "url": "http://example.org/album/my_fluffy_cat_thumb.jpg",
- "width": 250,
- "height": 250
+ "id": "activity1",
+ "title": "John posted a new blog entry",
+ "published": "2011-02-10T15:04:55Z",
+ "actor": {
+ "url": "http://example.org/john",
+ "objectType" : "person",
+ "id": "john.doe",
+ "image": {
+ "url": "http://example.org/john/image",
+ "width": 250,
+ "height": 250
+ },
+ "displayName": "John Doe"
+ },
+ "verb": "post",
+ "object" : {
+ "url": "http://example.org/blog/2011/02/entry",
+ "id": "object1"
+ },
+ "target" : {
+ "url": "http://example.org/blog/",
+ "objectType": "blog",
+ "id": "target1",
+ "displayName": "John's Blog"
+ }
+ }, {
+ "id": "activity2",
+ "published": "2011-02-10T15:04:55Z",
+ "generator": {
+ "url": "http://example.org/activities-app"
},
- "upstreamDuplicates": ["upstreamId1", "upstreamId2"],
- "attachedObjects": [{
- "url": "http://example.org/attached1",
- "id": "attached1"
- }, {
- "url": "http://example.org/attached2",
- "id": "attached2"
- }]
- },
- "actor": {
- "url": "http://example.org/john",
- "objectType": "person",
- "id": "john.doe",
- "image": {
- "url": "http://example.org/john/image",
- "width": 250,
- "height": 250
+ "provider": {
+ "url": "http://example.org/activity-stream"
},
- "displayName": "John Doe"
- },
- "openSocial" : {}
- }, {
- "title": "Super simple ActivityEntry",
- "actor": {
- "id": "john.doe",
- "displayName": "John Doe"
- },
- "postedTime": "2010-04-27T06:02:36+0000",
- "object": {
- "id": "object2",
- "displayName": "Super simple ActivityObject",
- "objectType": "article"
- },
- "verb": "post"
- }]
+ "title": "John posted a new video to his album.",
+ "actor": {
+ "url": "http://example.org/john",
+ "objectType": "person",
+ "id": "john.doe",
+ "image": {
+ "url": "http://example.org/john/image",
+ "width": 250,
+ "height": 250
+ },
+ "displayName": "John Doe"
+ },
+ "verb": "post",
+ "object" : {
+ "url": "http://example.org/album/my_fluffy_cat.jpg",
+ "objectType": "photo",
+ "id": "object2",
+ "summary": "Photo posted",
+ "image": {
+ "url": "http://example.org/album/my_fluffy_cat_thumb.jpg",
+ "width": 250,
+ "height": 250
+ },
+ "upstreamDuplicates" : ["upstream1", "upstream2"],
+ "downstreamDuplicates" : ["downstream1", "downstream2"],
+ "attachments": [
+ {"id": "attachment1", "objectType": "attachment"},
+ {"id": "attachment2", "objectType": "attachment"}
+ ]
+ },
+ "target": {
+ "url": "http://example.org/album/",
+ "objectType": "photo-album",
+ "id": "target2",
+ "displayName": "John's Photo Album",
+ "image": {
+ "url": "http://example.org/album/thumbnail.jpg",
+ "width": 250,
+ "height": 250
+ }
+ }
+ }]
},
"albums" : {
"john.doe": [{
Modified: shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/core/model/ActivityEntryImpl.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/core/model/ActivityEntryImpl.java?rev=1104411&r1=1104410&r2=1104411&view=diff
==============================================================================
--- shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/core/model/ActivityEntryImpl.java (original)
+++ shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/core/model/ActivityEntryImpl.java Tue May 17 17:03:54 2011
@@ -20,8 +20,7 @@ package org.apache.shindig.social.core.m
import org.apache.shindig.social.opensocial.model.ActivityEntry;
import org.apache.shindig.social.opensocial.model.ActivityObject;
-import org.apache.shindig.social.opensocial.model.MediaLink;
-import org.apache.shindig.social.opensocial.model.OpenSocial;
+import org.apache.shindig.social.opensocial.model.Extension;
/**
* A simple bean implementation of an ActivityStream Entry.
@@ -29,27 +28,27 @@ import org.apache.shindig.social.opensoc
public class ActivityEntryImpl implements ActivityEntry {
private ActivityObject actor;
- private String body;
+ private String content;
private ActivityObject generator;
- private MediaLink icon;
+ private String icon;
+ private String id;
private ActivityObject object;
- private String postedTime;
+ private String published;
private ActivityObject provider;
private ActivityObject target;
private String title;
- private String updatedTime;
+ private String updated;
+ private String url;
private String verb;
- private OpenSocial extensions;
+ private Extension openSocial;
/**
* Create a new empty ActivityEntry
*/
- public ActivityEntryImpl() {
- }
-
- /** {@inheritDoc} */
+ public ActivityEntryImpl() { }
+
public ActivityObject getActor() {
- return this.actor;
+ return actor;
}
/** {@inheritDoc} */
@@ -58,18 +57,18 @@ public class ActivityEntryImpl implement
}
/** {@inheritDoc} */
- public String getBody() {
- return this.body;
+ public String getContent() {
+ return content;
}
/** {@inheritDoc} */
- public void setBody(String body) {
- this.body = body;
+ public void setContent(String content) {
+ this.content = content;
}
/** {@inheritDoc} */
public ActivityObject getGenerator() {
- return this.generator;
+ return generator;
}
/** {@inheritDoc} */
@@ -78,38 +77,48 @@ public class ActivityEntryImpl implement
}
/** {@inheritDoc} */
- public MediaLink getIcon() {
- return this.icon;
+ public String getIcon() {
+ return icon;
}
/** {@inheritDoc} */
- public void setIcon(MediaLink icon) {
+ public void setIcon(String icon) {
this.icon = icon;
}
/** {@inheritDoc} */
+ public String getId() {
+ return id;
+ }
+
+ /** {@inheritDoc} */
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ /** {@inheritDoc} */
public ActivityObject getObject() {
- return this.object;
+ return object;
}
/** {@inheritDoc} */
public void setObject(ActivityObject object) {
- this.object = object;
+ this.object = object;
}
/** {@inheritDoc} */
- public String getPostedTime() {
- return this.postedTime;
+ public String getPublished() {
+ return published;
}
/** {@inheritDoc} */
- public void setPostedTime(String postedTime) {
- this.postedTime = postedTime;
+ public void setPublished(String published) {
+ this.published = published;
}
/** {@inheritDoc} */
public ActivityObject getProvider() {
- return this.provider;
+ return provider;
}
/** {@inheritDoc} */
@@ -119,7 +128,7 @@ public class ActivityEntryImpl implement
/** {@inheritDoc} */
public ActivityObject getTarget() {
- return this.target;
+ return target;
}
/** {@inheritDoc} */
@@ -129,7 +138,7 @@ public class ActivityEntryImpl implement
/** {@inheritDoc} */
public String getTitle() {
- return this.title;
+ return title;
}
/** {@inheritDoc} */
@@ -138,18 +147,28 @@ public class ActivityEntryImpl implement
}
/** {@inheritDoc} */
- public String getUpdatedTime() {
- return this.updatedTime;
+ public String getUpdated() {
+ return updated;
+ }
+
+ /** {@inheritDoc} */
+ public void setUpdated(String updated) {
+ this.updated = updated;
+ }
+
+ /** {@inheritDoc} */
+ public String getUrl() {
+ return url;
}
/** {@inheritDoc} */
- public void setUpdatedTime(String updatedTime) {
- this.updatedTime = updatedTime;
+ public void setUrl(String url) {
+ this.url = url;
}
/** {@inheritDoc} */
public String getVerb() {
- return this.verb;
+ return verb;
}
/** {@inheritDoc} */
@@ -158,13 +177,12 @@ public class ActivityEntryImpl implement
}
/** {@inheritDoc} */
- public OpenSocial getOpenSocial() {
- return extensions;
+ public Extension getOpenSocial() {
+ return openSocial;
}
/** {@inheritDoc} */
- public void setOpenSocial(OpenSocial extensions) {
- this.extensions = extensions;
-
+ public void setOpenSocial(Extension openSocial) {
+ this.openSocial = openSocial;
}
}
Modified: shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/core/model/ActivityObjectImpl.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/core/model/ActivityObjectImpl.java?rev=1104411&r1=1104410&r2=1104411&view=diff
==============================================================================
--- shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/core/model/ActivityObjectImpl.java (original)
+++ shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/core/model/ActivityObjectImpl.java Tue May 17 17:03:54 2011
@@ -28,66 +28,78 @@ import org.apache.shindig.social.opensoc
*/
public class ActivityObjectImpl implements ActivityObject {
- private List<ActivityObject> attachedObjects;
+ private List<ActivityObject> attachments;
+ private ActivityObject author;
+ private String content;
private String displayName;
private List<String> downstreamDuplicates;
- private String embedCode;
private String id;
private MediaLink image;
private String objectType;
+ private String published;
private String summary;
+ private String updated;
private List<String> upstreamDuplicates;
private String url;
/**
- * A simple implementation of an ActivtyObject
+ * Constructs an empty ActivityObject.
*/
- public ActivityObjectImpl() {
- }
+ public ActivityObjectImpl() { }
/** {@inheritDoc} */
- public List<ActivityObject> getAttachedObjects() {
- return this.attachedObjects;
+ public List<ActivityObject> getAttachments() {
+ return attachments;
}
/** {@inheritDoc} */
- public void setAttachedObjects(List<ActivityObject> attachedObjects) {
- this.attachedObjects = attachedObjects;
+ public void setAttachments(List<ActivityObject> attachments) {
+ this.attachments = attachments;
}
/** {@inheritDoc} */
- public String getDisplayName() {
- return this.displayName;
+ public ActivityObject getAuthor() {
+ return author;
}
/** {@inheritDoc} */
- public void setDisplayName(String displayName) {
- this.displayName = displayName;
+ public void setAuthor(ActivityObject author) {
+ this.author = author;
+ }
+
+ /** {@inheritDoc} */
+ public String getContent() {
+ return content;
}
/** {@inheritDoc} */
- public List<String> getDownstreamDuplicates() {
- return this.downstreamDuplicates;
+ public void setContent(String content) {
+ this.content = content;
}
/** {@inheritDoc} */
- public void setDownstreamDuplicates(List<String> downstreamDuplicates) {
- this.downstreamDuplicates = downstreamDuplicates;
+ public String getDisplayName() {
+ return displayName;
}
/** {@inheritDoc} */
- public String getEmbedCode() {
- return this.embedCode;
+ public void setDisplayName(String displayName) {
+ this.displayName = displayName;
}
/** {@inheritDoc} */
- public void setEmbedCode(String embedCode) {
- this.embedCode = embedCode;
+ public List<String> getDownstreamDuplicates() {
+ return downstreamDuplicates;
}
/** {@inheritDoc} */
+ public void setDownstreamDuplicates(List<String> downstreamDuplicates) {
+ this.downstreamDuplicates = downstreamDuplicates;
+ }
+
+ /** {@inheritDoc} */
public String getId() {
- return this.id;
+ return id;
}
/** {@inheritDoc} */
@@ -97,7 +109,7 @@ public class ActivityObjectImpl implemen
/** {@inheritDoc} */
public MediaLink getImage() {
- return this.image;
+ return image;
}
/** {@inheritDoc} */
@@ -107,37 +119,57 @@ public class ActivityObjectImpl implemen
/** {@inheritDoc} */
public String getObjectType() {
- return this.objectType;
+ return objectType;
}
/** {@inheritDoc} */
public void setObjectType(String objectType) {
this.objectType = objectType;
}
-
+
/** {@inheritDoc} */
- public List<String> getUpstreamDuplicates() {
- return this.upstreamDuplicates;
+ public String getPublished() {
+ return published;
}
/** {@inheritDoc} */
- public void setUpstreamDuplicates(List<String> upstreamDuplicates) {
- this.upstreamDuplicates = upstreamDuplicates;
+ public void setPublished(String published) {
+ this.published = published;
}
/** {@inheritDoc} */
public String getSummary() {
- return this.summary;
+ return summary;
}
/** {@inheritDoc} */
public void setSummary(String summary) {
this.summary = summary;
}
+
+ /** {@inheritDoc} */
+ public String getUpdated() {
+ return updated;
+ }
+
+ /** {@inheritDoc} */
+ public void setUpdated(String updated) {
+ this.updated = updated;
+ }
/** {@inheritDoc} */
+ public List<String> getUpstreamDuplicates() {
+ return upstreamDuplicates;
+ }
+
+ /** {@inheritDoc} */
+ public void setUpstreamDuplicates(List<String> upstreamDuplicates) {
+ this.upstreamDuplicates = upstreamDuplicates;
+ }
+
+ /** {@inheritDoc} */
public String getUrl() {
- return this.url;
+ return url;
}
/** {@inheritDoc} */
Added: shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/core/model/ExtensionImpl.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/core/model/ExtensionImpl.java?rev=1104411&view=auto
==============================================================================
--- shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/core/model/ExtensionImpl.java (added)
+++ shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/core/model/ExtensionImpl.java Tue May 17 17:03:54 2011
@@ -0,0 +1,10 @@
+package org.apache.shindig.social.core.model;
+
+import org.apache.shindig.social.opensocial.model.Extension;
+
+/**
+ * Extension namespace implementation.
+ */
+public class ExtensionImpl implements Extension {
+
+}
Modified: shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/core/util/atom/AtomEntry.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/core/util/atom/AtomEntry.java?rev=1104411&r1=1104410&r2=1104411&view=diff
==============================================================================
--- shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/core/util/atom/AtomEntry.java (original)
+++ shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/core/util/atom/AtomEntry.java Tue May 17 17:03:54 2011
@@ -87,15 +87,15 @@ public class AtomEntry {
updated = activity.getUpdated();
} else if (o instanceof ActivityEntry) {
ActivityEntry activity = (ActivityEntry)o;
- id = activity.getObject().getId();
+ id = activity.getId();
title = activity.getTitle();
summary = activity.getObject().getSummary();
author = new AtomAuthor(activity);
content = new AtomContent(activity);
try {
- updated = new SimpleDateFormat().parse(activity.getPostedTime());
+ updated = new SimpleDateFormat().parse(activity.getPublished());
} catch (ParseException e) {
- // TODO: map postedTime to updated field correctly
+ // TODO: map published to updated field correctly
}
} else if (oCopy instanceof Entry) {
Entry<?, ?> e = (Entry<?, ?>) oCopy;
Modified: shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/core/util/xstream/XStream081Configuration.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/core/util/xstream/XStream081Configuration.java?rev=1104411&r1=1104410&r2=1104411&view=diff
==============================================================================
--- shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/core/util/xstream/XStream081Configuration.java (original)
+++ shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/core/util/xstream/XStream081Configuration.java Tue May 17 17:03:54 2011
@@ -57,7 +57,7 @@ import org.apache.shindig.social.opensoc
import org.apache.shindig.social.opensocial.model.Message;
import org.apache.shindig.social.opensocial.model.MessageCollection;
import org.apache.shindig.social.opensocial.model.Name;
-import org.apache.shindig.social.opensocial.model.OpenSocial;
+import org.apache.shindig.social.opensocial.model.Extension;
import org.apache.shindig.social.opensocial.model.Organization;
import org.apache.shindig.social.opensocial.model.Person;
import org.apache.shindig.social.opensocial.model.Url;
@@ -174,7 +174,7 @@ public class XStream081Configuration imp
new ClassFieldMapping("organization", Organization.class),
new ClassFieldMapping("person", Person.class),
new ClassFieldMapping("url", Url.class),
- new ClassFieldMapping("openSocial", OpenSocial.class),
+ new ClassFieldMapping("openSocial", Extension.class),
// this is an example of a class field mapping with context. If
// ListField is mapped inside an element named emails, replace the element
// name
@@ -213,7 +213,7 @@ public class XStream081Configuration imp
new ClassFieldMapping("organization", Organization.class),
new ClassFieldMapping("person", Person.class),
new ClassFieldMapping("url", Url.class),
- new ClassFieldMapping("openSocial", OpenSocial.class),
+ new ClassFieldMapping("openSocial", Extension.class),
// this is an example of a class field mapping with context. If
// ListField is mapped inside an element named emails, replace the element
// name that would have been defiend as fqcn ListField with email
@@ -253,7 +253,7 @@ public class XStream081Configuration imp
.put("organization", Organization.class)
.put("person", Person.class)
.put("url", Url.class)
- .put("openSocial", OpenSocial.class)
+ .put("openSocial", Extension.class)
.put("listField", ListField.class).build()
);
@@ -291,8 +291,9 @@ public class XStream081Configuration imp
new ImplicitCollectionFieldMapping(Message.class, "collectionIds", String.class, "collectionsIds"),
new ImplicitCollectionFieldMapping(Message.class, "replies", String.class, "replies"),
- new ImplicitCollectionFieldMapping(ActivityObject.class, "downstreamDuplicates", String.class, "downstreamDuplicates"),
- new ImplicitCollectionFieldMapping(ActivityObject.class, "upstreamDuplicates", String.class, "upstreamDuplicates"),
+ new ImplicitCollectionFieldMapping(ActivityObject.class, "downstreamDuplicates", String.class, "downstreamDuplicate"),
+ new ImplicitCollectionFieldMapping(ActivityObject.class, "upstreamDuplicates", String.class, "upstreamDuplicate"),
+ //new ImplicitCollectionFieldMapping(ActivityObject.class, "attachments", ActivityObject.class, "attachment"),
new ImplicitCollectionFieldMapping(Activity.class, "mediaItems", MediaItem.class, "mediaItems"))
);
Modified: shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/model/ActivityEntry.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/model/ActivityEntry.java?rev=1104411&r1=1104410&r2=1104411&view=diff
==============================================================================
--- shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/model/ActivityEntry.java (original)
+++ shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/model/ActivityEntry.java Tue May 17 17:03:54 2011
@@ -24,32 +24,33 @@ import org.apache.shindig.social.core.mo
import com.google.inject.ImplementedBy;
/**
- * <p>ActivityEntry interface.</p>
+ * <p>Represents an 'Activity' within the Activity Streams JSON 1.0
+ * specification. Refer to http://activitystrea.ms/head/json-activity.html</p>
*/
@ImplementedBy(ActivityEntryImpl.class)
@Exportablebean
public interface ActivityEntry {
/**
- * Fields that represent JSON elements for an activity entry.
+ * Fields that represent the JSON elements.
*/
public static enum Field {
ACTOR("actor"),
- BODY("body"),
+ CONTENT("content"),
GENERATOR("generator"),
ICON("icon"),
+ ID("id"),
OBJECT("object"),
- POSTED_TIME("postedTime"),
+ PUBLISHED("published"),
PROVIDER("provider"),
TARGET("target"),
TITLE("title"),
- UPDATED_TIME("updatedTime"),
+ UPDATED("updated"),
+ URL("url"),
VERB("verb"),
OPENSOCIAL("openSocial");
- /**
- * The name of the JSON element.
- */
+ // The name of the JSON element
private final String jsonString;
/**
@@ -86,18 +87,18 @@ public interface ActivityEntry {
void setActor(ActivityObject actor);
/**
- * <p>getBody</p>
+ * <p>getContent</p>
*
* @return a {@link java.lang.String} object.
*/
- String getBody();
+ String getContent();
/**
- * <p>setBody</p>
+ * <p>setContent</p>
*
- * @param body a {@link java.lang.String} object.
+ * @param content a {@link java.lang.String} object.
*/
- void setBody(String body);
+ void setContent(String content);
/**
* <p>getGenerator</p>
@@ -116,16 +117,30 @@ public interface ActivityEntry {
/**
* <p>getIcon</p>
*
- * @return a {@link org.apache.shindig.social.opensocial.model.MediaLink} object.
+ * @return a {@link java.lang.String} object.
*/
- MediaLink getIcon();
+ String getIcon();
/**
* <p>setIcon</p>
*
- * @param icon a {@link org.apache.shindig.social.opensocial.model.MediaLink} object.
+ * @param icon a {@link java.lang.String} object.
*/
- void setIcon(MediaLink icon);
+ void setIcon(String icon);
+
+ /**
+ * <p>getId</p>
+ *
+ * @return a {@link java.lang.String} object.
+ */
+ String getId();
+
+ /**
+ * <p>setId</p>
+ *
+ * @param id a {@link java.lang.String} object.
+ */
+ void setId(String id);
/**
* <p>getObject</p>
@@ -142,18 +157,18 @@ public interface ActivityEntry {
void setObject(ActivityObject object);
/**
- * <p>getPostedTime</p>
+ * <p>getPublished</p>
*
* @return a {@link java.lang.String} object.
*/
- String getPostedTime();
+ String getPublished();
/**
- * <p>setPostedTime</p>
+ * <p>setPublished</p>
*
- * @param postedTime a {@link java.lang.String} object.
+ * @param published a {@link java.lang.String} object.
*/
- void setPostedTime(String postedTime);
+ void setPublished(String published);
/**
* <p>getProvider</p>
@@ -198,18 +213,32 @@ public interface ActivityEntry {
void setTitle(String title);
/**
- * <p>getUpdatedTime</p>
+ * <p>getUpdated</p>
+ *
+ * @return a {@link java.lang.String} object.
+ */
+ String getUpdated();
+
+ /**
+ * <p>setUpdated</p>
+ *
+ * @param updated a {@link java.lang.String} object.
+ */
+ void setUpdated(String updated);
+
+ /**
+ * <p>getUrl</p>
*
* @return a {@link java.lang.String} object.
*/
- String getUpdatedTime();
+ String getUrl();
/**
- * <p>setUpdatedTime</p>
+ * <p>setUrl</p>
*
- * @param postedTime a {@link java.lang.String} object.
+ * @param url a {@link java.lang.String} object.
*/
- void setUpdatedTime(String updatedTime);
+ void setUrl(String url);
/**
* <p>getVerb</p>
@@ -228,14 +257,14 @@ public interface ActivityEntry {
/**
* <p>getOpenSocial</p>
*
- * @return a {@link org.apache.shindig.social.opensocial.model.OpenSocial} object
+ * @return a {@link org.apache.shindig.social.opensocial.model.Extension} object
*/
- OpenSocial getOpenSocial();
+ Extension getOpenSocial();
/**
* <p>setOpenSocial</p>
*
- * @return a {@link org.apache.shindig.social.opensocial.model.OpenSocial} object
+ * @return a {@link org.apache.shindig.social.opensocial.model.Extension} object
*/
- void setOpenSocial(OpenSocial extensions);
+ void setOpenSocial(Extension opensocial);
}
Modified: shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/model/ActivityObject.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/model/ActivityObject.java?rev=1104411&r1=1104410&r2=1104411&view=diff
==============================================================================
--- shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/model/ActivityObject.java (original)
+++ shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/model/ActivityObject.java Tue May 17 17:03:54 2011
@@ -27,29 +27,35 @@ import com.google.inject.ImplementedBy;
/**
* A representation of an Activity's object.
+ *
+ * Note that an Activity's object may contain fields from an Activity when
+ * the objectType is of type 'activity'. As such, ActivityObject becomes
+ * a superset of Activity. Refer to the Activity Streams spec.
*/
@ImplementedBy(ActivityObjectImpl.class)
@Exportablebean
public interface ActivityObject {
- /*
- * Fields that represent JSON elements for an activity entry.
+ /**
+ * Fields that represent the JSON elements.
*/
public static enum Field {
- ATTACHED_OBJECTS("attachedObjects"),
+ // Activity's object fields
+ ATTACHMENTS("attachments"),
+ AUTHOR("author"),
+ CONTENT("content"),
DISPLAY_NAME("displayName"),
DOWNSTREAM_DUPLICATES("downstreamDuplicates"),
- EMBED_CODE("embedCode"),
ID("id"),
IMAGE("image"),
OBJECT_TYPE("objectType"),
+ PUBLISHED("published"),
SUMMARY("summary"),
+ UPDATED("updated"),
UPSTREAM_DUPLICATES("upstreamDuplicates"),
URL("url");
- /*
- * The name of the JSON element.
- */
+ // The name of the JSON element
private final String jsonString;
/**
@@ -70,141 +76,186 @@ public interface ActivityObject {
return jsonString;
}
}
-
+
/**
- * Gets the list of Attached Activities for this entry
+ * <p>getAttachments</p>
*
- * @return a list of ActivityObjects
+ * @return a list of {@link org.apache.shindig.social.opensocial.model.ActivityObject} object
*/
- List<ActivityObject> getAttachedObjects();
+ List<ActivityObject> getAttachments();
/**
- * Sets the list of Attached Activities for this entry
+ * <p>setAttachments</p>
*
- * @param attachedObjects a list of ActivityObjects
+ * @param attachments a list of {@link org.apache.shindig.social.opensocial.model.ActivityObject} objects
*/
- void setAttachedObjects(List<ActivityObject> attachedObjects);
+ void setAttachments(List<ActivityObject> attachments);
/**
- * @return the human-readable name of the object
+ * <p>getAuthor</p>
+ *
+ * @return a {@link org.apache.shindig.social.opensocial.model.ActivityObject} object
*/
- String getDisplayName();
+ ActivityObject getAuthor();
/**
- * Sets the name
- * @param name a human-readable name
+ * <p>setAuthor</p>
+ *
+ * @param author a {@link org.apache.shindig.social.opensocial.model.ActivityObject} object
*/
- void setDisplayName(String displayName);
+ void setAuthor(ActivityObject author);
+
+ /**
+ * <p>getContent</p>
+ *
+ * @return a {@link java.lang.String} object.
+ */
+ String getContent();
/**
- * Get the list of downstream duplicates.
+ * <p>setContent</p>
*
- * @return a list of strings
+ * @param content a {@link java.lang.String} object.
*/
- List<String> getDownstreamDuplicates();
+ void setContent(String content);
/**
- * Set the list of downstream duplicates
+ * <p>getDisplayName</p>
*
- * @param downstreamDuplicates a list of strings containing duplicate IDs
+ * @return a {@link java.lang.String} object.
*/
- void setDownstreamDuplicates(List<String> downstreamDuplicates);
+ String getDisplayName();
/**
- * Returns the object's embedCode property.
- *
- * @return String is the object's embedCode property.
+ * <p>setDisplayName</p>
+ *
+ * @param displayName a {@link java.lang.String} object
*/
- String getEmbedCode();
-
+ void setDisplayName(String displayName);
+
/**
- * Sets the objet's embedCode property.
- *
- * @param embedCode is the value to set embedCode to
+ * <p>getDownstreamDuplicates</p>
+ *
+ * @return a list of {@link java.lang.String} objects
*/
- void setEmbedCode(String embedCode);
+ List<String> getDownstreamDuplicates();
/**
- * Gets the absolute URI that uniquely identifies the object
+ * <p>setDownstreamDuplicates</p>
+ *
+ * @param downstreamDuplicates a list of {@link java.lang.String} objects
+ */
+ void setDownstreamDuplicates(List<String> downstreamDuplicates);
+
+ /**
+ * <p>getId</p>
*
- * @return a non-null string
+ * @return a {@link java.lang.String} object.
*/
String getId();
/**
- * Set the absolute URI that uniquely identifies the object
+ * <p>setId</p>
*
- * @param id a non-null string
+ * @param id a {@link java.lang.String} object.
*/
void setId(String id);
/**
- * Get the link to a representative image.
+ * <p>getImage</p>
*
- * @return a {@link org.apache.shindig.extras.as.opensocial.model.MediaLink} object.
+ * @return a {@link org.apache.shindig.extras.as.opensocial.model.MediaLink} object
*/
MediaLink getImage();
/**
- * Set the link to a representative image.
+ * <p>setImage</p>
*
- * @param image a {@link org.apache.shindig.extras.as.opensocial.model.MediaLink} object.
+ * @param image a {@link org.apache.shindig.extras.as.opensocial.model.MediaLink} object
*/
void setImage(MediaLink image);
/**
- * Returns the ActivityObject's object type.
+ * <p>getObjectType</p>
*
- * @return String representing the object type
+ * @return a {@link java.lang.String} object
*/
String getObjectType();
/**
- * Set's the ActivityObject's object type.
+ * <p>setObjectType</p>
*
- * @param objectType is the object type
+ * @param objectType a {@link java.lang.String} object
*/
void setObjectType(String objectType);
-
+
/**
- * Get the list of upstream duplicates.
+ * <p>getPublished</p>
*
- * @return a list of strings
+ * @return a {@link java.lang.String} object.
*/
- List<String> getUpstreamDuplicates();
+ String getPublished();
/**
- * Set the list of upstream duplicates.
+ * <p>setPublished</p>
*
- * @param upstreamDuplicates a list of strings containing duplicate IDs
+ * @param published a {@link java.lang.String} object.
*/
- void setUpstreamDuplicates(List<String> upstreamDuplicates);
+ void setPublished(String published);
/**
- * Gets the human-readable summary for this object.
- * @return the summary
+ * <p>getSummary</p>
+ *
+ * @return a {@link java.lang.String} object
*/
String getSummary();
/**
- * Sets the human-readable summary for this object.
+ * <p>setSummary</p>
*
- * @param summary a summary
+ * @param summary a {@link java.lang.String} object
*/
void setSummary(String summary);
+ /**
+ * <p>getUpdated</p>
+ *
+ * @return a {@link java.lang.String} object.
+ */
+ String getUpdated();
+
+ /**
+ * <p>setUpdated</p>
+ *
+ * @param updated a {@link java.lang.String} object.
+ */
+ void setUpdated(String updated);
+
+ /**
+ * <p>getUpstreamDuplicates</p>
+ *
+ * @return a list of {@link java.lang.String} objects
+ */
+ List<String> getUpstreamDuplicates();
+
+ /**
+ * <p>setUpstreamDuplicates</p>
+ *
+ * @param upstreamDuplicates a list of {@link java.lang.String} objects
+ */
+ void setUpstreamDuplicates(List<String> upstreamDuplicates);
/**
- * Returns the object's URL.
- *
- * @return String is the object's URL
+ * <p>getUrl</p>
+ *
+ * @return a {@link java.lang.String} object.
*/
String getUrl();
-
+
/**
- * Sets the object's URL.
- *
- * @param url is the value to set the object's URL
+ * <p>setUrl</p>
+ *
+ * @param url a {@link java.lang.String} object.
*/
void setUrl(String url);
}
Added: shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/model/Extension.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/model/Extension.java?rev=1104411&view=auto
==============================================================================
--- shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/model/Extension.java (added)
+++ shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/model/Extension.java Tue May 17 17:03:54 2011
@@ -0,0 +1,41 @@
+package org.apache.shindig.social.opensocial.model;
+
+import org.apache.shindig.protocol.model.Exportablebean;
+import org.apache.shindig.social.core.model.ExtensionImpl;
+
+import com.google.inject.ImplementedBy;
+
+/**
+ * A generic class to represent extensions to data models.
+ */
+@ImplementedBy(ExtensionImpl.class)
+@Exportablebean
+public interface Extension {
+
+ public static enum Field {
+ ; // No fields to add
+
+ /**
+ * The name of the JSON element.
+ */
+ private final String jsonString;
+
+ /**
+ * Constructs the field base for the JSON element.
+ *
+ * @param jsonString the name of the element
+ */
+ private Field(String jsonString) {
+ this.jsonString = jsonString;
+ }
+
+ /**
+ * Returns the name of the JSON element.
+ *
+ * @return String the name of the JSON element
+ */
+ public String toString() {
+ return jsonString;
+ }
+ }
+}
Modified: shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/model/MediaLink.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/model/MediaLink.java?rev=1104411&r1=1104410&r2=1104411&view=diff
==============================================================================
--- shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/model/MediaLink.java (original)
+++ shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/model/MediaLink.java Tue May 17 17:03:54 2011
@@ -38,9 +38,7 @@ public interface MediaLink {
URL("url"),
WIDTH("width");
- /**
- * The name of the JSON element.
- */
+ // The name of the JSON element
private final String jsonString;
/**
Modified: shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/spi/ActivityStreamService.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/spi/ActivityStreamService.java?rev=1104411&r1=1104410&r2=1104411&view=diff
==============================================================================
--- shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/spi/ActivityStreamService.java (original)
+++ shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/spi/ActivityStreamService.java Tue May 17 17:03:54 2011
@@ -110,7 +110,7 @@ public interface ActivityStreamService {
* @return a response item containing any errors
* @throws org.apache.shindig.protocol.ProtocolException if any
*/
- Future<Void> updateActivityEntry(UserId userId, GroupId groupId, String appId,
+ Future<ActivityEntry> updateActivityEntry(UserId userId, GroupId groupId, String appId,
Set<String> fields, ActivityEntry activity, String activityId,
SecurityToken token) throws ProtocolException;
@@ -127,6 +127,6 @@ public interface ActivityStreamService {
* @return a response item containing any errors
* @throws org.apache.shindig.protocol.ProtocolException if any.
*/
- Future<Void> createActivityEntry(UserId userId, GroupId groupId, String appId,
+ Future<ActivityEntry> createActivityEntry(UserId userId, GroupId groupId, String appId,
Set<String> fields, ActivityEntry activity, SecurityToken token) throws ProtocolException;
}
Modified: shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/sample/spi/JsonDbOpensocialService.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/sample/spi/JsonDbOpensocialService.java?rev=1104411&r1=1104410&r2=1104411&view=diff
==============================================================================
--- shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/sample/spi/JsonDbOpensocialService.java (original)
+++ shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/sample/spi/JsonDbOpensocialService.java Tue May 17 17:03:54 2011
@@ -1173,20 +1173,18 @@ public class JsonDbOpensocialService imp
// Are fields really needed here?
/** {@inheritDoc} */
- public Future<Void> updateActivityEntry(UserId userId, GroupId groupId, String appId,
+ public Future<ActivityEntry> updateActivityEntry(UserId userId, GroupId groupId, String appId,
Set<String> fields, ActivityEntry activityEntry, String activityId, SecurityToken token) throws ProtocolException {
try {
JSONObject jsonEntry = convertFromActivityEntry(activityEntry, fields);
- JSONObject jsonEntryObject = jsonEntry.getJSONObject(ActivityEntry.Field.OBJECT.toString());
- if (!jsonEntryObject.has(ActivityObject.Field.ID.toString())) {
+ if (!jsonEntry.has(ActivityEntry.Field.ID.toString())) {
if (activityId != null) {
- jsonEntryObject.put(ActivityObject.Field.ID.toString(), activityId);
+ jsonEntry.put(ActivityEntry.Field.ID.toString(), activityId);
} else {
- jsonEntryObject.put(ActivityObject.Field.ID.toString(), System.currentTimeMillis());
+ jsonEntry.put(ActivityEntry.Field.ID.toString(), System.currentTimeMillis());
}
- jsonEntry.put(ActivityEntry.Field.OBJECT.toString(), jsonEntryObject);
}
- String objectId = jsonEntry.getJSONObject(ActivityEntry.Field.OBJECT.toString()).getString(ActivityObject.Field.ID.toString());
+ activityId = jsonEntry.getString(ActivityEntry.Field.ID.toString());
JSONArray jsonArray;
if (db.getJSONObject(ACTIVITYSTREAMS_TABLE).has(userId.getUserId(token))) {
@@ -1199,13 +1197,12 @@ public class JsonDbOpensocialService imp
// Find & replace activity
for (int i = 0; i < jsonArray.length(); i++) {
JSONObject entry = jsonArray.getJSONObject(i);
- if (entry.getJSONObject(ActivityEntry.Field.OBJECT.toString())
- .getString(ActivityObject.Field.ID.toString()).equals(objectId)) {
+ if (entry.getString(ActivityEntry.Field.ID.toString()).equals(activityId)) {
jsonArray.put(i, jsonEntry);
- return ImmediateFuture.newInstance(null);
+ return ImmediateFuture.newInstance(filterFields(jsonEntry, fields, ActivityEntry.class));
}
}
- throw new ProtocolException(HttpServletResponse.SC_BAD_REQUEST, "Activity not found: " + objectId);
+ throw new ProtocolException(HttpServletResponse.SC_BAD_REQUEST, "Activity not found: " + activityId);
} catch (JSONException je) {
throw new ProtocolException(HttpServletResponse.SC_INTERNAL_SERVER_ERROR, je.getMessage(), je);
}
@@ -1213,16 +1210,14 @@ public class JsonDbOpensocialService imp
// Are fields really needed here?
/** {@inheritDoc} */
- public Future<Void> createActivityEntry(UserId userId, GroupId groupId, String appId,
+ public Future<ActivityEntry> createActivityEntry(UserId userId, GroupId groupId, String appId,
Set<String> fields, ActivityEntry activityEntry, SecurityToken token) throws ProtocolException {
try {
JSONObject jsonEntry = convertFromActivityEntry(activityEntry, fields);
- JSONObject jsonEntryObject = jsonEntry.getJSONObject(ActivityEntry.Field.OBJECT.toString());
- if (!jsonEntryObject.has(ActivityObject.Field.ID.toString())) {
- jsonEntryObject.put(ActivityObject.Field.ID.toString(), System.currentTimeMillis());
- jsonEntry.put(ActivityEntry.Field.OBJECT.toString(), jsonEntryObject);
+ if (!jsonEntry.has(ActivityEntry.Field.ID.toString())) {
+ jsonEntry.put(ActivityEntry.Field.ID.toString(), System.currentTimeMillis());
}
- String objectId = jsonEntry.getJSONObject(ActivityEntry.Field.OBJECT.toString()).getString(ActivityObject.Field.ID.toString());
+ String activityId = jsonEntry.getString(ActivityEntry.Field.ID.toString());
JSONArray jsonArray;
if (db.getJSONObject(ACTIVITYSTREAMS_TABLE).has(userId.getUserId(token))) {
@@ -1235,13 +1230,12 @@ public class JsonDbOpensocialService imp
// Ensure activity does not already exist
for (int i = 0; i < jsonArray.length(); i++) {
JSONObject entry = jsonArray.getJSONObject(i);
- if (entry.getJSONObject(ActivityEntry.Field.OBJECT.toString())
- .getString(ActivityObject.Field.ID.toString()).equals(objectId)) {
- throw new ProtocolException(HttpServletResponse.SC_BAD_REQUEST, "Activity already exists: " + objectId);
+ if (entry.getString(ActivityEntry.Field.ID.toString()).equals(activityId)) {
+ throw new ProtocolException(HttpServletResponse.SC_BAD_REQUEST, "Activity already exists: " + activityId);
}
}
jsonArray.put(jsonEntry);
- return ImmediateFuture.newInstance(null);
+ return ImmediateFuture.newInstance(filterFields(jsonEntry, fields, ActivityEntry.class));
} catch (JSONException je) {
throw new ProtocolException(HttpServletResponse.SC_INTERNAL_SERVER_ERROR, je.getMessage(), je);
}
@@ -1260,19 +1254,13 @@ public class JsonDbOpensocialService imp
JSONArray newList = new JSONArray();
for (int i = 0; i < activityEntries.length(); i++) {
JSONObject activityEntry = activityEntries.getJSONObject(i);
- if (!activityIds.contains(activityEntry.getJSONObject(ActivityEntry.Field.OBJECT.toString()).getString(ActivityObject.Field.ID.toString()))) {
+ if (!activityIds.contains(activityEntry.getString(ActivityEntry.Field.ID.toString()))) {
newList.put(activityEntry);
}
}
db.getJSONObject(ACTIVITYSTREAMS_TABLE).put(user, newList);
- // TODO: This seems very odd that we return no useful response in this
- // case
- // There is no way to represent not-found
- // if (found) { ??
- // }
}
}
- // What is the appropriate response here??
return ImmediateFuture.newInstance(null);
} catch (JSONException je) {
throw new ProtocolException(HttpServletResponse.SC_INTERNAL_SERVER_ERROR, je.getMessage(), je);
@@ -1289,10 +1277,7 @@ public class JsonDbOpensocialService imp
JSONArray activityEntries = db.getJSONObject(ACTIVITYSTREAMS_TABLE).getJSONArray(user);
for (int i = 0; i < activityEntries.length(); i++) {
JSONObject activityEntry = activityEntries.getJSONObject(i);
- JSONObject actor = activityEntry.getJSONObject(ActivityEntry.Field.ACTOR.toString());
- String actorId = actor.get(ActivityObject.Field.ID.toString()).toString();
- if (actorId.equals(user)
- && activityEntry.getJSONObject(ActivityEntry.Field.OBJECT.toString()).get(ActivityObject.Field.ID.toString()).toString().equals(activityId)) {
+ if (activityEntry.getString(ActivityEntry.Field.ID.toString()).equals(activityId)) {
return ImmediateFuture.newInstance(filterFields(activityEntry, fields, ActivityEntry.class));
}
}
@@ -1342,9 +1327,7 @@ public class JsonDbOpensocialService imp
boolean found = false;
for (int i = 0; i < activityEntries.length(); i++) {
JSONObject activityEntry = activityEntries.getJSONObject(i);
- String actorId = activityEntry.getJSONObject(ActivityEntry.Field.ACTOR.toString()).getString(ActivityObject.Field.ID.toString());
- String objectId = activityEntry.getJSONObject(ActivityEntry.Field.OBJECT.toString()).getString(ActivityObject.Field.ID.toString());
- if (actorId.equals(user) && objectId.equals(activityId)) {
+ if (activityEntry.getString(ActivityEntry.Field.ID.toString()).equals(activityId)) {
result.add(filterFields(activityEntry, fields, ActivityEntry.class));
found = true;
break;
Modified: shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/dataservice/integration/RestfulAtomActivityEntryTest.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/dataservice/integration/RestfulAtomActivityEntryTest.java?rev=1104411&r1=1104410&r2=1104411&view=diff
==============================================================================
--- shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/dataservice/integration/RestfulAtomActivityEntryTest.java (original)
+++ shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/dataservice/integration/RestfulAtomActivityEntryTest.java Tue May 17 17:03:54 2011
@@ -29,14 +29,14 @@ public class RestfulAtomActivityEntryTes
@Test
public void testGetActivityEntryAtomById() throws Exception {
- String resp = getResponse("/activitystreams/john.doe/@self/1/object1", "GET", "atom", ContentTypes.OUTPUT_ATOM_CONTENT_TYPE);
+ String resp = getResponse("/activitystreams/john.doe/@self/1/activity2", "GET", "atom", ContentTypes.OUTPUT_ATOM_CONTENT_TYPE);
String expected = TestUtils.loadTestFixture(FIXTURE_LOC + "ActivityEntryAtomId.xml");
assertTrue(TestUtils.xmlsEqual(expected, resp));
}
@Test
public void testGetActivityEntryAtomByIds() throws Exception {
- String resp = getResponse("/activitystreams/john.doe/@self/1/object1,object2", "GET", "atom", ContentTypes.OUTPUT_ATOM_CONTENT_TYPE);
+ String resp = getResponse("/activitystreams/john.doe/@self/1/activity1,activity2", "GET", "atom", ContentTypes.OUTPUT_ATOM_CONTENT_TYPE);
String expected = TestUtils.loadTestFixture(FIXTURE_LOC + "ActivityEntryAtomIds.xml");
assertTrue(TestUtils.xmlsEqual(expected, resp));
}
Modified: shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/dataservice/integration/RestfulJsonActivityEntryTest.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/dataservice/integration/RestfulJsonActivityEntryTest.java?rev=1104411&r1=1104410&r2=1104411&view=diff
==============================================================================
--- shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/dataservice/integration/RestfulJsonActivityEntryTest.java (original)
+++ shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/dataservice/integration/RestfulJsonActivityEntryTest.java Tue May 17 17:03:54 2011
@@ -33,14 +33,14 @@ public class RestfulJsonActivityEntryTes
@Test
public void testGetActivityEntryJsonById() throws Exception {
- String resp = getResponse("/activitystreams/john.doe/@self/1/object1", "GET", null, ContentTypes.OUTPUT_JSON_CONTENT_TYPE);
+ String resp = getResponse("/activitystreams/john.doe/@self/1/activity1", "GET", null, ContentTypes.OUTPUT_JSON_CONTENT_TYPE);
String expected = TestUtils.loadTestFixture(FIXTURE_LOC + "ActivityEntryJsonId.json");
assertTrue(TestUtils.jsonsEqual(expected, resp));
}
@Test
public void testGetActivityEntryJsonByIds() throws Exception {
- String resp = getResponse("/activitystreams/john.doe/@self/1/object1,object2", "GET", null, ContentTypes.OUTPUT_JSON_CONTENT_TYPE);
+ String resp = getResponse("/activitystreams/john.doe/@self/1/activity1,activity2", "GET", null, ContentTypes.OUTPUT_JSON_CONTENT_TYPE);
String expected = TestUtils.loadTestFixture(FIXTURE_LOC + "ActivityEntryJsonIds.json");
assertTrue(TestUtils.jsonsEqual(expected, resp));
}
@@ -60,8 +60,8 @@ public class RestfulJsonActivityEntryTes
@Test
public void testDeleteActivityEntryJson() throws Exception {
- // First delete object1, then retrieve & test
- getResponse("/activitystreams/john.doe/@self/1/object1", "DELETE", null, ContentTypes.OUTPUT_JSON_CONTENT_TYPE);
+ // First delete activity1, then retrieve & test
+ getResponse("/activitystreams/john.doe/@self/1/activity1", "DELETE", null, ContentTypes.OUTPUT_JSON_CONTENT_TYPE);
String resp = getResponse("/activitystreams/john.doe/@self/1", "GET", null, ContentTypes.OUTPUT_JSON_CONTENT_TYPE);
String expected = TestUtils.loadTestFixture(FIXTURE_LOC + "ActivityEntryJsonDelete.json");;
assertTrue(TestUtils.jsonsEqual(expected, resp));
@@ -69,26 +69,30 @@ public class RestfulJsonActivityEntryTes
@Test
public void testUpdateActivityEntryJson() throws Exception {
+ String expected = TestUtils.loadTestFixture(FIXTURE_LOC + "ActivityEntryJsonUpdated.json");
+
// Update activity
- String postData = "{title : 'Super Updated Activity', actor: {id: 'john.doe'}, object : {id: 'object2'}}";
- getResponse("/activitystreams/john.doe/@self/1/object2", "PUT", postData, null, ContentTypes.OUTPUT_JSON_CONTENT_TYPE);
+ String postData = "{id: 'activity2', title : 'Super Updated Activity', actor: {id: 'john.doe'}, object : {id: 'object2'}}";
+ String putResp = getResponse("/activitystreams/john.doe/@self/1/activity2", "PUT", postData, null, ContentTypes.OUTPUT_JSON_CONTENT_TYPE);
+ assertTrue(TestUtils.jsonsEqual(expected, putResp));
// Retrieve updated activity & test
- String resp = getResponse("/activitystreams/john.doe/@self/1", "GET", null, ContentTypes.OUTPUT_JSON_CONTENT_TYPE);
- String expected = TestUtils.loadTestFixture(FIXTURE_LOC + "ActivityEntryJsonUpdated.json");;
- assertTrue(TestUtils.jsonsEqual(expected, resp));
+ String getResp = getResponse("/activitystreams/john.doe/@self/1/activity2", "GET", null, ContentTypes.OUTPUT_JSON_CONTENT_TYPE);
+ assertTrue(TestUtils.jsonsEqual(expected, getResp));
}
@Test
public void testCreateActivityEntryJson() throws Exception {
+ String expected = TestUtils.loadTestFixture(FIXTURE_LOC + "ActivityEntryJsonCreated.json");;
+
// Create activity
- String postData = "{title : 'Super Created Activity', actor: {id: 'john.doe'}, object : {id: 'objectCreated'}}";
- getResponse("/activitystreams/john.doe/@self/1", "POST", postData, null, ContentTypes.OUTPUT_JSON_CONTENT_TYPE);
+ String postData = "{id: 'activityCreated', title : 'Super Created Activity', actor: {id: 'john.doe'}, object : {id: 'objectCreated'}}";
+ String postResp = getResponse("/activitystreams/john.doe/@self/1", "POST", postData, null, ContentTypes.OUTPUT_JSON_CONTENT_TYPE);
+ assertTrue(TestUtils.jsonsEqual(expected, postResp));
// Retrieve created activity & test
- String resp = getResponse("/activitystreams/john.doe/@self/1/objectCreated", "GET", null, ContentTypes.OUTPUT_JSON_CONTENT_TYPE);
- String expected = TestUtils.loadTestFixture(FIXTURE_LOC + "ActivityEntryJsonCreated.json");;
- assertTrue(TestUtils.jsonsEqual(expected, resp));
+ String getResp = getResponse("/activitystreams/john.doe/@self/1/activityCreated", "GET", null, ContentTypes.OUTPUT_JSON_CONTENT_TYPE);
+ assertTrue(TestUtils.jsonsEqual(expected, getResp));
}
@Test
Modified: shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/dataservice/integration/RestfulXmlActivityEntryTest.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/dataservice/integration/RestfulXmlActivityEntryTest.java?rev=1104411&r1=1104410&r2=1104411&view=diff
==============================================================================
--- shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/dataservice/integration/RestfulXmlActivityEntryTest.java (original)
+++ shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/dataservice/integration/RestfulXmlActivityEntryTest.java Tue May 17 17:03:54 2011
@@ -29,14 +29,14 @@ public class RestfulXmlActivityEntryTest
@Test
public void testGetActivityEntryXmlById() throws Exception {
- String resp = getResponse("/activitystreams/john.doe/@self/1/object1", "GET", "xml", ContentTypes.OUTPUT_XML_CONTENT_TYPE);
+ String resp = getResponse("/activitystreams/john.doe/@self/1/activity2", "GET", "xml", ContentTypes.OUTPUT_XML_CONTENT_TYPE);
String expected = TestUtils.loadTestFixture(FIXTURE_LOC + "ActivityEntryXmlId.xml");
assertTrue(TestUtils.xmlsEqual(expected, resp));
}
@Test
public void testGetActivityEntryXmlByIds() throws Exception {
- String resp = getResponse("/activitystreams/john.doe/@self/1/object1,object2", "GET", "xml", ContentTypes.OUTPUT_XML_CONTENT_TYPE);
+ String resp = getResponse("/activitystreams/john.doe/@self/1/activity1,activity2", "GET", "xml", ContentTypes.OUTPUT_XML_CONTENT_TYPE);
String expected = TestUtils.loadTestFixture(FIXTURE_LOC + "ActivityEntryXmlIds.xml");
assertTrue(TestUtils.xmlsEqual(expected, resp));
}
Modified: shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/dataservice/integration/fixtures/ActivityEntryAtomId.xml
URL: http://svn.apache.org/viewvc/shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/dataservice/integration/fixtures/ActivityEntryAtomId.xml?rev=1104411&r1=1104410&r2=1104411&view=diff
==============================================================================
--- shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/dataservice/integration/fixtures/ActivityEntryAtomId.xml (original)
+++ shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/dataservice/integration/fixtures/ActivityEntryAtomId.xml Tue May 17 17:03:54 2011
@@ -1,8 +1,8 @@
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:osearch="http://a9.com/-/spec/opensearch/1.1">
<entry>
- <id>object1</id>
- <title>John Doe posted a new video to his album.</title>
- <summary><body>My activity summary.</body></summary>
+ <id>activity2</id>
+ <title>John posted a new video to his album.</title>
+ <summary>Photo posted</summary>
<author>
<uri>john.doe</uri>
<name xmlns="http://ns.opensocial.org/2008/opensocial">John Doe</name>
@@ -23,45 +23,48 @@
<generator>
<url>http://example.org/activities-app</url>
</generator>
+ <id>activity2</id>
<object>
- <attachedObjects>
+ <attachments>
<object>
- <id>attached1</id>
- <url>http://example.org/attached1</url>
+ <id>attachment1</id>
+ <objectType>attachment</objectType>
</object>
<object>
- <id>attached2</id>
- <url>http://example.org/attached2</url>
+ <id>attachment2</id>
+ <objectType>attachment</objectType>
</object>
- </attachedObjects>
- <id>object1</id>
+ </attachments>
+ <downstreamDuplicate>downstream1</downstreamDuplicate>
+ <downstreamDuplicate>downstream2</downstreamDuplicate>
+ <id>object2</id>
<image>
<height>250</height>
<url>http://example.org/album/my_fluffy_cat_thumb.jpg</url>
<width>250</width>
</image>
- <objectType>http://activitystrea.ms/schema/1.0/photo</objectType>
- <summary><body>My activity summary.</body></summary>
- <upstreamDuplicates>upstreamId1</upstreamDuplicates>
- <upstreamDuplicates>upstreamId2</upstreamDuplicates>
+ <objectType>photo</objectType>
+ <summary>Photo posted</summary>
+ <upstreamDuplicate>upstream1</upstreamDuplicate>
+ <upstreamDuplicate>upstream2</upstreamDuplicate>
<url>http://example.org/album/my_fluffy_cat.jpg</url>
</object>
- <postedTime>2011-02-10T15:04:55Z</postedTime>
<provider>
<url>http://example.org/activity-stream</url>
</provider>
+ <published>2011-02-10T15:04:55Z</published>
<target>
<displayName>John's Photo Album</displayName>
- <id>tag:example.org,2011:abc123</id>
+ <id>target2</id>
<image>
<height>250</height>
<url>http://example.org/album/thumbnail.jpg</url>
<width>250</width>
</image>
- <objectType>http://activitystrea.ms/schema/1.0/photo-album</objectType>
+ <objectType>photo-album</objectType>
<url>http://example.org/album/</url>
</target>
- <title>John Doe posted a new video to his album.</title>
+ <title>John posted a new video to his album.</title>
<verb>post</verb>
</activityEntry>
</content>
Modified: shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/dataservice/integration/fixtures/ActivityEntryAtomIds.xml
URL: http://svn.apache.org/viewvc/shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/dataservice/integration/fixtures/ActivityEntryAtomIds.xml?rev=1104411&r1=1104410&r2=1104411&view=diff
==============================================================================
--- shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/dataservice/integration/fixtures/ActivityEntryAtomIds.xml (original)
+++ shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/dataservice/integration/fixtures/ActivityEntryAtomIds.xml Tue May 17 17:03:54 2011
@@ -1,8 +1,44 @@
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:osearch="http://a9.com/-/spec/opensearch/1.1">
<entry>
- <id>object1</id>
- <title>John Doe posted a new video to his album.</title>
- <summary><body>My activity summary.</body></summary>
+ <id>activity1</id>
+ <title>John posted a new blog entry</title>
+ <author>
+ <uri>john.doe</uri>
+ <name xmlns="http://ns.opensocial.org/2008/opensocial">John Doe</name>
+ </author>
+ <content type="application/xml">
+ <activityEntry xmlns="http://ns.opensocial.org/2008/opensocial">
+ <actor>
+ <displayName>John Doe</displayName>
+ <id>john.doe</id>
+ <image>
+ <height>250</height>
+ <url>http://example.org/john/image</url>
+ <width>250</width>
+ </image>
+ <objectType>person</objectType>
+ <url>http://example.org/john</url>
+ </actor>
+ <id>activity1</id>
+ <object>
+ <id>object1</id>
+ <url>http://example.org/blog/2011/02/entry</url>
+ </object>
+ <published>2011-02-10T15:04:55Z</published>
+ <target>
+ <displayName>John's Blog</displayName>
+ <id>target1</id>
+ <objectType>blog</objectType>
+ <url>http://example.org/blog/</url>
+ </target>
+ <verb>post</verb>
+ </activityEntry>
+ </content>
+ </entry>
+ <entry>
+ <id>activity2</id>
+ <title>John posted a new video to his album.</title>
+ <summary>Photo posted</summary>
<author>
<uri>john.doe</uri>
<name xmlns="http://ns.opensocial.org/2008/opensocial">John Doe</name>
@@ -23,69 +59,48 @@
<generator>
<url>http://example.org/activities-app</url>
</generator>
+ <id>activity2</id>
<object>
- <attachedObjects>
+ <attachments>
<object>
- <id>attached1</id>
- <url>http://example.org/attached1</url>
+ <id>attachment1</id>
+ <objectType>attachment</objectType>
</object>
<object>
- <id>attached2</id>
- <url>http://example.org/attached2</url>
+ <id>attachment2</id>
+ <objectType>attachment</objectType>
</object>
- </attachedObjects>
- <id>object1</id>
+ </attachments>
+ <downstreamDuplicate>downstream1</downstreamDuplicate>
+ <downstreamDuplicate>downstream2</downstreamDuplicate>
+ <id>object2</id>
<image>
<height>250</height>
<url>http://example.org/album/my_fluffy_cat_thumb.jpg</url>
<width>250</width>
</image>
- <objectType>http://activitystrea.ms/schema/1.0/photo</objectType>
- <summary><body>My activity summary.</body></summary>
- <upstreamDuplicates>upstreamId1</upstreamDuplicates>
- <upstreamDuplicates>upstreamId2</upstreamDuplicates>
+ <objectType>photo</objectType>
+ <summary>Photo posted</summary>
+ <upstreamDuplicate>upstream1</upstreamDuplicate>
+ <upstreamDuplicate>upstream2</upstreamDuplicate>
<url>http://example.org/album/my_fluffy_cat.jpg</url>
</object>
- <postedTime>2011-02-10T15:04:55Z</postedTime>
<provider>
<url>http://example.org/activity-stream</url>
</provider>
+ <published>2011-02-10T15:04:55Z</published>
<target>
<displayName>John's Photo Album</displayName>
- <id>tag:example.org,2011:abc123</id>
+ <id>target2</id>
<image>
<height>250</height>
<url>http://example.org/album/thumbnail.jpg</url>
<width>250</width>
</image>
- <objectType>http://activitystrea.ms/schema/1.0/photo-album</objectType>
+ <objectType>photo-album</objectType>
<url>http://example.org/album/</url>
</target>
- <title>John Doe posted a new video to his album.</title>
- <verb>post</verb>
- </activityEntry>
- </content>
- </entry>
- <entry>
- <id>object2</id>
- <title>Super simple ActivityEntry</title>
- <author>
- <uri>john.doe</uri>
- <name xmlns="http://ns.opensocial.org/2008/opensocial">John Doe</name>
- </author>
- <content type="application/xml">
- <activityEntry xmlns="http://ns.opensocial.org/2008/opensocial">
- <actor>
- <displayName>John Doe</displayName>
- <id>john.doe</id>
- </actor>
- <object>
- <displayName>Super simple ActivityObject</displayName>
- <id>object2</id>
- <objectType>article</objectType>
- </object>
- <postedTime>2010-04-27T06:02:36+0000</postedTime>
- <title>Super simple ActivityEntry</title>
+ <title>John posted a new video to his album.</title>
<verb>post</verb>
</activityEntry>
</content>
Modified: shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/dataservice/integration/fixtures/ActivityEntryJsonCreated.json
URL: http://svn.apache.org/viewvc/shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/dataservice/integration/fixtures/ActivityEntryJsonCreated.json?rev=1104411&r1=1104410&r2=1104411&view=diff
==============================================================================
--- shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/dataservice/integration/fixtures/ActivityEntryJsonCreated.json (original)
+++ shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/dataservice/integration/fixtures/ActivityEntryJsonCreated.json Tue May 17 17:03:54 2011
@@ -1,5 +1,6 @@
{
"entry": {
+ "id":"activityCreated",
"title":"Super Created Activity",
"actor":{
"id":"john.doe",
Modified: shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/dataservice/integration/fixtures/ActivityEntryJsonDelete.json
URL: http://svn.apache.org/viewvc/shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/dataservice/integration/fixtures/ActivityEntryJsonDelete.json?rev=1104411&r1=1104410&r2=1104411&view=diff
==============================================================================
--- shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/dataservice/integration/fixtures/ActivityEntryJsonDelete.json (original)
+++ shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/dataservice/integration/fixtures/ActivityEntryJsonDelete.json Tue May 17 17:03:54 2011
@@ -2,19 +2,56 @@
"startIndex":0,
"totalResults":1,
"entry":[
- {
- "title":"Super simple ActivityEntry",
- "verb":"post",
- "postedTime":"2010-04-27T06:02:36+0000",
- "actor":{
- "id":"john.doe",
- "displayName":"John Doe"
- },
- "object":{
- "id":"object2",
- "displayName":"Super simple ActivityObject",
- "objectType":"article"
- }
+{
+ "id": "activity2",
+ "published": "2011-02-10T15:04:55Z",
+ "generator": {
+ "url": "http://example.org/activities-app"
+ },
+ "provider": {
+ "url": "http://example.org/activity-stream"
+ },
+ "title": "John posted a new video to his album.",
+ "actor": {
+ "url": "http://example.org/john",
+ "objectType": "person",
+ "id": "john.doe",
+ "image": {
+ "url": "http://example.org/john/image",
+ "width": 250,
+ "height": 250
+ },
+ "displayName": "John Doe"
+ },
+ "verb": "post",
+ "object" : {
+ "url": "http://example.org/album/my_fluffy_cat.jpg",
+ "objectType": "photo",
+ "id": "object2",
+ "summary": "Photo posted",
+ "image": {
+ "url": "http://example.org/album/my_fluffy_cat_thumb.jpg",
+ "width": 250,
+ "height": 250
+ },
+ "upstreamDuplicates" : ["upstream1", "upstream2"],
+ "downstreamDuplicates" : ["downstream1", "downstream2"],
+ "attachments": [
+ {"id": "attachment1", "objectType": "attachment"},
+ {"id": "attachment2", "objectType": "attachment"}
+ ]
+ },
+ "target": {
+ "url": "http://example.org/album/",
+ "objectType": "photo-album",
+ "id": "target2",
+ "displayName": "John's Photo Album",
+ "image": {
+ "url": "http://example.org/album/thumbnail.jpg",
+ "width": 250,
+ "height": 250
+ }
+ }
}
],
"itemsPerPage":1
Modified: shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/dataservice/integration/fixtures/ActivityEntryJsonGroup.json
URL: http://svn.apache.org/viewvc/shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/dataservice/integration/fixtures/ActivityEntryJsonGroup.json?rev=1104411&r1=1104410&r2=1104411&view=diff
==============================================================================
--- shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/dataservice/integration/fixtures/ActivityEntryJsonGroup.json (original)
+++ shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/dataservice/integration/fixtures/ActivityEntryJsonGroup.json Tue May 17 17:03:54 2011
@@ -3,77 +3,81 @@
"totalResults":2,
"entry":[
{
- "title":"John Doe posted a new video to his album.",
- "verb":"post",
- "target":{
- "id":"tag:example.org,2011:abc123",
- "image":{
- "height":250,
- "width":250,
- "url":"http://example.org/album/thumbnail.jpg"
- },
- "displayName":"John's Photo Album",
- "objectType":"http://activitystrea.ms/schema/1.0/photo-album",
- "url":"http://example.org/album/"
- },
- "generator":{
- "url":"http://example.org/activities-app"
- },
- "postedTime":"2011-02-10T15:04:55Z",
- "provider":{
- "url":"http://example.org/activity-stream"
- },
- "actor":{
- "id":"john.doe",
- "image":{
- "height":250,
- "width":250,
- "url":"http://example.org/john/image"
- },
- "displayName":"John Doe",
- "objectType":"person",
- "url":"http://example.org/john"
- },
- "object":{
- "summary": "<body>My activity summary.</body>",
- "upstreamDuplicates":[
- "upstreamId1",
- "upstreamId2"
- ],
- "id":"object1",
- "image":{
- "height":250,
- "width":250,
- "url":"http://example.org/album/my_fluffy_cat_thumb.jpg"
- },
- "objectType":"http://activitystrea.ms/schema/1.0/photo",
- "url":"http://example.org/album/my_fluffy_cat.jpg",
- "attachedObjects":[
- {
- "id":"attached1",
- "url":"http://example.org/attached1"
- },
- {
- "id":"attached2",
- "url":"http://example.org/attached2"
- }
- ]
- },
- "openSocial":{}
- },
- {
- "title":"Super simple ActivityEntry",
- "verb":"post",
- "postedTime":"2010-04-27T06:02:36+0000",
- "actor":{
- "id":"john.doe",
- "displayName":"John Doe"
- },
- "object":{
- "id":"object2",
- "displayName":"Super simple ActivityObject",
- "objectType":"article"
- }
+ "id": "activity1",
+ "title": "John posted a new blog entry",
+ "published": "2011-02-10T15:04:55Z",
+ "actor": {
+ "url": "http://example.org/john",
+ "objectType" : "person",
+ "id": "john.doe",
+ "image": {
+ "url": "http://example.org/john/image",
+ "width": 250,
+ "height": 250
+ },
+ "displayName": "John Doe"
+ },
+ "verb": "post",
+ "object" : {
+ "url": "http://example.org/blog/2011/02/entry",
+ "id": "object1"
+ },
+ "target" : {
+ "url": "http://example.org/blog/",
+ "objectType": "blog",
+ "id": "target1",
+ "displayName": "John's Blog"
+ }
+ }, {
+ "id": "activity2",
+ "published": "2011-02-10T15:04:55Z",
+ "generator": {
+ "url": "http://example.org/activities-app"
+ },
+ "provider": {
+ "url": "http://example.org/activity-stream"
+ },
+ "title": "John posted a new video to his album.",
+ "actor": {
+ "url": "http://example.org/john",
+ "objectType": "person",
+ "id": "john.doe",
+ "image": {
+ "url": "http://example.org/john/image",
+ "width": 250,
+ "height": 250
+ },
+ "displayName": "John Doe"
+ },
+ "verb": "post",
+ "object" : {
+ "url": "http://example.org/album/my_fluffy_cat.jpg",
+ "objectType": "photo",
+ "id": "object2",
+ "summary": "Photo posted",
+ "image": {
+ "url": "http://example.org/album/my_fluffy_cat_thumb.jpg",
+ "width": 250,
+ "height": 250
+ },
+ "upstreamDuplicates" : ["upstream1", "upstream2"],
+ "downstreamDuplicates" : ["downstream1", "downstream2"],
+ "attachments": [
+ {"id": "attachment1", "objectType": "attachment"},
+ {"id": "attachment2", "objectType": "attachment"}
+ ]
+ },
+ "target": {
+ "url": "http://example.org/album/",
+ "objectType": "photo-album",
+ "id": "target2",
+ "displayName": "John's Photo Album",
+ "image": {
+ "url": "http://example.org/album/thumbnail.jpg",
+ "width": 250,
+ "height": 250
+ }
+ }
}
],
"itemsPerPage":2
Modified: shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/dataservice/integration/fixtures/ActivityEntryJsonId.json
URL: http://svn.apache.org/viewvc/shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/dataservice/integration/fixtures/ActivityEntryJsonId.json?rev=1104411&r1=1104410&r2=1104411&view=diff
==============================================================================
--- shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/dataservice/integration/fixtures/ActivityEntryJsonId.json (original)
+++ shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/dataservice/integration/fixtures/ActivityEntryJsonId.json Tue May 17 17:03:54 2011
@@ -1,61 +1,29 @@
{
"entry":{
- "verb":"post",
- "postedTime":"2011-02-10T15:04:55Z",
- "generator":{
- "url":"http://example.org/activities-app"
- },
- "provider":{
- "url":"http://example.org/activity-stream"
- },
- "title":"John Doe posted a new video to his album.",
- "target":{
- "url":"http://example.org/album/",
- "objectType":"http://activitystrea.ms/schema/1.0/photo-album",
- "id":"tag:example.org,2011:abc123",
- "displayName":"John's Photo Album",
- "image":{
- "url":"http://example.org/album/thumbnail.jpg",
- "width":250,
- "height":250
- }
- },
- "object":{
- "url":"http://example.org/album/my_fluffy_cat.jpg",
- "objectType":"http://activitystrea.ms/schema/1.0/photo",
- "id":"object1",
- "summary": "<body>My activity summary.</body>",
- "image":{
- "url":"http://example.org/album/my_fluffy_cat_thumb.jpg",
- "width":250,
- "height":250
- },
- "upstreamDuplicates":[
- "upstreamId1",
- "upstreamId2"
- ],
- "attachedObjects":[
- {
- "url":"http://example.org/attached1",
- "id":"attached1"
- },
- {
- "url":"http://example.org/attached2",
- "id":"attached2"
- }
- ]
- },
- "actor":{
- "url":"http://example.org/john",
- "objectType":"person",
- "id":"john.doe",
- "image":{
- "url":"http://example.org/john/image",
- "width":250,
- "height":250
- },
- "displayName":"John Doe"
- },
- "openSocial":{}
- }
+ "id": "activity1",
+ "title": "John posted a new blog entry",
+ "published": "2011-02-10T15:04:55Z",
+ "actor": {
+ "url": "http://example.org/john",
+ "objectType" : "person",
+ "id": "john.doe",
+ "image": {
+ "url": "http://example.org/john/image",
+ "width": 250,
+ "height": 250
+ },
+ "displayName": "John Doe"
+ },
+ "verb": "post",
+ "object" : {
+ "url": "http://example.org/blog/2011/02/entry",
+ "id": "object1"
+ },
+ "target" : {
+ "url": "http://example.org/blog/",
+ "objectType": "blog",
+ "id": "target1",
+ "displayName": "John's Blog"
+ }
+ }
}
\ No newline at end of file