You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by js...@apache.org on 2007/06/25 07:11:05 UTC

svn commit: r550350 - in /incubator/tuscany/java/sca/demos: alert-aggregator/src/main/java/org/apache/tuscany/sca/demos/aggregator/ bigbank-account/src/main/java/bigbank/account/feed/ bigbank-account/src/main/resources/

Author: jsdelfino
Date: Sun Jun 24 22:11:04 2007
New Revision: 550350

URL: http://svn.apache.org/viewvc?view=rev&rev=550350
Log:
Ported demos to latest changes in the feed binding.

Modified:
    incubator/tuscany/java/sca/demos/alert-aggregator/src/main/java/org/apache/tuscany/sca/demos/aggregator/AlertsFeedServiceImpl.java
    incubator/tuscany/java/sca/demos/alert-aggregator/src/main/java/org/apache/tuscany/sca/demos/aggregator/AlertsServiceImpl.java
    incubator/tuscany/java/sca/demos/bigbank-account/src/main/java/bigbank/account/feed/AccountFeedImpl.java
    incubator/tuscany/java/sca/demos/bigbank-account/src/main/resources/BigBank.composite

Modified: incubator/tuscany/java/sca/demos/alert-aggregator/src/main/java/org/apache/tuscany/sca/demos/aggregator/AlertsFeedServiceImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/demos/alert-aggregator/src/main/java/org/apache/tuscany/sca/demos/aggregator/AlertsFeedServiceImpl.java?view=diff&rev=550350&r1=550349&r2=550350
==============================================================================
--- incubator/tuscany/java/sca/demos/alert-aggregator/src/main/java/org/apache/tuscany/sca/demos/aggregator/AlertsFeedServiceImpl.java (original)
+++ incubator/tuscany/java/sca/demos/alert-aggregator/src/main/java/org/apache/tuscany/sca/demos/aggregator/AlertsFeedServiceImpl.java Sun Jun 24 22:11:04 2007
@@ -23,12 +23,13 @@
 import java.util.ArrayList;
 import java.util.List;
 
-import org.apache.tuscany.sca.binding.feed.Feed;
+import org.apache.tuscany.sca.binding.feed.ResourceCollection;
 import org.apache.tuscany.sca.demos.aggregator.types.AlertType;
 import org.apache.tuscany.sca.demos.aggregator.types.AlertsType;
 import org.osoa.sca.annotations.Reference;
 import org.osoa.sca.annotations.Service;
 
+import com.sun.syndication.feed.atom.Feed;
 import com.sun.syndication.feed.synd.SyndEntry;
 import com.sun.syndication.feed.synd.SyndEntryImpl;
 import com.sun.syndication.feed.synd.SyndFeed;
@@ -39,8 +40,8 @@
  *
  * @version $Rev$ $Date$
  */
