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>" +


Reply via email to