You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by lr...@apache.org on 2009/08/11 19:26:17 UTC

svn commit: r803222 - /tuscany/branches/sca-java-1.x/modules/binding-atom-abdera/src/main/java/org/apache/tuscany/sca/binding/atom/provider/AtomServiceBindingProvider.java

Author: lresende
Date: Tue Aug 11 17:26:17 2009
New Revision: 803222

URL: http://svn.apache.org/viewvc?rev=803222&view=rev
Log:
TUSCANY-3166 - Workarounding interface.wsdl issues by finding the correspondent java interface contract when wsdl intrface is used

Modified:
    tuscany/branches/sca-java-1.x/modules/binding-atom-abdera/src/main/java/org/apache/tuscany/sca/binding/atom/provider/AtomServiceBindingProvider.java

Modified: tuscany/branches/sca-java-1.x/modules/binding-atom-abdera/src/main/java/org/apache/tuscany/sca/binding/atom/provider/AtomServiceBindingProvider.java
URL: http://svn.apache.org/viewvc/tuscany/branches/sca-java-1.x/modules/binding-atom-abdera/src/main/java/org/apache/tuscany/sca/binding/atom/provider/AtomServiceBindingProvider.java?rev=803222&r1=803221&r2=803222&view=diff
==============================================================================
--- tuscany/branches/sca-java-1.x/modules/binding-atom-abdera/src/main/java/org/apache/tuscany/sca/binding/atom/provider/AtomServiceBindingProvider.java (original)
+++ tuscany/branches/sca-java-1.x/modules/binding-atom-abdera/src/main/java/org/apache/tuscany/sca/binding/atom/provider/AtomServiceBindingProvider.java Tue Aug 11 17:26:17 2009
@@ -19,10 +19,12 @@
 
 package org.apache.tuscany.sca.binding.atom.provider;
 
+import org.apache.tuscany.sca.assembly.Service;
 import org.apache.tuscany.sca.binding.atom.AtomBinding;
 import org.apache.tuscany.sca.databinding.Mediator;
 import org.apache.tuscany.sca.host.http.ServletHost;
 import org.apache.tuscany.sca.interfacedef.InterfaceContract;
+import org.apache.tuscany.sca.interfacedef.wsdl.WSDLInterfaceContract;
 import org.apache.tuscany.sca.invocation.MessageFactory;
 import org.apache.tuscany.sca.provider.ServiceBindingProvider;
 import org.apache.tuscany.sca.runtime.RuntimeComponent;
@@ -37,6 +39,7 @@
 class AtomServiceBindingProvider implements ServiceBindingProvider {
 
     private RuntimeComponentService service;
+    private InterfaceContract serviceContract;
     private AtomBinding binding;
     private ServletHost servletHost;
     private MessageFactory messageFactory;
@@ -56,10 +59,22 @@
         this.servletHost = servletHost;
         this.messageFactory = messageFactory;
         this.mediator = mediator;
+        
+        // TUSCANY-3166
+        this.serviceContract = service.getInterfaceContract();
+        if (this.serviceContract instanceof WSDLInterfaceContract) {
+        	for (Service componentService : component.getImplementation().getServices()) {
+        		if (componentService.getName().equals(service.getName())) {
+        			this.serviceContract = (InterfaceContract) componentService.getInterfaceContract();
+        			break;
+        		}
+        	}
+
+        }      
     }
 
     public InterfaceContract getBindingInterfaceContract() {
-        return service.getInterfaceContract();
+        return serviceContract;
     }
     
     public boolean supportsOneWayInvocation() {