You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by js...@apache.org on 2007/05/07 07:21:41 UTC
svn commit: r535748 -
/incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/assembly/builder/impl/DefaultCompositeBuilder.java
Author: jsdelfino
Date: Sun May 6 22:21:40 2007
New Revision: 535748
URL: http://svn.apache.org/viewvc?view=rev&rev=535748
Log:
Make sure that top level component references target the actual service promoted by a composite service.
Modified:
incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/assembly/builder/impl/DefaultCompositeBuilder.java
Modified: incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/assembly/builder/impl/DefaultCompositeBuilder.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/assembly/builder/impl/DefaultCompositeBuilder.java?view=diff&rev=535748&r1=535747&r2=535748
==============================================================================
--- incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/assembly/builder/impl/DefaultCompositeBuilder.java (original)
+++ incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/assembly/builder/impl/DefaultCompositeBuilder.java Sun May 6 22:21:40 2007
@@ -726,8 +726,7 @@
if (componentReference.isAutowire()) {
// Find suitable targets in the current composite for an
- // autowired
- // reference
+ // autowired reference
Multiplicity multiplicity = componentReference.getMultiplicity();
for (Component component : composite.getComponents()) {
for (ComponentService componentService : component.getServices()) {
@@ -1078,15 +1077,13 @@
promotedReference.getBindings().addAll(componentReference.getBindings());
// Wire the promoted reference to the actual
- // non-composite
- // component services
+ // non-composite component services
promotedReference.getTargets().clear();
for (ComponentService target : componentReference.getTargets()) {
if (target.getService() instanceof CompositeService) {
// Wire to the actual component service
- // promoted by a
- // composite service
+ // promoted by a composite service
CompositeService compositeService = (CompositeService)target.getService();
ComponentService componentService = compositeService.getPromotedService();
if (componentService != null) {
@@ -1097,6 +1094,26 @@
// Wire to a non-composite target service
promotedReference.getTargets().add(target);
}
+ }
+ }
+ }
+ }
+ } else {
+ for (ComponentReference componentReference : component.getReferences()) {
+
+ // Wire the component reference to the actual
+ // non-composite component services
+ List<ComponentService> targets = componentReference.getTargets();
+ for (int i = 0, n = targets.size(); i<n; i++) {
+ ComponentService target = targets.get(i);
+ if (target.getService() instanceof CompositeService) {
+
+ // Wire to the actual component service
+ // promoted by a composite service
+ CompositeService compositeService = (CompositeService)target.getService();
+ ComponentService componentService = compositeService.getPromotedService();
+ if (componentService != null) {
+ targets.set(i, componentService);
}
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-commits-help@ws.apache.org