You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by rf...@apache.org on 2007/02/16 07:32:36 UTC

svn commit: r508320 - /incubator/tuscany/branches/sca-java-integration/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/AbstractCompositeBuilder.java

Author: rfeng
Date: Thu Feb 15 22:32:35 2007
New Revision: 508320

URL: http://svn.apache.org/viewvc?view=rev&rev=508320
Log:
[sca-integration-branch] Add extensions from included 

Modified:
    incubator/tuscany/branches/sca-java-integration/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/AbstractCompositeBuilder.java

Modified: incubator/tuscany/branches/sca-java-integration/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/AbstractCompositeBuilder.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-integration/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/AbstractCompositeBuilder.java?view=diff&rev=508320&r1=508319&r2=508320
==============================================================================
--- incubator/tuscany/branches/sca-java-integration/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/AbstractCompositeBuilder.java (original)
+++ incubator/tuscany/branches/sca-java-integration/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/AbstractCompositeBuilder.java Thu Feb 15 22:32:35 2007
@@ -12,6 +12,7 @@
 import org.apache.tuscany.spi.model.ComponentDefinition;
 import org.apache.tuscany.spi.model.CompositeComponentType;
 import org.apache.tuscany.spi.model.Implementation;
+import org.apache.tuscany.spi.model.Include;
 import org.apache.tuscany.spi.model.ReferenceDefinition;
 import org.apache.tuscany.spi.model.ServiceDefinition;
 
@@ -52,8 +53,16 @@
                 throw new BuilderInstantiationException("Error registering reference", e);
             }
         }
-        component.getExtensions().putAll(componentType.getExtensions());
+        addExtensions(component, componentType);
         return component;
+    }
+    
+    // We need to include all the extensions from the include
+    private void addExtensions(CompositeComponent component, CompositeComponentType<?, ?, ?> componentType) {
+        component.getExtensions().putAll(componentType.getExtensions());
+        for (Include include : componentType.getIncludes().values()) {
+            addExtensions(component, include.getIncluded());
+        }
     }
 
 }



---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-commits-help@ws.apache.org