Author: lindner
Date: Wed Jun 15 15:42:42 2011
New Revision: 1136089
URL: http://svn.apache.org/viewvc?rev=1136089&view=rev
Log:
Adding support for feed image in the FeedProcessor class so that the image
configured for the main feed is available in the json returned to the gadget.
Patch pulled from github.com/sterlecki/shindig/2.0.x
Conflicts:
java/gadgets/src/main/java/org/apache/shindig/gadgets/FeedProcessor.java
Modified:
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/FeedProcessorImpl.java
shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/FeedProcessorImplTest.java
Modified:
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/FeedProcessorImpl.java
URL:
http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/FeedProcessorImpl.java?rev=1136089&r1=1136088&r2=1136089&view=diff
==============================================================================
---
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/FeedProcessorImpl.java
(original)
+++
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/FeedProcessorImpl.java
Wed Jun 15 15:42:42 2011
@@ -31,6 +31,7 @@ import com.sun.syndication.feed.synd.Syn
import com.sun.syndication.feed.synd.SyndEntry;
import com.sun.syndication.feed.synd.SyndFeed;
import com.sun.syndication.feed.synd.SyndLink;
+import com.sun.syndication.feed.synd.SyndImage;
import com.sun.syndication.feed.synd.SyndPerson;
import com.sun.syndication.io.FeedException;
import com.sun.syndication.io.SyndFeedInput;
@@ -68,6 +69,27 @@ public class FeedProcessorImpl implement
json.put("Description", feed.getDescription());
json.put("Link", feed.getLink());
+ //Retrieve the feed image if it is available as well as an image url if
the image is available.
+ if (feed.getImage() != null && !feed.getImage().getUrl().isEmpty()){
+ SyndImage feedImage = (SyndImage)feed.getImage();
+ JSONObject jsonImage = new JSONObject();
+ jsonImage.put("Url", feedImage.getUrl());
+ if(feedImage.getTitle() != null
+ && !feedImage.getTitle().isEmpty()){
+ jsonImage.put("Title", feedImage.getTitle());
+ }
+ if(feedImage.getDescription() != null &&
+ !feedImage.getDescription().isEmpty()){
+ jsonImage.put("Description", feedImage.getDescription());
+ }
+ if(feedImage.getLink() != null &&
+ !feedImage.getLink().isEmpty()){
+ jsonImage.put("Link", feedImage.getLink());
+ }
+ json.put("Image", jsonImage);
+ }
+
+
List<SyndPerson> authors = feed.getAuthors();
String jsonAuthor = null;
if (authors != null && !authors.isEmpty()) {
Modified:
shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/FeedProcessorImplTest.java
URL:
http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/FeedProcessorImplTest.java?rev=1136089&r1=1136088&r2=1136089&view=diff
==============================================================================
---
shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/FeedProcessorImplTest.java
(original)
+++
shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/FeedProcessorImplTest.java
Wed Jun 15 15:42:42 2011
@@ -33,6 +33,10 @@ public class FeedProcessorImplTest {
private final static String FEED_TITLE = "Example Feed";
private final static String FEED_AUTHOR = "John Doe";
private final static String FEED_AUTHOR_EMAIL = "[email protected]";
+ private final static String FEED_IMAGE_URL =
"http://example.org/example.gif";
+ private final static String FEED_IMAGE_TITLE = "Example Feed Image";
+ private final static String FEED_IMAGE_DESCRIPTION = "Example Feed Image
Description";
+ private final static String FEED_IMAGE_LINK = "http://example.org/";
private final static String FEED_ENTRY_TITLE = "Atom-Powered Robots Run
Amok";
private final static String FEED_ENTRY_LINK =
"http://example.org/2003/12/13/entry03";
private final static String FEED_ENTRY_SUMMARY = "Some text.";
@@ -46,6 +50,12 @@ public class FeedProcessorImplTest {
"<link>http://example.org/</link>" +
"<description>Example RSS Feed</description>" +
"<pubDate>Sun, 19 May 2002 15:21:36 GMT</pubDate>" +
+ "<image>" +
+ "<url>" + FEED_IMAGE_URL + "</url>" +
+ "<title>" + FEED_IMAGE_TITLE + "</title>" +
+ "<description>" + FEED_IMAGE_DESCRIPTION + "</description>" +
+ "<link>" + FEED_IMAGE_LINK + "</link>" +
+ "</image>" +
"<item>" +
"<title>" + FEED_ENTRY_TITLE + "</title>" +
"<link>" + FEED_ENTRY_LINK + "</link>" +