1 /* 2 * Licensed to the Apache Software Foundation (ASF) under one 3 * or more contributor license agreements. See the NOTICE file 4 * distributed with this work for additional information 5 * regarding copyright ownership. The ASF licenses this file 6 * to you under the Apache License, Version 2.0 (the 7 * "License"); you may not use this file except in compliance 8 * with the License. You may obtain a copy of the License at 9 * 10 * http://www.apache.org/licenses/LICENSE-2.0 11 * 12 * Unless required by applicable law or agreed to in writing, 13 * software distributed under the License is distributed on an 14 * * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 * KIND, either express or implied. See the License for the 16 * specific language governing permissions and limitations 17 * under the License. 18 */ 19 package samples.services; 20 import java.util.Date; 21 22 public class SimpleStockQuoteService { 23 24 // in-out 25 public GetQuoteResponse getQuote(GetQuote request) { 26 System.out.println(new Date() + " " + this.getClass().getName() + 27 " :: Generating quote for : " + request.getSymbol()); 28 return new GetQuoteResponse(request.getSymbol()); 29 } 30 31 // for REST style invocation 32 public GetQuoteResponse getSimpleQuote(String symbol) { 33 System.out.println(new Date() + " " + this.getClass().getName() + 34 " :: Generating quote for : " + symbol); 35 return new GetQuoteResponse(symbol); 36 } 37 38 // in-out large response 39 public GetFullQuoteResponse getFullQuote(GetFullQuote request) { 40 System.out.println(new Date() + " " + this.getClass().getName() + 41 " :: Full quote for : " + request.getSymbol()); 42 return new GetFullQuoteResponse(request.getSymbol()); 43 } 44 45 // in-out large request and response 46 public GetMarketActivityResponse getMarketActivity(GetMarketActivity request) { 47 StringBuffer sb = new StringBuffer(); 48 String[] symbols = request.getSymbols(); 49 sb.append("["); 50 for (int i=0; i<symbols.length; i++) { 51 sb.append(symbols[i]); 52 if (i < symbols.length-1) { 53 sb.append(", "); 54 } 55 } 56 sb.append("]"); 57 System.out.println(new Date() + " " + this.getClass().getName() + 58 " :: Generating Market activity report for : " + sb.toString()); 59 return new GetMarketActivityResponse(request.getSymbols()); 60 } 61 62 // in only 63 public void placeOrder(PlaceOrder order) { 64 System.out.println(new Date() + " " + this.getClass().getName() + 65 " :: Accepted order for : " + order.getQuantity() + 66 " stocks of " + order.getSymbol() + " at $ " + order.getPrice()); 67 } 68 }