Author: lindner
Date: Thu Jul 1 23:51:35 2010
New Revision: 959815
URL: http://svn.apache.org/viewvc?rev=959815&view=rev
Log:
SHINDIG-1329 | Updates to ActivityStream support
Added:
shindig/trunk/extras/src/main/java/org/apache/shindig/extras/as/core/model/ActionLinkImpl.java
shindig/trunk/extras/src/main/java/org/apache/shindig/extras/as/core/model/MediaLinkImpl.java
shindig/trunk/extras/src/main/java/org/apache/shindig/extras/as/opensocial/model/ActionLink.java
shindig/trunk/extras/src/main/java/org/apache/shindig/extras/as/opensocial/model/MediaLink.java
Removed:
shindig/trunk/content/samplecontainer/examples/ActivityStreams/OpenSocialAPI.js
Modified:
shindig/trunk/content/samplecontainer/examples/ActivityStreams/ActivityStreamGadget.xml
shindig/trunk/extras/src/main/java/org/apache/shindig/extras/as/core/model/ActivityEntryImpl.java
shindig/trunk/extras/src/main/java/org/apache/shindig/extras/as/core/model/ActivityObjectImpl.java
shindig/trunk/extras/src/main/java/org/apache/shindig/extras/as/opensocial/model/ActivityEntry.java
shindig/trunk/extras/src/main/java/org/apache/shindig/extras/as/opensocial/model/ActivityObject.java
shindig/trunk/extras/src/main/java/org/apache/shindig/extras/as/opensocial/model/ActivityStream.java
shindig/trunk/extras/src/main/java/org/apache/shindig/extras/as/sample/ActivityStreamsJsonDbService.java
Modified:
shindig/trunk/content/samplecontainer/examples/ActivityStreams/ActivityStreamGadget.xml
URL:
http://svn.apache.org/viewvc/shindig/trunk/content/samplecontainer/examples/ActivityStreams/ActivityStreamGadget.xml?rev=959815&r1=959814&r2=959815&view=diff
==============================================================================
---
shindig/trunk/content/samplecontainer/examples/ActivityStreams/ActivityStreamGadget.xml
(original)
+++
shindig/trunk/content/samplecontainer/examples/ActivityStreams/ActivityStreamGadget.xml
Thu Jul 1 23:51:35 2010
@@ -25,115 +25,46 @@
</ModulePrefs>
<Content type="html">
- <![CDATA[
- <script type="text/javascript" src="OpenSocialAPI.js"></script>
+ <![CDATA[
+ <script type="text/javascript"
src="OpenSocialWrapper.js"></script>
+ <script type="text/javascript"
src="ActivityStreamsRender.js"></script>
<script type="text/javascript">
- // HTML for rendering
- var htmlWelcome = "";
- var htmlActivities = "";
- var htmlActivityEntries = "";
- var htmlCreateActivityEntry = "";
- var htmlDeleteActivityEntry = "";
- var htmlActivityEntryId = "";
+ social = new OpenSocialWrapper();
+ render = new ActivityStreamsRender();
- var viewer = null;
- var owner = null;
-
- // ================= PEOPLE =================
- function displayWelcome() {
- OpenSocialAPI.loadPeople(function(response) {
- viewer = response.viewer;
- owner = response.owner;
- var viewerFriends =
response.viewerFriends;
- var ownerFriends =
response.ownerFriends;
-
- htmlWelcome = "<h1>Welcome " +
viewer.name.formatted + "!</h1>";
- htmlWelcome += "You are viewing " +
owner.name.formatted + "'s data. <br><br>";
- htmlWelcome += "Here is a list of your
friends: <br>";
- htmlWelcome += "<lu>";
- for(i = 0; i <
viewerFriends.list.length; i++) {
- htmlWelcome += "<li>" +
viewerFriends.list[i].name.formatted + "</li>";
- }
- htmlWelcome += "</lu>";
- refreshHTML();
- });
+ // TODO: move this stuff into ActivityStreamRender (if
you can...)
+ // Renders retrieval of an ActivityEntry by ID
+ function renderActivityEntryId(div, callback) {
+ var html = "<h2>Work with an
ActivityEntry</h2>";
+ html += "ActivityEntry ID: <input type='text'
size=40 id='activityEntryId'>";
+ html += "<input type='button' value='Retrieve'
onclick='retrieveActivityEntryId()'>";
+ html += "<input type='button' value='Delete'
onclick='deleteActivityEntryId()'><br>";
+ html += "Note: you must be the owner of the
ActivityEntry to retrieve it.";
+ html += "<textarea id='activityEntryText'
cols=75 rows=10>No entry to display...</textarea><br>";
+ document.getElementById(div).innerHTML = html;
+ callback();
}
- // ================= ACTIVITIES =================
- function displayActivities() {
- OpenSocialAPI.loadActivities(function(response)
{
- var viewerActivities =
response.viewerActivities.list;
- var ownerActivities =
response.ownerActivities.list;
-
- htmlActivities = "<h1>Activities</h1>";
- htmlActivities += "Demonstrates use of
the Activities service in Apache Shindig. The ActivityStreams service does not
interfere with this service.<br><br>";
- htmlActivities += "Activities for you
and " + owner.name.formatted + ":<br>";
- htmlActivities += "<table border='1'>";
- htmlActivities += "<tr>";
- htmlActivities += "<td>Name</td>";
- htmlActivities += "<td>Title</td>";
- htmlActivities += "<td>Body</td>";
- htmlActivities += "<td>Images</td>";
- htmlActivities += "</tr>"
- processActivities(viewerActivities);
- processActivities(ownerActivities);
- htmlActivities += "</table>";
- refreshHTML();
+ // Deletes the activity entry
+ function deleteActivityEntryId() {
+
social.deleteActivityEntryById(document.getElementById('activityEntryId').value,
function(response) {
+
document.getElementById('activityEntryText').value = 'No entry to display...';
+
render.renderActivityEntries('activityEntryies', refresh);
});
}
- function processActivities(activities) {
- for(idx = 0; idx < activities.length; idx++) {
- htmlActivities += "<tr>";
- htmlActivities += "<td>" +
activities[idx].userId + "</td>";
- htmlActivities += "<td>" +
activities[idx].title + "</td>";
- htmlActivities += "<td>" +
activities[idx].body + "</td>";
- var mediaItems =
activities[idx].mediaItems;
- if(mediaItems != null) {
- for(itemIdx = 0; itemIdx <
mediaItems.length; itemIdx++) {
-
if(mediaItems[itemIdx].type == "image") {
- htmlActivities
+= "<td><img src='" + mediaItems[itemIdx].url + "' width=150 height=150/></td>";
- }
- }
- }
- htmlActivities += "</tr>";
- }
- }
- // ================= ACTIVITYSTREAMS =================
- function displayActivityEntries() {
-
OpenSocialAPI.loadActivityEntries(function(response) {
- viewerEntries =
response.viewerEntries.list;
- ownerEntries =
response.ownerEntries.list;
- htmlActivityEntries =
"<h2>ActivityEntries</h2>";
- processActivityEntries(viewerEntries);
- processActivityEntries(ownerEntries);
- if (viewerEntries.length +
ownerEntries.length == 0) {
- htmlActivityEntries +=
"<tr><td>No entries to show!</td></tr>";
- }
- htmlActivityEntries +=
"</table><br><br>";
- refreshHTML();
+ // Retrieves the activity entry
+ function retrieveActivityEntryId() {
+
social.getActivityEntryById(document.getElementById('activityEntryId').value,
function(response) {
+
document.getElementById('activityEntryText').value = JSON.stringify(response);
});
}
- function processActivityEntries(entries) {
- for(idx = 0; idx < entries.length; idx++) {
- if(entries[idx].permalink &&
entries[idx].permalink != "null") {
- htmlActivityEntries += "<h3><a
href='" + entries[idx].permalink + "'>" + entries[idx].title + "</a></h3>";
- } else {
- htmlActivityEntries += "<h3>" +
entries[idx].title + "</h3>";
- }
- htmlActivityEntries += "ID: " +
entries[idx].id + "<br>";
- htmlActivityEntries += "Actor: " +
entries[idx].actor.displayName + "<br>";
- htmlActivityEntries += "Posted: " +
entries[idx].postedTime + "<br>";
- if(entries[idx].body &&
entries[idx].body != "null") {
- htmlActivityEntries += "Body: "
+ entries[idx].body + "<br>";
- }
- }
- }
- function displayCreateActivityEntry() {
- htmlCreateActivityEntry =
"<h1>ActivityStreams</h1>";
- htmlCreateActivityEntry += "Demonstrates use of
the ActivityStream service in Apache Shindig. This implementation follows the
current JSON draft specfication:
http://activitystrea.ms/head/json-activity.html<br>";
+ // Creation form for activity entry
+ function renderCreateActivityEntry(div, callback) {
+ var htmlCreateActivityEntry =
"<h1>ActivityStreams</h1>";
+ htmlCreateActivityEntry += "Demonstrates use of
the ActivityStream service in Apache Shindig. This implementation follows the
JSON draft specfication: http://activitystrea.ms/head/json-activity.html<br>";
htmlCreateActivityEntry += "<h2>Create an
ActivityEntry</h2>";
htmlCreateActivityEntry += "<table>";
htmlCreateActivityEntry += "<tr>";
@@ -145,12 +76,12 @@
htmlCreateActivityEntry += "<td><input
type='text' size=50 id='activityEntryBody'></td>"
htmlCreateActivityEntry += "</tr>";
htmlCreateActivityEntry += "<tr>";
- htmlCreateActivityEntry += "<td>Permalink</td>";
- htmlCreateActivityEntry += "<td><input
type='text' size=50 id='activityEntryPermalink'></td>"
+ htmlCreateActivityEntry += "<td>Standard
Link</td>";
+ htmlCreateActivityEntry += "<td><input
type='text' size=50 id='activityEntryStandardLink'></td>"
htmlCreateActivityEntry += "</tr>";
htmlCreateActivityEntry += "<tr>";
- htmlCreateActivityEntry += "<td>Object Display
Name</td>";
- htmlCreateActivityEntry += "<td><input
type='text' size=50 id='activityObjectDisplayName'></td>"
+ htmlCreateActivityEntry += "<td>Object
Name</td>";
+ htmlCreateActivityEntry += "<td><input
type='text' size=50 id='activityObjectName'></td>"
htmlCreateActivityEntry += "</tr>";
htmlCreateActivityEntry += "<tr>";
htmlCreateActivityEntry += "<td>Object
Summary</td>";
@@ -207,6 +138,8 @@
htmlCreateActivityEntry += "</table>";
htmlCreateActivityEntry += "<input
type='button' value='Submit' onclick='createActivityEntry()'>";
htmlCreateActivityEntry += "<br><br>";
+ document.getElementById(div).innerHTML =
htmlCreateActivityEntry;
+ callback();
}
function createActivityEntry() {
// Gather selected verbs
@@ -233,62 +166,42 @@
var title =
blankToNull(document.getElementById('activityEntryTitle').value);
var body =
blankToNull(document.getElementById('activityEntryBody').value)
- var permalink =
blankToNull(document.getElementById('activityEntryPermalink').value);
- var objectDisplayName =
blankToNull(document.getElementById('activityObjectDisplayName').value);
+ var standardLink =
blankToNull(document.getElementById('activityEntryStandardLink').value);
+ var objectName =
blankToNull(document.getElementById('activityObjectName').value);
var objectSummary =
blankToNull(document.getElementById('activityObjectSummary').value);
var objectImage =
blankToNull(document.getElementById('activityObjectImage').value);
var objectPermalink =
blankToNull(document.getElementById('activityObjectPermalink').value);
- OpenSocialAPI.postActivityEntry(title, body,
permalink, selVerbs, viewer.id, viewer.name.formatted,
-
objectDisplayName, objectSummary, objectImage, objectPermalink,
selTypes,
+ social.postActivityEntry(title, body,
standardLink, selVerbs, viewer.id, viewer.name.formatted,
+
objectName, objectSummary, objectImage, objectPermalink,
selTypes,
function(response) {
- displayActivityEntries();
+
render.renderActivityEntries('activityEntries', refresh);
});
}
function blankToNull(str) {
return (str == '' ? null : str);
}
-
-
- function displayActivityEntryId() {
- htmlActivityEntryId = "<h2>Work with an
ActivityEntry</h2>";
- htmlActivityEntryId += "ActivityEntry ID:
<input type='text' size=40 id='activityEntryId'>";
- htmlActivityEntryId += "<input type='button'
value='Retrieve' onclick='retrieveActivityEntryId()'>";
- htmlActivityEntryId += "<input type='button'
value='Delete' onclick='deleteActivityEntryId()'><br>";
- htmlActivityEntryId += "Note: you must be the
owner of the ActivityEntry to retrieve it.";
- htmlActivityEntryId += "<textarea
id='activityEntryText' cols=75 rows=10>No entry to display...</textarea><br>";
- }
- function deleteActivityEntryId() {
-
OpenSocialAPI.deleteActivityEntryById(document.getElementById('activityEntryId').value,
function(response) {
- displayActivityEntries();
-
document.getElementById('activityEntryText').value = 'No entry to display...';
- });
- }
- function retrieveActivityEntryId() {
-
OpenSocialAPI.getActivityEntryById(document.getElementById('activityEntryId').value,
function(response) {
-
document.getElementById('activityEntryText').value = JSON.stringify(response);
- });
- }
- // ================= SET UP =================
- // Rewrites the HTML content
- function refreshHTML() {
- document.getElementById('message').innerHTML =
htmlWelcome + htmlActivities + htmlCreateActivityEntry + htmlActivityEntryId +
htmlActivityEntries;
+ // Adjusts the window height
+ function refresh() {
gadgets.window.adjustHeight();
}
// Initializes the gadget
function init() {
- displayWelcome();
- displayActivities();
- displayCreateActivityEntry();
- displayActivityEntryId();
- displayActivityEntries();
- refreshHTML();
+ render.renderWelcome('welcome', refresh);
+ render.renderActivities('activities', refresh);
+ render.renderActivityEntries('activityEntries',
refresh);
+ renderActivityEntryId('htmlGetEntry', refresh);
+ renderCreateActivityEntry('htmlCreateEntry',
refresh);
}
gadgets.util.registerOnLoadHandler(init);
</script>
- <div id='message'></div>
+ <div id='welcome'></div>
+ <div id='activities'></div>
+ <div id='htmlCreateEntry'></div>
+ <div id='htmlGetEntry'></div>
+ <div id='activityEntries'></div>
]]>
</Content>
</Module>
\ No newline at end of file
Added:
shindig/trunk/extras/src/main/java/org/apache/shindig/extras/as/core/model/ActionLinkImpl.java
URL:
http://svn.apache.org/viewvc/shindig/trunk/extras/src/main/java/org/apache/shindig/extras/as/core/model/ActionLinkImpl.java?rev=959815&view=auto
==============================================================================
---
shindig/trunk/extras/src/main/java/org/apache/shindig/extras/as/core/model/ActionLinkImpl.java
(added)
+++
shindig/trunk/extras/src/main/java/org/apache/shindig/extras/as/core/model/ActionLinkImpl.java
Thu Jul 1 23:51:35 2010
@@ -0,0 +1,30 @@
+package org.apache.shindig.extras.as.core.model;
+
+import org.apache.shindig.extras.as.opensocial.model.ActionLink;
+
+public class ActionLinkImpl implements ActionLink {
+
+ private String target;
+ private String caption;
+
+ public ActionLinkImpl() {
+ this.target = null;
+ this.caption = null;
+ }
+
+ public String getTarget() {
+ return target;
+ }
+
+ public void setTarget(String target) {
+ this.target = target;
+ }
+
+ public String getCaption() {
+ return caption;
+ }
+
+ public void setCaption(String caption) {
+ this.caption = caption;
+ }
+}
Modified:
shindig/trunk/extras/src/main/java/org/apache/shindig/extras/as/core/model/ActivityEntryImpl.java
URL:
http://svn.apache.org/viewvc/shindig/trunk/extras/src/main/java/org/apache/shindig/extras/as/core/model/ActivityEntryImpl.java?rev=959815&r1=959814&r2=959815&view=diff
==============================================================================
---
shindig/trunk/extras/src/main/java/org/apache/shindig/extras/as/core/model/ActivityEntryImpl.java
(original)
+++
shindig/trunk/extras/src/main/java/org/apache/shindig/extras/as/core/model/ActivityEntryImpl.java
Thu Jul 1 23:51:35 2010
@@ -25,107 +25,117 @@ import org.apache.shindig.extras.as.open
public class ActivityEntryImpl implements ActivityEntry {
- private String id;
- private String streamFavicon;
- private String postedTime;
+ private String icon;
+ private String time;
private ActivityObject actor;
private List<String> verb;
private ActivityObject object;
private ActivityObject target;
- private String permalink;
+ private ActivityObject generator;
+ private ActivityObject serviceProvider;
private String title;
private String body;
+ private List<String> standardLink;
public ActivityEntryImpl() {
- this.id = null;
- this.streamFavicon = null;
- this.postedTime = null;
+ this.icon = null;
+ this.time = null;
this.actor = null;
this.verb = null;
this.object = null;
this.target = null;
- this.permalink = null;
+ this.generator = null;
+ this.serviceProvider = null;
this.title = null;
this.body = null;
+ this.standardLink = null;
}
-
- public void setId(String id) {
- this.id = id;
- }
-
- public String getId() {
- return id;
+
+ public String getIcon() {
+ return icon;
}
-
- public void setStreamFavicon(String streamFavicon) {
- this.streamFavicon = streamFavicon;
+
+ public void setIcon(String icon) {
+ this.icon = icon;
}
-
- public String getStreamFavicon() {
- return streamFavicon;
+
+ public String getTime() {
+ return time;
}
-
- public void setPostedTime(String postedTime) {
- this.postedTime = postedTime;
+
+ public void setTime(String time) {
+ this.time = time;
}
-
- public String getPostedTime() {
- return postedTime;
+
+ public ActivityObject getActor() {
+ return actor;
}
-
+
public void setActor(ActivityObject actor) {
this.actor = actor;
}
-
- public ActivityObject getActor() {
- return actor;
+
+ public List<String> getVerb() {
+ return verb;
}
-
+
public void setVerb(List<String> verb) {
this.verb = verb;
}
-
- public List<String> getVerb() {
- return verb;
+
+ public ActivityObject getObject() {
+ return object;
}
-
+
public void setObject(ActivityObject object) {
this.object = object;
}
-
- public ActivityObject getObject() {
- return object;
+
+ public ActivityObject getTarget() {
+ return target;
}
-
+
public void setTarget(ActivityObject target) {
this.target = target;
}
-
- public ActivityObject getTarget() {
- return target;
+
+ public ActivityObject getGenerator() {
+ return generator;
}
-
- public void setPermalink(String permalink) {
- this.permalink = permalink;
+
+ public void setGenerator(ActivityObject generator) {
+ this.generator = generator;
}
-
- public String getPermalink() {
- return permalink;
+
+ public ActivityObject getServiceProvider() {
+ return serviceProvider;
}
-
- public void setTitle(String title) {
- this.title = title;
+
+ public void setServiceProvider(ActivityObject serviceProvider) {
+ this.serviceProvider = serviceProvider;
}
-
+
public String getTitle() {
return title;
}
-
- public void setBody(String body) {
- this.body = body;
+
+ public void setTitle(String title) {
+ this.title = title;
}
-
+
public String getBody() {
return body;
}
+
+ public void setBody(String body) {
+ this.body = body;
+ }
+
+ public List<String> getStandardLink() {
+ return standardLink;
+ }
+
+ public void setStandardLink(List<String> standardLink) {
+ this.standardLink = standardLink;
+ }
}
Modified:
shindig/trunk/extras/src/main/java/org/apache/shindig/extras/as/core/model/ActivityObjectImpl.java
URL:
http://svn.apache.org/viewvc/shindig/trunk/extras/src/main/java/org/apache/shindig/extras/as/core/model/ActivityObjectImpl.java?rev=959815&r1=959814&r2=959815&view=diff
==============================================================================
---
shindig/trunk/extras/src/main/java/org/apache/shindig/extras/as/core/model/ActivityObjectImpl.java
(original)
+++
shindig/trunk/extras/src/main/java/org/apache/shindig/extras/as/core/model/ActivityObjectImpl.java
Thu Jul 1 23:51:35 2010
@@ -20,46 +20,42 @@ package org.apache.shindig.extras.as.cor
import java.util.List;
+import org.apache.shindig.extras.as.opensocial.model.ActionLink;
import org.apache.shindig.extras.as.opensocial.model.ActivityObject;
+import org.apache.shindig.extras.as.opensocial.model.MediaLink;
public class ActivityObjectImpl implements ActivityObject {
private String id;
- private String displayName;
+ private String name;
private String summary;
+ private MediaLink media;
private String permalink;
- private String image;
- private List<String> objectType;
- private String content;
- private String audioStream;
- private String videoStream;
- private String playerApplet;
- private String bookmarkTarget;
- private String thumbnail;
- private String subject;
- private String description;
- private String rating;
- private String icon;
+ private List<String> type;
private ActivityObject inReplyTo;
+ private List<ActivityObject> attached;
+ private List<ActivityObject> reply;
+ private List<ActivityObject> reaction;
+ private ActionLink action;
+ private List<String> upstreamDuplicateId;
+ private List<String> downstreamDuplicateId;
+ private String standardLink;
public ActivityObjectImpl() {
this.id = null;
- this.displayName = null;
+ this.name = null;
this.summary = null;
+ this.media = null;
this.permalink = null;
- this.image = null;
- this.content = null;
- this.audioStream = null;
- this.videoStream = null;
- this.playerApplet = null;
- this.bookmarkTarget = null;
- this.thumbnail = null;
- this.subject = null;
- this.description = null;
- this.rating = null;
- this.icon = null;
- this.objectType = null;
+ this.type = null;
this.inReplyTo = null;
+ this.attached = null;
+ this.reply = null;
+ this.reaction = null;
+ this.action = null;
+ this.upstreamDuplicateId = null;
+ this.downstreamDuplicateId = null;
+ this.standardLink = null;
}
public String getId() {
@@ -70,12 +66,12 @@ public class ActivityObjectImpl implemen
this.id = id;
}
- public String getDisplayName() {
- return displayName;
+ public String getName() {
+ return name;
}
- public void setDisplayName(String displayName) {
- this.displayName = displayName;
+ public void setName(String name) {
+ this.name = name;
}
public String getSummary() {
@@ -86,115 +82,91 @@ public class ActivityObjectImpl implemen
this.summary = summary;
}
- public String getPermalink() {
- return permalink;
- }
-
- public void setPermalink(String permalink) {
- this.permalink = permalink;
- }
-
- public String getImage() {
- return image;
- }
-
- public void setImage(String image) {
- this.image = image;
- }
-
- public String getContent() {
- return content;
- }
-
- public void setContent(String content) {
- this.content = content;
+ public MediaLink getMedia() {
+ return media;
}
- public String getAudioStream() {
- return audioStream;
+ public void setMedia(MediaLink media) {
+ this.media = media;
}
- public void setAudioStream(String audioStream) {
- this.audioStream = audioStream;
- }
-
- public String getVideoStream() {
- return videoStream;
+ public String getPermalink() {
+ return permalink;
}
- public void setVideoStream(String videoStream) {
- this.videoStream = videoStream;
+ public void setPermalink(String permalink) {
+ this.permalink = permalink;
}
- public String getPlayerApplet() {
- return playerApplet;
+ public List<String> getType() {
+ return type;
}
- public void setPlayerApplet(String playerApplet) {
- this.playerApplet = playerApplet;
+ public void setType(List<String> type) {
+ this.type = type;
}
- public String getBookmarkTarget() {
- return bookmarkTarget;
+ public ActivityObject getInReplyTo() {
+ return inReplyTo;
}
- public void setBookmarkTarget(String bookmarkTarget) {
- this.bookmarkTarget = bookmarkTarget;
+ public void setInReplyTo(ActivityObject inReplyTo) {
+ this.inReplyTo = inReplyTo;
}
- public String getThumbnail() {
- return thumbnail;
+ public List<ActivityObject> getAttached() {
+ return attached;
}
- public void setThumbnail(String thumbnail) {
- this.thumbnail = thumbnail;
+ public void setAttached(List<ActivityObject> attached) {
+ this.attached = attached;
}
- public String getSubject() {
- return subject;
+ public List<ActivityObject> getReply() {
+ return reply;
}
- public void setSubject(String subject) {
- this.subject = subject;
+ public void setReply(List<ActivityObject> reply) {
+ this.reply = reply;
}
- public String getDescription() {
- return description;
+ public List<ActivityObject> getReaction() {
+ return reaction;
}
- public void setDescription(String description) {
- this.description = description;
+ public void setReaction(List<ActivityObject> reaction) {
+ this.reaction = reaction;
}
- public String getRating() {
- return rating;
+ public ActionLink getAction() {
+ return action;
}
- public void setRating(String rating) {
- this.rating = rating;
+ public void setAction(ActionLink action) {
+ this.action = action;
}
- public String getIcon() {
- return icon;
+ public List<String> getUpstreamDuplicateId() {
+ return upstreamDuplicateId;
}
- public void setIcon(String icon) {
- this.icon = icon;
+ public void setUpstreamDuplicateId(List<String> upstreamDuplicateId) {
+ this.upstreamDuplicateId = upstreamDuplicateId;
}
- public List<String> getObjectType() {
- return objectType;
+ public List<String> getDownstreamDuplicateId() {
+ return downstreamDuplicateId;
}
- public void setObjectType(List<String> objectType) {
- this.objectType = objectType;
+ public void setDownstreamDuplicateId(List<String>
downstreamDuplicateId) {
+ this.downstreamDuplicateId = downstreamDuplicateId;
}
- public ActivityObject getInReplyTo() {
- return inReplyTo;
+ public String getStandardLink() {
+ return standardLink;
}
- public void setInReplyTo(ActivityObject inReplyTo) {
- this.inReplyTo = inReplyTo;
+ public void setStandardLink(String standardLink) {
+ this.standardLink = standardLink;
}
}
Added:
shindig/trunk/extras/src/main/java/org/apache/shindig/extras/as/core/model/MediaLinkImpl.java
URL:
http://svn.apache.org/viewvc/shindig/trunk/extras/src/main/java/org/apache/shindig/extras/as/core/model/MediaLinkImpl.java?rev=959815&view=auto
==============================================================================
---
shindig/trunk/extras/src/main/java/org/apache/shindig/extras/as/core/model/MediaLinkImpl.java
(added)
+++
shindig/trunk/extras/src/main/java/org/apache/shindig/extras/as/core/model/MediaLinkImpl.java
Thu Jul 1 23:51:35 2010
@@ -0,0 +1,60 @@
+package org.apache.shindig.extras.as.core.model;
+
+import org.apache.shindig.extras.as.opensocial.model.MediaLink;
+
+public class MediaLinkImpl implements MediaLink {
+
+ private String target;
+ private String type;
+ private String width;
+ private String height;
+ private String duration;
+
+ public MediaLinkImpl() {
+ this.target = null;
+ this.type = null;
+ this.width = null;
+ this.height = null;
+ this.duration = null;
+ }
+
+ public String getTarget() {
+ return target;
+ }
+
+ public void setTarget(String target) {
+ this.target = target;
+ }
+
+ public String getType() {
+ return type;
+ }
+
+ public void setType(String type) {
+ this.type = type;
+ }
+
+ public String getWidth() {
+ return width;
+ }
+
+ public void setWidth(String width) {
+ this.width = width;
+ }
+
+ public String getHeight() {
+ return height;
+ }
+
+ public void setHeight(String height) {
+ this.height = height;
+ }
+
+ public String getDuration() {
+ return duration;
+ }
+
+ public void setDuration(String duration) {
+ this.duration = duration;
+ }
+}
Added:
shindig/trunk/extras/src/main/java/org/apache/shindig/extras/as/opensocial/model/ActionLink.java
URL:
http://svn.apache.org/viewvc/shindig/trunk/extras/src/main/java/org/apache/shindig/extras/as/opensocial/model/ActionLink.java?rev=959815&view=auto
==============================================================================
---
shindig/trunk/extras/src/main/java/org/apache/shindig/extras/as/opensocial/model/ActionLink.java
(added)
+++
shindig/trunk/extras/src/main/java/org/apache/shindig/extras/as/opensocial/model/ActionLink.java
Thu Jul 1 23:51:35 2010
@@ -0,0 +1,53 @@
+package org.apache.shindig.extras.as.opensocial.model;
+
+import org.apache.shindig.protocol.model.Exportablebean;
+import org.apache.shindig.extras.as.core.model.ActionLinkImpl;
+
+import com.google.inject.ImplementedBy;
+
+/*
+ * TODO: comment this class.
+ */
+...@implementedby(ActionLinkImpl.class)
+...@exportablebean
+public interface ActionLink {
+
+ /*
+ * Fields that represent JSON elements for an activity entry.
+ */
+ public static enum Field {
+ TARGET("target"),
+ CAPTION("caption");
+
+ /*
+ * 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;
+ }
+ }
+
+ String getTarget();
+
+ void setTarget(String target);
+
+ String getCaption();
+
+ void setCaption(String caption);
+}
Modified:
shindig/trunk/extras/src/main/java/org/apache/shindig/extras/as/opensocial/model/ActivityEntry.java
URL:
http://svn.apache.org/viewvc/shindig/trunk/extras/src/main/java/org/apache/shindig/extras/as/opensocial/model/ActivityEntry.java?rev=959815&r1=959814&r2=959815&view=diff
==============================================================================
---
shindig/trunk/extras/src/main/java/org/apache/shindig/extras/as/opensocial/model/ActivityEntry.java
(original)
+++
shindig/trunk/extras/src/main/java/org/apache/shindig/extras/as/opensocial/model/ActivityEntry.java
Thu Jul 1 23:51:35 2010
@@ -25,6 +25,11 @@ import org.apache.shindig.extras.as.core
import com.google.inject.ImplementedBy;
+/*
+ * TODO: comment a description for this class
+ * TODO: ensure verbs are up to date
+ * TODO: comment all classes
+ */
@ImplementedBy(ActivityEntryImpl.class)
@Exportablebean
public interface ActivityEntry {
@@ -33,16 +38,17 @@ public interface ActivityEntry {
* Fields that represent JSON elements for an activity entry.
*/
public static enum Field {
- ID("id"),
- STREAM_FAVICON_("streamFavicon"),
- POSTED_TIME("postedTime"),
+ ICON("icon"),
+ TIME("time"),
ACTOR("actor"),
VERB("verb"),
OBJECT("object"),
TARGET("target"),
- PERMALINK_("permalink"),
+ GENERATOR("generator"),
+ SERVICE_PROVIDER("serviceProvider"),
TITLE("title"),
- BODY("body");
+ BODY("body"),
+ STANDARD_LINK("standardLink");
/*
* The name of the JSON element.
@@ -108,43 +114,47 @@ public interface ActivityEntry {
}
}
- void setId(String id);
-
- String getId();
-
- void setStreamFavicon(String streamFavicon);
-
- String getStreamFavicon();
-
- void setPostedTime(String postedTime);
-
- String getPostedTime();
-
- void setActor(ActivityObject actor);
-
+ String getIcon();
+
+ void setIcon(String icon);
+
+ String getTime();
+
+ void setTime(String time);
+
ActivityObject getActor();
-
- void setVerb(List<String> verb);
-
+
+ void setActor(ActivityObject actor);
+
List<String> getVerb();
-
- void setObject(ActivityObject object);
-
+
+ void setVerb(List<String> verb);
+
ActivityObject getObject();
-
- void setTarget(ActivityObject target);
+
+ void setObject(ActivityObject object);
ActivityObject getTarget();
- void setPermalink(String permalink);
-
- String getPermalink();
-
- void setTitle(String title);
+ void setTarget(ActivityObject target);
+ ActivityObject getGenerator();
+
+ void setGenerator(ActivityObject generator);
+
+ ActivityObject getServiceProvider();
+
+ void setServiceProvider(ActivityObject serviceProvider);
+
String getTitle();
-
- void setBody(String body);
-
+
+ void setTitle(String title);
+
String getBody();
+
+ void setBody(String body);
+
+ List<String> getStandardLink();
+
+ void setStandardLink(List<String> standardLink);
}
\ No newline at end of file
Modified:
shindig/trunk/extras/src/main/java/org/apache/shindig/extras/as/opensocial/model/ActivityObject.java
URL:
http://svn.apache.org/viewvc/shindig/trunk/extras/src/main/java/org/apache/shindig/extras/as/opensocial/model/ActivityObject.java?rev=959815&r1=959814&r2=959815&view=diff
==============================================================================
---
shindig/trunk/extras/src/main/java/org/apache/shindig/extras/as/opensocial/model/ActivityObject.java
(original)
+++
shindig/trunk/extras/src/main/java/org/apache/shindig/extras/as/opensocial/model/ActivityObject.java
Thu Jul 1 23:51:35 2010
@@ -34,22 +34,19 @@ public interface ActivityObject {
*/
public static enum Field {
ID("id"),
- DISPLAY_NAME("displayName"),
+ NAME("name"),
SUMMARY("summary"),
+ MEDIA("media"),
PERMALINK("permalink"),
- IMAGE("image"),
- CONTENT("content"),
- AUDIO_STREAM("audioStream"),
- VIDEO_STREAM("videoStream"),
- PLAYER_APPLET("playerApplet"),
- BOOKMARK_TARGET("bookmarkTarget"),
- THUMBNAIL("thumbnail"),
- SUBJECT("subject"),
- DESCRIPTION("description"),
- RATING("rating"),
- ICON("icon"),
+ TYPE("type"),
IN_REPLY_TO("inReplyTo"),
- OBJECT_TYPE("objectType");
+ ATTACHED("attached"),
+ REPLY("reply"),
+ REACTION("reaction"),
+ ACTION("action"),
+ UPSTREAM_DUPLICATE_ID("upstreamDuplicateId"),
+ DOWNSTREAM_DUPLICATE_ID("downstreamDuplicateId"),
+ STANDARD_LINK("standardLink");
/*
* The name of the JSON element.
@@ -79,67 +76,55 @@ public interface ActivityObject {
void setId(String id);
- String getDisplayName();
+ String getName();
- void setDisplayName(String displayName);
+ void setName(String name);
String getSummary();
void setSummary(String summary);
- String getPermalink();
-
- void setPermalink(String permalink);
-
- String getImage();
-
- void setImage(String image);
-
- String getContent();
-
- void setContent(String content);
+ MediaLink getMedia();
- String getAudioStream();
+ void setMedia(MediaLink media);
- void setAudioStream(String audioStream);
+ String getPermalink();
- String getVideoStream();
+ void setPermalink(String permalink);
- void setVideoStream(String videoStream);
+ List<String> getType();
- String getPlayerApplet();
+ void setType(List<String> type);
- void setPlayerApplet(String playerApplet);
+ ActivityObject getInReplyTo();
- String getBookmarkTarget();
+ void setInReplyTo(ActivityObject inReplyTo);
- void setBookmarkTarget(String bookmarkTarget);
-
- String getThumbnail();
+ List<ActivityObject> getAttached();
- void setThumbnail(String thumbnail);
+ void setAttached(List<ActivityObject> attached);
- String getSubject();
+ List<ActivityObject> getReply();
- void setSubject(String subject);
+ void setReply(List<ActivityObject> reply);
- String getDescription();
+ List<ActivityObject> getReaction();
- void setDescription(String description);
+ void setReaction(List<ActivityObject> reaction);
- String getRating();
+ ActionLink getAction();
- void setRating(String rating);
+ void setAction(ActionLink action);
- String getIcon();
+ List<String> getUpstreamDuplicateId();
- void setIcon(String icon);
+ void setUpstreamDuplicateId(List<String> upstreamDuplicateId);
- List<String> getObjectType();
+ List<String> getDownstreamDuplicateId();
- void setObjectType(List<String> objectType);
+ void setDownstreamDuplicateId(List<String> downstreamDuplicateId);
- ActivityObject getInReplyTo();
+ String getStandardLink();
- void setInReplyTo(ActivityObject inReplyTo);
+ void setStandardLink(String standardLink);
}
\ No newline at end of file
Modified:
shindig/trunk/extras/src/main/java/org/apache/shindig/extras/as/opensocial/model/ActivityStream.java
URL:
http://svn.apache.org/viewvc/shindig/trunk/extras/src/main/java/org/apache/shindig/extras/as/opensocial/model/ActivityStream.java?rev=959815&r1=959814&r2=959815&view=diff
==============================================================================
---
shindig/trunk/extras/src/main/java/org/apache/shindig/extras/as/opensocial/model/ActivityStream.java
(original)
+++
shindig/trunk/extras/src/main/java/org/apache/shindig/extras/as/opensocial/model/ActivityStream.java
Thu Jul 1 23:51:35 2010
@@ -15,14 +15,14 @@
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations under the License.
*/
-
package org.apache.shindig.extras.as.opensocial.model;
import java.util.List;
-import org.apache.shindig.protocol.model.Exportablebean;
import org.apache.shindig.extras.as.core.model.ActivityStreamImpl;
+import org.apache.shindig.protocol.model.Exportablebean;
+
import com.google.inject.ImplementedBy;
/*
Added:
shindig/trunk/extras/src/main/java/org/apache/shindig/extras/as/opensocial/model/MediaLink.java
URL:
http://svn.apache.org/viewvc/shindig/trunk/extras/src/main/java/org/apache/shindig/extras/as/opensocial/model/MediaLink.java?rev=959815&view=auto
==============================================================================
---
shindig/trunk/extras/src/main/java/org/apache/shindig/extras/as/opensocial/model/MediaLink.java
(added)
+++
shindig/trunk/extras/src/main/java/org/apache/shindig/extras/as/opensocial/model/MediaLink.java
Thu Jul 1 23:51:35 2010
@@ -0,0 +1,67 @@
+package org.apache.shindig.extras.as.opensocial.model;
+
+import org.apache.shindig.protocol.model.Exportablebean;
+import org.apache.shindig.extras.as.core.model.MediaLinkImpl;
+import com.google.inject.ImplementedBy;
+
+/*
+ * TODO: comment this class.
+ */
+...@implementedby(MediaLinkImpl.class)
+...@exportablebean
+public interface MediaLink {
+
+ /*
+ * Fields that represent the JSON elements.
+ */
+ public static enum Field {
+ TARGET("target"),
+ TYPE("type"),
+ WIDTH("width"),
+ HEIGHT("height"),
+ DURATION("duration");
+
+ /*
+ * 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;
+ }
+ }
+
+ String getTarget();
+
+ void setTarget(String target);
+
+ String getType();
+
+ void setType(String type);
+
+ String getWidth();
+
+ void setWidth(String width);
+
+ String getHeight();
+
+ void setHeight(String height);
+
+ String getDuration();
+
+ void setDuration(String duration);
+}
Modified:
shindig/trunk/extras/src/main/java/org/apache/shindig/extras/as/sample/ActivityStreamsJsonDbService.java
URL:
http://svn.apache.org/viewvc/shindig/trunk/extras/src/main/java/org/apache/shindig/extras/as/sample/ActivityStreamsJsonDbService.java?rev=959815&r1=959814&r2=959815&view=diff
==============================================================================
---
shindig/trunk/extras/src/main/java/org/apache/shindig/extras/as/sample/ActivityStreamsJsonDbService.java
(original)
+++
shindig/trunk/extras/src/main/java/org/apache/shindig/extras/as/sample/ActivityStreamsJsonDbService.java
Thu Jul 1 23:51:35 2010
@@ -66,9 +66,11 @@ public class ActivityStreamsJsonDbServic
public Future<Void> createActivityEntry(UserId userId, GroupId groupId,
String appId,
Set<String> fields, ActivityEntry activityEntry, SecurityToken
token) throws ProtocolException {
try {
- JSONObject jsonObject = convertFromActivityEntry(activityEntry,
fields);
- if (!jsonObject.has(ActivityEntry.Field.ID.toString())) {
- jsonObject.put(ActivityEntry.Field.ID.toString(),
System.currentTimeMillis());
+ 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);
}
// TODO: bug fixed: jsonArray will not be null; will throw exception!
@@ -81,7 +83,7 @@ public class ActivityStreamsJsonDbServic
jsonArray = new JSONArray();
db.getJSONObject(ACTIVITYSTREAMS_TABLE).put(userId.getUserId(token), jsonArray);
}
- jsonArray.put(jsonObject);
+ jsonArray.put(jsonEntry);
return ImmediateFuture.newInstance(null);
} catch (JSONException je) {
throw new
ProtocolException(HttpServletResponse.SC_INTERNAL_SERVER_ERROR, je.getMessage(),
@@ -100,7 +102,7 @@ public class ActivityStreamsJsonDbServic
JSONArray newList = new JSONArray();
for (int i = 0; i < activityEntries.length(); i++) {
JSONObject activityEntry = activityEntries.getJSONObject(i);
- if
(!activityIds.contains(activityEntry.getString(ActivityEntry.Field.ID.toString())))
{
+ if
(!activityIds.contains(activityEntry.getJSONObject(ActivityEntry.Field.OBJECT.toString()).getString(ActivityObject.Field.ID.toString())))
{
newList.put(activityEntry);
}
}
@@ -123,16 +125,16 @@ public class ActivityStreamsJsonDbServic
public Future<ActivityEntry> getActivityEntry(UserId userId, GroupId groupId,
String appId, Set<String> fields, String activityId,
SecurityToken token)
throws ProtocolException {
- try {
+ try {
String user = userId.getUserId(token);
if (db.getJSONObject(ACTIVITYSTREAMS_TABLE).has(user)) {
JSONArray activityEntries =
db.getJSONObject(ACTIVITYSTREAMS_TABLE).getJSONArray(user);
for (int i = 0; i < activityEntries.length(); i++) {
JSONObject activityEntry = activityEntries.getJSONObject(i);
- JSONObject actor = new
JSONObject(activityEntry.get(ActivityEntry.Field.ACTOR.toString()).toString());
+ JSONObject actor =
activityEntry.getJSONObject(ActivityEntry.Field.ACTOR.toString());
String actorId =
actor.get(ActivityObject.Field.ID.toString()).toString();
if (actorId.equals(user)
- &&
activityEntry.get(ActivityEntry.Field.ID.toString()).toString().equals(activityId))
{
+ &&
activityEntry.getJSONObject(ActivityEntry.Field.OBJECT.toString()).get(ActivityObject.Field.ID.toString()).toString().equals(activityId))
{
return
ImmediateFuture.newInstance(jsonDb.filterFields(activityEntry, fields,
ActivityEntry.class));
}
}
@@ -144,13 +146,29 @@ public class ActivityStreamsJsonDbServic
je);
}
}
-
+
public Future<RestfulCollection<ActivityEntry>> getActivityEntries(
Set<UserId> userIds, GroupId groupId, String appId,
Set<String> fields,
CollectionOptions options, SecurityToken token)
throws ProtocolException {
List<ActivityEntry> result = Lists.newArrayList();
-
+
+// // Retrieve activities from Lotus Connections
+// FeedParser parser;
+// try {
+// parser = new FeedParser();
+// ArrayList<JSONObject> activityEntries =
parser.parseFeed("http://w3.ibm.com/connections/news/atom/stories/public");
+// for(JSONObject activityEntry : activityEntries) {
+// result.add(jsonDb.filterFields(activityEntry, fields,
ActivityEntry.class));
+// }
+// } catch (ParserConfigurationException e) {
+// e.printStackTrace();
+// } catch (SAXException e) {
+// e.printStackTrace();
+// } catch (JSONException e) {
+// e.printStackTrace();
+// }
+
try {
Set<String> idSet = jsonDb.getIdSet(userIds, groupId, token);
for (String id : idSet) {
@@ -161,9 +179,9 @@ public class ActivityStreamsJsonDbServic
result.add(jsonDb.filterFields(activityEntry, fields,
ActivityEntry.class));
// TODO: ActivityStreams don't have appIds
// if (appId == null ||
!activitystream.has(ActivityStream.Field.APP_ID.toString())) {
-// result.add(filterFields(activitystream, fields,
ActivityStream.class));
+// result.add(jsonDb.filterFields(activitystream, fields,
ActivityStream.class));
// } else if
(activitystream.get(ActivityStream.Field.APP_ID.toString()).equals(appId)) {
-// result.add(filterFields(activitystream, fields,
ActivityStream.class));
+// result.add(jsonDb.filterFields(activitystream, fields,
ActivityStream.class));
// }
}
}
@@ -174,7 +192,7 @@ public class ActivityStreamsJsonDbServic
je);
}
}
-
+
public Future<RestfulCollection<ActivityEntry>> getActivityEntries(
UserId userId, GroupId groupId, String appId, Set<String>
fields,
CollectionOptions options, Set<String> activityIds,
SecurityToken token)
@@ -189,7 +207,7 @@ public class ActivityStreamsJsonDbServic
JSONObject actor = new
JSONObject(activityEntry.get(ActivityEntry.Field.ACTOR.toString()));
String actorId =
actor.get(ActivityObject.Field.ID.toString()).toString();
if (actorId.equals(user)
- &&
activityIds.contains(activityEntry.getString(ActivityEntry.Field.ID.toString())))
{
+ &&
activityIds.contains(activityEntry.getJSONObject(ActivityEntry.Field.OBJECT.toString()).getString(ActivityObject.Field.ID.toString()).toString()))
{
result.add(jsonDb.filterFields(activityEntry, fields,
ActivityEntry.class));
}
}