public double getAccountReport(String customerID) {
// Get the checking, savings and stock accounts from the AccountData
// service component
CheckingAccountDetails checking = null;
try {
checking = checkingAcService.getAccountDetails(customerID);
System.out.println("Checking account: " + checking);
SavingsAccountDetails savings = savingsAcService.getAccountDetails(customerID);
System.out.println("Savings account: " + savings);
StockAccountDetails stock = stockAcService.getAccountDetails(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;
} catch ( Throwable e ) {
e.printStackTrace();
return 0;