summaryrefslogtreecommitdiffstats
path: root/sca-java-1.x/branches/sca-java-1.6.1/demos/xml-bigbank/src/main/java/bigbank/ExchangeRateImpl.java
diff options
context:
space:
mode:
authornash <nash@13f79535-47bb-0310-9956-ffa450edef68>2010-09-26 21:35:52 +0000
committernash <nash@13f79535-47bb-0310-9956-ffa450edef68>2010-09-26 21:35:52 +0000
commit3ec9ac7605408a7c6e16af8940e104405a826beb (patch)
tree7a903c751c66eab5d11a02b7eedcc15be6fd0d1f /sca-java-1.x/branches/sca-java-1.6.1/demos/xml-bigbank/src/main/java/bigbank/ExchangeRateImpl.java
parentf394e0b2cf9ff798ca295a98314b3b39c7e09267 (diff)
TUSCANY-3690: Handle unavailability of live RSS feed or web service by using historical data
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@1001526 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'sca-java-1.x/branches/sca-java-1.6.1/demos/xml-bigbank/src/main/java/bigbank/ExchangeRateImpl.java')
-rw-r--r--sca-java-1.x/branches/sca-java-1.6.1/demos/xml-bigbank/src/main/java/bigbank/ExchangeRateImpl.java14
1 files changed, 13 insertions, 1 deletions
diff --git a/sca-java-1.x/branches/sca-java-1.6.1/demos/xml-bigbank/src/main/java/bigbank/ExchangeRateImpl.java b/sca-java-1.x/branches/sca-java-1.6.1/demos/xml-bigbank/src/main/java/bigbank/ExchangeRateImpl.java
index fcb3707cfe..11c300cd3c 100644
--- a/sca-java-1.x/branches/sca-java-1.6.1/demos/xml-bigbank/src/main/java/bigbank/ExchangeRateImpl.java
+++ b/sca-java-1.x/branches/sca-java-1.6.1/demos/xml-bigbank/src/main/java/bigbank/ExchangeRateImpl.java
@@ -65,7 +65,19 @@ public class ExchangeRateImpl {
public double getExchangeRate(String currency) {
try {
System.out.println("Retrieving exchange rate...");
- SyndFeed feed = exchangeRate.getRates();
+
+ // first try to get a live exchange rate quote from the RSS feed
+ SyndFeed feed = null;
+ try {
+ feed = exchangeRate.getRates();
+
+ // if the RSS feed isn't responding, continue with the demo using historical data
+ } catch (Exception e) {
+ System.out.println("Exchange rate live quote not available, using historical data");
+ return 0.74107;
+ }
+
+ // extract the exchange rate from the feed data
SyndEntry entry = (SyndEntry)feed.getEntries().get(0);
String rateTable = entry.getDescription().getValue();