Author: slaws
Date: Thu Jul 15 15:29:27 2010
New Revision: 964464

URL: http://svn.apache.org/viewvc?rev=964464&view=rev
Log:
A bit of tidying to remove some chaff and add the async callback pattern into 
the sample

Added:
    
tuscany/sca-java-2.x/trunk/contrib/samples/async/sample-contribution-implementation-java-calculator-async/src/main/java/calculator/CalculatorAsyncHandler.java
Removed:
    
tuscany/sca-java-2.x/trunk/contrib/samples/async/sample-contribution-implementation-java-calculator-async/src/main/java/calculator/CalculateViaAsyncRefImpl.java
    
tuscany/sca-java-2.x/trunk/contrib/samples/async/sample-contribution-implementation-java-calculator-async/src/main/java/calculator/CalculatorAsyncClientLogic.java
    
tuscany/sca-java-2.x/trunk/contrib/samples/async/sample-contribution-implementation-java-calculator-async/src/main/java/calculator/CalculatorBoot.java
Modified:
    
tuscany/sca-java-2.x/trunk/contrib/samples/async/embedded-jse-async-sample-launcher/src/main/java/launcher/SampleJSELauncher.java
    
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/CalculatorService.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/Calculator.composite

Modified: 
tuscany/sca-java-2.x/trunk/contrib/samples/async/embedded-jse-async-sample-launcher/src/main/java/launcher/SampleJSELauncher.java
URL: 
http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/contrib/samples/async/embedded-jse-async-sample-launcher/src/main/java/launcher/SampleJSELauncher.java?rev=964464&r1=964463&r2=964464&view=diff
==============================================================================
--- 
tuscany/sca-java-2.x/trunk/contrib/samples/async/embedded-jse-async-sample-launcher/src/main/java/launcher/SampleJSELauncher.java
 (original)
+++ 
tuscany/sca-java-2.x/trunk/contrib/samples/async/embedded-jse-async-sample-launcher/src/main/java/launcher/SampleJSELauncher.java
 Thu Jul 15 15:29:27 2010
@@ -34,58 +34,12 @@ public class SampleJSELauncher extends R
     protected boolean waitBeforeStopping = false;
     
     public static void main(String[] args) throws Exception {
-        
-        // get the contribution name from the 1st argument it there is one
-  
-        
-        // assume that more than one argument means that the caller wants to
-        // keep the SCA application running while other clients use the 
services
-        boolean waitBeforeStopping = false;
-        
-        if (args != null && args.length > 1 && 
args[1].equals("waitBeforeStopping")){
-            waitBeforeStopping = true;
-        }
-        
-        SampleJSELauncher launcher = new SampleJSELauncher(waitBeforeStopping);
-        
-        launcher.launchImplementationJavaCalculatorAsync();
-               
+        SampleJSELauncher launcher = new SampleJSELauncher();       
+        launcher.launchImplementationJavaCalculatorAsync();          
     }
-    
-    public SampleJSELauncher(boolean waitBeforeStopping){
-        this.waitBeforeStopping = waitBeforeStopping;
-    }
-    
-    /**
-     * Wait for user input. Allows us to keep the Tuscany runtime and the SCA 
application
-     * running while other clients access the services provided 
-     */
-    public void waitBeforeStopping(){
-        if (waitBeforeStopping){
-            try {
-                System.out.println("Press key to continue");
-                int input = System.in.read();
-            } catch (Exception ex) {
-                // do nothing
-            }
-        }
-    }
-       
-    /**
-     * The contribution-binding-sca-calculator contribution includes a client 
component 
-     * that calls the CalculatorServiceComponent from an operation marked by 
@Init. 
-     */
+
     public void launchImplementationJavaCalculatorAsync(){
         Node node = startNode(new Contribution("c1", 
"../sample-contribution-implementation-java-calculator-async/target/sample-contribution-implementation-java-calculator-async.jar"));
-        waitBeforeStopping();
         stopNode(node);
     }    
-    
-
-//    public void launchImplementationJavaCalculator(){
-//        Node node = startNode(new Contribution("c1", 
"../contribution-implementation-java-calculator/target/classes"));
-//        waitBeforeStopping();
-//        stopNode(node);
-//    }      
-    
 }

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=964464&r1=964463&r2=964464&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
 Thu Jul 15 15:29:27 2010
@@ -3,14 +3,15 @@ package calculator;
 import java.util.concurrent.Future;
 
 import javax.xml.ws.AsyncHandler;
-import javax.xml.ws.Response;
+
+import org.oasisopen.sca.annotation.Remotable;
 
 /**
- * client interface for async reference
- * @author kgoodson
+ * Async client version of the CalculatorService interface
  *
  */
 
