You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by rf...@apache.org on 2012/08/01 00:36:25 UTC

svn commit: r1367808 - in /tuscany/sca-java-2.x/trunk/modules: core/src/main/java/org/apache/tuscany/sca/core/runtime/impl/EndpointReferenceBinderImpl.java node-impl/src/main/java/org/apache/tuscany/sca/node/configuration/xml/RemoteEndpointsProcessor.java

Author: rfeng
Date: Tue Jul 31 22:36:24 2012
New Revision: 1367808

URL: http://svn.apache.org/viewvc?rev=1367808&view=rev
Log:
Avoid NPE for the remote endpoints which don't have interface contracts set

Modified:
    tuscany/sca-java-2.x/trunk/modules/core/src/main/java/org/apache/tuscany/sca/core/runtime/impl/EndpointReferenceBinderImpl.java
    tuscany/sca-java-2.x/trunk/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/configuration/xml/RemoteEndpointsProcessor.java

Modified: tuscany/sca-java-2.x/trunk/modules/core/src/main/java/org/apache/tuscany/sca/core/runtime/impl/EndpointReferenceBinderImpl.java
URL: http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/core/src/main/java/org/apache/tuscany/sca/core/runtime/impl/EndpointReferenceBinderImpl.java?rev=1367808&r1=1367807&r2=1367808&view=diff
==============================================================================
--- tuscany/sca-java-2.x/trunk/modules/core/src/main/java/org/apache/tuscany/sca/core/runtime/impl/EndpointReferenceBinderImpl.java (original)
+++ tuscany/sca-java-2.x/trunk/modules/core/src/main/java/org/apache/tuscany/sca/core/runtime/impl/EndpointReferenceBinderImpl.java Tue Jul 31 22:36:24 2012
@@ -1089,7 +1089,7 @@ public class EndpointReferenceBinderImpl
         InterfaceContract endpointReferenceContract = endpointReference.getReference().getInterfaceContract();
         InterfaceContract endpointContract = endpoint.getComponentServiceInterfaceContract();
         
-        if (endpointReferenceContract == null){
+        if (endpointReferenceContract == null || endpointContract == null){
             matchAudit.append("Match because there is no interface contract on the reference ");
             matchAudit.appendSeperator();
             return true;

Modified: tuscany/sca-java-2.x/trunk/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/configuration/xml/RemoteEndpointsProcessor.java
URL: http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/configuration/xml/RemoteEndpointsProcessor.java?rev=1367808&r1=1367807&r2=1367808&view=diff
==============================================================================
--- tuscany/sca-java-2.x/trunk/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/configuration/xml/RemoteEndpointsProcessor.java (original)
+++ tuscany/sca-java-2.x/trunk/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/configuration/xml/RemoteEndpointsProcessor.java Tue Jul 31 22:36:24 2012
@@ -41,6 +41,8 @@ import org.apache.tuscany.sca.contributi
 import org.apache.tuscany.sca.contribution.resolver.ModelResolver;
 import org.apache.tuscany.sca.core.ExtensionPointRegistry;
 import org.apache.tuscany.sca.core.FactoryExtensionPoint;
+import org.apache.tuscany.sca.interfacedef.java.JavaInterfaceContract;
+import org.apache.tuscany.sca.interfacedef.java.JavaInterfaceFactory;
 import org.apache.tuscany.sca.policy.PolicySet;
 
 /**
@@ -96,8 +98,18 @@ public class RemoteEndpointsProcessor ex
                 for (ComponentService service : component.getServices()) {
                     for (Binding binding : service.getBindings()) {
                         Endpoint endpoint = assemblyFactory.createEndpoint();
+                        endpoint.setRemote(true);
                         endpoint.setComponent(component);
                         endpoint.setService(service);
+                        /*
+                        if (service.getInterfaceContract() == null) {
+                            JavaInterfaceFactory interfaceFactory =
+                                modelFactories(registry).getFactory(JavaInterfaceFactory.class);
+                            JavaInterfaceContract contract = interfaceFactory.createJavaInterfaceContract();
+                            contract.setInterface(interfaceFactory.createJavaInterface());
+                            service.setInterfaceContract(contract);
+                        }
+                        */
                         endpoint.setBinding(binding);
 
                         // retrieve the stash of intents and policy sets from the component