From bdd0a41aed7edf21ec2a65cfa17a86af2ef8c48a Mon Sep 17 00:00:00 2001 From: dims Date: Tue, 17 Jun 2008 00:23:01 +0000 Subject: Move Tuscany from Incubator to top level. git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@668359 13f79535-47bb-0310-9956-ffa450edef68 --- .../demos/bigbank-account/README | 50 ++ .../demos/bigbank-account/bigbank.png | Bin 0 -> 100070 bytes .../demos/bigbank-account/bigbank.svg | 519 +++++++++++++++++++++ .../demos/bigbank-account/build.xml | 81 ++++ .../demos/bigbank-account/pom-runapp.xml | 160 +++++++ .../demos/bigbank-account/pom.xml | 163 +++++++ .../demos/bigbank-account/runapp.xml | 37 ++ .../main/java/bigbank/account/AccountService.java | 34 ++ .../java/bigbank/account/AccountServiceImpl.java | 85 ++++ .../java/bigbank/account/feed/AccountFeedImpl.java | 68 +++ .../bigbank/accountdata/AccountDataService.java | 33 ++ .../accountdata/AccountDataServiceImpl.java | 57 +++ .../java/bigbank/accountdata/CheckingAccount.java | 49 ++ .../java/bigbank/accountdata/SavingsAccount.java | 49 ++ .../java/bigbank/accountdata/StockAccount.java | 58 +++ .../main/java/bigbank/client/BigBankClient.java | 50 ++ .../src/main/java/bigbank/demo/BigBankServer.java | 44 ++ .../main/java/calculator/CalculatorService.java | 34 ++ .../main/java/stockquote/StockQuoteService.java | 33 ++ .../src/main/resources/AccountData.composite | 32 ++ .../src/main/resources/BigBank.composite | 69 +++ .../src/main/resources/web/AccountJSON.html | 87 ++++ .../src/main/resources/web/style.css | 22 + .../src/main/resources/wsdl/AccountService.wsdl | 91 ++++ .../src/main/resources/wsdl/StockQuote.wsdl | 79 ++++ .../src/test/java/test/BigBankTestCase.java | 44 ++ 26 files changed, 2028 insertions(+) create mode 100644 tags/java/sca/0.91-rc2-incubating/demos/bigbank-account/README create mode 100644 tags/java/sca/0.91-rc2-incubating/demos/bigbank-account/bigbank.png create mode 100644 tags/java/sca/0.91-rc2-incubating/demos/bigbank-account/bigbank.svg create mode 100644 tags/java/sca/0.91-rc2-incubating/demos/bigbank-account/build.xml create mode 100644 tags/java/sca/0.91-rc2-incubating/demos/bigbank-account/pom-runapp.xml create mode 100644 tags/java/sca/0.91-rc2-incubating/demos/bigbank-account/pom.xml create mode 100644 tags/java/sca/0.91-rc2-incubating/demos/bigbank-account/runapp.xml create mode 100644 tags/java/sca/0.91-rc2-incubating/demos/bigbank-account/src/main/java/bigbank/account/AccountService.java create mode 100644 tags/java/sca/0.91-rc2-incubating/demos/bigbank-account/src/main/java/bigbank/account/AccountServiceImpl.java create mode 100644 tags/java/sca/0.91-rc2-incubating/demos/bigbank-account/src/main/java/bigbank/account/feed/AccountFeedImpl.java create mode 100644 tags/java/sca/0.91-rc2-incubating/demos/bigbank-account/src/main/java/bigbank/accountdata/AccountDataService.java create mode 100644 tags/java/sca/0.91-rc2-incubating/demos/bigbank-account/src/main/java/bigbank/accountdata/AccountDataServiceImpl.java create mode 100644 tags/java/sca/0.91-rc2-incubating/demos/bigbank-account/src/main/java/bigbank/accountdata/CheckingAccount.java create mode 100644 tags/java/sca/0.91-rc2-incubating/demos/bigbank-account/src/main/java/bigbank/accountdata/SavingsAccount.java create mode 100644 tags/java/sca/0.91-rc2-incubating/demos/bigbank-account/src/main/java/bigbank/accountdata/StockAccount.java create mode 100644 tags/java/sca/0.91-rc2-incubating/demos/bigbank-account/src/main/java/bigbank/client/BigBankClient.java create mode 100644 tags/java/sca/0.91-rc2-incubating/demos/bigbank-account/src/main/java/bigbank/demo/BigBankServer.java create mode 100644 tags/java/sca/0.91-rc2-incubating/demos/bigbank-account/src/main/java/calculator/CalculatorService.java create mode 100644 tags/java/sca/0.91-rc2-incubating/demos/bigbank-account/src/main/java/stockquote/StockQuoteService.java create mode 100644 tags/java/sca/0.91-rc2-incubating/demos/bigbank-account/src/main/resources/AccountData.composite create mode 100644 tags/java/sca/0.91-rc2-incubating/demos/bigbank-account/src/main/resources/BigBank.composite create mode 100644 tags/java/sca/0.91-rc2-incubating/demos/bigbank-account/src/main/resources/web/AccountJSON.html create mode 100644 tags/java/sca/0.91-rc2-incubating/demos/bigbank-account/src/main/resources/web/style.css create mode 100644 tags/java/sca/0.91-rc2-incubating/demos/bigbank-account/src/main/resources/wsdl/AccountService.wsdl create mode 100644 tags/java/sca/0.91-rc2-incubating/demos/bigbank-account/src/main/resources/wsdl/StockQuote.wsdl create mode 100644 tags/java/sca/0.91-rc2-incubating/demos/bigbank-account/src/test/java/test/BigBankTestCase.java (limited to 'tags/java/sca/0.91-rc2-incubating/demos/bigbank-account') diff --git a/tags/java/sca/0.91-rc2-incubating/demos/bigbank-account/README b/tags/java/sca/0.91-rc2-incubating/demos/bigbank-account/README new file mode 100644 index 0000000000..074d9c7fb6 --- /dev/null +++ b/tags/java/sca/0.91-rc2-incubating/demos/bigbank-account/README @@ -0,0 +1,50 @@ +BigBank +====== + +This application comprises three modules that represent the different aspects +of a fictitious banking application. To run the sample you need to run each of +the modules sample servers. This will bring up a Tuscany runtime, load the +application and make the application's services available. You will need both +ant and maven installed to run these applications. + +Bigbank-calculator + +A calculator application, based on the calculator-script sample that uses a +variety of languages to implement a calculator, which the banking application +uses for simple value multiplication. To run the service do the following: + +cd bigbank-calculator +Ant run + +Bigbank-stockquote + +A very simple web services based stock quote application which returns random +stock quotes on request. + +cd bigbank-stockquote +Ant run + +Bigbank-account + +The front end of this demo application this module provides a web app for +retrieving account information. It makes calls out to the stockquote and +calculator applications to satisfy account requests. See the README in this +module for further instructions. + +cd bigbank-account +mvn -f pom-runapp.xml + +Maven is used in this last step as there are unresolved issues with running +this app from the provided ant file. + +To try the app out point you browser at: + +http://localhost:8082/WebResourceComponent/AccountJSON.html + +This should display an interface with a single button that goes and retrieves +a single set of account details exercising services across the three running +SCA applications. + + + + diff --git a/tags/java/sca/0.91-rc2-incubating/demos/bigbank-account/bigbank.png b/tags/java/sca/0.91-rc2-incubating/demos/bigbank-account/bigbank.png new file mode 100644 index 0000000000..985cc6bd05 Binary files /dev/null and b/tags/java/sca/0.91-rc2-incubating/demos/bigbank-account/bigbank.png differ diff --git a/tags/java/sca/0.91-rc2-incubating/demos/bigbank-account/bigbank.svg b/tags/java/sca/0.91-rc2-incubating/demos/bigbank-account/bigbank.svg new file mode 100644 index 0000000000..6698b8cc9b --- /dev/null +++ b/tags/java/sca/0.91-rc2-incubating/demos/bigbank-account/bigbank.svg @@ -0,0 +1,519 @@ + + + + + + + + + image/svg+xml + + + + + + + + CompositeBigBank WebApp + + Component AccountJava + + + + Component AccountDataJava + binding.jsonrpc + binding.ws + binding.rmi + + + + CompositeStockQuote + + CompositeCalculator + + Component CalculatorJava + + + + Component AddJavascript + binding.rmi + + + Component SubtractRuby + + Component MultiplyPython + + Component DivideGroovy + + + + Component StockQuoteJava + + binding.ws + + + + + + + + + + + + + + + diff --git a/tags/java/sca/0.91-rc2-incubating/demos/bigbank-account/build.xml b/tags/java/sca/0.91-rc2-incubating/demos/bigbank-account/build.xml new file mode 100644 index 0000000000..040bf2de83 --- /dev/null +++ b/tags/java/sca/0.91-rc2-incubating/demos/bigbank-account/build.xml @@ -0,0 +1,81 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tags/java/sca/0.91-rc2-incubating/demos/bigbank-account/pom-runapp.xml b/tags/java/sca/0.91-rc2-incubating/demos/bigbank-account/pom-runapp.xml new file mode 100644 index 0000000000..20b74325e6 --- /dev/null +++ b/tags/java/sca/0.91-rc2-incubating/demos/bigbank-account/pom-runapp.xml @@ -0,0 +1,160 @@ + + + + 4.0.0 + + org.apache.tuscany.sca + tuscany-demos + 0.91-incubating + ../pom.xml + + demo-bigbank-account + jar + Apache Tuscany BigBank Account Demo + + + + + apache.incubator + http://people.apache.org/repo/m2-incubating-repository + + + + + + org.apache.tuscany.sca + tuscany-host-embedded + 0.91-incubating + + + + org.apache.tuscany.sca + tuscany-binding-feed + 0.91-incubating + + + + org.apache.tuscany.sca + tuscany-implementation-java-runtime + 0.91-incubating + runtime + + + + org.apache.tuscany.sca + tuscany-binding-ws-axis2 + 0.91-incubating + runtime + + + + org.apache.tuscany.sca + tuscany-binding-jsonrpc + 0.91-incubating + runtime + + + + org.apache.tuscany.sca + tuscany-binding-rmi + 0.91-incubating + runtime + + + + org.apache.tuscany.sca + tuscany-implementation-resource + 0.91-incubating + runtime + + + + org.apache.tuscany.sca + tuscany-http-jetty + 0.91-incubating + runtime + + + + junit + junit + 4.2 + test + + + + + + demo-bigbank-account + + + org.apache.maven.plugins + maven-antrun-plugin + + + install-dojo + validate + + run + + + + + + + + + + + copy-dojo-files + generate-resources + + run + + + + + + + + + + + + clean-dojo-files + clean + + run + + + + + + + + + + + + + + + + diff --git a/tags/java/sca/0.91-rc2-incubating/demos/bigbank-account/pom.xml b/tags/java/sca/0.91-rc2-incubating/demos/bigbank-account/pom.xml new file mode 100644 index 0000000000..ccf35c0e26 --- /dev/null +++ b/tags/java/sca/0.91-rc2-incubating/demos/bigbank-account/pom.xml @@ -0,0 +1,163 @@ + + + + 4.0.0 + + org.apache.tuscany.sca + tuscany-demos + 0.91-incubating + ../pom.xml + + demo-bigbank-account + jar + Apache Tuscany BigBank Account Demo + + + true + + + + + apache.incubator + http://people.apache.org/repo/m2-incubating-repository + + + + + + org.apache.tuscany.sca + tuscany-host-embedded + 0.91-incubating + + + + org.apache.tuscany.sca + tuscany-binding-feed + 0.91-incubating + + + + org.apache.tuscany.sca + tuscany-implementation-java-runtime + 0.91-incubating + runtime + + + + org.apache.tuscany.sca + tuscany-binding-ws-axis2 + 0.91-incubating + runtime + + + + org.apache.tuscany.sca + tuscany-binding-jsonrpc + 0.91-incubating + runtime + + + + org.apache.tuscany.sca + tuscany-binding-rmi + 0.91-incubating + runtime + + + + org.apache.tuscany.sca + tuscany-implementation-resource + 0.91-incubating + runtime + + + + org.apache.tuscany.sca + tuscany-http-jetty + 0.91-incubating + runtime + + + + junit + junit + 4.2 + test + + + + + + demo-bigbank-account + + + org.apache.maven.plugins + maven-antrun-plugin + + + install-dojo + validate + + run + + + + + + + + + + + copy-dojo-files + generate-resources + + run + + + + + + + + + + + + clean-dojo-files + clean + + run + + + + + + + + + + + + + + + + diff --git a/tags/java/sca/0.91-rc2-incubating/demos/bigbank-account/runapp.xml b/tags/java/sca/0.91-rc2-incubating/demos/bigbank-account/runapp.xml new file mode 100644 index 0000000000..9f286f75fb --- /dev/null +++ b/tags/java/sca/0.91-rc2-incubating/demos/bigbank-account/runapp.xml @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + diff --git a/tags/java/sca/0.91-rc2-incubating/demos/bigbank-account/src/main/java/bigbank/account/AccountService.java b/tags/java/sca/0.91-rc2-incubating/demos/bigbank-account/src/main/java/bigbank/account/AccountService.java new file mode 100644 index 0000000000..abe65cbbe0 --- /dev/null +++ b/tags/java/sca/0.91-rc2-incubating/demos/bigbank-account/src/main/java/bigbank/account/AccountService.java @@ -0,0 +1,34 @@ +/* + * 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.account; + +import org.osoa.sca.annotations.Remotable; +import org.osoa.sca.annotations.Service; + +/** + * @version $$Rev$$ $$Date$$ + */ + +@Remotable +@Service +public interface AccountService { + + public double getAccountReport(String customerID); + +} diff --git a/tags/java/sca/0.91-rc2-incubating/demos/bigbank-account/src/main/java/bigbank/account/AccountServiceImpl.java b/tags/java/sca/0.91-rc2-incubating/demos/bigbank-account/src/main/java/bigbank/account/AccountServiceImpl.java new file mode 100644 index 0000000000..4f1afee204 --- /dev/null +++ b/tags/java/sca/0.91-rc2-incubating/demos/bigbank-account/src/main/java/bigbank/account/AccountServiceImpl.java @@ -0,0 +1,85 @@ +/* + * 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.account; + +import org.osoa.sca.annotations.Property; +import org.osoa.sca.annotations.Reference; +import org.osoa.sca.annotations.Service; + +import stockquote.StockQuoteService; +import bigbank.accountdata.AccountDataService; +import bigbank.accountdata.CheckingAccount; +import bigbank.accountdata.SavingsAccount; +import bigbank.accountdata.StockAccount; +import calculator.CalculatorService; + +/** + * @version $$Rev$$ $$Date$$ + */ + +@Service(AccountService.class) +public class AccountServiceImpl implements AccountService { + + @Reference + protected AccountDataService accountDataService; + + @Reference + protected StockQuoteService stockQuoteService; + + @Reference + protected CalculatorService calculatorService; + + @Property + protected String currency; + + public double getAccountReport(String customerID) { + + // Get the checking, savings and stock accounts from the AccountData + // service component + CheckingAccount checking = accountDataService.getCheckingAccount(customerID); + System.out.println("Checking account: " + checking); + + SavingsAccount savings = accountDataService.getSavingsAccount(customerID); + System.out.println("Savings account: " + savings); + + StockAccount stock = accountDataService.getStockAccount(customerID); + System.out.println("Stock account: " + stock); + + // Get the stock price in USD + double price = stockQuoteService.getQuote(stock.getSymbol()); + System.out.println("Stock price for " + stock.getSymbol() + ": " + price); + + // Convert to the configured currency + if (currency.equals("EURO")) { + + // Use our fancy calculator service to convert to the target currency + price = calculatorService.multiply(price, 0.70); + + System.out.println("Converted to " + currency + ": " + price); + } + + // Calculate the value of the stock account + double stockValue = price * stock.getQuantity(); + + // Calculate the total balance of all accounts and return it + double balance = checking.getBalance() + savings.getBalance() + stockValue; + + return balance; + } +} diff --git a/tags/java/sca/0.91-rc2-incubating/demos/bigbank-account/src/main/java/bigbank/account/feed/AccountFeedImpl.java b/tags/java/sca/0.91-rc2-incubating/demos/bigbank-account/src/main/java/bigbank/account/feed/AccountFeedImpl.java new file mode 100644 index 0000000000..1df30580da --- /dev/null +++ b/tags/java/sca/0.91-rc2-incubating/demos/bigbank-account/src/main/java/bigbank/account/feed/AccountFeedImpl.java @@ -0,0 +1,68 @@ +/* + * 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.account.feed; + +import org.apache.tuscany.sca.binding.feed.Feed; +import org.osoa.sca.annotations.Reference; +import org.osoa.sca.annotations.Service; + +import bigbank.account.AccountService; + +import com.sun.syndication.feed.synd.SyndContent; +import com.sun.syndication.feed.synd.SyndContentImpl; +import com.sun.syndication.feed.synd.SyndEntry; +import com.sun.syndication.feed.synd.SyndEntryImpl; +import com.sun.syndication.feed.synd.SyndFeed; +import com.sun.syndication.feed.synd.SyndFeedImpl; + +/** + * @version $$Rev$$ $$Date$$ + */ + +@Service(Feed.class) +public class AccountFeedImpl implements Feed { + + @Reference + protected AccountService accountService; + + @SuppressWarnings("unchecked") + public SyndFeed get(String uri) { + + // Get the account report for the specified customer ID + String customerID = uri.substring(uri.lastIndexOf('/')+1); + double balance = accountService.getAccountReport(customerID); + String value = Double.toString(balance); + + // Create a new Feed + SyndFeed feed = new SyndFeedImpl(); + feed.setTitle("Account Report Feed"); + feed.setDescription("A sample Account Report feed"); + feed.setAuthor("anonymous"); + feed.setLink(uri); + + SyndEntry entry = new SyndEntryImpl(); + entry.setAuthor("anonymous"); + SyndContent content = new SyndContentImpl(); + content.setValue(value); + entry.setDescription(content); + feed.getEntries().add(entry); + + return feed; + } +} diff --git a/tags/java/sca/0.91-rc2-incubating/demos/bigbank-account/src/main/java/bigbank/accountdata/AccountDataService.java b/tags/java/sca/0.91-rc2-incubating/demos/bigbank-account/src/main/java/bigbank/accountdata/AccountDataService.java new file mode 100644 index 0000000000..02f4d0e7b6 --- /dev/null +++ b/tags/java/sca/0.91-rc2-incubating/demos/bigbank-account/src/main/java/bigbank/accountdata/AccountDataService.java @@ -0,0 +1,33 @@ +/* + * 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.accountdata; + +/** + * @version $$Rev$$ $$Date$$ + */ + +public interface AccountDataService { + + public CheckingAccount getCheckingAccount(String customerID); + + public SavingsAccount getSavingsAccount(String customerID); + + public StockAccount getStockAccount(String customerID); + +} diff --git a/tags/java/sca/0.91-rc2-incubating/demos/bigbank-account/src/main/java/bigbank/accountdata/AccountDataServiceImpl.java b/tags/java/sca/0.91-rc2-incubating/demos/bigbank-account/src/main/java/bigbank/accountdata/AccountDataServiceImpl.java new file mode 100644 index 0000000000..2e1290aa5f --- /dev/null +++ b/tags/java/sca/0.91-rc2-incubating/demos/bigbank-account/src/main/java/bigbank/accountdata/AccountDataServiceImpl.java @@ -0,0 +1,57 @@ +/* + * 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.accountdata; + +import org.osoa.sca.annotations.Service; + +/** + * @version $$Rev$$ $$Date$$ + */ + +@Service(AccountDataService.class) +public class AccountDataServiceImpl implements AccountDataService { + + public CheckingAccount getCheckingAccount(String customerID) { + + CheckingAccount checkingAccount = new CheckingAccount(); + checkingAccount.setAccountNumber("CHA_" + customerID); + checkingAccount.setBalance(500.0f); + + return checkingAccount; + } + + public SavingsAccount getSavingsAccount(String customerID) { + + SavingsAccount savingsAccount = new SavingsAccount(); + savingsAccount.setAccountNumber("SAA_" + customerID); + savingsAccount.setBalance(1500.0f); + + return savingsAccount; + } + + public StockAccount getStockAccount(String customerID) { + + StockAccount stockAccount = new StockAccount(); + stockAccount.setAccountNumber("STA_" + customerID); + stockAccount.setSymbol("IBM"); + stockAccount.setQuantity(100); + + return stockAccount; + } +} diff --git a/tags/java/sca/0.91-rc2-incubating/demos/bigbank-account/src/main/java/bigbank/accountdata/CheckingAccount.java b/tags/java/sca/0.91-rc2-incubating/demos/bigbank-account/src/main/java/bigbank/accountdata/CheckingAccount.java new file mode 100644 index 0000000000..567991a555 --- /dev/null +++ b/tags/java/sca/0.91-rc2-incubating/demos/bigbank-account/src/main/java/bigbank/accountdata/CheckingAccount.java @@ -0,0 +1,49 @@ +/* + * 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.accountdata; + +/** + * @version $$Rev$$ $$Date: 2007-04-09 12:03:34 -0700 (Mon, 09 Apr + * 2007) $$ + */ + +public class CheckingAccount { + private String accountNumber; + private double balance; + + public String getAccountNumber() { + return accountNumber; + } + + public void setAccountNumber(String n) { + this.accountNumber = n; + } + + public double getBalance() { + return balance; + } + + public void setBalance(double b) { + this.balance = b; + } + + public String toString() { + return accountNumber + ", balance:" + balance; + } +} diff --git a/tags/java/sca/0.91-rc2-incubating/demos/bigbank-account/src/main/java/bigbank/accountdata/SavingsAccount.java b/tags/java/sca/0.91-rc2-incubating/demos/bigbank-account/src/main/java/bigbank/accountdata/SavingsAccount.java new file mode 100644 index 0000000000..8f826bedaa --- /dev/null +++ b/tags/java/sca/0.91-rc2-incubating/demos/bigbank-account/src/main/java/bigbank/accountdata/SavingsAccount.java @@ -0,0 +1,49 @@ +/* + * 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.accountdata; + +/** + * @version $$Rev$$ $$Date: 2007-04-09 12:03:34 -0700 (Mon, 09 Apr + * 2007) $$ + */ + +public class SavingsAccount { + private String accountNumber; + private double balance; + + public String getAccountNumber() { + return accountNumber; + } + + public void setAccountNumber(String n) { + this.accountNumber = n; + } + + public double getBalance() { + return balance; + } + + public void setBalance(double b) { + this.balance = b; + } + + public String toString() { + return accountNumber + ", balance:" + balance; + } +} diff --git a/tags/java/sca/0.91-rc2-incubating/demos/bigbank-account/src/main/java/bigbank/accountdata/StockAccount.java b/tags/java/sca/0.91-rc2-incubating/demos/bigbank-account/src/main/java/bigbank/accountdata/StockAccount.java new file mode 100644 index 0000000000..52d1b8d8ad --- /dev/null +++ b/tags/java/sca/0.91-rc2-incubating/demos/bigbank-account/src/main/java/bigbank/accountdata/StockAccount.java @@ -0,0 +1,58 @@ +/* + * 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.accountdata; + +/** + * @version $$Rev$$ $$Date: 2007-04-09 12:03:34 -0700 (Mon, 09 Apr + * 2007) $$ + */ + +public class StockAccount { + private String accountNumber; + private String symbol; + private int quantity; + + public String getAccountNumber() { + return accountNumber; + } + + public void setAccountNumber(String n) { + this.accountNumber = n; + } + + public double getQuantity() { + return quantity; + } + + public void setQuantity(int a) { + this.quantity = a; + } + + public String getSymbol() { + return symbol; + } + + public void setSymbol(String s) { + this.symbol = s; + } + + public String toString() { + return accountNumber + ", symbol:" + symbol + ", quantity:" + quantity; + } +} diff --git a/tags/java/sca/0.91-rc2-incubating/demos/bigbank-account/src/main/java/bigbank/client/BigBankClient.java b/tags/java/sca/0.91-rc2-incubating/demos/bigbank-account/src/main/java/bigbank/client/BigBankClient.java new file mode 100644 index 0000000000..a7fa5ecc22 --- /dev/null +++ b/tags/java/sca/0.91-rc2-incubating/demos/bigbank-account/src/main/java/bigbank/client/BigBankClient.java @@ -0,0 +1,50 @@ +/* + * 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.client; + +import org.apache.tuscany.sca.host.embedded.SCADomain; + +import bigbank.account.AccountService; + +/** + * This client program shows how to create an SCA runtime, start it, + * and locate and invoke a SCA component + */ +public class BigBankClient { + + public static void main(String[] args) throws Exception { + + SCADomain domain = SCADomain.newInstance("BigBank.composite"); + + AccountService accountService = domain.getService(AccountService.class, "AccountServiceComponent"); + + String customerID = "1234"; + + System.out.println("Calling account service for customer: " + customerID); + System.out.println(); + double balance = accountService.getAccountReport(customerID); + + System.out.println(); + System.out.println("Balance: " + balance); + + domain.close(); + } + +} diff --git a/tags/java/sca/0.91-rc2-incubating/demos/bigbank-account/src/main/java/bigbank/demo/BigBankServer.java b/tags/java/sca/0.91-rc2-incubating/demos/bigbank-account/src/main/java/bigbank/demo/BigBankServer.java new file mode 100644 index 0000000000..4132abe929 --- /dev/null +++ b/tags/java/sca/0.91-rc2-incubating/demos/bigbank-account/src/main/java/bigbank/demo/BigBankServer.java @@ -0,0 +1,44 @@ +/* + * 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.demo; + +import org.apache.tuscany.sca.host.embedded.SCADomain; + +/** + * This client program shows how to create an SCA runtime, start it, + * and locate and invoke a SCA component + */ +public class BigBankServer { + + public static void main(String[] args) throws Exception { + + System.out.println("Starting the Sample SCA BigBank server..."); + + SCADomain domain = SCADomain.newInstance("BigBank.composite"); + + System.out.println("Press Enter to Exit..."); + System.in.read(); + + domain.close(); + + System.out.println("Bye"); + } + +} diff --git a/tags/java/sca/0.91-rc2-incubating/demos/bigbank-account/src/main/java/calculator/CalculatorService.java b/tags/java/sca/0.91-rc2-incubating/demos/bigbank-account/src/main/java/calculator/CalculatorService.java new file mode 100644 index 0000000000..c89043276e --- /dev/null +++ b/tags/java/sca/0.91-rc2-incubating/demos/bigbank-account/src/main/java/calculator/CalculatorService.java @@ -0,0 +1,34 @@ +/* + * 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 calculator; + +/** + * The Calculator service interface. + */ +public interface CalculatorService { + + double add(double n1, double n2); + + double subtract(double n1, double n2); + + double multiply(double n1, double n2); + + double divide(double n1, double n2); + +} diff --git a/tags/java/sca/0.91-rc2-incubating/demos/bigbank-account/src/main/java/stockquote/StockQuoteService.java b/tags/java/sca/0.91-rc2-incubating/demos/bigbank-account/src/main/java/stockquote/StockQuoteService.java new file mode 100644 index 0000000000..1607344788 --- /dev/null +++ b/tags/java/sca/0.91-rc2-incubating/demos/bigbank-account/src/main/java/stockquote/StockQuoteService.java @@ -0,0 +1,33 @@ +/* + * 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 stockquote; + +import org.osoa.sca.annotations.Remotable; +import org.osoa.sca.annotations.Service; + +/** + * This is the business interface of the StockQuote service. + */ +@Remotable +@Service +public interface StockQuoteService { + + public double getQuote(String symbol); +} + diff --git a/tags/java/sca/0.91-rc2-incubating/demos/bigbank-account/src/main/resources/AccountData.composite b/tags/java/sca/0.91-rc2-incubating/demos/bigbank-account/src/main/resources/AccountData.composite new file mode 100644 index 0000000000..6f5ee4c6fd --- /dev/null +++ b/tags/java/sca/0.91-rc2-incubating/demos/bigbank-account/src/main/resources/AccountData.composite @@ -0,0 +1,32 @@ + + + + + + + + + + + + + diff --git a/tags/java/sca/0.91-rc2-incubating/demos/bigbank-account/src/main/resources/BigBank.composite b/tags/java/sca/0.91-rc2-incubating/demos/bigbank-account/src/main/resources/BigBank.composite new file mode 100644 index 0000000000..0545e2cafc --- /dev/null +++ b/tags/java/sca/0.91-rc2-incubating/demos/bigbank-account/src/main/resources/BigBank.composite @@ -0,0 +1,69 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + EURO + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tags/java/sca/0.91-rc2-incubating/demos/bigbank-account/src/main/resources/web/AccountJSON.html b/tags/java/sca/0.91-rc2-incubating/demos/bigbank-account/src/main/resources/web/AccountJSON.html new file mode 100644 index 0000000000..3cc60a3b9d --- /dev/null +++ b/tags/java/sca/0.91-rc2-incubating/demos/bigbank-account/src/main/resources/web/AccountJSON.html @@ -0,0 +1,87 @@ + + + + Tuscany JSON-RPC BigBank Client + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Tuscany JSON-RPC BigBank Client
+

