Author: rfeng
Date: Tue Nov 17 18:54:14 2009
New Revision: 881438

URL: http://svn.apache.org/viewvc?rev=881438&view=rev
Log:
Rationalize the interfaceContracts on Endpoint/EndpointReference

Modified:
    
tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/EndpointImpl.java
    
tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/EndpointReferenceImpl.java
    
tuscany/java/sca/modules/binding-sca-runtime/src/main/java/org/apache/tuscany/sca/binding/sca/provider/RuntimeSCAReferenceBindingProvider.java
    
tuscany/java/sca/modules/binding-sca-runtime/src/main/java/org/apache/tuscany/sca/binding/sca/provider/RuntimeSCAServiceBindingProvider.java
    
tuscany/java/sca/modules/builder/src/main/java/org/apache/tuscany/sca/builder/impl/EndpointBuilderImpl.java
    
tuscany/java/sca/modules/builder/src/main/java/org/apache/tuscany/sca/builder/impl/EndpointReferenceBuilderImpl.java
    
tuscany/java/sca/modules/core-spi/src/main/java/org/apache/tuscany/sca/runtime/EndpointSerializer.java
    
tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/assembly/impl/CompositeActivatorImpl.java
    
tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/assembly/impl/EndpointSerializerImpl.java
    
tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/assembly/impl/RuntimeEndpointImpl.java
    
tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/assembly/impl/RuntimeEndpointReferenceImpl.java
    
tuscany/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/invocation/JavaComponentContextProvider.java

Modified: 
tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/EndpointImpl.java
URL: 
http://svn.apache.org/viewvc/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/EndpointImpl.java?rev=881438&r1=881437&r2=881438&view=diff
==============================================================================
--- 
tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/EndpointImpl.java
 (original)
+++ 
tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/EndpointImpl.java
 Tue Nov 17 18:54:14 2009
@@ -102,6 +102,9 @@
 
     public InterfaceContract getInterfaceContract() {
         resolve();
+        if (interfaceContract == null && service != null) {
+            interfaceContract = service.getInterfaceContract();
+        }
         return interfaceContract;
     }
 

Modified: 
tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/EndpointReferenceImpl.java
URL: 
http://svn.apache.org/viewvc/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/EndpointReferenceImpl.java?rev=881438&r1=881437&r2=881438&view=diff
==============================================================================
--- 
tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/EndpointReferenceImpl.java
 (original)
+++ 
tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/EndpointReferenceImpl.java
 Tue Nov 17 18:54:14 2009
@@ -125,6 +125,9 @@
 
     public InterfaceContract getInterfaceContract() {
         resolve();
+        if (interfaceContract == null && reference != null) {
+            interfaceContract = reference.getInterfaceContract();
+        }
         return interfaceContract;
     }
 

Modified: 
tuscany/java/sca/modules/binding-sca-runtime/src/main/java/org/apache/tuscany/sca/binding/sca/provider/RuntimeSCAReferenceBindingProvider.java
URL: 
http://svn.apache.org/viewvc/tuscany/java/sca/modules/binding-sca-runtime/src/main/java/org/apache/tuscany/sca/binding/sca/provider/RuntimeSCAReferenceBindingProvider.java?rev=881438&r1=881437&r2=881438&view=diff
==============================================================================
--- 
tuscany/java/sca/modules/binding-sca-runtime/src/main/java/org/apache/tuscany/sca/binding/sca/provider/RuntimeSCAReferenceBindingProvider.java
 (original)
+++ 
tuscany/java/sca/modules/binding-sca-runtime/src/main/java/org/apache/tuscany/sca/binding/sca/provider/RuntimeSCAReferenceBindingProvider.java
 Tue Nov 17 18:54:14 2009
@@ -164,8 +164,7 @@
             // Check if there is a target
             RuntimeEndpoint endpoint = 
(RuntimeEndpoint)endpointReference.getTargetEndpoint();
             if (endpoint != null) {
-                // Use the target binding interface contract
-                return endpoint.getBindingInterfaceContract();
+                return endpoint.getServiceInterfaceContract();
             } else {
                 return endpointReference.getReferenceInterfaceContract();
             }

Modified: 
tuscany/java/sca/modules/binding-sca-runtime/src/main/java/org/apache/tuscany/sca/binding/sca/provider/RuntimeSCAServiceBindingProvider.java
URL: 
http://svn.apache.org/viewvc/tuscany/java/sca/modules/binding-sca-runtime/src/main/java/org/apache/tuscany/sca/binding/sca/provider/RuntimeSCAServiceBindingProvider.java?rev=881438&r1=881437&r2=881438&view=diff
==============================================================================
--- 
tuscany/java/sca/modules/binding-sca-runtime/src/main/java/org/apache/tuscany/sca/binding/sca/provider/RuntimeSCAServiceBindingProvider.java
 (original)
