tuscany-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From mcombell...@apache.org
Subject svn commit: r787062 - in /tuscany/sandbox/travelsample/contributions/feed-logger-contribution: ./ src/ src/main/ src/main/java/ src/main/java/scatours/ src/main/java/scatours/feedlogger/ src/main/resources/ src/main/resources/META-INF/
Date Sun, 21 Jun 2009 18:19:40 GMT
Author: mcombellack
Date: Sun Jun 21 18:19:40 2009
New Revision: 787062

URL: http://svn.apache.org/viewvc?rev=787062&view=rev
Log:
Feed logger contribution that demonstrates how the Atom and RSS bindings can be used to log
entries from Atom and RSS feeds

Added:
    tuscany/sandbox/travelsample/contributions/feed-logger-contribution/   (with props)
    tuscany/sandbox/travelsample/contributions/feed-logger-contribution/pom.xml
    tuscany/sandbox/travelsample/contributions/feed-logger-contribution/src/
    tuscany/sandbox/travelsample/contributions/feed-logger-contribution/src/main/
    tuscany/sandbox/travelsample/contributions/feed-logger-contribution/src/main/java/
    tuscany/sandbox/travelsample/contributions/feed-logger-contribution/src/main/java/scatours/
    tuscany/sandbox/travelsample/contributions/feed-logger-contribution/src/main/java/scatours/feedlogger/
    tuscany/sandbox/travelsample/contributions/feed-logger-contribution/src/main/java/scatours/feedlogger/FeedLogger.java
    tuscany/sandbox/travelsample/contributions/feed-logger-contribution/src/main/java/scatours/feedlogger/FeedLoggerImpl.java
    tuscany/sandbox/travelsample/contributions/feed-logger-contribution/src/main/resources/
    tuscany/sandbox/travelsample/contributions/feed-logger-contribution/src/main/resources/META-INF/
    tuscany/sandbox/travelsample/contributions/feed-logger-contribution/src/main/resources/META-INF/sca-contribution.xml
    tuscany/sandbox/travelsample/contributions/feed-logger-contribution/src/main/resources/feed-logger.composite

Propchange: tuscany/sandbox/travelsample/contributions/feed-logger-contribution/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Sun Jun 21 18:19:40 2009
@@ -0,0 +1,7 @@
+.classpath
+.project
+.settings
+target
+maven-eclipse.xml
+.externalToolBuilders
+.settings

Added: tuscany/sandbox/travelsample/contributions/feed-logger-contribution/pom.xml
URL: http://svn.apache.org/viewvc/tuscany/sandbox/travelsample/contributions/feed-logger-contribution/pom.xml?rev=787062&view=auto
==============================================================================
--- tuscany/sandbox/travelsample/contributions/feed-logger-contribution/pom.xml (added)
+++ tuscany/sandbox/travelsample/contributions/feed-logger-contribution/pom.xml Sun Jun 21
18:19:40 2009
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+    * Licensed to the Apache Software Foundation (ASF) under one
+    * or more contributor license agreements.  See the NOTICE file
+    * distributed with this work for additional information
+    * regarding copyright ownership.  The ASF licenses this file
+    * to you under the Apache License, Version 2.0 (the
+    * "License"); you may not use this file except in compliance
+    * with the License.  You may obtain a copy of the License at
+    * 
+    *   http://www.apache.org/licenses/LICENSE-2.0
+    * 
+    * Unless required by applicable law or agreed to in writing,
+    * software distributed under the License is distributed on an
+    * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    * KIND, either express or implied.  See the License for the
+    * specific language governing permissions and limitations
+    * under the License.    
+-->
+<project>
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>org.apache.tuscany.sca</groupId>
+        <artifactId>tuscany-sca</artifactId>
+        <version>1.6-SNAPSHOT</version>
+        <!--relativePath>../../pom.xml</relativePath-->
+    </parent><version>1.0-SNAPSHOT</version>
+    <artifactId>scatours-feed-logger-contribution</artifactId>
+    <name>Apache Tuscany SCA Tours Feed Logger Contribution</name>
+
+    <dependencies>
+        <dependency>
+            <groupId>org.apache.tuscany.sca</groupId>
+            <artifactId>tuscany-host-embedded</artifactId>
+            <version>1.6-SNAPSHOT</version>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.tuscany.sca</groupId>
+            <artifactId>tuscany-host-tomcat</artifactId>
+            <version>1.6-SNAPSHOT</version>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.tuscany.sca</groupId>
+            <artifactId>tuscany-implementation-java-runtime</artifactId>
+            <version>1.6-SNAPSHOT</version>
+            <scope>runtime</scope>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.tuscany.sca</groupId>
+            <artifactId>tuscany-binding-atom</artifactId>
+            <version>1.6-SNAPSHOT</version>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.tuscany.sca</groupId>
+            <artifactId>tuscany-binding-atom-abdera</artifactId>
+            <version>1.6-SNAPSHOT</version>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.tuscany.sca</groupId>
+            <artifactId>tuscany-binding-rss-rome</artifactId>
+            <version>1.6-SNAPSHOT</version>
+        </dependency>
+
+        <dependency>
+            <groupId>junit</groupId>
+            <artifactId>junit</artifactId>
+            <version>4.5</version>
+            <scope>test</scope>
+        </dependency>
+    </dependencies>
+
+    <build>
+       <finalName>${artifactId}</finalName>
+    </build>
+</project>

