diff options
2 files changed, 21 insertions, 0 deletions
diff --git a/branches/sca-java-1.x/modules/binding-rss-rome/src/main/java/org/apache/tuscany/sca/binding/rss/collection/Collection.java b/branches/sca-java-1.x/modules/binding-rss-rome/src/main/java/org/apache/tuscany/sca/binding/rss/collection/Collection.java index bb8dab391b..ed86dc4848 100644 --- a/branches/sca-java-1.x/modules/binding-rss-rome/src/main/java/org/apache/tuscany/sca/binding/rss/collection/Collection.java +++ b/branches/sca-java-1.x/modules/binding-rss-rome/src/main/java/org/apache/tuscany/sca/binding/rss/collection/Collection.java @@ -20,6 +20,7 @@ package org.apache.tuscany.sca.binding.rss.collection; import org.osoa.sca.annotations.Remotable; +import com.sun.syndication.feed.synd.SyndEntry; import com.sun.syndication.feed.synd.SyndFeed; @@ -46,4 +47,12 @@ public interface Collection { */ SyndFeed query(String queryString); + /** + * Retrieves an RSS entry. + * + * @param id The entry ID + * @return The requested entry + * @throws NotFoundException No entry found with the given ID + */ + SyndEntry get(String id) throws NotFoundException; } diff --git a/branches/sca-java-1.x/modules/binding-rss-rome/src/test/java/org/apache/tuscany/sca/binding/rss/CustomerCollectionImpl.java b/branches/sca-java-1.x/modules/binding-rss-rome/src/test/java/org/apache/tuscany/sca/binding/rss/CustomerCollectionImpl.java index 409d3994a6..02d73ab3ae 100644 --- a/branches/sca-java-1.x/modules/binding-rss-rome/src/test/java/org/apache/tuscany/sca/binding/rss/CustomerCollectionImpl.java +++ b/branches/sca-java-1.x/modules/binding-rss-rome/src/test/java/org/apache/tuscany/sca/binding/rss/CustomerCollectionImpl.java @@ -28,6 +28,7 @@ import java.util.Map; import java.util.UUID; import org.apache.tuscany.sca.binding.rss.collection.Collection; +import org.apache.tuscany.sca.binding.rss.collection.NotFoundException; import org.osoa.sca.annotations.Scope; import com.sun.syndication.feed.synd.SyndContent; @@ -98,5 +99,16 @@ public class CustomerCollectionImpl implements Collection { feed.getEntries().addAll(entries.values()); return feed; } + + /** + * {@inheritDoc} + */ + public SyndEntry get(String id) throws NotFoundException { + final SyndEntry entry = entries.get(id); + if (id == null) { + throw new NotFoundException("No entry found with ID " + id); + } + return entry; + } } |