+++ 
tuscany/java/sca/modules/binding-sca-runtime/src/main/java/org/apache/tuscany/sca/binding/sca/provider/RuntimeSCAServiceBindingProvider.java
 Tue Nov 17 18:54:14 2009
@@ -35,7 +35,6 @@
 import org.apache.tuscany.sca.provider.ServiceBindingProvider;
 import org.apache.tuscany.sca.runtime.DomainRegistryFactory;
 import org.apache.tuscany.sca.runtime.EndpointRegistry;
-import org.apache.tuscany.sca.runtime.RuntimeComponent;
 import org.apache.tuscany.sca.runtime.RuntimeComponentService;
 import org.apache.tuscany.sca.runtime.RuntimeEndpoint;
 
@@ -48,8 +47,7 @@
  * @version $Rev$ $Date$
  */
 public class RuntimeSCAServiceBindingProvider implements 
ServiceBindingProvider {
-
-    private RuntimeComponent component;
+    private RuntimeEndpoint endpoint;
     private RuntimeComponentService service;
     private SCABinding binding;
     
@@ -60,7 +58,7 @@
     
 
     public RuntimeSCAServiceBindingProvider(ExtensionPointRegistry 
extensionPoints, RuntimeEndpoint endpoint) {
-        this.component = (RuntimeComponent)endpoint.getComponent();
+        this.endpoint = endpoint;
         this.service = (RuntimeComponentService)endpoint.getService();
         this.binding = (SCABinding)endpoint.getBinding();
         
@@ -120,11 +118,7 @@
         if (distributedProvider != null) {
             return distributedProvider.getBindingInterfaceContract();
         } else {
-            if (service.getService() != null) {
-                return service.getService().getInterfaceContract();
-            } else {
-                return service.getInterfaceContract();
-            }
+            return endpoint.getServiceInterfaceContract();
         }
     }
 

Modified: 
tuscany/java/sca/modules/builder/src/main/java/org/apache/tuscany/sca/builder/impl/EndpointBuilderImpl.java
URL: 
http://svn.apache.org/viewvc/tuscany/java/sca/modules/builder/src/main/java/org/apache/tuscany/sca/builder/impl/EndpointBuilderImpl.java?rev=881438&r1=881437&r2=881438&view=diff
==============================================================================
--- 
tuscany/java/sca/modules/builder/src/main/java/org/apache/tuscany/sca/builder/impl/EndpointBuilderImpl.java
 (original)
+++ 
tuscany/java/sca/modules/builder/src/main/java/org/apache/tuscany/sca/builder/impl/EndpointBuilderImpl.java
 Tue Nov 17 18:54:14 2009
@@ -111,6 +111,9 @@
                             Endpoint endpoint = 
assemblyFactory.createEndpoint();
                             endpoint.setComponent(component);
                             endpoint.setService(service);
+                            if (service != null) {
+                                
endpoint.setInterfaceContract(service.getInterfaceContract());
+                            }
                             endpoint.setBinding(binding);
                             endpoint.setUnresolved(false);
                             service.getEndpoints().add(endpoint);

Modified: 
tuscany/java/sca/modules/builder/src/main/java/org/apache/tuscany/sca/builder/impl/EndpointReferenceBuilderImpl.java
URL: 
http://svn.apache.org/viewvc/tuscany/java/sca/modules/builder/src/main/java/org/apache/tuscany/sca/builder/impl/EndpointReferenceBuilderImpl.java?rev=881438&r1=881437&r2=881438&view=diff
==============================================================================
--- 
tuscany/java/sca/modules/builder/src/main/java/org/apache/tuscany/sca/builder/impl/EndpointReferenceBuilderImpl.java
 (original)
+++ 
tuscany/java/sca/modules/builder/src/main/java/org/apache/tuscany/sca/builder/impl/EndpointReferenceBuilderImpl.java
 Tue Nov 17 18:54:14 2009
@@ -903,6 +903,9 @@
         EndpointReference endpointRef = 
assemblyFactory.createEndpointReference();
         endpointRef.setComponent(component);
         endpointRef.setReference(reference);
+        if (reference != null) {
+            endpointRef.setInterfaceContract(reference.getInterfaceContract());
+        }
         endpointRef.setUnresolved(unresolved);
         return endpointRef;
     } // end method createEndpointRef
