Author: kelvingoodson
Date: Tue Jul 13 16:53:31 2010
New Revision: 963791

URL: http://svn.apache.org/viewvc?rev=963791&view=rev
Log:
async sample update

Modified:
    
tuscany/sca-java-2.x/trunk/contrib/samples/async/embedded-jse-async-sample-launcher/pom.xml
    tuscany/sca-java-2.x/trunk/contrib/samples/async/pom.xml
    
tuscany/sca-java-2.x/trunk/contrib/samples/async/sample-contribution-implementation-java-calculator-async/pom.xml
    
tuscany/sca-java-2.x/trunk/contrib/samples/async/sample-contribution-implementation-java-calculator-async/src/main/java/calculator/CalculateViaAsyncRef.java
    
tuscany/sca-java-2.x/trunk/contrib/samples/async/sample-contribution-implementation-java-calculator-async/src/main/java/calculator/CalculatorClient.java
    
tuscany/sca-java-2.x/trunk/contrib/samples/async/sample-contribution-implementation-java-calculator-async/src/main/java/calculator/CalculatorServiceImpl.java
    
tuscany/sca-java-2.x/trunk/contrib/samples/async/sample-contribution-implementation-java-calculator-async/src/main/resources/CalculatorClient.composite

Modified: 
tuscany/sca-java-2.x/trunk/contrib/samples/async/embedded-jse-async-sample-launcher/pom.xml
URL: 
http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/contrib/samples/async/embedded-jse-async-sample-launcher/pom.xml?rev=963791&r1=963790&r2=963791&view=diff
==============================================================================
--- 
tuscany/sca-java-2.x/trunk/contrib/samples/async/embedded-jse-async-sample-launcher/pom.xml
 (original)
+++ 
tuscany/sca-java-2.x/trunk/contrib/samples/async/embedded-jse-async-sample-launcher/pom.xml
 Tue Jul 13 16:53:31 2010
@@ -23,7 +23,7 @@
         <groupId>org.apache.tuscany.sca</groupId>
         <artifactId>tuscany-sca</artifactId>
         <version>2.0-SNAPSHOT</version>
-        <relativePath>../../pom.xml</relativePath>
+        <relativePath>../pom.xml</relativePath>
     </parent>
     <artifactId>embedded-jse-async-sample-launcher</artifactId>
     <name>Embedded JSE Launcher for async samples</name>

Modified: tuscany/sca-java-2.x/trunk/contrib/samples/async/pom.xml
URL: 
http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/contrib/samples/async/pom.xml?rev=963791&r1=963790&r2=963791&view=diff
==============================================================================
--- tuscany/sca-java-2.x/trunk/contrib/samples/async/pom.xml (original)
+++ tuscany/sca-java-2.x/trunk/contrib/samples/async/pom.xml Tue Jul 13 
16:53:31 2010
@@ -23,7 +23,7 @@
         <groupId>org.apache.tuscany.sca</groupId>
         <artifactId>tuscany-sca</artifactId>
         <version>2.0-SNAPSHOT</version>
-        <relativePath>../../pom.xml</relativePath>
+        <relativePath>../../../pom.xml</relativePath>
     </parent>
     <artifactId>tuscany-sample-async</artifactId>
     <packaging>pom</packaging>

Modified: 
tuscany/sca-java-2.x/trunk/contrib/samples/async/sample-contribution-implementation-java-calculator-async/pom.xml
URL: 
http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/contrib/samples/async/sample-contribution-implementation-java-calculator-async/pom.xml?rev=963791&r1=963790&r2=963791&view=diff
==============================================================================
--- 
tuscany/sca-java-2.x/trunk/contrib/samples/async/sample-contribution-implementation-java-calculator-async/pom.xml
 (original)
+++ 
tuscany/sca-java-2.x/trunk/contrib/samples/async/sample-contribution-implementation-java-calculator-async/pom.xml
 Tue Jul 13 16:53:31 2010
@@ -23,7 +23,7 @@
         <groupId>org.apache.tuscany.sca</groupId>
         <artifactId>tuscany-sca</artifactId>
         <version>2.0-SNAPSHOT</version>
-        <relativePath>../../pom.xml</relativePath>
+        <relativePath>../pom.xml</relativePath>
     </parent>
     
<artifactId>sample-contribution-implementation-java-calculator-async</artifactId>
     <name>Apache Tuscany SCA Sample Contribution Implementation Java 
Calculator for Async Sample</name>

Modified: 
tuscany/sca-java-2.x/trunk/contrib/samples/async/sample-contribution-implementation-java-calculator-async/src/main/java/calculator/CalculateViaAsyncRef.java
URL: 
http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/contrib/samples/async/sample-contribution-implementation-java-calculator-async/src/main/java/calculator/CalculateViaAsyncRef.java?rev=963791&r1=963790&r2=963791&view=diff
==============================================================================
--- 
tuscany/sca-java-2.x/trunk/contrib/samples/async/sample-contribution-implementation-java-calculator-async/src/main/java/calculator/CalculateViaAsyncRef.java
 (original)
+++ 
tuscany/sca-java-2.x/trunk/contrib/samples/async/sample-contribution-implementation-java-calculator-async/src/main/java/calculator/CalculateViaAsyncRef.java
 Tue Jul 13 16:53:31 2010