This example uses the Dojo Toolkit + to create a JavaScript object accountService for the service at + SCADomain/AccountJSONService + using Dojo's RPC classes + and providing them with SCADomain/AccountJSONService?smd + for Simple Method Description (SMD) input.

+

It then creates a Dojo button that will envoke the getAccountReport method of the accountService object.

+
RequestResponse
+
getAccountReport("Dojo1234")

+
+
None Yet.
+
+
Dojo Debug:
+
+ + + + + diff --git a/tags/java/sca/0.91-rc2-incubating/demos/bigbank-account/src/main/resources/web/style.css b/tags/java/sca/0.91-rc2-incubating/demos/bigbank-account/src/main/resources/web/style.css new file mode 100644 index 0000000000..1071583264 --- /dev/null +++ b/tags/java/sca/0.91-rc2-incubating/demos/bigbank-account/src/main/resources/web/style.css @@ -0,0 +1,22 @@ +/* + * 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. + */ +* { font-family: arial; } + +table, th, td { border: 2px solid blue; border-collapse: collapse; } +th { color: white; background-color: blue; } diff --git a/tags/java/sca/0.91-rc2-incubating/demos/bigbank-account/src/main/resources/wsdl/AccountService.wsdl b/tags/java/sca/0.91-rc2-incubating/demos/bigbank-account/src/main/resources/wsdl/AccountService.wsdl new file mode 100644 index 0000000000..ac4d987a57 --- /dev/null +++ b/tags/java/sca/0.91-rc2-incubating/demos/bigbank-account/src/main/resources/wsdl/AccountService.wsdl @@ -0,0 +1,91 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tags/java/sca/0.91-rc2-incubating/demos/bigbank-account/src/main/resources/wsdl/StockQuote.wsdl b/tags/java/sca/0.91-rc2-incubating/demos/bigbank-account/src/main/resources/wsdl/StockQuote.wsdl new file mode 100644 index 0000000000..400191d82f --- /dev/null +++ b/tags/java/sca/0.91-rc2-incubating/demos/bigbank-account/src/main/resources/wsdl/StockQuote.wsdl @@ -0,0 +1,79 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tags/java/sca/0.91-rc2-incubating/demos/bigbank-account/src/test/java/test/BigBankTestCase.java b/tags/java/sca/0.91-rc2-incubating/demos/bigbank-account/src/test/java/test/BigBankTestCase.java new file mode 100644 index 0000000000..76227f72c3 --- /dev/null +++ b/tags/java/sca/0.91-rc2-incubating/demos/bigbank-account/src/test/java/test/BigBankTestCase.java @@ -0,0 +1,44 @@ +/* + * 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 test; + +import junit.framework.TestCase; + +import bigbank.demo.BigBankServer; + + + +/** + * @version $Rev$ $Date$ + */ +public class BigBankTestCase extends TestCase { + + + protected void setUp() throws Exception { + } + + protected void tearDown() throws Exception { + } + + public void testServer() throws Exception { + BigBankServer.main(null); + } + + +} -- cgit v1.2.3