Author: slaws
Date: Thu Jul 24 02:58:24 2008
New Revision: 679334
URL: http://svn.apache.org/viewvc?rev=679334&view=rev
Log:
Extend TUSCANY-2324 to ensure that interface contracts are copied down
alongside bindings in the multiplicity > 1 case.
Modified:
tuscany/branches/sca-java-1.3/itest/builder/src/main/resources/scenario12/scenario12.composite
tuscany/branches/sca-java-1.3/itest/builder/src/main/resources/scenario12/scenario12a.composite
tuscany/branches/sca-java-1.3/itest/builder/src/test/java/org/apache/tuscany/sca/itest/builder/BuilderTestCase.java
tuscany/branches/sca-java-1.3/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/Endpoint.java
tuscany/branches/sca-java-1.3/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/BaseWireBuilderImpl.java
tuscany/branches/sca-java-1.3/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/ComponentReferencePromotionWireBuilderImpl.java
tuscany/branches/sca-java-1.3/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/CompositeBuilderImpl.java
tuscany/branches/sca-java-1.3/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/CompositeReferenceWireBuilderImpl.java
tuscany/branches/sca-java-1.3/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/ReferenceConfigurationUtil.java
tuscany/branches/sca-java-1.3/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/ComponentReferenceImpl.java
tuscany/branches/sca-java-1.3/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/EndpointImpl.java
Modified:
tuscany/branches/sca-java-1.3/itest/builder/src/main/resources/scenario12/scenario12.composite
URL:
http://svn.apache.org/viewvc/tuscany/branches/sca-java-1.3/itest/builder/src/main/resources/scenario12/scenario12.composite?rev=679334&r1=679333&r2=679334&view=diff
==============================================================================
---
tuscany/branches/sca-java-1.3/itest/builder/src/main/resources/scenario12/scenario12.composite
(original)
+++
tuscany/branches/sca-java-1.3/itest/builder/src/main/resources/scenario12/scenario12.composite
Thu Jul 24 02:58:24 2008
@@ -30,6 +30,7 @@
</reference>
<reference name="reference1a" promote="ComponentB/reference2a">
<!-- bindings and/or interfaces may or may not be specified explicitly
here -->
+ <binding.ws uri="http://foo.com/bar"/>
</reference>
<component name="ComponentB">
@@ -43,7 +44,7 @@
<reference name="reference2">
<!-- bindings and/or interfaces may or may not be specified
explicitly here -->
</reference>
- <reference name="reference2a" target="ComponentF">
+ <reference name="reference2a">
<!-- bindings and/or interfaces may or may not be specified
explicitly here -->
</reference>
</component>
Modified:
tuscany/branches/sca-java-1.3/itest/builder/src/main/resources/scenario12/scenario12a.composite
URL:
http://svn.apache.org/viewvc/tuscany/branches/sca-java-1.3/itest/builder/src/main/resources/scenario12/scenario12a.composite?rev=679334&r1=679333&r2=679334&view=diff
==============================================================================
---
tuscany/branches/sca-java-1.3/itest/builder/src/main/resources/scenario12/scenario12a.composite
(original)
+++
tuscany/branches/sca-java-1.3/itest/builder/src/main/resources/scenario12/scenario12a.composite
Thu Jul 24 02:58:24 2008
@@ -42,11 +42,9 @@
</service>
<service name="Service3a">
<!-- bindings and/or interfaces may or may not be specified
explicitly here -->
- <binding.ws uri="http://foo.com/bar" />
</service>
<reference name="reference3" target="ComponentD/Service3a">
<!-- bindings and/or interfaces may or may not be specified
explicitly here -->
- <binding.ws/>
</reference>
<reference name="reference3a" target="ComponentE">
<!-- bindings and/or interfaces may or may not be specified
explicitly here -->
Modified:
tuscany/branches/sca-java-1.3/itest/builder/src/test/java/org/apache/tuscany/sca/itest/builder/BuilderTestCase.java
URL:
http://svn.apache.org/viewvc/tuscany/branches/sca-java-1.3/itest/builder/src/test/java/org/apache/tuscany/sca/itest/builder/BuilderTestCase.java?rev=679334&r1=679333&r2=679334&view=diff
==============================================================================
---
tuscany/branches/sca-java-1.3/itest/builder/src/test/java/org/apache/tuscany/sca/itest/builder/BuilderTestCase.java
(original)
+++
tuscany/branches/sca-java-1.3/itest/builder/src/test/java/org/apache/tuscany/sca/itest/builder/BuilderTestCase.java
Thu Jul 24 02:58:24 2008
@@ -50,7 +50,7 @@
protected void tearDown() throws Exception {
}
-
+
// Scenario 1: <binding.ws> on outer composite service CompositeA/Service1
public void testScenario1() throws Exception {
System.out.println("====>Running testScenario1");
@@ -779,7 +779,7 @@
componentRef = reference;
assertTrue(reference.getBindings().size() == 2);
assertTrue(reference.getBindings().get(0) instanceof
SCABinding);
- assertTrue(reference.getBindings().get(1) instanceof
SCABinding);
+ assertTrue(reference.getBindings().get(1) instanceof
WebServiceBinding);
}
}
assertTrue(componentRef != null);
Modified:
tuscany/branches/sca-java-1.3/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/Endpoint.java
URL:
http://svn.apache.org/viewvc/tuscany/branches/sca-java-1.3/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/Endpoint.java?rev=679334&r1=679333&r2=679334&view=diff
==============================================================================
---
tuscany/branches/sca-java-1.3/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/Endpoint.java
(original)
+++
tuscany/branches/sca-java-1.3/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/Endpoint.java
Thu Jul 24 02:58:24 2008
@@ -20,6 +20,8 @@
import java.util.List;
+import org.apache.tuscany.sca.interfacedef.InterfaceContract;
+
/**
* Represents an endpoint (primarily a combination of a target service name
and a set of
* candidate bindings)
@@ -147,5 +149,19 @@
*
* @param binding target binding
*/
- void setTargetBinding(Binding binding);
+ void setTargetBinding(Binding binding);
+
+ /**
+ * Returns the interface contract defining the interface
+ *
+ * @return the interface contract
+ */
+ InterfaceContract getInterfaceContract();
+
+ /**
+ * Sets the interface contract defining the interface
+ *
+ * @param interfaceContract the interface contract
+ */
+ void setInterfaceContract(InterfaceContract interfaceContract);
}
Modified:
tuscany/branches/sca-java-1.3/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/BaseWireBuilderImpl.java
URL:
http://svn.apache.org/viewvc/tuscany/branches/sca-java-1.3/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/BaseWireBuilderImpl.java?rev=679334&r1=679333&r2=679334&view=diff
==============================================================================
---
tuscany/branches/sca-java-1.3/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/BaseWireBuilderImpl.java
(original)
+++
tuscany/branches/sca-java-1.3/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/BaseWireBuilderImpl.java
Thu Jul 24 02:58:24 2008
@@ -424,6 +424,7 @@
endpoint.setTargetName(targetComponent.getName());
endpoint.setSourceComponent(null); // TODO - fixed
up at start
endpoint.setSourceComponentReference(componentReference);
+
endpoint.setInterfaceContract(componentReference.getInterfaceContract());
endpoint.setTargetComponent(targetComponent);
endpoint.setTargetComponentService(targetComponentService);
endpoint.getCandidateBindings().addAll(componentReference.getBindings());
@@ -477,7 +478,8 @@
Endpoint endpoint = endpointFactory.createEndpoint();
endpoint.setTargetName(targetComponent.getName());
endpoint.setSourceComponent(null); // TODO - fixed up
at start
-
endpoint.setSourceComponentReference(componentReference);
+
endpoint.setSourceComponentReference(componentReference);
+
endpoint.setInterfaceContract(componentReference.getInterfaceContract());
endpoint.setTargetComponent(targetComponent);
endpoint.setTargetComponentService(targetComponentService);
endpoint.getCandidateBindings().addAll(componentReference.getBindings());
@@ -498,7 +500,8 @@
Endpoint endpoint = endpointFactory.createEndpoint();
endpoint.setTargetName(name);
endpoint.setSourceComponent(null); // TODO - fixed up at
start
- endpoint.setSourceComponentReference(componentReference);
+ endpoint.setSourceComponentReference(componentReference);
+
endpoint.setInterfaceContract(componentReference.getInterfaceContract());
endpoint.getCandidateBindings().addAll(componentReference.getBindings());
endpoints.add(endpoint);
@@ -536,7 +539,8 @@
Endpoint endpoint = endpointFactory.createEndpoint();
endpoint.setTargetName(targetComponent.getName());
endpoint.setSourceComponent(null); // TODO - fixed up
at start
-
endpoint.setSourceComponentReference(componentReference);
+
endpoint.setSourceComponentReference(componentReference);
+
endpoint.setInterfaceContract(componentReference.getInterfaceContract());
endpoint.setTargetComponent(targetComponent);
endpoint.setTargetComponentService(targetComponentService);
endpoint.getCandidateBindings().addAll(componentReference.getBindings());
@@ -560,7 +564,8 @@
Endpoint endpoint = endpointFactory.createEndpoint();
endpoint.setTargetName(name);
endpoint.setSourceComponent(null); // TODO - fixed up at
start
- endpoint.setSourceComponentReference(componentReference);
+ endpoint.setSourceComponentReference(componentReference);
+
endpoint.setInterfaceContract(componentReference.getInterfaceContract());
endpoint.getCandidateBindings().addAll(componentReference.getBindings());
endpoints.add(endpoint);
@@ -625,7 +630,8 @@
Endpoint endpoint = endpointFactory.createEndpoint();
endpoint.setTargetName(targetComponent.getName());
endpoint.setSourceComponent(null); // TODO - fixed up
at start
-
endpoint.setSourceComponentReference(componentReference);
+
endpoint.setSourceComponentReference(componentReference);
+
endpoint.setInterfaceContract(componentReference.getInterfaceContract());
endpoint.setTargetComponent(targetComponent);
endpoint.setTargetComponentService(targetComponentService);
endpoint.getCandidateBindings().add(binding);
@@ -643,7 +649,8 @@
Endpoint endpoint = endpointFactory.createEndpoint();
endpoint.setTargetName(uri);
endpoint.setSourceComponent(null); // TODO - fixed up at
start
- endpoint.setSourceComponentReference(componentReference);
+ endpoint.setSourceComponentReference(componentReference);
+
endpoint.setInterfaceContract(componentReference.getInterfaceContract());
endpoint.setSourceBinding(binding);
endpoints.add(endpoint);
}
Modified:
tuscany/branches/sca-java-1.3/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/ComponentReferencePromotionWireBuilderImpl.java
URL:
http://svn.apache.org/viewvc/tuscany/branches/sca-java-1.3/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/ComponentReferencePromotionWireBuilderImpl.java?rev=679334&r1=679333&r2=679334&view=diff
==============================================================================
---
tuscany/branches/sca-java-1.3/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/ComponentReferencePromotionWireBuilderImpl.java
(original)
+++
tuscany/branches/sca-java-1.3/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/ComponentReferencePromotionWireBuilderImpl.java
Thu Jul 24 02:58:24 2008
@@ -28,6 +28,7 @@
import org.apache.tuscany.sca.assembly.Composite;
import org.apache.tuscany.sca.assembly.CompositeReference;
import org.apache.tuscany.sca.assembly.CompositeService;
+import org.apache.tuscany.sca.assembly.EndpointFactory;
import org.apache.tuscany.sca.assembly.Implementation;
import org.apache.tuscany.sca.assembly.Multiplicity;
import org.apache.tuscany.sca.assembly.Reference;
@@ -43,10 +44,12 @@
*/
public class ComponentReferencePromotionWireBuilderImpl implements
CompositeBuilder {
private AssemblyFactory assemblyFactory;
+ private EndpointFactory endpointFactory;
private Monitor monitor;
- public ComponentReferencePromotionWireBuilderImpl(AssemblyFactory
assemblyFactory, Monitor monitor) {
+ public ComponentReferencePromotionWireBuilderImpl(AssemblyFactory
assemblyFactory, EndpointFactory endpointFactory, Monitor monitor) {
this.assemblyFactory = assemblyFactory;
+ this.endpointFactory = endpointFactory;
this.monitor = monitor;
}
@@ -91,7 +94,7 @@
ReferenceConfigurationUtil.getPromotedComponentReferences(compositeReference);
for (ComponentReference promotedReference :
promotedReferences) {
ReferenceConfigurationUtil.reconcileReferenceBindings(
- componentReference, promotedReference,
assemblyFactory, monitor);
+ componentReference, promotedReference,
assemblyFactory, endpointFactory, monitor);
if (componentReference.getInterfaceContract()
!= null && // can be null in unit tests
componentReference.getInterfaceContract().getCallbackInterface() != null) {
SCABinding scaCallbackBinding =
promotedReference.getCallbackBinding(SCABinding.class);
Modified:
tuscany/branches/sca-java-1.3/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/CompositeBuilderImpl.java
URL:
http://svn.apache.org/viewvc/tuscany/branches/sca-java-1.3/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/CompositeBuilderImpl.java?rev=679334&r1=679333&r2=679334&view=diff
==============================================================================
---
tuscany/branches/sca-java-1.3/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/CompositeBuilderImpl.java
(original)
+++
tuscany/branches/sca-java-1.3/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/CompositeBuilderImpl.java
Thu Jul 24 02:58:24 2008
@@ -99,8 +99,8 @@
compositeIncludeBuilder = new CompositeIncludeBuilderImpl(monitor);
componentReferenceWireBuilder = new
ComponentReferenceWireBuilderImpl(assemblyFactory, endpointFactory,
interfaceContractMapper, monitor);
- componentReferencePromotionWireBuilder = new
ComponentReferencePromotionWireBuilderImpl(assemblyFactory, monitor);
- compositeReferenceWireBuilder = new
CompositeReferenceWireBuilderImpl(assemblyFactory, monitor);
+ componentReferencePromotionWireBuilder = new
ComponentReferencePromotionWireBuilderImpl(assemblyFactory, endpointFactory,
monitor);
+ compositeReferenceWireBuilder = new
CompositeReferenceWireBuilderImpl(assemblyFactory, endpointFactory, monitor);
compositeCloneBuilder = new CompositeCloneBuilderImpl(monitor);
componentConfigurationBuilder = new
ComponentConfigurationBuilderImpl(assemblyFactory, scaBindingFactory,
interfaceContractMapper, policyDefinitions, monitor);
compositeServiceConfigurationBuilder = new
CompositeServiceConfigurationBuilderImpl(assemblyFactory);
Modified:
tuscany/branches/sca-java-1.3/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/CompositeReferenceWireBuilderImpl.java
URL:
http://svn.apache.org/viewvc/tuscany/branches/sca-java-1.3/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/CompositeReferenceWireBuilderImpl.java?rev=679334&r1=679333&r2=679334&view=diff
==============================================================================
---
tuscany/branches/sca-java-1.3/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/CompositeReferenceWireBuilderImpl.java
(original)
+++
tuscany/branches/sca-java-1.3/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/CompositeReferenceWireBuilderImpl.java
Thu Jul 24 02:58:24 2008
@@ -26,6 +26,7 @@
import org.apache.tuscany.sca.assembly.ComponentReference;
import org.apache.tuscany.sca.assembly.Composite;
import org.apache.tuscany.sca.assembly.CompositeReference;
+import org.apache.tuscany.sca.assembly.EndpointFactory;
import org.apache.tuscany.sca.assembly.Implementation;
import org.apache.tuscany.sca.assembly.Reference;
import org.apache.tuscany.sca.assembly.SCABinding;
@@ -40,10 +41,12 @@
*/
public class CompositeReferenceWireBuilderImpl implements CompositeBuilder {
private AssemblyFactory assemblyFactory;
+ private EndpointFactory endpointFactory;
private Monitor monitor;
- public CompositeReferenceWireBuilderImpl(AssemblyFactory assemblyFactory,
Monitor monitor) {
+ public CompositeReferenceWireBuilderImpl(AssemblyFactory assemblyFactory,
EndpointFactory endpointFactory, Monitor monitor) {
this.assemblyFactory = assemblyFactory;
+ this.endpointFactory = endpointFactory;
this.monitor = monitor;
}
@@ -68,7 +71,7 @@
ReferenceConfigurationUtil.getPromotedComponentReferences(compositeReference);
for (ComponentReference promotedReference :
promotedReferences) {
ReferenceConfigurationUtil.reconcileReferenceBindings(
- compositeReference, promotedReference,
assemblyFactory, monitor);
+ compositeReference, promotedReference,
assemblyFactory, endpointFactory, monitor);
if (compositeReference.getInterfaceContract() != null &&
// can be null in unit tests
compositeReference.getInterfaceContract().getCallbackInterface() != null) {
SCABinding scaCallbackBinding =
promotedReference.getCallbackBinding(SCABinding.class);
Modified:
tuscany/branches/sca-java-1.3/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/ReferenceConfigurationUtil.java
URL:
http://svn.apache.org/viewvc/tuscany/branches/sca-java-1.3/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/ReferenceConfigurationUtil.java?rev=679334&r1=679333&r2=679334&view=diff
==============================================================================
---
tuscany/branches/sca-java-1.3/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/ReferenceConfigurationUtil.java
(original)
+++
tuscany/branches/sca-java-1.3/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/ReferenceConfigurationUtil.java
Thu Jul 24 02:58:24 2008
@@ -28,6 +28,7 @@
import org.apache.tuscany.sca.assembly.ComponentReference;
import org.apache.tuscany.sca.assembly.CompositeReference;
import org.apache.tuscany.sca.assembly.Endpoint;
+import org.apache.tuscany.sca.assembly.EndpointFactory;
import org.apache.tuscany.sca.assembly.Multiplicity;
import org.apache.tuscany.sca.assembly.OptimizableBinding;
import org.apache.tuscany.sca.assembly.Reference;
@@ -167,6 +168,7 @@
static void reconcileReferenceBindings(Reference reference,
ComponentReference
promotedReference,
AssemblyFactory assemblyFactory,
+ EndpointFactory endpointFactory,
Monitor monitor) {
if (promotedReference.getMultiplicity() == Multiplicity.ONE_ONE ||
@@ -175,26 +177,40 @@
// if necessary override the promoted endpoints (and bindings)
with the top level bindings
if (reference.getBindings().size() > 0 ){
- if (reference instanceof ComponentReference){
- promotedReference.getEndpoints().clear();
-
promotedReference.getEndpoints().addAll(((ComponentReference)reference).getEndpoints());
- }
-
- promotedReference.getBindings().clear();
+ List<Binding> bindingsToCopyDown = new ArrayList<Binding>();
+ List<Endpoint> endpointsToCopyDown = new ArrayList<Endpoint>();
for (Binding binding : reference.getBindings()) {
if ((!(binding instanceof OptimizableBinding)) ||
binding.getURI() != null) {
- promotedReference.getBindings().add(binding);
- // TUSCANY-2324: ensure that the promoted reference
can identify the
- // correct interface contract for this
binding
- // TODO - Remove and use
Reference.getInterfaceContract(binding)
- // in any binding that needs to use the
interface contract
- // from the promoting reference
-
promotedReference.setInterfaceContract(reference.getInterfaceContract());
+ bindingsToCopyDown.add(binding);
+
+ if (reference instanceof ComponentReference){
+ for (Endpoint endpoint :
((ComponentReference)reference).getEndpoints()){
+ if ( endpoint.getSourceBinding() == binding){
+ endpointsToCopyDown.add(endpoint);
+ break;
+ }
+ }
+ } else {
+ // create a new endpoint to represent this
promoted binding
+ Endpoint endpoint =
endpointFactory.createEndpoint();
+ endpoint.setTargetName(binding.getURI());
+ endpoint.setSourceComponent(null); // TODO - fixed
up at start
+
endpoint.setSourceComponentReference(promotedReference);
+
endpoint.setInterfaceContract(reference.getInterfaceContract());
+ endpoint.setSourceBinding(binding);
+ endpointsToCopyDown.add(endpoint);
+ }
}
}
-
+ if (bindingsToCopyDown.size() > 0) {
+ promotedReference.getBindings().clear();
+ promotedReference.getBindings().addAll(bindingsToCopyDown);
+
+ promotedReference.getEndpoints().clear();
+
promotedReference.getEndpoints().addAll(endpointsToCopyDown);
+ }
}
if (promotedReference.getBindings().size() > 1) {
@@ -204,21 +220,29 @@
// if necessary merge the promoted endpoints (and bindings) with
the top level bindings
if (reference.getBindings().size() > 0 ){
- if (reference instanceof ComponentReference){
-
promotedReference.getEndpoints().addAll(((ComponentReference)reference).getEndpoints());
- }
-
for (Binding binding : reference.getBindings()) {
if ((!(binding instanceof OptimizableBinding)) ||
binding.getURI() != null) {
promotedReference.getBindings().add(binding);
- // TUSCANY-2324: ensure that the promoted reference
can identify the
- // correct interface contract for this
binding
- // TODO: use Reference.getInterfaceContract(binding)
when the interface contract is required
- // in any binding that needs to use the
interface contract
- // from the promoting reference
- //promotedReference.setInterfaceContract(binding,
reference.getInterfaceContract());
+
+ if (reference instanceof ComponentReference){
+ for (Endpoint endpoint :
((ComponentReference)reference).getEndpoints()){
+ if ( endpoint.getSourceBinding() == binding){
+
promotedReference.getEndpoints().add(endpoint);
+ break;
+ }
+ }
+ } else {
+ // create a new endpoint to represent this
promoted binding
+ Endpoint endpoint =
endpointFactory.createEndpoint();
+ endpoint.setTargetName(binding.getURI());
+ endpoint.setSourceComponent(null); // TODO - fixed
up at start
+
endpoint.setSourceComponentReference(promotedReference);
+
endpoint.setInterfaceContract(reference.getInterfaceContract());
+ endpoint.setSourceBinding(binding);
+ promotedReference.getEndpoints().add(endpoint);
+ }
}
- }
+ }
}
}
Modified:
tuscany/branches/sca-java-1.3/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/ComponentReferenceImpl.java
URL:
http://svn.apache.org/viewvc/tuscany/branches/sca-java-1.3/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/ComponentReferenceImpl.java?rev=679334&r1=679333&r2=679334&view=diff
==============================================================================
---
tuscany/branches/sca-java-1.3/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/ComponentReferenceImpl.java
(original)
+++
tuscany/branches/sca-java-1.3/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/ComponentReferenceImpl.java
Thu Jul 24 02:58:24 2008
@@ -100,7 +100,7 @@
for (Endpoint theEndpoint : endpoints){
if (theEndpoint.getSourceBinding() == binding){
- interfaceContract =
theEndpoint.getSourceComponentReference().getInterfaceContract();
+ interfaceContract = theEndpoint.getInterfaceContract();
}
}
Modified:
tuscany/branches/sca-java-1.3/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/EndpointImpl.java
URL:
http://svn.apache.org/viewvc/tuscany/branches/sca-java-1.3/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/EndpointImpl.java?rev=679334&r1=679333&r2=679334&view=diff
==============================================================================
---
tuscany/branches/sca-java-1.3/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/EndpointImpl.java
(original)
+++
tuscany/branches/sca-java-1.3/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/EndpointImpl.java
Thu Jul 24 02:58:24 2008
@@ -26,6 +26,7 @@
import org.apache.tuscany.sca.assembly.ComponentReference;
import org.apache.tuscany.sca.assembly.ComponentService;
import org.apache.tuscany.sca.assembly.Endpoint;
+import org.apache.tuscany.sca.interfacedef.InterfaceContract;
/**
* The assembly model object for an endpoint.
@@ -48,6 +49,8 @@
private Binding targetBinding;
private Binding targetCallbackBinding;
+ private InterfaceContract interfaceContract;
+
protected EndpointImpl() {
}
@@ -140,4 +143,12 @@
public void setTargetCallbackBinding(Binding targetCallbackBinding){
this.targetCallbackBinding = targetCallbackBinding;
}
+
+ public InterfaceContract getInterfaceContract() {
+ return interfaceContract;
+ }
+
+ public void setInterfaceContract(InterfaceContract interfaceContract) {
+ this.interfaceContract = interfaceContract;
+ }
}