summaryrefslogtreecommitdiffstats
path: root/java
diff options
context:
space:
mode:
Diffstat (limited to 'java')
-rw-r--r--java/sca/demos/alert-aggregator-webapp/src/main/java/org/apache/tuscany/sca/demos/aggregator/RSSCheckerServiceImpl.java14
-rw-r--r--java/sca/demos/alert-aggregator-webapp/src/main/resources/sources.xml5
2 files changed, 13 insertions, 6 deletions
diff --git a/java/sca/demos/alert-aggregator-webapp/src/main/java/org/apache/tuscany/sca/demos/aggregator/RSSCheckerServiceImpl.java b/java/sca/demos/alert-aggregator-webapp/src/main/java/org/apache/tuscany/sca/demos/aggregator/RSSCheckerServiceImpl.java
index 9b73a27625..549abbf602 100644
--- a/java/sca/demos/alert-aggregator-webapp/src/main/java/org/apache/tuscany/sca/demos/aggregator/RSSCheckerServiceImpl.java
+++ b/java/sca/demos/alert-aggregator-webapp/src/main/java/org/apache/tuscany/sca/demos/aggregator/RSSCheckerServiceImpl.java
@@ -20,6 +20,7 @@ package org.apache.tuscany.sca.demos.aggregator;
import java.net.URL;
import java.text.DateFormat;
+import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
@@ -44,9 +45,12 @@ public class RSSCheckerServiceImpl implements RSSCheckerService {
List returnAlertList = returnAlerts.getAlert();
try {
- // Turn the date into something we can process.
- DateFormat dateFormatter = DateFormat.getDateTimeInstance();
- Date timestamp = dateFormatter.parse(lastchecktimestamp);
+ // lastchecktimestamp comes from sources.xml configuration.
+ // That origin requires ISO 8601 date input (yyyy-MM-dd hh:mm:ss).
+ DateFormat configDateFormatter = new SimpleDateFormat( "yyyy-MM-dd hh:mm:ss");
+ Date timestamp = configDateFormatter.parse(lastchecktimestamp);
+ // Turn feed dates into something we can process.
+ DateFormat feedDateFormatter = DateFormat.getDateTimeInstance();
// get the feed data from the supplied address
SyndFeedInput input = new SyndFeedInput();
@@ -58,6 +62,7 @@ public class RSSCheckerServiceImpl implements RSSCheckerService {
for(Object entry: entries){
SyndEntry syndEntry = (SyndEntry)entry;
+ // System.err.println( "Entry pubdate=" + syndEntry.getPublishedDate() );
if (syndEntry.getPublishedDate().after(timestamp)){
AlertType newAlert = factory.createAlertType();
@@ -67,7 +72,7 @@ public class RSSCheckerServiceImpl implements RSSCheckerService {
// "]]>");
newAlert.setSummary("");
newAlert.setAddress(syndEntry.getLink());
- newAlert.setDate(dateFormatter.format(syndEntry.getPublishedDate()));
+ newAlert.setDate(feedDateFormatter.format(syndEntry.getPublishedDate()));
newAlert.setId(rssaddress);
newAlert.setUnread(true);
@@ -76,6 +81,7 @@ public class RSSCheckerServiceImpl implements RSSCheckerService {
}
} catch(Exception ex) {
+ ex.printStackTrace( System.err );
System.err.println("Exception " + ex.toString());
}
diff --git a/java/sca/demos/alert-aggregator-webapp/src/main/resources/sources.xml b/java/sca/demos/alert-aggregator-webapp/src/main/resources/sources.xml
index 2168c10c9c..e45250eddb 100644
--- a/java/sca/demos/alert-aggregator-webapp/src/main/resources/sources.xml
+++ b/java/sca/demos/alert-aggregator-webapp/src/main/resources/sources.xml
@@ -17,17 +17,18 @@
specific language governing permissions and limitations
under the License.
-->
+<!-- Note: the demo expects LastChecked date in ISO 8601 format (yyyy-MM-dd hh:mm:ss). -->
<ns0:Config xmlns:ns0="http://tuscany.apache.org/sca/demos/aggregator/types">
<ns0:Source Id="0" FeedType="rss">
<ns0:Name>BBC News</ns0:Name>
<ns0:Address>http://news.bbc.co.uk/</ns0:Address>
- <ns0:LastChecked>10-Jun-2007 16:34:03</ns0:LastChecked>
+ <ns0:LastChecked>2008-06-20 12:00:00</ns0:LastChecked>
<ns0:FeedAddress>http://newsrss.bbc.co.uk/rss/newsonline_uk_edition/world/rss.xml</ns0:FeedAddress>
</ns0:Source>
<ns0:Source Id="1" FeedType="rss">
<ns0:Name>Engadget</ns0:Name>
<ns0:Address>http://www.engadget.com</ns0:Address>
- <ns0:LastChecked>10-Jun-2007 16:34:03</ns0:LastChecked>
+ <ns0:LastChecked>2008-06-20 12:00:00</ns0:LastChecked>
<ns0:FeedAddress>http://www.engadget.com/rss.xml</ns0:FeedAddress>
</ns0:Source>
</ns0:Config>