diff options
Diffstat (limited to 'branches/sca-java-1.3/demos/xml-bigbank/src/main/java')
11 files changed, 0 insertions, 503 deletions
diff --git a/branches/sca-java-1.3/demos/xml-bigbank/src/main/java/bigbank/AccountData.java b/branches/sca-java-1.3/demos/xml-bigbank/src/main/java/bigbank/AccountData.java deleted file mode 100644 index c3ae8d0912..0000000000 --- a/branches/sca-java-1.3/demos/xml-bigbank/src/main/java/bigbank/AccountData.java +++ /dev/null @@ -1,36 +0,0 @@ -/* - * 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 bigbank; - -import java.io.IOException; - -import javax.xml.stream.XMLStreamReader; - -/** - * @version $Rev$ $Date$ - */ -public interface AccountData { - /** - * Get the StAX stream that represent the accounts data - * @return The StAX stream containign the accounts - * @throws IOException - */ - XMLStreamReader getAccounts() throws IOException; -} diff --git a/branches/sca-java-1.3/demos/xml-bigbank/src/main/java/bigbank/AccountDataImpl.java b/branches/sca-java-1.3/demos/xml-bigbank/src/main/java/bigbank/AccountDataImpl.java deleted file mode 100644 index 1c0c612987..0000000000 --- a/branches/sca-java-1.3/demos/xml-bigbank/src/main/java/bigbank/AccountDataImpl.java +++ /dev/null @@ -1,48 +0,0 @@ -/* - * 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 bigbank; - -import java.io.IOException; -import java.net.URL; - -import javax.xml.stream.XMLInputFactory; -import javax.xml.stream.XMLStreamReader; - -import org.osoa.sca.annotations.Service; - -/** - * @version $Rev$ $Date$ - */ -@Service(AccountData.class) -public class AccountDataImpl implements AccountData { - private XMLInputFactory factory = XMLInputFactory.newInstance(); - - public XMLStreamReader getAccounts() throws IOException { - URL doc = getClass().getResource("/accounts.xml"); - XMLStreamReader reader = null; - try { - reader = factory.createXMLStreamReader(doc.openStream()); - } catch (Exception e) { - e.printStackTrace(); - } - return reader; - } - -} diff --git a/branches/sca-java-1.3/demos/xml-bigbank/src/main/java/bigbank/AccountService.java b/branches/sca-java-1.3/demos/xml-bigbank/src/main/java/bigbank/AccountService.java deleted file mode 100644 index 4c72384e7b..0000000000 --- a/branches/sca-java-1.3/demos/xml-bigbank/src/main/java/bigbank/AccountService.java +++ /dev/null @@ -1,32 +0,0 @@ -/* - * 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 bigbank; - - -/** - * @version $Rev$ $Date$ - */ -public interface AccountService { - /** - * Get the total value of all accounts owned by the customer - * @return The total value - */ - double getTotalValue(); -} diff --git a/branches/sca-java-1.3/demos/xml-bigbank/src/main/java/bigbank/AccountServiceImpl.java b/branches/sca-java-1.3/demos/xml-bigbank/src/main/java/bigbank/AccountServiceImpl.java deleted file mode 100644 index 2ce1e86062..0000000000 --- a/branches/sca-java-1.3/demos/xml-bigbank/src/main/java/bigbank/AccountServiceImpl.java +++ /dev/null @@ -1,84 +0,0 @@ -/* - * 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 bigbank; - -import java.io.StringReader; - -import javax.xml.stream.XMLInputFactory; -import javax.xml.stream.XMLStreamReader; - -import org.apache.axiom.om.OMElement; -import org.osoa.sca.ServiceRuntimeException; -import org.osoa.sca.annotations.Property; -import org.osoa.sca.annotations.Reference; -import org.osoa.sca.annotations.Service; - -/** - * @version $Rev$ $Date$ - */ -@Service(AccountService.class) -public class AccountServiceImpl implements AccountService { - private static final String STOCK_QUOTE_REQUEST = - "<q:GetQuote xmlns:q=\"http://www.webserviceX.NET/\"><q:symbol>IBM GOOG MSFT</q:symbol></q:GetQuote>"; - - private XMLInputFactory factory = XMLInputFactory.newInstance(); - - @Reference - protected ExchangeRate exchangeRate; - - @Reference - protected StockQuote stockQuote; - - @Reference - protected AccountData accountData; - - @Reference - protected StockValue stockValue; - - @Property - protected String currency; - - public double getTotalValue() { - try { - double rate = exchangeRate.getExchangeRate(currency); - - System.out.println("Loading account data..."); - XMLStreamReader accounts = accountData.getAccounts(); - - System.out.println("Getting stock quote..."); - XMLStreamReader request = factory.createXMLStreamReader(new StringReader(STOCK_QUOTE_REQUEST)); - - OMElement quotes = stockQuote.GetQuote(request); - - String xml = quotes.getText(); - System.out.println(xml); - XMLStreamReader qts = factory.createXMLStreamReader(new StringReader(xml)); - System.out.println("Calculating total value..."); - double value = stockValue.calculate(qts, accounts); - - System.out.println("Total Value=USD " + value); - - return value * rate; - } catch (Exception e) { - throw new ServiceRuntimeException(e); - } - } - -} diff --git a/branches/sca-java-1.3/demos/xml-bigbank/src/main/java/bigbank/BigBankClient.java b/branches/sca-java-1.3/demos/xml-bigbank/src/main/java/bigbank/BigBankClient.java deleted file mode 100644 index a7703787fb..0000000000 --- a/branches/sca-java-1.3/demos/xml-bigbank/src/main/java/bigbank/BigBankClient.java +++ /dev/null @@ -1,35 +0,0 @@ -/* - * 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 bigbank; - -import org.apache.tuscany.sca.host.embedded.SCADomain; - -/** - * This client program to invoke the Account service - */ -public class BigBankClient { - - public static void main(String[] args) throws Exception { - - SCADomain domain = SCADomain.newInstance("BigBank.composite"); - AccountService accountService = domain.getService(AccountService.class, "AccountService"); - - System.out.println("EUR: " + accountService.getTotalValue()); - } -} diff --git a/branches/sca-java-1.3/demos/xml-bigbank/src/main/java/bigbank/BigBankServer.java b/branches/sca-java-1.3/demos/xml-bigbank/src/main/java/bigbank/BigBankServer.java deleted file mode 100644 index f5f1ca90b6..0000000000 --- a/branches/sca-java-1.3/demos/xml-bigbank/src/main/java/bigbank/BigBankServer.java +++ /dev/null @@ -1,40 +0,0 @@ -/* - * 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 bigbank; - -import org.apache.tuscany.sca.host.embedded.SCADomain; - -/** - * @version $Rev$ $Date$ - */ -public class BigBankServer { - public static void main(String[] args) throws Exception { - - System.out.println("Starting the BigBank Service..."); - - SCADomain domain = SCADomain.newInstance("http://localhost", "/", "BigBank.composite"); - - System.out.println("Press Enter to Exit..."); - System.in.read(); - - domain.close(); - System.out.println("Bye"); - } -} diff --git a/branches/sca-java-1.3/demos/xml-bigbank/src/main/java/bigbank/CurrencyExchange.java b/branches/sca-java-1.3/demos/xml-bigbank/src/main/java/bigbank/CurrencyExchange.java deleted file mode 100644 index bb8ff85f45..0000000000 --- a/branches/sca-java-1.3/demos/xml-bigbank/src/main/java/bigbank/CurrencyExchange.java +++ /dev/null @@ -1,36 +0,0 @@ -/* - * 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 bigbank; - -import org.osoa.sca.annotations.Remotable; - -import com.sun.syndication.feed.synd.SyndFeed; - -/** - * @version $Rev$ $Date$ - */ -@Remotable -public interface CurrencyExchange { - /** - * Get the currency exchange rates as a RSS feed - * @return - */ - SyndFeed getRates(); -} diff --git a/branches/sca-java-1.3/demos/xml-bigbank/src/main/java/bigbank/ExchangeRate.java b/branches/sca-java-1.3/demos/xml-bigbank/src/main/java/bigbank/ExchangeRate.java deleted file mode 100644 index 358e5e19a2..0000000000 --- a/branches/sca-java-1.3/demos/xml-bigbank/src/main/java/bigbank/ExchangeRate.java +++ /dev/null @@ -1,32 +0,0 @@ -/* - * 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 bigbank; - -/** - * @version $Rev$ $Date$ - */ -public interface ExchangeRate { - /** - * Look up the exchange rate of a currency against USD - * @param currency The currency - * @return The exchange rate - */ - double getExchangeRate(String currency); -} diff --git a/branches/sca-java-1.3/demos/xml-bigbank/src/main/java/bigbank/ExchangeRateImpl.java b/branches/sca-java-1.3/demos/xml-bigbank/src/main/java/bigbank/ExchangeRateImpl.java deleted file mode 100644 index fcb3707cfe..0000000000 --- a/branches/sca-java-1.3/demos/xml-bigbank/src/main/java/bigbank/ExchangeRateImpl.java +++ /dev/null @@ -1,84 +0,0 @@ -/* - * 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 bigbank; - -import java.io.ByteArrayInputStream; - -import javax.xml.parsers.DocumentBuilder; -import javax.xml.parsers.DocumentBuilderFactory; -import javax.xml.parsers.ParserConfigurationException; -import javax.xml.xpath.XPath; -import javax.xml.xpath.XPathConstants; -import javax.xml.xpath.XPathExpression; -import javax.xml.xpath.XPathFactory; - -import org.osoa.sca.ServiceRuntimeException; -import org.osoa.sca.annotations.Reference; -import org.osoa.sca.annotations.Service; -import org.w3c.dom.Document; -import org.w3c.dom.Node; - -import com.sun.syndication.feed.synd.SyndEntry; -import com.sun.syndication.feed.synd.SyndFeed; - -/** - * @version $Rev$ $Date$ - */ -@Service(ExchangeRate.class) -public class ExchangeRateImpl { - @Reference - protected CurrencyExchange exchangeRate; - - private final DocumentBuilder builder; - - public ExchangeRateImpl() { - try { - builder = DocumentBuilderFactory.newInstance().newDocumentBuilder(); - } catch (ParserConfigurationException e) { - throw new IllegalArgumentException(e); - } - } - - /** - * Retrieve the live currency exchange rate from a live feed and extract the data for a given - * currecy using XPath - * @param currency The currency - * @return The exchange rate - */ - public double getExchangeRate(String currency) { - try { - System.out.println("Retrieving exchange rate..."); - SyndFeed feed = exchangeRate.getRates(); - SyndEntry entry = (SyndEntry)feed.getEntries().get(0); - String rateTable = entry.getDescription().getValue(); - - Document doc = builder.parse(new ByteArrayInputStream(rateTable.getBytes())); - Node node = doc.getDocumentElement(); - XPath path = XPathFactory.newInstance().newXPath(); - XPathExpression exp = path.compile("/TABLE/TR[TD[1]='" + currency.toUpperCase() + "']/TD[2]"); - Node rateNode = (Node)exp.evaluate(node, XPathConstants.NODE); - double rate = Double.valueOf(rateNode.getTextContent().trim()); - System.out.println("Exchange rate: USD 1.0=" + currency + " " + rate); - return rate; - } catch (Exception e) { - throw new ServiceRuntimeException(e); - } - } -} diff --git a/branches/sca-java-1.3/demos/xml-bigbank/src/main/java/bigbank/StockQuote.java b/branches/sca-java-1.3/demos/xml-bigbank/src/main/java/bigbank/StockQuote.java deleted file mode 100644 index 26753a9e9e..0000000000 --- a/branches/sca-java-1.3/demos/xml-bigbank/src/main/java/bigbank/StockQuote.java +++ /dev/null @@ -1,38 +0,0 @@ -/* - * 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 bigbank; - -import javax.xml.stream.XMLStreamReader; - -import org.apache.axiom.om.OMElement; -import org.osoa.sca.annotations.Remotable; - -/** - * @version $Rev$ $Date$ - */ -@Remotable -public interface StockQuote { - /** - * Invoke the stock quote web service to get the live quotes - * @param input The StAX stream of the request - * @return The StAX stream of the response - */ - public OMElement GetQuote(XMLStreamReader input); -} diff --git a/branches/sca-java-1.3/demos/xml-bigbank/src/main/java/bigbank/StockValue.java b/branches/sca-java-1.3/demos/xml-bigbank/src/main/java/bigbank/StockValue.java deleted file mode 100644 index c300103398..0000000000 --- a/branches/sca-java-1.3/demos/xml-bigbank/src/main/java/bigbank/StockValue.java +++ /dev/null @@ -1,38 +0,0 @@ -/* - * 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 bigbank; - -import javax.xml.stream.XMLStreamReader; - -import org.osoa.sca.annotations.Remotable; - -/** - * @version $Rev$ $Date$ - */ -@Remotable -public interface StockValue { - /** - * Join the quotes and accounts document to calculate the value - * @param quotes The quotes XML document - * @param accounts The accounts XML document - * @return The value - */ - double calculate(XMLStreamReader quotes, XMLStreamReader accounts); -} |