@@ -13,6 +13,16 @@ import javax.xml.ws.Response;
 
 public interface CalculateViaAsyncRef {
 
-       public Response<String> calculate( Integer i1);
+       //public Response<String> calculate( Integer i1);
+       
+       // Sync
+       public String calculate(Integer i1);
+       
+       // Aysnc Poll
+       public Future<String> calculateAsync(Integer i1);
+       
+       // Async Callback
+       public Future<String> calculateAsync(Integer i1, AsyncHandler<String> 
handler);
        
 }
+

Modified: 
tuscany/sca-java-2.x/trunk/contrib/samples/async/sample-contribution-implementation-java-calculator-async/src/main/java/calculator/CalculatorClient.java
URL: 
http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/contrib/samples/async/sample-contribution-implementation-java-calculator-async/src/main/java/calculator/CalculatorClient.java?rev=963791&r1=963790&r2=963791&view=diff
==============================================================================
--- 
tuscany/sca-java-2.x/trunk/contrib/samples/async/sample-contribution-implementation-java-calculator-async/src/main/java/calculator/CalculatorClient.java
 (original)
+++ 
tuscany/sca-java-2.x/trunk/contrib/samples/async/sample-contribution-implementation-java-calculator-async/src/main/java/calculator/CalculatorClient.java
 Tue Jul 13 16:53:31 2010
@@ -33,11 +33,13 @@ public class CalculatorClient {
     
     private CalculatorService calculatorService;
 
+
     @Reference
     public void setCalculatorService(CalculatorService calculatorService) {
         this.calculatorService = calculatorService;
     }
     
+    
     @Init
     public void calculate() {
 

Modified: 
tuscany/sca-java-2.x/trunk/contrib/samples/async/sample-contribution-implementation-java-calculator-async/src/main/java/calculator/CalculatorServiceImpl.java
URL: 
http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/contrib/samples/async/sample-contribution-implementation-java-calculator-async/src/main/java/calculator/CalculatorServiceImpl.java?rev=963791&r1=963790&r2=963791&view=diff
==============================================================================
--- 
tuscany/sca-java-2.x/trunk/contrib/samples/async/sample-contribution-implementation-java-calculator-async/src/main/java/calculator/CalculatorServiceImpl.java
 (original)
+++ 
tuscany/sca-java-2.x/trunk/contrib/samples/async/sample-contribution-implementation-java-calculator-async/src/main/java/calculator/CalculatorServiceImpl.java
 Tue Jul 13 16:53:31 2010
@@ -18,20 +18,58 @@
  */
 package calculator;
 
+import java.util.concurrent.ExecutionException;
+import java.util.concurrent.Future;
+
+import javax.xml.ws.AsyncHandler;
+
+import org.oasisopen.sca.annotation.Reference;
+
 
 
 /**
  * An implementation of the Calculator service.
  */
 public class CalculatorServiceImpl implements CalculatorService {
+       
+       @Reference
+       protected CalculateViaAsyncRef calculatorRefSyncService;
+       
+       @Reference
+       protected CalculateViaAsyncRef calculatorRefAsyncService;
 
        @Override
        public String calculate(Integer n1) {
-
-               // TODO brute force search for divisors of n1 
(http://en.wikipedia.org/wiki/Brute-force_search)
-                // which should give a nice example of a method that takes a 
long time if given a
-                // big enough input parameter
-               return "1 2";
+               
+               // sync
+               String result = calculatorRefSyncService.calculate(1);
+               
+               // async poll
+               Future<String> future = 
calculatorRefAsyncService.calculateAsync(2);
+               
+               while (!future.isDone()){
+                       System.out.println("Waiting for poll");
+               }
+               
+               try {
+                       result = future.get();
+               } catch (InterruptedException e) {
+                       // TODO Auto-generated catch block
+                       e.printStackTrace();
+               } catch (ExecutionException e) {
+                       // TODO Auto-generated catch block
+                       e.printStackTrace();
+               }
+               
+               // async callback 
+//             AsyncHandler<String> handler = new AsyncHandler<String>();
+//             future = calculatorRef.calculateAsync(3, handler);
+/*             
+               while (!future.isDone()){
+                       System.out.println("Waiting for callback");
+               }
+*/
+               return result;
        }
 
 

Modified: 
tuscany/sca-java-2.x/trunk/contrib/samples/async/sample-contribution-implementation-java-calculator-async/src/main/resources/CalculatorClient.composite
URL: 
http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/contrib/samples/async/sample-contribution-implementation-java-calculator-async/src/main/resources/CalculatorClient.composite?rev=963791&r1=963790&r2=963791&view=diff
==============================================================================
--- 
tuscany/sca-java-2.x/trunk/contrib/samples/async/sample-contribution-implementation-java-calculator-async/src/main/resources/CalculatorClient.composite
 (original)
+++ 
tuscany/sca-java-2.x/trunk/contrib/samples/async/sample-contribution-implementation-java-calculator-async/src/main/resources/CalculatorClient.composite
 Tue Jul 13 16:53:31 2010
@@ -25,6 +25,6 @@
     <component name="CalculatorClient">
                <implementation.java class="calculator.CalculatorClient"/>
         <reference name="calculatorService" 
target="CalculatorServiceComponent" />
-    </component>
+     </component>
 
 </composite>


Reply via email to