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