You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by ke...@apache.org on 2010/07/13 18:53:31 UTC

svn commit: r963791 - in /tuscany/sca-java-2.x/trunk/contrib/samples/async: ./ embedded-jse-async-sample-launcher/ sample-contribution-implementation-java-calculator-async/ sample-contribution-implementation-java-calculator-async/src/main/java/calculat...

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>