+...@remotable
 public interface CalculateViaAsyncRef {
 
        //public Response<String> calculate( Integer i1);

Added: 
tuscany/sca-java-2.x/trunk/contrib/samples/async/sample-contribution-implementation-java-calculator-async/src/main/java/calculator/CalculatorAsyncHandler.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/CalculatorAsyncHandler.java?rev=964464&view=auto
==============================================================================
--- 
tuscany/sca-java-2.x/trunk/contrib/samples/async/sample-contribution-implementation-java-calculator-async/src/main/java/calculator/CalculatorAsyncHandler.java
 (added)
+++ 
tuscany/sca-java-2.x/trunk/contrib/samples/async/sample-contribution-implementation-java-calculator-async/src/main/java/calculator/CalculatorAsyncHandler.java
 Thu Jul 15 15:29:27 2010
@@ -0,0 +1,36 @@
+/*
+ * 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 javax.xml.ws.AsyncHandler;
+import javax.xml.ws.Response;
+
+/**
+ * Handles callbacks to the async client
+ */
+
+public class CalculatorAsyncHandler implements AsyncHandler<String> {
+    public void handleResponse(Response<String> res) {
+        try {
+            System.out.println("Async client callback patern: result in 
handler = " + res.get());
+        } catch(Exception ex){
+            System.out.println("Async client callback patern: exception in 
handler = " + ex.getMessage());
+        }
+    }
+}

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=964464&r1=964463&r2=964464&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
 Thu Jul 15 15:29:27 2010
@@ -39,12 +39,8 @@ public class CalculatorClient {
         this.calculatorService = calculatorService;
     }
     
-    
     @Init
     public void calculate() {
-
-        // Calculate
-        //System.out.println("SCA API ClassLoader: " + 
print(Reference.class.getClassLoader()));
         System.out.println("calculation=" + calculatorService.calculate(20));
     }
     

Modified: 
tuscany/sca-java-2.x/trunk/contrib/samples/async/sample-contribution-implementation-java-calculator-async/src/main/java/calculator/CalculatorService.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/CalculatorService.java?rev=964464&r1=964463&r2=964464&view=diff
==============================================================================
--- 
tuscany/sca-java-2.x/trunk/contrib/samples/async/sample-contribution-implementation-java-calculator-async/src/main/java/calculator/CalculatorService.java
 (original)
+++ 
tuscany/sca-java-2.x/trunk/contrib/samples/async/sample-contribution-implementation-java-calculator-async/src/main/java/calculator/CalculatorService.java
 Thu Jul 15 15:29:27 2010
@@ -21,8 +21,9 @@ package calculator;
 import org.oasisopen.sca.annotation.Remotable;
 
 /**
- * The Calculator service interface.
+ * The sycn Calculator service interface.
  */
+
 @Remotable
 public interface CalculatorService {
 

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=964464&r1=964463&r2=964464&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
 Thu Jul 15 15:29:27 2010
@@ -43,9 +43,9 @@ public class CalculatorServiceImpl imple
                
                // sync
                String result = calculatorRefSyncService.calculate(1);
-               System.out.println(result);
+               System.out.println("Sync client patern: result = " + result);
                
-//             // async poll
+               // async poll
                Future<String> future = 
calculatorRefSyncService.calculateAsync(20);
                
                while (!future.isDone()){
@@ -54,7 +54,7 @@ public class CalculatorServiceImpl imple
                
                try {
                        result = future.get();
-                       System.out.println("Async client patern success: result 
= " + result);
+                       System.out.println("Async client poll patern: result = 
" + result);
                } catch (InterruptedException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
@@ -63,16 +63,14 @@ public class CalculatorServiceImpl imple
                        e.printStackTrace();
                }
                
-
-               
                // async callback 
-//             AsyncHandler<String> handler = new AsyncHandler<String>();
-//             future = calculatorRef.calculateAsync(3, handler);
-/*             
+               CalculatorAsyncHandler handler = new CalculatorAsyncHandler();
+               future = calculatorRefSyncService.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/Calculator.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/Calculator.composite?rev=964464&r1=964463&r2=964464&view=diff
==============================================================================
--- 
tuscany/sca-java-2.x/trunk/contrib/samples/async/sample-contribution-implementation-java-calculator-async/src/main/resources/Calculator.composite
 (original)
+++ 
tuscany/sca-java-2.x/trunk/contrib/samples/async/sample-contribution-implementation-java-calculator-async/src/main/resources/Calculator.composite
 Thu Jul 15 15:29:27 2010
@@ -24,14 +24,14 @@
 
     <component name="CalculatorServiceComponent">
                <implementation.java class="calculator.CalculatorServiceImpl"/>
-                <reference name="calculatorRefSyncService" 
target="CalculatorSync"/>
-                <!-- <reference name="calculatorRefAsyncService" 
target="CalculatorAsync"/> -->
- 
+        <reference name="calculatorRefSyncService" target="CalculatorSync"/>
+        <!-- <reference name="calculatorRefAsyncService" 
target="CalculatorAsync"/> -->
     </component>
 
     <component name="CalculatorSync">
             <implementation.java class="calculator.CalculatorSyncServiceImpl"/>
     </component>
+    
     <!-- <component name="CalculatorAsync">
             <implementation.java 
class="calculator.CalculatorAsyncServiceImpl"/>
     </component> -->


Reply via email to