@@ -918,6 +921,9 @@
         Endpoint endpoint = createEndpoint(unresolved);
         endpoint.setComponent(component);
         endpoint.setService(service);
+        if (service != null) {
+            endpoint.setInterfaceContract(service.getInterfaceContract());
+        }
         endpoint.setUnresolved(unresolved);
         return endpoint;
     } // end method createEndpoint

Modified: 
tuscany/java/sca/modules/core-spi/src/main/java/org/apache/tuscany/sca/runtime/EndpointSerializer.java
URL: 
http://svn.apache.org/viewvc/tuscany/java/sca/modules/core-spi/src/main/java/org/apache/tuscany/sca/runtime/EndpointSerializer.java?rev=881438&r1=881437&r2=881438&view=diff
==============================================================================
--- 
tuscany/java/sca/modules/core-spi/src/main/java/org/apache/tuscany/sca/runtime/EndpointSerializer.java
 (original)
+++ 
tuscany/java/sca/modules/core-spi/src/main/java/org/apache/tuscany/sca/runtime/EndpointSerializer.java
 Tue Nov 17 18:54:14 2009
@@ -28,13 +28,8 @@
  * A utility to seralize/deserialize Endpoint/EndpointReference objects
  */
 public interface EndpointSerializer {
-    void read(Endpoint endpoint, String xml) throws IOException;
-
-    String write(Endpoint endpoint) throws IOException;
-
-    void read(EndpointReference endpointReference, String xml) throws 
IOException;
     EndpointReference readEndpointReference(String xml) throws IOException;
-    Endpoint readEndpoint(String xml) throws IOException;
-
     String write(EndpointReference endpointReference) throws IOException;
+    Endpoint readEndpoint(String xml) throws IOException;
+    String write(Endpoint endpoint) throws IOException;
 }

Modified: 
tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/assembly/impl/CompositeActivatorImpl.java
URL: 
http://svn.apache.org/viewvc/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/assembly/impl/CompositeActivatorImpl.java?rev=881438&r1=881437&r2=881438&view=diff
==============================================================================
--- 
tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/assembly/impl/CompositeActivatorImpl.java
 (original)
+++ 
tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/assembly/impl/CompositeActivatorImpl.java
 Tue Nov 17 18:54:14 2009
@@ -244,7 +244,7 @@
             if (targetService == null) {
                 targetService = service;
             }
-            
endpoint.setInterfaceContract(targetService.getInterfaceContract().makeUnidirectional(false));
+            // 
endpoint.setInterfaceContract(targetService.getInterfaceContract().makeUnidirectional(false));
         }
     }
 
@@ -524,7 +524,7 @@
             reference.setInterfaceContract(sourceContract);
         }
 
-        
endpointReference.setInterfaceContract(sourceContract.makeUnidirectional(false));
+        // 
endpointReference.setInterfaceContract(sourceContract.makeUnidirectional(false));
     }
 
 

Modified: 
tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/assembly/impl/EndpointSerializerImpl.java
URL: 
http://svn.apache.org/viewvc/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/assembly/impl/EndpointSerializerImpl.java?rev=881438&r1=881437&r2=881438&view=diff
==============================================================================
--- 
tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/assembly/impl/EndpointSerializerImpl.java
 (original)
+++ 
tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/assembly/impl/EndpointSerializerImpl.java
 Tue Nov 17 18:54:14 2009
@@ -55,18 +55,6 @@
         refProcessor = processors.getProcessor(EndpointReference.class);
     }
 
-    public void read(Endpoint endpoint, String xml) throws IOException {
-        try {
-            Endpoint result = readEndpoint(xml);
-            endpoint.setComponent(result.getComponent());
-            endpoint.setService(result.getService());
-            endpoint.setBinding(result.getBinding());
-            
endpoint.setInterfaceContract(result.getService().getInterfaceContract());
-        } catch (Exception e) {
-            throw wrap(e);
-        }
-
-    }
 
     public Endpoint readEndpoint(String xml) throws IOException {
         try {
@@ -98,20 +86,6 @@
         }
     }
 
-    public void read(EndpointReference endpointReference, String xml) throws 
IOException {
-        try {
-            EndpointReference result = readEndpointReference(xml);
-            endpointReference.setComponent(result.getComponent());
-            endpointReference.setReference(result.getReference());
-            endpointReference.setBinding(result.getBinding());
-            
endpointReference.setInterfaceContract(result.getReference().getInterfaceContract());
-            endpointReference.setTargetEndpoint(result.getTargetEndpoint());
-            
endpointReference.setCallbackEndpoint(result.getCallbackEndpoint());
-        } catch (Exception e) {
-            throw wrap(e);
-        }
-    }
-
     public EndpointReference readEndpointReference(String xml) throws 
