diff options
Diffstat (limited to 'sca-java-2.x/tags/2.0-Beta1-RC1/samples/learning-more/async/calculator-contribution/src/main/java/calculator/CalculatorServiceProxyImpl.java')
-rw-r--r-- | sca-java-2.x/tags/2.0-Beta1-RC1/samples/learning-more/async/calculator-contribution/src/main/java/calculator/CalculatorServiceProxyImpl.java | 101 |
1 files changed, 0 insertions, 101 deletions
diff --git a/sca-java-2.x/tags/2.0-Beta1-RC1/samples/learning-more/async/calculator-contribution/src/main/java/calculator/CalculatorServiceProxyImpl.java b/sca-java-2.x/tags/2.0-Beta1-RC1/samples/learning-more/async/calculator-contribution/src/main/java/calculator/CalculatorServiceProxyImpl.java deleted file mode 100644 index 351ba9c5ef..0000000000 --- a/sca-java-2.x/tags/2.0-Beta1-RC1/samples/learning-more/async/calculator-contribution/src/main/java/calculator/CalculatorServiceProxyImpl.java +++ /dev/null @@ -1,101 +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 calculator; - -import java.util.concurrent.ExecutionException; -import java.util.concurrent.Future; - -import javax.xml.ws.Response; - -import org.oasisopen.sca.annotation.Reference; - -/** - * An implementation of the Calculator service which just proxies - * to sync and asyn versions of the calculator service. This proxy - * exercises the various async interface alternatives - */ -public class CalculatorServiceProxyImpl implements CalculatorServiceSync { - - @Reference - protected CalculateReferenceAsync calculatorServiceRefSync; - - @Reference - protected CalculateReferenceAsync calculatorServiceRefAsync; - - @Override - public String calculate(Integer n1) { - String result = null; - - // calculate using a sync service - System.out.println("Calling sync service"); - result = calculate(calculatorServiceRefSync, n1); - - // calculate using an aycn service - System.out.println("Calling async service"); - result += calculate(calculatorServiceRefAsync, n1); - - return result; - } - - // exercise sync and async versions of a service interface method - private String calculate(CalculateReferenceAsync calculatorRef, Integer n1) { - - // sync - String result = calculatorRef.calculate(1); - System.out.println("Sync client patern: result = " + result); - - // async poll - Response<String> response = calculatorRef.calculateAsync(20); - - while (!response.isDone()){ - System.out.println("Waiting for poll"); - try { - Thread.sleep(500); - } catch (Exception ex) { - // do nothing - } - } - - try { - result = response.get(); - System.out.println("Async client poll patern: result = " + result); - } catch (InterruptedException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } catch (ExecutionException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - - // async callback - CalculatorAsyncHandler handler = new CalculatorAsyncHandler(); - Future<String> future = calculatorRef.calculateAsync(3, handler); - - while (!future.isDone()){ - System.out.println("Waiting for callback"); - try { - Thread.sleep(500); - } catch (Exception ex) { - // do nothing - } - } - - return result; - } -} |