You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by sl...@apache.org on 2009/03/20 15:06:57 UTC
svn commit: r756470 - in
/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl:
ComponentReferenceEndpointReferenceBuilderImpl.java
ComponentServiceEndpointBuilderImpl.java
Author: slaws
Date: Fri Mar 20 14:06:57 2009
New Revision: 756470
URL: http://svn.apache.org/viewvc?rev=756470&view=rev
Log:
wait until endpoint references have been created before trying to set callback endpoint reference on the services
Modified:
tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/ComponentReferenceEndpointReferenceBuilderImpl.java
tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/ComponentServiceEndpointBuilderImpl.java
Modified: tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/ComponentReferenceEndpointReferenceBuilderImpl.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/ComponentReferenceEndpointReferenceBuilderImpl.java?rev=756470&r1=756469&r2=756470&view=diff
==============================================================================
--- tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/ComponentReferenceEndpointReferenceBuilderImpl.java (original)
+++ tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/ComponentReferenceEndpointReferenceBuilderImpl.java Fri Mar 20 14:06:57 2009
@@ -32,6 +32,7 @@
import org.apache.tuscany.sca.assembly.EndpointReference2;
import org.apache.tuscany.sca.assembly.Implementation;
import org.apache.tuscany.sca.assembly.Multiplicity;
+import org.apache.tuscany.sca.assembly.Reference;
import org.apache.tuscany.sca.assembly.builder.CompositeBuilder;
import org.apache.tuscany.sca.assembly.builder.CompositeBuilderException;
import org.apache.tuscany.sca.definitions.Definitions;
@@ -94,9 +95,23 @@
// create endpoint references to represent the component reference
for (ComponentReference reference : component.getReferences()) {
+
createReferenceEndpointReferences(composite, component, reference, components, componentServices, monitor);
+
+ // fix up links between endpoints and endpoint references that represent callbacks
+ for (ComponentService service : component.getServices()){
+ if ((service.getInterfaceContract() != null) &&
+ (service.getInterfaceContract().getCallbackInterface() != null)){
+ if ( reference.getName().equals(service.getName())){
+ for ( Endpoint2 endpoint : service.getEndpoints()){
+ endpoint.getCallbackEndpointReferences().addAll(reference.getEndpointReferences());
+ }
+ break;
+ }
+ }
+ }
}
- }
+ }
}
private void createReferenceEndpointReferences(Composite composite,
Modified: tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/ComponentServiceEndpointBuilderImpl.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/ComponentServiceEndpointBuilderImpl.java?rev=756470&r1=756469&r2=756470&view=diff
==============================================================================
--- tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/ComponentServiceEndpointBuilderImpl.java (original)
+++ tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/ComponentServiceEndpointBuilderImpl.java Fri Mar 20 14:06:57 2009
@@ -119,28 +119,12 @@
endpointComponent = ServiceConfigurationUtil.getPromotedComponent(compositeService);
}
- // if this service has a callback get the callback endpoint references
- List<EndpointReference2> callbackEndpointReferences = null;
-
- if ((service.getInterfaceContract() != null) &&
- (service.getInterfaceContract().getCallbackInterface() != null)){
- // find the callback reference
- for ( Reference reference : component.getReferences()){
- if ( reference.getName().equals(service.getName())){
- callbackEndpointReferences = reference.getEndpointReferences();
- break;
- }
- }
- }
for (Binding binding : service.getBindings()){
Endpoint2 endpoint = assemblyFactory.createEndpoint();
endpoint.setComponent(endpointComponent);
endpoint.setService(endpointService);
endpoint.setBinding(binding);
- if (callbackEndpointReferences != null) {
- endpoint.getCallbackEndpointReferences().addAll(callbackEndpointReferences);
- }
endpoint.setUnresolved(false);
service.getEndpoints().add(endpoint);
}