-@Service(Feed.class)
-public class AlertsFeedServiceImpl implements Feed {
+@Service(ResourceCollection.class)
+public class AlertsFeedServiceImpl implements ResourceCollection {
   
     private AlertsService alerts;
     
@@ -56,14 +57,14 @@
      * 
      * @return the structure containing alerts 
      */    
-    public SyndFeed get(String uri) {
+    public Feed getCollection() {
         
         // Create a new Feed
         SyndFeed feed = new SyndFeedImpl();
         feed.setTitle("Apache Tuscant Feed Aggregator");
         feed.setDescription("A sample showing an SCA application to aggregate various types of feeds");
         feed.setAuthor("Apache Tuscany");
-        feed.setLink(uri);
+        feed.setLink("http://incubator.apache.org/tuscany");
  
         // Aggregate entries from feed1 and feed2
         List<SyndEntry> entries = new ArrayList<SyndEntry>();
@@ -86,6 +87,7 @@
         }
         
         feed.setEntries(entries);
-        return feed;
+        
+        return (Feed)feed.createWireFeed("atom_1.0");
     }    
 }

Modified: incubator/tuscany/java/sca/demos/alert-aggregator/src/main/java/org/apache/tuscany/sca/demos/aggregator/AlertsServiceImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/demos/alert-aggregator/src/main/java/org/apache/tuscany/sca/demos/aggregator/AlertsServiceImpl.java?view=diff&rev=550350&r1=550349&r2=550350
==============================================================================
--- incubator/tuscany/java/sca/demos/alert-aggregator/src/main/java/org/apache/tuscany/sca/demos/aggregator/AlertsServiceImpl.java (original)
+++ incubator/tuscany/java/sca/demos/alert-aggregator/src/main/java/org/apache/tuscany/sca/demos/aggregator/AlertsServiceImpl.java Sun Jun 24 22:11:04 2007
@@ -39,7 +39,7 @@
 import com.sun.syndication.feed.synd.SyndFeed;
 import com.sun.syndication.feed.synd.SyndFeedImpl;
 
-import org.apache.tuscany.sca.binding.feed.Feed;
+import org.apache.tuscany.sca.binding.feed.ResourceCollection;
 
 /**
  * Read all new alerts from the specified sources

Modified: incubator/tuscany/java/sca/demos/bigbank-account/src/main/java/bigbank/account/feed/AccountFeedImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/demos/bigbank-account/src/main/java/bigbank/account/feed/AccountFeedImpl.java?view=diff&rev=550350&r1=550349&r2=550350
==============================================================================
--- incubator/tuscany/java/sca/demos/bigbank-account/src/main/java/bigbank/account/feed/AccountFeedImpl.java (original)
+++ incubator/tuscany/java/sca/demos/bigbank-account/src/main/java/bigbank/account/feed/AccountFeedImpl.java Sun Jun 24 22:11:04 2007
@@ -18,51 +18,87 @@
  */
 package bigbank.account.feed;
 
-import org.apache.tuscany.sca.binding.feed.Feed;
+import java.io.InputStream;
+import java.util.Collections;
+
+import org.apache.tuscany.sca.binding.feed.EditableResourceCollection;
+import org.apache.tuscany.sca.binding.feed.ResourceNotFoundException;
 import org.osoa.sca.annotations.Reference;
 import org.osoa.sca.annotations.Service;
 
 import bigbank.account.AccountService;
 
-import com.sun.syndication.feed.synd.SyndContent;
-import com.sun.syndication.feed.synd.SyndContentImpl;
-import com.sun.syndication.feed.synd.SyndEntry;
-import com.sun.syndication.feed.synd.SyndEntryImpl;
-import com.sun.syndication.feed.synd.SyndFeed;
-import com.sun.syndication.feed.synd.SyndFeedImpl;
+import com.sun.syndication.feed.atom.Content;
+import com.sun.syndication.feed.atom.Entry;
+import com.sun.syndication.feed.atom.Feed;
+import com.sun.syndication.feed.atom.Link;
 
 /**
  * @version $$Rev$$ $$Date$$
  */
 
-@Service(Feed.class)
-public class AccountFeedImpl implements Feed {
+@Service(EditableResourceCollection.class)
+public class AccountFeedImpl implements EditableResourceCollection {
 
     @Reference
     protected AccountService accountService;
     
     @SuppressWarnings("unchecked")
-    public SyndFeed get(String uri) {
-        
-        // Get the account report for the specified customer ID
-        String customerID = uri.substring(uri.lastIndexOf('/')+1);
-        double balance = accountService.getAccountReport(customerID); 
-        String value = Double.toString(balance);
+    public com.sun.syndication.feed.atom.Feed getCollection() {
         
         // Create a new Feed
-        SyndFeed feed = new SyndFeedImpl();
+        Feed feed = new Feed();
+        feed.setId("accounts");
         feed.setTitle("Account Report Feed");
-        feed.setDescription("A sample Account Report feed");
-        feed.setAuthor("anonymous");
-        feed.setLink(uri);
-        
-        SyndEntry entry = new SyndEntryImpl();
-        entry.setAuthor("anonymous");
-        SyndContent content = new SyndContentImpl();
-        content.setValue(value);
-        entry.setDescription(content);
+        Content subtitle = new Content();
+        subtitle.setValue("This is a sample feed");
+        feed.setSubtitle(subtitle);
+        Link link = new Link();
+        link.setHref("http://incubator.apache.org/tuscany");
+        feed.getAlternateLinks().add(link);
+
+        // Add the Account report entry 
+        Entry entry = get("1234");
         feed.getEntries().add(entry);
 
         return feed;
+    }
+
+    public void delete(String id) {
+    }
+
+    public Entry get(String id) {
+
+        // Get the account report for the specified customer ID
+        double balance = accountService.getAccountReport(id); 
+        String value = Double.toString(balance);
+        
+        Entry entry = new Entry();
+        entry.setId("account-" + id);
+        entry.setTitle("Account Report Entry");
+        Content summary = new Content();
+        summary.setType(Content.HTML);
+        summary.setValue("This is your account report: <b>" + value + "</b>");
+        entry.setSummary(summary);
+        Content content = new Content();
+        content.setValue(value);
+        entry.setContents(Collections.singletonList(content));
+        return entry;
+    }
+
+    public Entry post(Entry entry) {
+        return null;
+    }
+
+    public Entry put(String id, Entry entry) {
+        return null;
+    }
+
+    public Entry postMedia(String title, String slug, String contentType, InputStream media) {
+        return null;
+    }
+    
+    public Entry putMedia(String id, String contentType, InputStream media) throws ResourceNotFoundException {
+        return null;
     }
 }

Modified: incubator/tuscany/java/sca/demos/bigbank-account/src/main/resources/BigBank.composite
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/demos/bigbank-account/src/main/resources/BigBank.composite?view=diff&rev=550350&r1=550349&r2=550350
==============================================================================
--- incubator/tuscany/java/sca/demos/bigbank-account/src/main/resources/BigBank.composite (original)
+++ incubator/tuscany/java/sca/demos/bigbank-account/src/main/resources/BigBank.composite Sun Jun 24 22:11:04 2007
@@ -19,7 +19,11 @@
    	</service>
 
    	<service name="AccountFeed" promote="AccountFeedComponent">
-   		<binding.atom uri="/feed/*"/>
+   		<binding.rss uri="/rss"/>
+   	</service>
+
+   	<service name="AccountFeed" promote="AccountFeedComponent">
+   		<binding.atom uri="/atom"/>
    	</service>
 
     <component name="AccountServiceComponent">



---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-commits-help@ws.apache.org