IOException {
         try {
             XMLStreamReader reader = inputFactory.createXMLStreamReader(new 
StringReader(xml));

Modified: 
tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/assembly/impl/RuntimeEndpointImpl.java
URL: 
http://svn.apache.org/viewvc/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/assembly/impl/RuntimeEndpointImpl.java?rev=881438&r1=881437&r2=881438&view=diff
==============================================================================
--- 
tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/assembly/impl/RuntimeEndpointImpl.java
 (original)
+++ 
tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/assembly/impl/RuntimeEndpointImpl.java
 Tue Nov 17 18:54:14 2009
@@ -232,7 +232,7 @@
         //InterfaceContract targetContract = getInterfaceContract();
         // TODO - EPR - why is this looking at the component types. The 
endpoint should have the right interface contract by this time
         InterfaceContract targetContract = getServiceInterfaceContract();
-        setInterfaceContract(targetContract);
+        // setInterfaceContract(targetContract);
         for (Operation operation : 
sourceContract.getInterface().getOperations()) {
             Operation targetOperation = 
interfaceContractMapper.map(targetContract.getInterface(), operation);
             if (targetOperation == null) {
@@ -480,13 +480,6 @@
 
     @Override
     public void resolve() {
-        if (component == null && xml != null) {
-            try {
-                getSerializer().read(this, xml);
-            } catch (IOException e) {
-                throw new IllegalStateException(e);
-            }
-        }
         super.resolve();
     }
 
@@ -496,12 +489,12 @@
             return bindingInterfaceContract;
         }
         bindingInterfaceContract = 
getBindingProvider().getBindingInterfaceContract();
-        if (bindingInterfaceContract == null && service != null) {
-            bindingInterfaceContract = service.getInterfaceContract();
-        }
         if (bindingInterfaceContract == null) {
             bindingInterfaceContract = getInterfaceContract();
         }
+        if (bindingInterfaceContract == null) {
+            bindingInterfaceContract = getServiceInterfaceContract();
+        }
         return bindingInterfaceContract;
     }
 

Modified: 
tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/assembly/impl/RuntimeEndpointReferenceImpl.java
URL: 
http://svn.apache.org/viewvc/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/assembly/impl/RuntimeEndpointReferenceImpl.java?rev=881438&r1=881437&r2=881438&view=diff
==============================================================================
--- 
tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/assembly/impl/RuntimeEndpointReferenceImpl.java
 (original)
+++ 
tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/assembly/impl/RuntimeEndpointReferenceImpl.java
 Tue Nov 17 18:54:14 2009
@@ -276,8 +276,8 @@
             policyProvider.start();
         }
 
-        InterfaceContract bindingContract = getBindingInterfaceContract();
-        endpoint.setInterfaceContract(bindingContract);
+        // InterfaceContract bindingContract = getBindingInterfaceContract();
+        // endpoint.setInterfaceContract(bindingContract);
     }
 
 
@@ -441,12 +441,12 @@
             return bindingInterfaceContract;
         }
         bindingInterfaceContract = 
getBindingProvider().getBindingInterfaceContract();
-        if (bindingInterfaceContract == null && reference != null) {
-            bindingInterfaceContract = reference.getInterfaceContract();
-        }
         if (bindingInterfaceContract == null) {
             bindingInterfaceContract = getInterfaceContract();
         }
+        if (bindingInterfaceContract == null) {
+            bindingInterfaceContract = getReferenceInterfaceContract();
+        }
         return bindingInterfaceContract;
     }
 

Modified: 
tuscany/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/invocation/JavaComponentContextProvider.java
URL: 
http://svn.apache.org/viewvc/tuscany/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/invocation/JavaComponentContextProvider.java?rev=881438&r1=881437&r2=881438&view=diff
==============================================================================
--- 
tuscany/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/invocation/JavaComponentContextProvider.java
 (original)
+++ 
tuscany/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/invocation/JavaComponentContextProvider.java
 Tue Nov 17 18:54:14 2009
@@ -148,7 +148,8 @@
                 if (callbackReference != null) {
                     List<EndpointReference> wires = 
callbackReference.getEndpointReferences();
                     if (!wires.isEmpty()) {
-                        
callbackWires.put(wires.get(0).getInterfaceContract().getInterface().toString(),
+                        RuntimeEndpointReference epr = 
(RuntimeEndpointReference) wires.get(0);
+                        
callbackWires.put(epr.getReferenceInterfaceContract().getInterface().toString(),
                                           wires);
                     }
                 }


Reply via email to