diff options
author | rfeng <rfeng@13f79535-47bb-0310-9956-ffa450edef68> | 2008-06-25 06:22:15 +0000 |
---|---|---|
committer | rfeng <rfeng@13f79535-47bb-0310-9956-ffa450edef68> | 2008-06-25 06:22:15 +0000 |
commit | b54d4c62d241ffb4cea8ee390c1779a5a8e3f59e (patch) | |
tree | b6cc9bef4feef8f6d63c5e1cf874c00048c231d0 /java/sca | |
parent | f8f9abd4005d275bf6591c03ce9deb52d6cfe737 (diff) |
Apply the patch from Dan Becker on TUSCANY-2436. Thanks.
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@671442 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'java/sca')
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> |