/* * GNU GENERAL PUBLIC LICENSE, Version 3, 29 June 2007 */ package hudson.gwtmarketplace.client.ajaxfeeds; import java.util.ArrayList; import java.util.List; public class Feed { private String title; private String description; private String url; List<Entry> entries = new ArrayList<Entry>(); public String getDescription() { return description; } public void setDescription(String description) { this.description = description; } public String getTitle() { return title; } public void setTitle(String title) { this.title = title; } public String getUrl() { return url; } public void setUrl(String url) { this.url = url; } public List<Entry> getEntries() { return entries; } private FeedListener feedListener = null; public void activateListener() { feedListener.onSuccess(this); } public void activateError() { feedListener.onFailure(); } public void addEntry(String in_title, String in_link, String in_content, String in_contentSnippet, String in_publishedDate) { Entry entry = new Entry(); entry.setTitle(in_title); entry.setLink(in_link); entry.setContent(in_content); entry.setContentSnippet(in_contentSnippet); entry.setPublishedDate(in_publishedDate); entries.add(entry); } public native void getFeed(String url, FeedListener in_feedListener) /*-{ var feed = new $wnd.google.feeds.Feed(url); this.@hudson.gwtmarketplace.client.ajaxfeeds.Feed::feedListener = in_feedListener; var thisss = this; feed.load(function(result) { if (!result.error) { var feed = result.feed; thisss.@hudson.gwtmarketplace.client.ajaxfeeds.Feed::setTitle(Ljava/lang/String;)(feed.title); thisss.@hudson.gwtmarketplace.client.ajaxfeeds.Feed::setUrl(Ljava/lang/String;)(feed.url); thisss.@hudson.gwtmarketplace.client.ajaxfeeds.Feed::setDescription(Ljava/lang/String;)(feed.description); for (i = 0; i < result.feed.entries.length; i++) { var entry = result.feed.entries[i]; thisss.@hudson.gwtmarketplace.client.ajaxfeeds.Feed::addEntry(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)(entry.title, entry.link, entry.content, entry.contentSnippet, entry.publishedDate); } thisss.@hudson.gwtmarketplace.client.ajaxfeeds.Feed::activateListener()(); } else { thisss.@hudson.gwtmarketplace.client.ajaxfeeds.Feed::activateError()(); } }); }-*/; }