From dc3af49677ec20320d0032d8d90949d1d1209f55 Mon Sep 17 00:00:00 2001 From: edwardsmj Date: Thu, 9 Dec 2010 15:26:05 +0000 Subject: Provide necessary additional in the service endpoint for Async service support for all binding types, as under TUSCANY-3807 git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@1044003 13f79535-47bb-0310-9956-ffa450edef68 --- .../tuscany/sca/core/assembly/impl/RuntimeEndpointImpl.java | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'sca-java-2.x/trunk') diff --git a/sca-java-2.x/trunk/modules/core/src/main/java/org/apache/tuscany/sca/core/assembly/impl/RuntimeEndpointImpl.java b/sca-java-2.x/trunk/modules/core/src/main/java/org/apache/tuscany/sca/core/assembly/impl/RuntimeEndpointImpl.java index f4408429df..bdacdda53b 100644 --- a/sca-java-2.x/trunk/modules/core/src/main/java/org/apache/tuscany/sca/core/assembly/impl/RuntimeEndpointImpl.java +++ b/sca-java-2.x/trunk/modules/core/src/main/java/org/apache/tuscany/sca/core/assembly/impl/RuntimeEndpointImpl.java @@ -44,6 +44,7 @@ import org.apache.tuscany.sca.assembly.CompositeReference; import org.apache.tuscany.sca.assembly.CompositeService; import org.apache.tuscany.sca.assembly.Contract; import org.apache.tuscany.sca.assembly.EndpointReference; +import org.apache.tuscany.sca.assembly.Reference; import org.apache.tuscany.sca.assembly.Service; import org.apache.tuscany.sca.assembly.builder.BindingBuilder; import org.apache.tuscany.sca.assembly.builder.BuilderContext; @@ -423,7 +424,7 @@ public class RuntimeEndpointImpl extends EndpointImpl implements RuntimeEndpoint // Create pseudo-reference ComponentReference reference = assemblyFactory.createComponentReference(); - ExtensionPointRegistry registry = compositeContext.getExtensionPointRegistry(); + ExtensionPointRegistry registry = compositeContext.getExtensionPointRegistry(); FactoryExtensionPoint modelFactories = registry.getExtensionPoint(FactoryExtensionPoint.class); JavaInterfaceFactory javaInterfaceFactory = (JavaInterfaceFactory)modelFactories.getFactory(JavaInterfaceFactory.class); JavaInterfaceContract interfaceContract = javaInterfaceFactory.createJavaInterfaceContract(); @@ -436,6 +437,14 @@ public class RuntimeEndpointImpl extends EndpointImpl implements RuntimeEndpoint String referenceName = endpoint.getService().getName() + "_asyncCallback"; reference.setName(referenceName); reference.setForCallback(true); + // Add in "implementation" reference (really a dummy, but with correct interface) + Reference implReference = assemblyFactory.createReference(); + implReference.setInterfaceContract(interfaceContract); + implReference.setName(referenceName); + implReference.setForCallback(true); + + reference.setReference(implReference); + // Set the created ComponentReference into the EPR epr.setReference(reference); // Create a binding -- cgit v1.2.3