summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--branches/sca-java-1.x/modules/binding-rss-rome/src/main/java/org/apache/tuscany/sca/binding/rss/collection/Collection.java9
-rw-r--r--branches/sca-java-1.x/modules/binding-rss-rome/src/test/java/org/apache/tuscany/sca/binding/rss/CustomerCollectionImpl.java12
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;
+ }
}