diff options
author | lresende <lresende@13f79535-47bb-0310-9956-ffa450edef68> | 2009-11-11 23:06:50 +0000 |
---|---|---|
committer | lresende <lresende@13f79535-47bb-0310-9956-ffa450edef68> | 2009-11-11 23:06:50 +0000 |
commit | 0f3f9b59b310833f31ba234ee4aefa808649833c (patch) | |
tree | 4f8b3354beb0643151424eb978eece9e55038c90 /sca-java-1.x/branches/sca-java-0.91/demos/bigbank-account/src | |
parent | f860c2f35b2f94e379d2ff7d5c13f54cd4a3132a (diff) |
Moving 1.x branches
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@835120 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'sca-java-1.x/branches/sca-java-0.91/demos/bigbank-account/src')
19 files changed, 1018 insertions, 0 deletions
diff --git a/sca-java-1.x/branches/sca-java-0.91/demos/bigbank-account/src/main/java/bigbank/account/AccountService.java b/sca-java-1.x/branches/sca-java-0.91/demos/bigbank-account/src/main/java/bigbank/account/AccountService.java new file mode 100644 index 0000000000..abe65cbbe0 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-0.91/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/sca-java-1.x/branches/sca-java-0.91/demos/bigbank-account/src/main/java/bigbank/account/AccountServiceImpl.java b/sca-java-1.x/branches/sca-java-0.91/demos/bigbank-account/src/main/java/bigbank/account/AccountServiceImpl.java new file mode 100644 index 0000000000..4f1afee204 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-0.91/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/sca-java-1.x/branches/sca-java-0.91/demos/bigbank-account/src/main/java/bigbank/account/feed/AccountFeedImpl.java b/sca-java-1.x/branches/sca-java-0.91/demos/bigbank-account/src/main/java/bigbank/account/feed/AccountFeedImpl.java new file mode 100644 index 0000000000..1df30580da --- /dev/null +++ b/sca-java-1.x/branches/sca-java-0.91/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/sca-java-1.x/branches/sca-java-0.91/demos/bigbank-account/src/main/java/bigbank/accountdata/AccountDataService.java b/sca-java-1.x/branches/sca-java-0.91/demos/bigbank-account/src/main/java/bigbank/accountdata/AccountDataService.java new file mode 100644 index 0000000000..02f4d0e7b6 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-0.91/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/sca-java-1.x/branches/sca-java-0.91/demos/bigbank-account/src/main/java/bigbank/accountdata/AccountDataServiceImpl.java b/sca-java-1.x/branches/sca-java-0.91/demos/bigbank-account/src/main/java/bigbank/accountdata/AccountDataServiceImpl.java new file mode 100644 index 0000000000..2e1290aa5f --- /dev/null +++ b/sca-java-1.x/branches/sca-java-0.91/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/sca-java-1.x/branches/sca-java-0.91/demos/bigbank-account/src/main/java/bigbank/accountdata/CheckingAccount.java b/sca-java-1.x/branches/sca-java-0.91/demos/bigbank-account/src/main/java/bigbank/accountdata/CheckingAccount.java new file mode 100644 index 0000000000..567991a555 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-0.91/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/sca-java-1.x/branches/sca-java-0.91/demos/bigbank-account/src/main/java/bigbank/accountdata/SavingsAccount.java b/sca-java-1.x/branches/sca-java-0.91/demos/bigbank-account/src/main/java/bigbank/accountdata/SavingsAccount.java new file mode 100644 index 0000000000..8f826bedaa --- /dev/null +++ b/sca-java-1.x/branches/sca-java-0.91/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/sca-java-1.x/branches/sca-java-0.91/demos/bigbank-account/src/main/java/bigbank/accountdata/StockAccount.java b/sca-java-1.x/branches/sca-java-0.91/demos/bigbank-account/src/main/java/bigbank/accountdata/StockAccount.java new file mode 100644 index 0000000000..52d1b8d8ad --- /dev/null +++ b/sca-java-1.x/branches/sca-java-0.91/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/sca-java-1.x/branches/sca-java-0.91/demos/bigbank-account/src/main/java/bigbank/client/BigBankClient.java b/sca-java-1.x/branches/sca-java-0.91/demos/bigbank-account/src/main/java/bigbank/client/BigBankClient.java new file mode 100644 index 0000000000..a7fa5ecc22 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-0.91/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/sca-java-1.x/branches/sca-java-0.91/demos/bigbank-account/src/main/java/bigbank/demo/BigBankServer.java b/sca-java-1.x/branches/sca-java-0.91/demos/bigbank-account/src/main/java/bigbank/demo/BigBankServer.java new file mode 100644 index 0000000000..4132abe929 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-0.91/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/sca-java-1.x/branches/sca-java-0.91/demos/bigbank-account/src/main/java/calculator/CalculatorService.java b/sca-java-1.x/branches/sca-java-0.91/demos/bigbank-account/src/main/java/calculator/CalculatorService.java new file mode 100644 index 0000000000..c89043276e --- /dev/null +++ b/sca-java-1.x/branches/sca-java-0.91/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/sca-java-1.x/branches/sca-java-0.91/demos/bigbank-account/src/main/java/stockquote/StockQuoteService.java b/sca-java-1.x/branches/sca-java-0.91/demos/bigbank-account/src/main/java/stockquote/StockQuoteService.java new file mode 100644 index 0000000000..1607344788 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-0.91/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/sca-java-1.x/branches/sca-java-0.91/demos/bigbank-account/src/main/resources/AccountData.composite b/sca-java-1.x/branches/sca-java-0.91/demos/bigbank-account/src/main/resources/AccountData.composite new file mode 100644 index 0000000000..6f5ee4c6fd --- /dev/null +++ b/sca-java-1.x/branches/sca-java-0.91/demos/bigbank-account/src/main/resources/AccountData.composite @@ -0,0 +1,32 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * 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 + * 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. +--> +<composite xmlns="http://www.osoa.org/xmlns/sca/1.0" + targetNamespace="http://bigbank" + xmlns:bb="http://bigbank" + name="AccountData"> + + <service name="AccountDataService" promote="AccountDataServiceComponent"> + <interface.java interface="bigbank.accountdata.AccountDataService"/> + </service> + + <component name="AccountDataServiceComponent"> + <implementation.java class="bigbank.accountdata.AccountDataServiceImpl"/> + </component> + +</composite> diff --git a/sca-java-1.x/branches/sca-java-0.91/demos/bigbank-account/src/main/resources/BigBank.composite b/sca-java-1.x/branches/sca-java-0.91/demos/bigbank-account/src/main/resources/BigBank.composite new file mode 100644 index 0000000000..0545e2cafc --- /dev/null +++ b/sca-java-1.x/branches/sca-java-0.91/demos/bigbank-account/src/main/resources/BigBank.composite @@ -0,0 +1,69 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * 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 + * 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. +--> +<composite xmlns="http://www.osoa.org/xmlns/sca/1.0" + targetNamespace="http://bigbank" + xmlns:bb="http://bigbank" + name="BigBank"> + + <service name="AccountWebService" promote="AccountServiceComponent"> + <interface.java interface="bigbank.account.AccountService"/> + <binding.ws wsdlElement="http://bigbank#wsdl.port(AccountService/AccountServiceSoap)"/> + </service> + + <service name="AccountJSONService" promote="AccountServiceComponent"> + <interface.java interface="bigbank.account.AccountService"/> + <binding.jsonrpc/> + </service> + + <service name="AccountWebResources" promote="WebResourceComponent"> + <binding.resource uri="/"/> + </service> + + <service name="AccountFeed" promote="AccountFeedComponent"> + <binding.atom uri="/feed/*"/> + </service> + + <component name="AccountServiceComponent"> + <implementation.java class="bigbank.account.AccountServiceImpl"/> + <reference name="accountDataService" target="AccountDataServiceComponent"/> + <property name="currency">EURO</property> + </component> + + <component name="AccountFeedComponent"> + <implementation.java class="bigbank.account.feed.AccountFeedImpl"/> + <reference name="accountService" target="AccountServiceComponent"/> + </component> + + <component name="AccountDataServiceComponent"> + <implementation.composite name="bb:AccountData"/> + </component> + + <component name="WebResourceComponent"> + <implementation.resource location="web"/> + </component> + + <reference name="CalculatorReference" promote="AccountServiceComponent/calculatorService"> + <binding.rmi host="localhost" port="8099" serviceName="CalculatorRMIService"/> + </reference> + + <reference name="StockQuoteReference" promote="AccountServiceComponent/stockQuoteService"> + <binding.ws wsdlElement="http://stockquote#wsdl.port(StockQuoteService/StockQuoteSoapPort)"/> + </reference> + +</composite> diff --git a/sca-java-1.x/branches/sca-java-0.91/demos/bigbank-account/src/main/resources/web/AccountJSON.html b/sca-java-1.x/branches/sca-java-0.91/demos/bigbank-account/src/main/resources/web/AccountJSON.html new file mode 100644 index 0000000000..3cc60a3b9d --- /dev/null +++ b/sca-java-1.x/branches/sca-java-0.91/demos/bigbank-account/src/main/resources/web/AccountJSON.html @@ -0,0 +1,87 @@ +<html> +<!-- + * 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. + --> + <head> + <title>Tuscany JSON-RPC BigBank Client</TITLE> + + <script type="text/javascript"> + var djConfig = {isDebug: true,debugContainerId: "dojoDebug" }; + //djConfig.debugAtAllCosts = true; + </script> + + <script type="text/javascript" src="dojo/dojo.js"> + </script> + + <script type="text/javascript"> + dojo.require("dojo.widget.*"); + dojo.require("dojo.widget.Button"); + dojo.require("dojo.rpc.JsonService"); + </script> + + <link rel="stylesheet" type="text/css" href="style.css" /> + </head> + + <body> + + <table> + <tr> + <th colspan="2">Tuscany JSON-RPC BigBank Client</th> + </tr> + <tr> + <td colspan="2"> + <p>This example uses the <a href="http://dojotoolkit.org/">Dojo Toolkit</a> + to create a JavaScript object <code>accountService</code> for the service at + <b>SCADomain/AccountJSONService</b> + using <a href="http://manual.dojotoolkit.org/WikiHome/DojoDotBook/Book9">Dojo's RPC classes</a> + and providing them with <a href="../SCADomain/AccountJSONService?smd">SCADomain/AccountJSONService?smd</a> + for <a href="http://dojo.jot.com/SMD">Simple Method Description (SMD)</a> input.</p> + <p>It then creates a Dojo button that will envoke the <code>getAccountReport</code> method of the <code>accountService</code> object.</p> + </tr> + <tr> + <td>Request</td> + <td>Response</td> + </tr> + <tr> + <td> + <br><div id="myaccount" dojoType="Button" onClick='accountService.getAccountReport("Dojo1234").addCallback(contentCallBack);'>getAccountReport("Dojo1234")</div><br> + </td> + <td> + <div id="ReturnedContent">None Yet.</div> + </td> + </tr> + <tr> + <td colspan="2"> + <div id="dojoDebug">Dojo Debug:</div> + </td> + </tr> + </table> + + <script type="text/javascript"> + + function contentCallBack(result) { + var handlerNode = document.getElementById("ReturnedContent"); + handlerNode.innerHTML = "<p>" + result + "</p>" ; + } + + var accountService = new dojo.rpc.JsonService("../SCADomain/AccountJSONService?smd"); + + </script> + + </body> +</html> diff --git a/sca-java-1.x/branches/sca-java-0.91/demos/bigbank-account/src/main/resources/web/style.css b/sca-java-1.x/branches/sca-java-0.91/demos/bigbank-account/src/main/resources/web/style.css new file mode 100644 index 0000000000..1071583264 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-0.91/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/sca-java-1.x/branches/sca-java-0.91/demos/bigbank-account/src/main/resources/wsdl/AccountService.wsdl b/sca-java-1.x/branches/sca-java-0.91/demos/bigbank-account/src/main/resources/wsdl/AccountService.wsdl new file mode 100644 index 0000000000..ac4d987a57 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-0.91/demos/bigbank-account/src/main/resources/wsdl/AccountService.wsdl @@ -0,0 +1,91 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + 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. +--> + +<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" + xmlns:tns="http://bigbank" + xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" + xmlns:xsd="http://www.w3.org/2001/XMLSchema" + targetNamespace="http://bigbank" + name="AccountService"> + + <wsdl:types> + <xsd:schema + targetNamespace="http://bigbank" + xmlns:xsd="http://www.w3.org/2001/XMLSchema"> + + <xsd:element name="getAccountReport"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="customerID" type="xsd:string" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + + <xsd:element name="getAccountReportResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="balance" type="xsd:double" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + + </xsd:schema> + </wsdl:types> + + <wsdl:message name="getAccountReportRequest"> + <wsdl:part element="tns:getAccountReport" + name="getAccountReportRequest" /> + </wsdl:message> + + <wsdl:message name="getAccountReportResponse"> + <wsdl:part element="tns:getAccountReportResponse" + name="getAccountReportResponse" /> + </wsdl:message> + + <wsdl:portType name="AccountService"> + <wsdl:operation name="getAccountReport"> + <wsdl:input message="tns:getAccountReportRequest" /> + <wsdl:output message="tns:getAccountReportResponse" /> + </wsdl:operation> + </wsdl:portType> + + <wsdl:binding name="AccountServiceSoap" type="tns:AccountService"> + <soap:binding style="document" + transport="http://schemas.xmlsoap.org/soap/http" /> + <wsdl:operation name="getAccountReport"> + <soap:operation + soapAction="" /> + <wsdl:input> + <soap:body use="literal" /> + </wsdl:input> + <wsdl:output> + <soap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + </wsdl:binding> + + <wsdl:service name="AccountService"> + <wsdl:port binding="tns:AccountServiceSoap" + name="AccountServiceSoap"> + <soap:address + location="http://localhost:8082/services/AccountWebService" /> + </wsdl:port> + </wsdl:service> +</wsdl:definitions> diff --git a/sca-java-1.x/branches/sca-java-0.91/demos/bigbank-account/src/main/resources/wsdl/StockQuote.wsdl b/sca-java-1.x/branches/sca-java-0.91/demos/bigbank-account/src/main/resources/wsdl/StockQuote.wsdl new file mode 100644 index 0000000000..400191d82f --- /dev/null +++ b/sca-java-1.x/branches/sca-java-0.91/demos/bigbank-account/src/main/resources/wsdl/StockQuote.wsdl @@ -0,0 +1,79 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * 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. +--> +<wsdl:definitions targetNamespace="http://stockquote" xmlns:tns="http://stockquote" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" + name="stockquote"> + + <wsdl:types> + <schema elementFormDefault="qualified" targetNamespace="http://stockquote" xmlns="http://www.w3.org/2001/XMLSchema"> + + <element name="getQuote"> + <complexType> + <sequence> + <element name="name" type="xsd:string"/> + </sequence> + </complexType> + </element> + + <element name="getQuoteResponse"> + <complexType> + <sequence> + <element name="getQuoteReturn" type="xsd:double"/> + </sequence> + </complexType> + </element> + + </schema> + </wsdl:types> + + <wsdl:message name="getQuoteRequest"> + <wsdl:part element="tns:getQuote" name="parameters"/> + </wsdl:message> + + <wsdl:message name="getQuoteResponse"> + <wsdl:part element="tns:getQuoteResponse" name="parameters"/> + </wsdl:message> + + <wsdl:portType name="StockQuote"> + <wsdl:operation name="getQuote"> + <wsdl:input message="tns:getQuoteRequest" name="getQuoteRequest"/> + <wsdl:output message="tns:getQuoteResponse" name="getQuoteResponse"/> + </wsdl:operation> + </wsdl:portType> + + <wsdl:binding name="StockQuoteSoapBinding" type="tns:StockQuote"> + <wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> + <wsdl:operation name="getQuote"> + <wsdlsoap:operation soapAction=""/> + <wsdl:input name="getQuoteRequest"> + <wsdlsoap:body use="literal"/> + </wsdl:input> + <wsdl:output name="getQuoteResponse"> + <wsdlsoap:body use="literal"/> + </wsdl:output> + </wsdl:operation> + </wsdl:binding> + + <wsdl:service name="StockQuoteService"> + <wsdl:port binding="tns:StockQuoteSoapBinding" name="StockQuoteSoapPort"> + <wsdlsoap:address location="http://localhost:8081/services/StockQuoteWebService"/> + </wsdl:port> + </wsdl:service> + +</wsdl:definitions> diff --git a/sca-java-1.x/branches/sca-java-0.91/demos/bigbank-account/src/test/java/test/BigBankTestCase.java b/sca-java-1.x/branches/sca-java-0.91/demos/bigbank-account/src/test/java/test/BigBankTestCase.java new file mode 100644 index 0000000000..76227f72c3 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-0.91/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); + } + + +} |