Added: tuscany/sandbox/travelsample/contributions/feed-logger-contribution/src/main/java/scatours/feedlogger/FeedLogger.java
URL: http://svn.apache.org/viewvc/tuscany/sandbox/travelsample/contributions/feed-logger-contribution/src/main/java/scatours/feedlogger/FeedLogger.java?rev=787062&view=auto
==============================================================================
--- tuscany/sandbox/travelsample/contributions/feed-logger-contribution/src/main/java/scatours/feedlogger/FeedLogger.java
(added)
+++ tuscany/sandbox/travelsample/contributions/feed-logger-contribution/src/main/java/scatours/feedlogger/FeedLogger.java
Sun Jun 21 18:19:40 2009
@@ -0,0 +1,30 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ * 
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package scatours.feedlogger;
+
+public interface FeedLogger {
+
+    /**
+     * Captures the configured feeds and logs the feed entries.
+     * 
+     * @param maxEntriesPerFeed The maximum number of entries to log per feed 
+     */
+    public void logFeeds(int maxEntriesPerFeed);
+}

Added: tuscany/sandbox/travelsample/contributions/feed-logger-contribution/src/main/java/scatours/feedlogger/FeedLoggerImpl.java
URL: http://svn.apache.org/viewvc/tuscany/sandbox/travelsample/contributions/feed-logger-contribution/src/main/java/scatours/feedlogger/FeedLoggerImpl.java?rev=787062&view=auto
==============================================================================
--- tuscany/sandbox/travelsample/contributions/feed-logger-contribution/src/main/java/scatours/feedlogger/FeedLoggerImpl.java
(added)
+++ tuscany/sandbox/travelsample/contributions/feed-logger-contribution/src/main/java/scatours/feedlogger/FeedLoggerImpl.java
Sun Jun 21 18:19:40 2009
@@ -0,0 +1,98 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ * 
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package scatours.feedlogger;
+
+import java.util.List;
+
+import org.apache.abdera.model.Entry;
+import org.apache.abdera.model.Feed;
+import org.osoa.sca.annotations.Reference;
+
+import com.sun.syndication.feed.synd.SyndEntry;
+import com.sun.syndication.feed.synd.SyndFeed;
+
+public class FeedLoggerImpl implements FeedLogger {
+
+    /**
+     * Reference to the SCA Tours Blog Atom feed.
+     */
+    @Reference
+    public org.apache.tuscany.sca.binding.atom.collection.Collection scaToursBlogAtom;
+
+    /**
+     * Reference to the SCA Tours Blog RSS feed.
+     */
+    @Reference
+    public org.apache.tuscany.sca.binding.rss.collection.Collection scaToursBlogRSS;
+
+    /**
+     * Reference to the BBC News RSS feed.
+     */
+    @Reference
+    public org.apache.tuscany.sca.binding.rss.collection.Collection bbcNews;
+
+    /**
+     * {@inheritDoc}
+     */
+    public void logFeeds(int maxEntriesPerFeed) {
+        System.out.println("Logging SCA Tours Blog Atom feed:");
+        logAtomFeed(scaToursBlogAtom, maxEntriesPerFeed);
+
+        System.out.println("Logging SCA Tours Blog RSS feed:");
+        logRSSFeed(scaToursBlogRSS, maxEntriesPerFeed);
+
+        System.out.println("Logging BBC News feed:");
+        logRSSFeed(bbcNews, maxEntriesPerFeed);
+    }
+
+    /**
+     * Logs up to maxEntries entries from the specified feed.
+     * 
+     * @param maxEntries The maximum number of entries to log per feed 
+     */
+    private void logAtomFeed(org.apache.tuscany.sca.binding.atom.collection.Collection atomFeed,
int maxEntries) {
+        final Feed feed = atomFeed.getFeed();
+        System.out.println("Feed: " + feed.getTitle());
+        final List<Entry> entries = feed.getEntries();
+
+        for (int i = 0; i < entries.size() && i < maxEntries; i++) {
+            Entry entry = entries.get(i);
+            System.out.println("Entry: " + entry.getTitle());
+        }
+        System.out.println();
+    }
+
+    /**
+     * Logs up to maxEntries entries from the specified feed.
+     * 
+     * @param maxEntries The maximum number of entries to log
+     */
+    private void logRSSFeed(org.apache.tuscany.sca.binding.rss.collection.Collection rssFeed,
int maxEntries) {
+        SyndFeed feed = rssFeed.getFeed();
+        System.out.println("Feed: " + feed.getTitle());
+        
+        List<SyndEntry> entries = feed.getEntries();
+        for (int i = 0; i < entries.size() && i < maxEntries; i++) {
+            SyndEntry entry = entries.get(i);
+            System.out.println("Entry: " + entry.getTitle());
+        }
+        System.out.println();
+    }
+}

