Author: slaws
Date: Tue Jan 25 13:50:45 2011
New Revision: 1063280

URL: http://svn.apache.org/viewvc?rev=1063280&view=rev
Log:
Delegate the creation of the response invoker if there is a delegate present. 

Modified:
    
tuscany/sca-java-2.x/trunk/modules/binding-sca-runtime/src/main/java/org/apache/tuscany/sca/binding/sca/provider/DelegatingSCAServiceBindingProvider.java
    
tuscany/sca-java-2.x/trunk/modules/binding-sca-runtime/src/main/java/org/apache/tuscany/sca/binding/sca/provider/RuntimeSCAServiceBindingProvider.java

Modified: 
tuscany/sca-java-2.x/trunk/modules/binding-sca-runtime/src/main/java/org/apache/tuscany/sca/binding/sca/provider/DelegatingSCAServiceBindingProvider.java
URL: 
http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/binding-sca-runtime/src/main/java/org/apache/tuscany/sca/binding/sca/provider/DelegatingSCAServiceBindingProvider.java?rev=1063280&r1=1063279&r2=1063280&view=diff
==============================================================================
--- 
tuscany/sca-java-2.x/trunk/modules/binding-sca-runtime/src/main/java/org/apache/tuscany/sca/binding/sca/provider/DelegatingSCAServiceBindingProvider.java
 (original)
+++ 
tuscany/sca-java-2.x/trunk/modules/binding-sca-runtime/src/main/java/org/apache/tuscany/sca/binding/sca/provider/DelegatingSCAServiceBindingProvider.java
 Tue Jan 25 13:50:45 2011
@@ -22,6 +22,9 @@ package org.apache.tuscany.sca.binding.s
 import java.util.logging.Logger;
 
 import org.apache.tuscany.sca.interfacedef.InterfaceContract;
+import org.apache.tuscany.sca.invocation.InvokerAsyncResponse;
+import org.apache.tuscany.sca.provider.EndpointAsyncProvider;
+import org.apache.tuscany.sca.provider.EndpointProvider;
 import org.apache.tuscany.sca.provider.ServiceBindingProvider;
 import org.apache.tuscany.sca.runtime.RuntimeEndpoint;
 
@@ -31,7 +34,7 @@ import org.apache.tuscany.sca.runtime.Ru
  *
  * @version $Rev$ $Date$
  */
-public class DelegatingSCAServiceBindingProvider implements 
ServiceBindingProvider {
+public class DelegatingSCAServiceBindingProvider implements 
EndpointAsyncProvider {
 
     private static final Logger logger = 
Logger.getLogger(DelegatingSCAServiceBindingProvider.class.getName());
 
@@ -49,13 +52,40 @@ public class DelegatingSCAServiceBinding
 
     }
 
+    @Override
     public InterfaceContract getBindingInterfaceContract() {
         return provider.getBindingInterfaceContract();
     }
 
+    @Override
     public boolean supportsOneWayInvocation() {
         return provider.supportsOneWayInvocation();
     }
+    
+    @Override
+    public void configure() {  
+        if (provider instanceof EndpointProvider){
+            ((EndpointProvider)provider).configure();
+        }
+    }    
+    
+    @Override
+    public boolean supportsNativeAsync() {
+        if (provider instanceof EndpointAsyncProvider){
+            return ((EndpointAsyncProvider)provider).supportsNativeAsync();
+        } else {
+            return false;
+        }
+    }
+    
+    @Override
+    public InvokerAsyncResponse createAsyncResponseInvoker() {
+        if (provider instanceof EndpointAsyncProvider){
+            return 
((EndpointAsyncProvider)provider).createAsyncResponseInvoker();
+        } else {
+            return null;
+        }
+    }
 
     public void start() {
         if (started) {

Modified: 
tuscany/sca-java-2.x/trunk/modules/binding-sca-runtime/src/main/java/org/apache/tuscany/sca/binding/sca/provider/RuntimeSCAServiceBindingProvider.java
URL: 
http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/binding-sca-runtime/src/main/java/org/apache/tuscany/sca/binding/sca/provider/RuntimeSCAServiceBindingProvider.java?rev=1063280&r1=1063279&r2=1063280&view=diff
==============================================================================
--- 
tuscany/sca-java-2.x/trunk/modules/binding-sca-runtime/src/main/java/org/apache/tuscany/sca/binding/sca/provider/RuntimeSCAServiceBindingProvider.java
 (original)
+++ 
tuscany/sca-java-2.x/trunk/modules/binding-sca-runtime/src/main/java/org/apache/tuscany/sca/binding/sca/provider/RuntimeSCAServiceBindingProvider.java
 Tue Jan 25 13:50:45 2011
@@ -115,7 +115,11 @@ public class RuntimeSCAServiceBindingPro
     }
     
     public InvokerAsyncResponse createAsyncResponseInvoker() {
-        return new SCABindingAsyncResponseInvoker(null, null);
+        if (distributedProvider != null) {
+            return 
((EndpointAsyncProvider)distributedProvider).createAsyncResponseInvoker();
+        } else {
+            return new SCABindingAsyncResponseInvoker(null, null);
+        }
     }
 
     /**


Reply via email to