Added: tuscany/sandbox/travelsample/contributions/feed-logger-contribution/src/main/resources/META-INF/sca-contribution.xml
URL: http://svn.apache.org/viewvc/tuscany/sandbox/travelsample/contributions/feed-logger-contribution/src/main/resources/META-INF/sca-contribution.xml?rev=787062&view=auto
==============================================================================
--- tuscany/sandbox/travelsample/contributions/feed-logger-contribution/src/main/resources/META-INF/sca-contribution.xml
(added)
+++ tuscany/sandbox/travelsample/contributions/feed-logger-contribution/src/main/resources/META-INF/sca-contribution.xml
Sun Jun 21 18:19:40 2009
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+    * Licensed to the Apache Software Foundation (ASF) under one
+    * or more contributor license agreements.  See the NOTICE file
+    * distributed with this work for additional information
+    * regarding copyright ownership.  The ASF licenses this file
+    * to you under the Apache License, Version 2.0 (the
+    * "License"); you may not use this file except in compliance
+    * with the License.  You may obtain a copy of the License at
+    * 
+    *   http://www.apache.org/licenses/LICENSE-2.0
+    * 
+    * Unless required by applicable law or agreed to in writing,
+    * software distributed under the License is distributed on an
+    * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    * KIND, either express or implied.  See the License for the
+    * specific language governing permissions and limitations
+    * under the License.    
+-->
+<contribution xmlns="http://www.osoa.org/xmlns/sca/1.0">
+   <export.java package="scatours.feedlogger"/>
+</contribution>
\ No newline at end of file

Added: tuscany/sandbox/travelsample/contributions/feed-logger-contribution/src/main/resources/feed-logger.composite
URL: http://svn.apache.org/viewvc/tuscany/sandbox/travelsample/contributions/feed-logger-contribution/src/main/resources/feed-logger.composite?rev=787062&view=auto
==============================================================================
--- tuscany/sandbox/travelsample/contributions/feed-logger-contribution/src/main/resources/feed-logger.composite
(added)
+++ tuscany/sandbox/travelsample/contributions/feed-logger-contribution/src/main/resources/feed-logger.composite
Sun Jun 21 18:19:40 2009
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ * 
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.    
+-->
+<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
+    xmlns:tuscany="http://tuscany.apache.org/xmlns/sca/1.0"
+    targetNamespace="http://goodvaluetrips.com/"
+    name="feed-logger">
+
+    <service name="FeedLogger" promote="FeedLogger">
+    </service>
+
+    <component name="FeedLogger">
+        <implementation.java class="scatours.feedlogger.FeedLoggerImpl"/>
+        <reference name="scaToursBlogAtom">
+            <tuscany:binding.atom uri="http://scatours.wordpress.com/?feed=atom"/>
+        </reference>
+        <reference name="scaToursBlogRSS">
+            <tuscany:binding.rss uri="http://scatours.wordpress.com/?feed=rss"/>
+        </reference>
+        <reference name="bbcNews">
+            <tuscany:binding.rss uri="http://newsrss.bbc.co.uk/rss/newsonline_uk_edition/world/rss.xml"/>
+        </reference>
+    </component>
+</composite>



Mime
View raw message