You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by jm...@apache.org on 2007/02/28 17:18:12 UTC

svn commit: r512824 - in /incubator/tuscany/java/sca/kernel: core/src/main/java/org/apache/tuscany/core/deployer/ core/src/main/java/org/apache/tuscany/core/implementation/composite/ core/src/main/java/org/apache/tuscany/core/implementation/processor/ ...

Author: jmarino
Date: Wed Feb 28 08:18:10 2007
New Revision: 512824

URL: http://svn.apache.org/viewvc?view=rev&rev=512824
Log:
have consturctor processor support autowired references; fix propagation of autowire context for includes; start conversion of runtime extension model to use SCA 1.0 autowire

Modified:
    incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/deployer/AbstractDeploymentContext.java
    incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/CompositeComponentTypeLoader.java
    incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/CompositeLoader.java
    incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/processor/ConstructorProcessor.java
    incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/processor/ImplementationProcessorServiceImpl.java
    incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/processor/ReferenceProcessor.java
    incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/system/loader/SystemCompositeComponentTypeLoader.java
    incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/loader/ComponentLoader.java
    incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/loader/IncludeLoader.java
    incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/resolver/DefaultAutowireResolver.java
    incubator/tuscany/java/sca/kernel/core/src/main/resources/org/apache/tuscany/core/composite.scdl
    incubator/tuscany/java/sca/kernel/core/src/main/resources/org/apache/tuscany/core/databinding.scdl
    incubator/tuscany/java/sca/kernel/core/src/main/resources/org/apache/tuscany/core/deployment.scdl
    incubator/tuscany/java/sca/kernel/core/src/main/resources/org/apache/tuscany/core/formatters.scdl
    incubator/tuscany/java/sca/kernel/core/src/main/resources/org/apache/tuscany/core/implementation.scdl
    incubator/tuscany/java/sca/kernel/core/src/main/resources/org/apache/tuscany/core/interfaceJava.scdl
    incubator/tuscany/java/sca/kernel/core/src/main/resources/org/apache/tuscany/core/javaImplementation.scdl
    incubator/tuscany/java/sca/kernel/core/src/main/resources/org/apache/tuscany/core/loader.scdl
    incubator/tuscany/java/sca/kernel/core/src/main/resources/org/apache/tuscany/core/systemImplementation.scdl
    incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/CompositeLoaderTestCase.java
    incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/processor/ConstructorReferenceTestCase.java
    incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/loader/ComponentLoaderTestCase.java
    incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/loader/ComponentLoaderValidationTestCase.java
    incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/loader/IncludeLoaderTestCase.java
    incubator/tuscany/java/sca/kernel/core/src/test/resources/org/apache/tuscany/core/deployer/boot2.scdl
    incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/deployer/DeploymentContext.java
    incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/extension/BindingBuilderExtension.java
    incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/extension/ComponentBuilderExtension.java
    incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/extension/ComponentTypeLoaderExtension.java
    incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/extension/ContributionProcessorExtension.java
    incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/implementation/java/ImplementationProcessorExtension.java
    incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/model/ComponentDefinition.java
    incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/model/ReferenceDefinition.java

Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/deployer/AbstractDeploymentContext.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/deployer/AbstractDeploymentContext.java?view=diff&rev=512824&r1=512823&r2=512824
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/deployer/AbstractDeploymentContext.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/deployer/AbstractDeploymentContext.java Wed Feb 28 08:18:10 2007
@@ -50,6 +50,7 @@
         this.classLoader = classLoader;
         this.scdlLocation = scdlLocation;
         this.componentId = componentId;
+        this.autowire = autowire;
     }
 
     public ClassLoader getClassLoader() {
@@ -66,6 +67,10 @@
 
     public boolean isAutowire() {
         return autowire;
+    }
+
+    public void setAutowire(boolean autowire) {
+        this.autowire = autowire;
     }
 
     @Deprecated

Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/CompositeComponentTypeLoader.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/CompositeComponentTypeLoader.java?view=diff&rev=512824&r1=512823&r2=512824
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/CompositeComponentTypeLoader.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/CompositeComponentTypeLoader.java Wed Feb 28 08:18:10 2007
@@ -52,7 +52,8 @@
         URL scdlLocation = implementation.getScdlLocation();
         ClassLoader cl = new CompositeClassLoader(implementation.getClassLoader());
         URI componentId = URI.create(context.getComponentId().toString() + '/');
-        DeploymentContext childContext = new ChildDeploymentContext(context, cl, scdlLocation, componentId, false);
+        DeploymentContext childContext =
+            new ChildDeploymentContext(context, cl, scdlLocation, componentId, context.isAutowire());
         CompositeComponentType componentType = loadFromSidefile(scdlLocation, childContext);
         implementation.setComponentType(componentType);
     }

Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/CompositeLoader.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/CompositeLoader.java?view=diff&rev=512824&r1=512823&r2=512824
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/CompositeLoader.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/CompositeLoader.java Wed Feb 28 08:18:10 2007
@@ -78,6 +78,7 @@
         ModelObject object,
         XMLStreamReader reader,
         DeploymentContext deploymentContext) throws XMLStreamException, LoaderException {
+
         CompositeComponentType<ServiceDefinition, ReferenceDefinition, Property<?>> type =
             new CompositeComponentType<ServiceDefinition, ReferenceDefinition, Property<?>>();
         type.setName(reader.getAttributeValue(null, "name"));
@@ -87,7 +88,10 @@
         while (!done) {
             switch (reader.next()) {
                 case START_ELEMENT:
+                    boolean oldAutowire = deploymentContext.isAutowire();
+                    deploymentContext.setAutowire(autowire);
                     ModelObject o = registry.load(type, reader, deploymentContext);
+                    deploymentContext.setAutowire(oldAutowire);
                     if (o instanceof ServiceDefinition) {
                         type.add((ServiceDefinition) o);
                     } else if (o instanceof ReferenceDefinition) {

Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/processor/ConstructorProcessor.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/processor/ConstructorProcessor.java?view=diff&rev=512824&r1=512823&r2=512824
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/processor/ConstructorProcessor.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/processor/ConstructorProcessor.java Wed Feb 28 08:18:10 2007
@@ -89,12 +89,12 @@
             Annotation[] paramAnnotations = annotations[i];
             try {
                 if (!service.processParam(param,
-                                          constructor.getGenericParameterTypes()[i],
-                                          paramAnnotations,
-                                          names,
-                                          i,
-                                          type,
-                                          injectionNames)) {
+                    constructor.getGenericParameterTypes()[i],
+                    paramAnnotations,
+                    names,
+                    i,
+                    type,
+                    injectionNames)) {
                     String name = (i < names.length) ? names[i] : "";
                     service.addName(injectionNames, i, name);
                 }

Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/processor/ImplementationProcessorServiceImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/processor/ImplementationProcessorServiceImpl.java?view=diff&rev=512824&r1=512823&r2=512824
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/processor/ImplementationProcessorServiceImpl.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/processor/ImplementationProcessorServiceImpl.java Wed Feb 28 08:18:10 2007
@@ -349,11 +349,14 @@
         JavaMappedReference reference = new JavaMappedReference();
         String name = refAnnotation.name();
         if (name == null || name.length() == 0) {
-            if (constructorNames.length < pos + 1 || constructorNames[pos] == null
+            if (constructorNames.length == 0 || constructorNames[0].length() == 0) {
+                name = "_ref" + pos;
+            } else if (constructorNames.length < pos + 1 || constructorNames[pos] == null
                 || constructorNames[pos].length() == 0) {
                 throw new InvalidReferenceException("No name specified for reference parameter " + (pos + 1));
+            } else {
+                name = constructorNames[pos];
             }
-            name = constructorNames[pos];
         } else if (pos < constructorNames.length && constructorNames[pos] != null
             && constructorNames[pos].length() != 0 && !name.equals(constructorNames[pos])) {
             String paramNum = String.valueOf(pos + 1);

Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/processor/ReferenceProcessor.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/processor/ReferenceProcessor.java?view=diff&rev=512824&r1=512823&r2=512824
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/processor/ReferenceProcessor.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/processor/ReferenceProcessor.java Wed Feb 28 08:18:10 2007
@@ -51,8 +51,7 @@
 
     private JavaInterfaceProcessorRegistry regsitry;
 
-    public ReferenceProcessor(@Autowire
-    JavaInterfaceProcessorRegistry registry) {
+    public ReferenceProcessor(@Reference JavaInterfaceProcessorRegistry registry) {
         this.regsitry = registry;
     }
 

Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/system/loader/SystemCompositeComponentTypeLoader.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/system/loader/SystemCompositeComponentTypeLoader.java?view=diff&rev=512824&r1=512823&r2=512824
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/system/loader/SystemCompositeComponentTypeLoader.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/system/loader/SystemCompositeComponentTypeLoader.java Wed Feb 28 08:18:10 2007
@@ -57,8 +57,11 @@
         }
         ClassLoader cl = implementation.getClassLoader();
         URI componentId = deploymentContext.getComponentId();
-        DeploymentContext childContext = new ChildDeploymentContext(deploymentContext, cl, scdlLocation, componentId,
-            false);
+        DeploymentContext childContext = new ChildDeploymentContext(deploymentContext,
+            cl,
+            scdlLocation,
+            componentId,
+            deploymentContext.isAutowire());
         CompositeComponentType componentType = loadFromSidefile(scdlLocation, childContext);
         implementation.setComponentType(componentType);
     }

Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/loader/ComponentLoader.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/loader/ComponentLoader.java?view=diff&rev=512824&r1=512823&r2=512824
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/loader/ComponentLoader.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/loader/ComponentLoader.java Wed Feb 28 08:18:10 2007
@@ -36,10 +36,10 @@
 import org.w3c.dom.Document;
 import static org.osoa.sca.Constants.SCA_NS;
 import org.osoa.sca.annotations.Constructor;
+import org.osoa.sca.annotations.Reference;
 
 import org.apache.tuscany.spi.ObjectFactory;
 import org.apache.tuscany.spi.QualifiedName;
-import org.apache.tuscany.spi.annotation.Autowire;
 import org.apache.tuscany.spi.databinding.extension.DOMHelper;
 import org.apache.tuscany.spi.deployer.DeploymentContext;
 import org.apache.tuscany.spi.extension.LoaderExtension;
@@ -91,7 +91,7 @@
     private PropertyObjectFactory propertyFactory;
 
     @Constructor
-    public ComponentLoader(@Autowire LoaderRegistry registry, @Autowire PropertyObjectFactory propertyFactory) {
+    public ComponentLoader(@Reference LoaderRegistry registry, @Reference PropertyObjectFactory propertyFactory) {
         super(registry);
         this.propertyFactory = propertyFactory;
     }
@@ -106,11 +106,18 @@
         assert COMPONENT.equals(reader.getName());
         String name = reader.getAttributeValue(null, "name");
         String initLevel = reader.getAttributeValue(null, "initLevel");
-        boolean autowire = Boolean.parseBoolean(reader.getAttributeValue(null, "autowire")) || context.isAutowire();
+        String autowireAttr = reader.getAttributeValue(null, "autowire");
+        boolean autowire;
+        if (autowireAttr == null) {
+            autowire = context.isAutowire();
+        } else {
+            autowire = Boolean.parseBoolean(autowireAttr);
+        }
 
         URI componentId = URI.create(context.getComponentId() + "/").resolve(name);
         ClassLoader loader = context.getClassLoader();
         URL location = context.getScdlLocation();
+        // xcv test
         DeploymentContext childContext = new ChildDeploymentContext(context, loader, location, componentId, autowire);
         Implementation<?> impl = loadImplementation(reader, childContext);
         registry.loadComponentType(impl, childContext);
@@ -149,11 +156,12 @@
                         ComponentType<ServiceDefinition, ReferenceDefinition, Property<?>> type =
                             (ComponentType<ServiceDefinition, ReferenceDefinition, Property<?>>) componentDefinition
                                 .getImplementation().getComponentType();
+
                         for (ReferenceDefinition ref : type.getReferences().values()) {
                             // add reference target definitions if autowire is enabled for references that are not
                             // explicitly configured with autowire by the component
                             if (!componentDefinition.getReferenceTargets().containsKey(ref.getUri().getFragment())) {
-                                if (ref.isAutowire() || autowire) {
+                                if (ref.getAutowire() || autowire) {
                                     ReferenceTarget referenceTarget = new ReferenceTarget();
                                     String compName = componentDefinition.getUri().toString();
                                     URI refName = URI.create(compName + ref.getUri().toString());
@@ -301,7 +309,7 @@
             return;
         }
         for (ReferenceDefinition referenceDef : type.getReferences().values()) {
-            if (referenceDef.isAutowire() || !referenceDef.isRequired()) {
+            if (referenceDef.getAutowire() || !referenceDef.isRequired()) {
                 continue;
             }
             String name = referenceDef.getUri().getFragment();

Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/loader/IncludeLoader.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/loader/IncludeLoader.java?view=diff&rev=512824&r1=512823&r2=512824
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/loader/IncludeLoader.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/loader/IncludeLoader.java Wed Feb 28 08:18:10 2007
@@ -59,8 +59,7 @@
         return INCLUDE;
     }
 
-    public Include load(ModelObject object, XMLStreamReader reader,
-                        DeploymentContext deploymentContext)
+    public Include load(ModelObject object, XMLStreamReader reader, DeploymentContext deploymentContext)
         throws XMLStreamException, LoaderException {
 
         assert INCLUDE.equals(reader.getName());
@@ -88,7 +87,8 @@
 
         // when we include, the componentId remains that of the parent
         URI componentId = deploymentContext.getComponentId();
-        DeploymentContext childContext = new ChildDeploymentContext(deploymentContext, cl, url, componentId, false);
+        boolean autowire = deploymentContext.isAutowire();
+        DeploymentContext childContext = new ChildDeploymentContext(deploymentContext, cl, url, componentId, autowire);
         CompositeComponentType composite;
         composite = loadFromSidefile(url, childContext);
 

Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/resolver/DefaultAutowireResolver.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/resolver/DefaultAutowireResolver.java?view=diff&rev=512824&r1=512823&r2=512824
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/resolver/DefaultAutowireResolver.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/resolver/DefaultAutowireResolver.java Wed Feb 28 08:18:10 2007
@@ -57,7 +57,7 @@
                     resolve((ComponentDefinition<Implementation<CompositeComponentType<?, ?, ?>>>) definition, child);
                 }
                 for (ReferenceTarget target : child.getReferenceTargets().values()) {
-                    if (target.getTargets().isEmpty()) {  // xcv should be isAutowire
+                    if (target.getTargets().isEmpty()) {  // TODO JFM should be isAutowire
                         String fragment = target.getReferenceName().getFragment();
                         ReferenceDefinition reference = childType.getReferences().get(fragment);
                         assert reference != null;
@@ -69,7 +69,7 @@
         } else {
             // a leaf level component
             for (ReferenceTarget target : definition.getReferenceTargets().values()) {
-                if (target.getTargets().isEmpty()) {    // xcv should be isAutowire
+                if (target.getTargets().isEmpty()) {    // TODO JFM should be isAutowire
                     String fragment = target.getReferenceName().getFragment();
                     ReferenceDefinition reference = type.getReferences().get(fragment);
                     assert reference != null;

Modified: incubator/tuscany/java/sca/kernel/core/src/main/resources/org/apache/tuscany/core/composite.scdl
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/resources/org/apache/tuscany/core/composite.scdl?view=diff&rev=512824&r1=512823&r2=512824
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/resources/org/apache/tuscany/core/composite.scdl (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/resources/org/apache/tuscany/core/composite.scdl Wed Feb 28 08:18:10 2007
@@ -24,20 +24,23 @@
 -->
 <composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
            xmlns:system="http://tuscany.apache.org/xmlns/system/1.0-SNAPSHOT"
-           name="org.apache.tuscany.core.Composite">
+           name="org.apache.tuscany.core.Composite"
+           autowire="true">
 
     <!-- Composite implementation type -->
     <component name="composite.loader">
         <system:implementation.system class="org.apache.tuscany.core.implementation.composite.CompositeLoader"/>
     </component>
     <component name="composite.implementationLoader">
-        <system:implementation.system class="org.apache.tuscany.core.implementation.composite.ImplementationCompositeLoader"/>
+        <system:implementation.system
+            class="org.apache.tuscany.core.implementation.composite.ImplementationCompositeLoader"/>
     </component>
     <component name="composite.dependencyLoader">
         <system:implementation.system class="org.apache.tuscany.core.loader.DependencyLoader"/>
     </component>
     <component name="composite.componentTypeLoader">
-        <system:implementation.system class="org.apache.tuscany.core.implementation.composite.CompositeComponentTypeLoader"/>
+        <system:implementation.system
+            class="org.apache.tuscany.core.implementation.composite.CompositeComponentTypeLoader"/>
     </component>
     <component name="composite.builder">
         <system:implementation.system class="org.apache.tuscany.core.implementation.composite.CompositeBuilder"/>

Modified: incubator/tuscany/java/sca/kernel/core/src/main/resources/org/apache/tuscany/core/databinding.scdl
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/resources/org/apache/tuscany/core/databinding.scdl?view=diff&rev=512824&r1=512823&r2=512824
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/resources/org/apache/tuscany/core/databinding.scdl (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/resources/org/apache/tuscany/core/databinding.scdl Wed Feb 28 08:18:10 2007
@@ -18,144 +18,148 @@
  * under the License.    
 -->
 <composite xmlns="http://www.osoa.org/xmlns/sca/1.0" xmlns:system="http://tuscany.apache.org/xmlns/system/1.0-SNAPSHOT"
-    name="org.apache.tuscany.core.DataBinding"> 
+           name="org.apache.tuscany.core.DataBinding"
+           autowire="true">
 
     <component name="databinding.wirePostProcessor">
-        <system:implementation.system class="org.apache.tuscany.core.databinding.impl.DataBindingWirePostProcessor" />
+        <system:implementation.system class="org.apache.tuscany.core.databinding.impl.DataBindingWirePostProcessor"/>
     </component>
 
     <component name="databinding.javaInterfaceProcessor">
-        <system:implementation.system class="org.apache.tuscany.core.databinding.impl.DataBindingJavaInterfaceProcessor" />
+        <system:implementation.system
+            class="org.apache.tuscany.core.databinding.impl.DataBindingJavaInterfaceProcessor"/>
     </component>
-    
-    <component name="databinding.passByValueWirePostProcessor" >
-        <system:implementation.system class="org.apache.tuscany.core.databinding.impl.PassByValueWirePostProcessor" />
+
+    <component name="databinding.passByValueWirePostProcessor">
+        <system:implementation.system class="org.apache.tuscany.core.databinding.impl.PassByValueWirePostProcessor"/>
     </component>
 
     <!-- DataBinding registry -->
     <component name="databinding.registry">
-        <system:implementation.system class="org.apache.tuscany.core.databinding.impl.DataBindingRegistryImpl" />
+        <system:implementation.system class="org.apache.tuscany.core.databinding.impl.DataBindingRegistryImpl"/>
     </component>
 
     <!-- DataBinding registry -->
     <component name="databinding.mediator">
-        <system:implementation.system class="org.apache.tuscany.core.databinding.impl.MediatorImpl" />
+        <system:implementation.system class="org.apache.tuscany.core.databinding.impl.MediatorImpl"/>
     </component>
 
     <!-- Transformer registry -->
     <component name="databinding.transformerRegistry" initLevel="90">
-        <system:implementation.system class="org.apache.tuscany.core.databinding.impl.TransformerRegistryImpl" />
+        <system:implementation.system class="org.apache.tuscany.core.databinding.impl.TransformerRegistryImpl"/>
     </component>
 
     <component name="dataType.loader">
-        <system:implementation.system class="org.apache.tuscany.core.databinding.impl.DataTypeLoader" />
+        <system:implementation.system class="org.apache.tuscany.core.databinding.impl.DataTypeLoader"/>
     </component>
 
     <!-- Simple databindings -->
     <component name="databinding.dom">
-        <system:implementation.system class="org.apache.tuscany.core.databinding.impl.SimpleDataBinding" />
+        <system:implementation.system class="org.apache.tuscany.core.databinding.impl.SimpleDataBinding"/>
         <property name="className">org.w3c.dom.Node</property>
     </component>
-    
+
     <component name="databinding.javabeans">
-        <system:implementation.system class="org.apache.tuscany.core.databinding.javabeans.JavaBeansDataBinding" />
+        <system:implementation.system class="org.apache.tuscany.core.databinding.javabeans.JavaBeansDataBinding"/>
     </component>
 
     <!-- Transformers -->
 
     <component name="transformer.Input2InputTransformer">
-        <system:implementation.system class="org.apache.tuscany.core.databinding.impl.Input2InputTransformer" />
+        <system:implementation.system class="org.apache.tuscany.core.databinding.impl.Input2InputTransformer"/>
     </component>
 
     <component name="transformer.Output2OutputTransformer">
-        <system:implementation.system class="org.apache.tuscany.core.databinding.impl.Output2OutputTransformer" />
+        <system:implementation.system class="org.apache.tuscany.core.databinding.impl.Output2OutputTransformer"/>
     </component>
 
     <component name="transformer.InputSource2Node">
-        <system:implementation.system class="org.apache.tuscany.core.databinding.xml.InputSource2Node" />
+        <system:implementation.system class="org.apache.tuscany.core.databinding.xml.InputSource2Node"/>
     </component>
 
     <component name="transformer.InputSource2SAX">
-        <system:implementation.system class="org.apache.tuscany.core.databinding.xml.InputSource2SAX" />
+        <system:implementation.system class="org.apache.tuscany.core.databinding.xml.InputSource2SAX"/>
     </component>
 
     <component name="transformer.InputStream2Node">
-        <system:implementation.system class="org.apache.tuscany.core.databinding.xml.InputStream2Node" />
+        <system:implementation.system class="org.apache.tuscany.core.databinding.xml.InputStream2Node"/>
     </component>
 
     <component name="transformer.InputStream2SAX">
-        <system:implementation.system class="org.apache.tuscany.core.databinding.xml.InputStream2SAX" />
+        <system:implementation.system class="org.apache.tuscany.core.databinding.xml.InputStream2SAX"/>
     </component>
 
     <component name="transformer.DOMNode2JavaBean">
-        <system:implementation.system class="org.apache.tuscany.core.databinding.javabeans.DOMNode2JavaBeanTransformer" />
+        <system:implementation.system
+            class="org.apache.tuscany.core.databinding.javabeans.DOMNode2JavaBeanTransformer"/>
     </component>
 
     <component name="transformer.Node2OutputStream">
-        <system:implementation.system class="org.apache.tuscany.core.databinding.xml.Node2OutputStream" />
+        <system:implementation.system class="org.apache.tuscany.core.databinding.xml.Node2OutputStream"/>
     </component>
 
     <component name="transformer.Node2String">
-        <system:implementation.system class="org.apache.tuscany.core.databinding.xml.Node2String" />
+        <system:implementation.system class="org.apache.tuscany.core.databinding.xml.Node2String"/>
     </component>
 
     <component name="transformer.Node2Writer">
-        <system:implementation.system class="org.apache.tuscany.core.databinding.xml.Node2Writer" />
+        <system:implementation.system class="org.apache.tuscany.core.databinding.xml.Node2Writer"/>
     </component>
 
     <component name="transformer.Node2XMLStreamReader">
-        <system:implementation.system class="org.apache.tuscany.core.databinding.xml.Node2XMLStreamReader" />
+        <system:implementation.system class="org.apache.tuscany.core.databinding.xml.Node2XMLStreamReader"/>
     </component>
 
     <component name="transformer.JavaBean2DOMNode">
-        <system:implementation.system class="org.apache.tuscany.core.databinding.javabeans.JavaBean2DOMNodeTransformer" />
+        <system:implementation.system
+            class="org.apache.tuscany.core.databinding.javabeans.JavaBean2DOMNodeTransformer"/>
     </component>
 
     <component name="transformer.Reader2Node">
-        <system:implementation.system class="org.apache.tuscany.core.databinding.xml.Reader2Node" />
+        <system:implementation.system class="org.apache.tuscany.core.databinding.xml.Reader2Node"/>
     </component>
 
     <component name="transformer.Reader2SAX">
-        <system:implementation.system class="org.apache.tuscany.core.databinding.xml.Reader2SAX" />
+        <system:implementation.system class="org.apache.tuscany.core.databinding.xml.Reader2SAX"/>
     </component>
 
     <component name="transformer.SAX2DOMPipe">
-        <system:implementation.system class="org.apache.tuscany.core.databinding.xml.SAX2DOMPipe" />
+        <system:implementation.system class="org.apache.tuscany.core.databinding.xml.SAX2DOMPipe"/>
     </component>
 
     <component name="transformer.Source2ResultTransformer">
-        <system:implementation.system class="org.apache.tuscany.core.databinding.xml.Source2ResultTransformer" />
+        <system:implementation.system class="org.apache.tuscany.core.databinding.xml.Source2ResultTransformer"/>
     </component>
 
     <component name="transformer.StreamDataPipe">
-        <system:implementation.system class="org.apache.tuscany.core.databinding.xml.StreamDataPipe" />
+        <system:implementation.system class="org.apache.tuscany.core.databinding.xml.StreamDataPipe"/>
     </component>
 
     <component name="transformer.String2Node">
-        <system:implementation.system class="org.apache.tuscany.core.databinding.xml.String2Node" />
+        <system:implementation.system class="org.apache.tuscany.core.databinding.xml.String2Node"/>
     </component>
 
     <component name="transformer.String2SAX">
-        <system:implementation.system class="org.apache.tuscany.core.databinding.xml.String2SAX" />
+        <system:implementation.system class="org.apache.tuscany.core.databinding.xml.String2SAX"/>
     </component>
 
     <component name="transformer.String2XMLStreamReader">
-        <system:implementation.system class="org.apache.tuscany.core.databinding.xml.String2XMLStreamReader" />
+        <system:implementation.system class="org.apache.tuscany.core.databinding.xml.String2XMLStreamReader"/>
     </component>
 
     <component name="transformer.Writer2ReaderDataPipe">
-        <system:implementation.system class="org.apache.tuscany.core.databinding.xml.Writer2ReaderDataPipe" />
+        <system:implementation.system class="org.apache.tuscany.core.databinding.xml.Writer2ReaderDataPipe"/>
     </component>
 
     <component name="transformer.XMLStreamReader2Node">
-        <system:implementation.system class="org.apache.tuscany.core.databinding.xml.XMLStreamReader2Node" />
+        <system:implementation.system class="org.apache.tuscany.core.databinding.xml.XMLStreamReader2Node"/>
     </component>
 
     <component name="transformer.XMLStreamReader2SAX">
-        <system:implementation.system class="org.apache.tuscany.core.databinding.xml.XMLStreamReader2SAX" />
+        <system:implementation.system class="org.apache.tuscany.core.databinding.xml.XMLStreamReader2SAX"/>
     </component>
 
     <component name="transformer.XMLStreamReader2String">
-        <system:implementation.system class="org.apache.tuscany.core.databinding.xml.XMLStreamReader2String" />
+        <system:implementation.system class="org.apache.tuscany.core.databinding.xml.XMLStreamReader2String"/>
     </component>
 </composite>

Modified: incubator/tuscany/java/sca/kernel/core/src/main/resources/org/apache/tuscany/core/deployment.scdl
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/resources/org/apache/tuscany/core/deployment.scdl?view=diff&rev=512824&r1=512823&r2=512824
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/resources/org/apache/tuscany/core/deployment.scdl (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/resources/org/apache/tuscany/core/deployment.scdl Wed Feb 28 08:18:10 2007
@@ -23,35 +23,40 @@
     $Rev$ $Date$
 -->
 <composite xmlns="http://www.osoa.org/xmlns/sca/1.0" xmlns:system="http://tuscany.apache.org/xmlns/system/1.0-SNAPSHOT"
-    name="org.apache.tuscany.core.Deployment">
+           name="org.apache.tuscany.core.Deployment"
+           autowire="true">
 
     <!-- Contribution Service -->
     <component name="contributionDirectoryWatcher" initLevel="100">
-        <system:implementation.system class="org.apache.tuscany.core.services.deployment.ContributionDirectoryWatcher" />
-        <property name="path">target/deployables</property>        
+        <system:implementation.system class="org.apache.tuscany.core.services.deployment.ContributionDirectoryWatcher"/>
+        <property name="path">target/deployables</property>
     </component>
     <component name="contributionService" initLevel="90">
-        <system:implementation.system class="org.apache.tuscany.core.services.deployment.ContributionServiceImpl" />
+        <system:implementation.system class="org.apache.tuscany.core.services.deployment.ContributionServiceImpl"/>
     </component>
     <component name="contributionRepository" initLevel="40">
-        <system:implementation.system class="org.apache.tuscany.core.services.deployment.ContributionRepositoryImpl" />
+        <system:implementation.system class="org.apache.tuscany.core.services.deployment.ContributionRepositoryImpl"/>
         <property name="repository">target/repository</property>
     </component>
 
     <component name="contributionProcessorRegistry" initLevel="35">
-        <system:implementation.system class="org.apache.tuscany.core.services.deployment.ContributionProcessorRegistryImpl" />
+        <system:implementation.system
+            class="org.apache.tuscany.core.services.deployment.ContributionProcessorRegistryImpl"/>
     </component>
     <component name="contentTypeDescriber" initLevel="30">
-        <system:implementation.system class="org.apache.tuscany.core.services.deployment.ContentTypeDescriberImpl" />
+        <system:implementation.system class="org.apache.tuscany.core.services.deployment.ContentTypeDescriberImpl"/>
     </component>
     <component name="JarContributionProcessor" initLevel="30">
-        <system:implementation.system class="org.apache.tuscany.core.services.deployment.contribution.JarContributionProcessor" />
+        <system:implementation.system
+            class="org.apache.tuscany.core.services.deployment.contribution.JarContributionProcessor"/>
     </component>
     <component name="JavaContributionProcessor" initLevel="30">
-        <system:implementation.system class="org.apache.tuscany.core.services.deployment.contribution.JavaContributionProcessor" />
+        <system:implementation.system
+            class="org.apache.tuscany.core.services.deployment.contribution.JavaContributionProcessor"/>
     </component>
     <component name="ScdlContributionProcessor" initLevel="30">
-        <system:implementation.system class="org.apache.tuscany.core.services.deployment.contribution.ScdlContributionProcessor" />
-    </component>    
+        <system:implementation.system
+            class="org.apache.tuscany.core.services.deployment.contribution.ScdlContributionProcessor"/>
+    </component>
 
 </composite>

Modified: incubator/tuscany/java/sca/kernel/core/src/main/resources/org/apache/tuscany/core/formatters.scdl
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/resources/org/apache/tuscany/core/formatters.scdl?view=diff&rev=512824&r1=512823&r2=512824
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/resources/org/apache/tuscany/core/formatters.scdl (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/resources/org/apache/tuscany/core/formatters.scdl Wed Feb 28 08:18:10 2007
@@ -24,7 +24,8 @@
 -->
 <composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
            xmlns:system="http://tuscany.apache.org/xmlns/system/1.0-SNAPSHOT"
-           name="org.apache.tuscany.core.Formatters">
+           name="org.apache.tuscany.core.Formatters"
+           autowire="true">
 
     <component name="LoaderExceptionFormatter">
         <system:implementation.system class="org.apache.tuscany.core.loader.LoaderExceptionFormatter"/>

Modified: incubator/tuscany/java/sca/kernel/core/src/main/resources/org/apache/tuscany/core/implementation.scdl
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/resources/org/apache/tuscany/core/implementation.scdl?view=diff&rev=512824&r1=512823&r2=512824
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/resources/org/apache/tuscany/core/implementation.scdl (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/resources/org/apache/tuscany/core/implementation.scdl Wed Feb 28 08:18:10 2007
@@ -24,7 +24,8 @@
 -->
 <composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
            xmlns:system="http://tuscany.apache.org/xmlns/system/1.0-SNAPSHOT"
-           name="org.apache.tuscany.core.Implementation">
+           name="org.apache.tuscany.core.Implementation"
+           autowire="true">
 
     <!-- Foundation implementation processors -->
     <component name="implementation.ImplementationProcessorService">

Modified: incubator/tuscany/java/sca/kernel/core/src/main/resources/org/apache/tuscany/core/interfaceJava.scdl
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/resources/org/apache/tuscany/core/interfaceJava.scdl?view=diff&rev=512824&r1=512823&r2=512824
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/resources/org/apache/tuscany/core/interfaceJava.scdl (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/resources/org/apache/tuscany/core/interfaceJava.scdl Wed Feb 28 08:18:10 2007
@@ -24,7 +24,8 @@
 -->
 <composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
            xmlns:system="http://tuscany.apache.org/xmlns/system/1.0-SNAPSHOT"
-           name="org.apache.tuscany.core.InterfaceJava">
+           name="org.apache.tuscany.core.InterfaceJava"
+           autowire="true">
 
     <component name="interfaceJava.interfaceProcessorRegistry">
         <system:implementation.system class="org.apache.tuscany.core.idl.java.JavaInterfaceProcessorRegistryImpl"/>

Modified: incubator/tuscany/java/sca/kernel/core/src/main/resources/org/apache/tuscany/core/javaImplementation.scdl
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/resources/org/apache/tuscany/core/javaImplementation.scdl?view=diff&rev=512824&r1=512823&r2=512824
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/resources/org/apache/tuscany/core/javaImplementation.scdl (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/resources/org/apache/tuscany/core/javaImplementation.scdl Wed Feb 28 08:18:10 2007
@@ -24,7 +24,8 @@
 -->
 <composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
            xmlns:system="http://tuscany.apache.org/xmlns/system/1.0-SNAPSHOT"
-           name="org.apache.tuscany.core.JavaImplementation">
+           name="org.apache.tuscany.core.JavaImplementation"
+			  autowire="true">
 
     <!-- Java implementation type -->
     <component name="java.implementationLoader">

Modified: incubator/tuscany/java/sca/kernel/core/src/main/resources/org/apache/tuscany/core/loader.scdl
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/resources/org/apache/tuscany/core/loader.scdl?view=diff&rev=512824&r1=512823&r2=512824
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/resources/org/apache/tuscany/core/loader.scdl (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/resources/org/apache/tuscany/core/loader.scdl Wed Feb 28 08:18:10 2007
@@ -24,7 +24,8 @@
 -->
 <composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
            xmlns:system="http://tuscany.apache.org/xmlns/system/1.0-SNAPSHOT"
-           name="org.apache.tuscany.core.Loader">
+           name="org.apache.tuscany.core.Loader"
+           autowire="true">
 
     <!-- Foundation element loader implementations -->
     <component name="elementLoader.component">

Modified: incubator/tuscany/java/sca/kernel/core/src/main/resources/org/apache/tuscany/core/systemImplementation.scdl
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/resources/org/apache/tuscany/core/systemImplementation.scdl?view=diff&rev=512824&r1=512823&r2=512824
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/resources/org/apache/tuscany/core/systemImplementation.scdl (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/resources/org/apache/tuscany/core/systemImplementation.scdl Wed Feb 28 08:18:10 2007
@@ -24,21 +24,26 @@
 -->
 <composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
            xmlns:system="http://tuscany.apache.org/xmlns/system/1.0-SNAPSHOT"
-           name="org.apache.tuscany.core.SystemImplementation">
+           name="org.apache.tuscany.core.SystemImplementation"
+           autowire="true">
 
     <!-- System implementation type -->
     <component name="system.componentTypeLoader">
-        <system:implementation.system class="org.apache.tuscany.core.implementation.system.loader.SystemComponentTypeLoader"/>
+        <system:implementation.system
+            class="org.apache.tuscany.core.implementation.system.loader.SystemComponentTypeLoader"/>
     </component>
 
     <component name="system.compositeComponentTypeLoader">
-        <system:implementation.system class="org.apache.tuscany.core.implementation.system.loader.SystemCompositeComponentTypeLoader"/>
+        <system:implementation.system
+            class="org.apache.tuscany.core.implementation.system.loader.SystemCompositeComponentTypeLoader"/>
     </component>
     <component name="system.implementationLoader">
-        <system:implementation.system class="org.apache.tuscany.core.implementation.system.loader.SystemImplementationLoader"/>
+        <system:implementation.system
+            class="org.apache.tuscany.core.implementation.system.loader.SystemImplementationLoader"/>
     </component>
     <component name="system.componentBuilder">
-        <system:implementation.system class="org.apache.tuscany.core.implementation.system.builder.SystemComponentBuilder"/>
+        <system:implementation.system
+            class="org.apache.tuscany.core.implementation.system.builder.SystemComponentBuilder"/>
     </component>
     <component name="system.compositeBuilder">
         <system:implementation.system class="org.apache.tuscany.core.implementation.composite.SystemCompositeBuilder"/>

Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/CompositeLoaderTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/CompositeLoaderTestCase.java?view=diff&rev=512824&r1=512823&r2=512824
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/CompositeLoaderTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/CompositeLoaderTestCase.java Wed Feb 28 08:18:10 2007
@@ -24,11 +24,15 @@
 
 import static org.osoa.sca.Constants.SCA_NS;
 
+import org.apache.tuscany.spi.deployer.DeploymentContext;
 import org.apache.tuscany.spi.loader.LoaderRegistry;
 import org.apache.tuscany.spi.model.CompositeComponentType;
+import org.apache.tuscany.spi.model.ModelObject;
 
 import junit.framework.TestCase;
+import org.apache.tuscany.core.deployer.RootDeploymentContext;
 import org.easymock.EasyMock;
+import org.easymock.IAnswer;
 
 /**
  * @version $Rev$ $Date$
@@ -60,6 +64,123 @@
         CompositeComponentType<?, ?, ?> type = loader.load(null, reader, null);
         assertTrue(type.isAutowire());
         EasyMock.verify(reader);
+    }
+
+    /**
+     * Tests autowire enabled is propagated when children are loaded
+     */
+    public void testAutowireContextEnabledPropagation() throws Exception {
+        LoaderRegistry registry = EasyMock.createMock(LoaderRegistry.class);
+        registry.load(EasyMock.isA(ModelObject.class),
+            EasyMock.isA(XMLStreamReader.class),
+            EasyMock.isA(DeploymentContext.class));
+        EasyMock.expectLastCall().andStubAnswer(new IAnswer<Object>() {
+            public Object answer() throws Throwable {
+                DeploymentContext context = (DeploymentContext) EasyMock.getCurrentArguments()[2];
+                assertTrue("autowire not propagated", context.isAutowire());
+                return null;
+            }
+        });
+        EasyMock.replay(registry);
+        DeploymentContext context = new RootDeploymentContext(null, null, null, null, null, true);
+        XMLStreamReader reader = EasyMock.createMock(XMLStreamReader.class);
+        EasyMock.expect(reader.getAttributeValue(null, "name")).andReturn("composite");
+        EasyMock.expect(reader.getAttributeValue(null, "autowire")).andReturn("true");
+        EasyMock.expect(reader.next()).andReturn(XMLStreamConstants.START_ELEMENT);
+        EasyMock.expect(reader.next()).andReturn(XMLStreamConstants.END_ELEMENT);
+        EasyMock.expect(reader.next()).andReturn(XMLStreamConstants.END_ELEMENT);
+        EasyMock.expect(reader.getName()).andReturn(COMPOSITE);
+        EasyMock.replay(reader);
+        loader.load(null, reader, context);
+        assertTrue(context.isAutowire());
+    }
+
+    /**
+     * Tests autowire enabled is propagated when children are loaded and composite is set to use inherited autowire
+     * settings
+     */
+    public void testAutowireContextEnabledInheritedPropagation() throws Exception {
+        LoaderRegistry registry = EasyMock.createMock(LoaderRegistry.class);
+        registry.load(EasyMock.isA(ModelObject.class),
+            EasyMock.isA(XMLStreamReader.class),
+            EasyMock.isA(DeploymentContext.class));
+        EasyMock.expectLastCall().andStubAnswer(new IAnswer<Object>() {
+            public Object answer() throws Throwable {
+                DeploymentContext context = (DeploymentContext) EasyMock.getCurrentArguments()[2];
+                assertTrue("autowire not propagated", context.isAutowire());
+                return null;
+            }
+        });
+        EasyMock.replay(registry);
+        DeploymentContext context = new RootDeploymentContext(null, null, null, null, null, true);
+        XMLStreamReader reader = EasyMock.createMock(XMLStreamReader.class);
+        EasyMock.expect(reader.getAttributeValue(null, "name")).andReturn("composite");
+        EasyMock.expect(reader.getAttributeValue(null, "autowire")).andReturn(null);
+        EasyMock.expect(reader.next()).andReturn(XMLStreamConstants.START_ELEMENT);
+        EasyMock.expect(reader.next()).andReturn(XMLStreamConstants.END_ELEMENT);
+        EasyMock.expect(reader.next()).andReturn(XMLStreamConstants.END_ELEMENT);
+        EasyMock.expect(reader.getName()).andReturn(COMPOSITE);
+        EasyMock.replay(reader);
+        loader.load(null, reader, context);
+        assertTrue(context.isAutowire());
+    }
+
+    /**
+     * Tests autowire false is propagated when children are loaded and composite inherits autowire settings
+     */
+    public void testAutowireFalseContextPropagation() throws Exception {
+        LoaderRegistry registry = EasyMock.createMock(LoaderRegistry.class);
+        registry.load(EasyMock.isA(ModelObject.class),
+            EasyMock.isA(XMLStreamReader.class),
+            EasyMock.isA(DeploymentContext.class));
+        EasyMock.expectLastCall().andStubAnswer(new IAnswer<Object>() {
+            public Object answer() throws Throwable {
+                DeploymentContext context = (DeploymentContext) EasyMock.getCurrentArguments()[2];
+                assertFalse("autowire not propagated", context.isAutowire());
+                return null;
+            }
+        });
+        EasyMock.replay(registry);
+        DeploymentContext context = new RootDeploymentContext(null, null, null, null, null, false);
+        XMLStreamReader reader = EasyMock.createMock(XMLStreamReader.class);
+        EasyMock.expect(reader.getAttributeValue(null, "name")).andReturn("composite");
+        EasyMock.expect(reader.getAttributeValue(null, "autowire")).andReturn(null);
+        EasyMock.expect(reader.next()).andReturn(XMLStreamConstants.START_ELEMENT);
+        EasyMock.expect(reader.next()).andReturn(XMLStreamConstants.END_ELEMENT);
+        EasyMock.expect(reader.next()).andReturn(XMLStreamConstants.END_ELEMENT);
+        EasyMock.expect(reader.getName()).andReturn(COMPOSITE);
+        EasyMock.replay(reader);
+        loader.load(null, reader, context);
+        assertFalse(context.isAutowire());
+    }
+
+    /**
+     * Tests autowire false is propagated when children are loaded and composite autowire is set to false
+     */
+    public void testAutowireCompositeFalsePropagation() throws Exception {
+        LoaderRegistry registry = EasyMock.createMock(LoaderRegistry.class);
+        registry.load(EasyMock.isA(ModelObject.class),
+            EasyMock.isA(XMLStreamReader.class),
+            EasyMock.isA(DeploymentContext.class));
+        EasyMock.expectLastCall().andStubAnswer(new IAnswer<Object>() {
+            public Object answer() throws Throwable {
+                DeploymentContext context = (DeploymentContext) EasyMock.getCurrentArguments()[2];
+                assertFalse("autowire not propagated", context.isAutowire());
+                return null;
+            }
+        });
+        EasyMock.replay(registry);
+        DeploymentContext context = new RootDeploymentContext(null, null, null, null, null, true);
+        XMLStreamReader reader = EasyMock.createMock(XMLStreamReader.class);
+        EasyMock.expect(reader.getAttributeValue(null, "name")).andReturn("composite");
+        EasyMock.expect(reader.getAttributeValue(null, "autowire")).andReturn("false");
+        EasyMock.expect(reader.next()).andReturn(XMLStreamConstants.START_ELEMENT);
+        EasyMock.expect(reader.next()).andReturn(XMLStreamConstants.END_ELEMENT);
+        EasyMock.expect(reader.next()).andReturn(XMLStreamConstants.END_ELEMENT);
+        EasyMock.expect(reader.getName()).andReturn(COMPOSITE);
+        EasyMock.replay(reader);
+        loader.load(null, reader, context);
+        assertTrue(context.isAutowire());
     }
 
 

Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/processor/ConstructorReferenceTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/processor/ConstructorReferenceTestCase.java?view=diff&rev=512824&r1=512823&r2=512824
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/processor/ConstructorReferenceTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/processor/ConstructorReferenceTestCase.java Wed Feb 28 08:18:10 2007
@@ -71,13 +71,9 @@
     public void testNoName() throws Exception {
         PojoComponentType<JavaMappedService, JavaMappedReference, JavaMappedProperty<?>> type =
             new PojoComponentType<JavaMappedService, JavaMappedReference, JavaMappedProperty<?>>();
-        Constructor<BadFoo> ctor = BadFoo.class.getConstructor(String.class);
-        try {
-            processor.visitConstructor(ctor, type, null);
-            fail();
-        } catch (InvalidReferenceException e) {
-            // expected
-        }
+        Constructor<NoNameFoo> ctor = NoNameFoo.class.getConstructor(String.class);
+        processor.visitConstructor(ctor, type, null);
+        assertNotNull(type.getReferences().get("_ref0"));
     }
 
     public void testNamesOnConstructor() throws Exception {
@@ -125,12 +121,12 @@
     private static class Foo {
 
         @org.osoa.sca.annotations.Constructor()
-        public Foo(@Reference(name = "myRef", required = true) String prop) {
+        public Foo(@Reference(name = "myRef", required = true)String prop) {
 
         }
 
         @org.osoa.sca.annotations.Constructor()
-        public Foo(@Reference(name = "myRef1") String prop1, @Reference(name = "myRef2") String prop2) {
+        public Foo(@Reference(name = "myRef1")String prop1, @Reference(name = "myRef2")String prop2) {
 
         }
 
@@ -145,10 +141,18 @@
         }
     }
 
+    private static class NoNameFoo {
+
+        @org.osoa.sca.annotations.Constructor
+        public NoNameFoo(@Reference String prop) {
+
+        }
+    }
+
     private static class BadFoo {
 
         @org.osoa.sca.annotations.Constructor
-        public BadFoo(@Reference(name = "myRef") String prop1, @Reference(name = "myRef") String prop2) {
+        public BadFoo(@Reference(name = "myRef")String prop1, @Reference(name = "myRef")String prop2) {
 
         }
 
@@ -163,7 +167,7 @@
         }
 
         @org.osoa.sca.annotations.Constructor({"myRef", "myRef2"})
-        public BadFoo(@Reference List ref, @Reference(name = "myOtherRef") List ref2) {
+        public BadFoo(@Reference List ref, @Reference(name = "myOtherRef")List ref2) {
 
         }
 

Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/loader/ComponentLoaderTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/loader/ComponentLoaderTestCase.java?view=diff&rev=512824&r1=512823&r2=512824
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/loader/ComponentLoaderTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/loader/ComponentLoaderTestCase.java Wed Feb 28 08:18:10 2007
@@ -133,7 +133,7 @@
 
         ComponentDefinition component = loader.load(null, mockReader, ctx);
 
-        assertTrue(component.isAutowire());
+        assertTrue(component.getAutowire());
     }
 
     public void testInitValue20() throws LoaderException, XMLStreamException {

Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/loader/ComponentLoaderValidationTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/loader/ComponentLoaderValidationTestCase.java?view=diff&rev=512824&r1=512823&r2=512824
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/loader/ComponentLoaderValidationTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/loader/ComponentLoaderValidationTestCase.java Wed Feb 28 08:18:10 2007
@@ -1,22 +1,21 @@
 package org.apache.tuscany.core.loader;
 
 import java.net.URI;
-
 import javax.xml.stream.XMLStreamException;
 
 import org.apache.tuscany.spi.implementation.java.PojoComponentType;
-import org.apache.tuscany.spi.loader.ReferenceMultiplicityViolationException;
 import org.apache.tuscany.spi.loader.LoaderException;
 import org.apache.tuscany.spi.loader.LoaderRegistry;
 import org.apache.tuscany.spi.loader.MissingReferenceException;
 import org.apache.tuscany.spi.loader.PropertyObjectFactory;
+import org.apache.tuscany.spi.loader.ReferenceMultiplicityViolationException;
 import org.apache.tuscany.spi.model.ComponentDefinition;
 import org.apache.tuscany.spi.model.Implementation;
 import org.apache.tuscany.spi.model.Multiplicity;
 import org.apache.tuscany.spi.model.Property;
 import org.apache.tuscany.spi.model.ReferenceDefinition;
-import org.apache.tuscany.spi.model.ServiceDefinition;
 import org.apache.tuscany.spi.model.ReferenceTarget;
+import org.apache.tuscany.spi.model.ServiceDefinition;
 
 import junit.framework.TestCase;
 import org.apache.tuscany.core.implementation.java.JavaImplementation;
@@ -129,7 +128,8 @@
         refDefinition.setMultiplicity(Multiplicity.ZERO_ONE);
         loader.validate(defn);
 
-    }    
+    }
+
     public void testAutowire() throws LoaderException, XMLStreamException {
         PojoComponentType<ServiceDefinition, ReferenceDefinition, Property<?>> type =
             new PojoComponentType<ServiceDefinition, ReferenceDefinition, Property<?>>();

Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/loader/IncludeLoaderTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/loader/IncludeLoaderTestCase.java?view=diff&rev=512824&r1=512823&r2=512824
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/loader/IncludeLoaderTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/loader/IncludeLoaderTestCase.java Wed Feb 28 08:18:10 2007
@@ -88,6 +88,7 @@
 
         expect(context.getScdlLocation()).andReturn(base);
         expect(context.getClassLoader()).andReturn(cl);
+        expect(context.isAutowire()).andReturn(false);
         expect(context.getComponentId()).andReturn(componentId);
 
         expect(registry.load(
@@ -114,6 +115,7 @@
 
         expect(context.getScdlLocation()).andReturn(base);
         expect(context.getClassLoader()).andReturn(cl);
+        expect(context.isAutowire()).andReturn(false);
         expect(context.getComponentId()).andReturn(componentId);
 
         expect(registry.load(
@@ -143,6 +145,7 @@
         expect(reader.next()).andReturn(END_ELEMENT);
 
         expect(context.getClassLoader()).andReturn(cl);
+        expect(context.isAutowire()).andReturn(false);
         expect(context.getComponentId()).andReturn(componentId);
 
         expect(registry.load(

Modified: incubator/tuscany/java/sca/kernel/core/src/test/resources/org/apache/tuscany/core/deployer/boot2.scdl
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/resources/org/apache/tuscany/core/deployer/boot2.scdl?view=diff&rev=512824&r1=512823&r2=512824
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/resources/org/apache/tuscany/core/deployer/boot2.scdl (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/resources/org/apache/tuscany/core/deployer/boot2.scdl Wed Feb 28 08:18:10 2007
@@ -23,7 +23,9 @@
 -->
 <composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
            xmlns:system="http://tuscany.apache.org/xmlns/system/1.0-SNAPSHOT"
-           name="boot2">
+           name="boot2"
+           autowire="true">
+
 
     <!-- expose Deployer API as a service -->
     <service name="deployer" promote="deployerImpl">

Modified: incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/deployer/DeploymentContext.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/deployer/DeploymentContext.java?view=diff&rev=512824&r1=512823&r2=512824
==============================================================================
--- incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/deployer/DeploymentContext.java (original)
+++ incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/deployer/DeploymentContext.java Wed Feb 28 08:18:10 2007
@@ -82,6 +82,13 @@
      */
     boolean isAutowire();
 
+    /**
+     * Sets if the autowire is enabled for the current deployment.
+     *
+     * @return true Sets if the autowire is enabled for the current deployment
+     */
+    void setAutowire(boolean autowire);
+
     @Deprecated
     Map<URI, Component> getComponents();
 }

Modified: incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/extension/BindingBuilderExtension.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/extension/BindingBuilderExtension.java?view=diff&rev=512824&r1=512823&r2=512824
==============================================================================
--- incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/extension/BindingBuilderExtension.java (original)
+++ incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/extension/BindingBuilderExtension.java Wed Feb 28 08:18:10 2007
@@ -20,6 +20,7 @@
 
 import org.osoa.sca.annotations.EagerInit;
 import org.osoa.sca.annotations.Init;
+import org.osoa.sca.annotations.Reference;
 
 import org.apache.tuscany.spi.annotation.Autowire;
 import org.apache.tuscany.spi.builder.BindingBuilder;
@@ -43,7 +44,7 @@
 public abstract class BindingBuilderExtension<B extends BindingDefinition> implements BindingBuilder<B> {
     protected BuilderRegistry builderRegistry;
 
-    @Autowire
+    @Reference
     public void setBuilderRegistry(BuilderRegistry registry) {
         this.builderRegistry = registry;
     }

Modified: incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/extension/ComponentBuilderExtension.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/extension/ComponentBuilderExtension.java?view=diff&rev=512824&r1=512823&r2=512824
==============================================================================
--- incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/extension/ComponentBuilderExtension.java (original)
+++ incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/extension/ComponentBuilderExtension.java Wed Feb 28 08:18:10 2007
@@ -20,8 +20,8 @@
 
 import org.osoa.sca.annotations.EagerInit;
 import org.osoa.sca.annotations.Init;
+import org.osoa.sca.annotations.Reference;
 
-import org.apache.tuscany.spi.annotation.Autowire;
 import org.apache.tuscany.spi.builder.BuilderRegistry;
 import org.apache.tuscany.spi.builder.ComponentBuilder;
 import org.apache.tuscany.spi.component.ScopeRegistry;
@@ -44,27 +44,27 @@
     protected WorkContext workContext;
     protected PolicyBuilderRegistry policyBuilderRegistry;
 
-    @Autowire
+    @Reference
     public void setBuilderRegistry(BuilderRegistry registry) {
         this.builderRegistry = registry;
     }
 
-    @Autowire
+    @Reference
     public void setScopeRegistry(ScopeRegistry scopeRegistry) {
         this.scopeRegistry = scopeRegistry;
     }
 
-    @Autowire
+    @Reference
     public void setProxyService(ProxyService proxyService) {
         this.proxyService = proxyService;
     }
 
-    @Autowire
+    @Reference
     public void setWorkContext(WorkContext workContext) {
         this.workContext = workContext;
     }
 
-    @Autowire
+    @Reference
     public void setPolicyBuilderRegistry(PolicyBuilderRegistry registry) {
         policyBuilderRegistry = registry;
     }

Modified: incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/extension/ComponentTypeLoaderExtension.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/extension/ComponentTypeLoaderExtension.java?view=diff&rev=512824&r1=512823&r2=512824
==============================================================================
--- incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/extension/ComponentTypeLoaderExtension.java (original)
+++ incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/extension/ComponentTypeLoaderExtension.java Wed Feb 28 08:18:10 2007
@@ -22,6 +22,7 @@
 import org.osoa.sca.annotations.Init;
 import org.osoa.sca.annotations.Scope;
 import org.osoa.sca.annotations.EagerInit;
+import org.osoa.sca.annotations.Reference;
 
 import org.apache.tuscany.spi.annotation.Autowire;
 import org.apache.tuscany.spi.loader.ComponentTypeLoader;
@@ -43,7 +44,7 @@
         this.loaderRegistry = loaderRegistry;
     }
 
-    @Autowire
+    @Reference
     public void setLoaderRegistry(LoaderRegistry loaderRegistry) {
         this.loaderRegistry = loaderRegistry;
     }

Modified: incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/extension/ContributionProcessorExtension.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/extension/ContributionProcessorExtension.java?view=diff&rev=512824&r1=512823&r2=512824
==============================================================================
--- incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/extension/ContributionProcessorExtension.java (original)
+++ incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/extension/ContributionProcessorExtension.java Wed Feb 28 08:18:10 2007
@@ -23,6 +23,7 @@
 import org.osoa.sca.annotations.EagerInit;
 import org.osoa.sca.annotations.Init;
 import org.osoa.sca.annotations.Service;
+import org.osoa.sca.annotations.Reference;
 
 import org.apache.tuscany.spi.annotation.Autowire;
 import org.apache.tuscany.spi.deployer.ContributionProcessor;
@@ -45,7 +46,7 @@
     /**
      * @param registry the registry to set
      */
-    @Autowire
+    @Reference
     public void setContributionProcessorRegistry(ContributionProcessorRegistry registry) {
         this.registry = registry;
     }

Modified: incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/implementation/java/ImplementationProcessorExtension.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/implementation/java/ImplementationProcessorExtension.java?view=diff&rev=512824&r1=512823&r2=512824
==============================================================================
--- incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/implementation/java/ImplementationProcessorExtension.java (original)
+++ incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/implementation/java/ImplementationProcessorExtension.java Wed Feb 28 08:18:10 2007
@@ -28,8 +28,8 @@
 import org.osoa.sca.annotations.Destroy;
 import org.osoa.sca.annotations.EagerInit;
 import org.osoa.sca.annotations.Init;
+import org.osoa.sca.annotations.Reference;
 
-import org.apache.tuscany.spi.annotation.Autowire;
 import org.apache.tuscany.spi.deployer.DeploymentContext;
 
 /**
@@ -41,7 +41,7 @@
 public abstract class ImplementationProcessorExtension implements ImplementationProcessor {
     private IntrospectionRegistry registry;
 
-    @Autowire
+    @Reference
     public void setRegistry(IntrospectionRegistry registry) {
         this.registry = registry;
     }
@@ -92,7 +92,7 @@
                              DeploymentContext context) throws ProcessingException {
 
     }
-    
+
     protected static Class<?> getBaseType(Class<?> cls, Type genericType) {
         if (cls.isArray()) {
             return cls.getComponentType();
@@ -100,12 +100,12 @@
             if (genericType == cls) {
                 return Object.class;
             } else {
-                ParameterizedType parameterizedType = (ParameterizedType)genericType;
+                ParameterizedType parameterizedType = (ParameterizedType) genericType;
                 Type baseType = parameterizedType.getActualTypeArguments()[0];
                 if (baseType instanceof Class) {
-                    return (Class<?>)baseType;
+                    return (Class<?>) baseType;
                 } else if (baseType instanceof ParameterizedType) {
-                    return (Class<?>)((ParameterizedType)baseType).getRawType();
+                    return (Class<?>) ((ParameterizedType) baseType).getRawType();
                 } else {
                     return null;
                 }
@@ -113,5 +113,5 @@
         } else {
             return cls;
         }
-    }    
+    }
 }

Modified: incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/model/ComponentDefinition.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/model/ComponentDefinition.java?view=diff&rev=512824&r1=512823&r2=512824
==============================================================================
--- incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/model/ComponentDefinition.java (original)
+++ incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/model/ComponentDefinition.java Wed Feb 28 08:18:10 2007
@@ -98,7 +98,7 @@
      *
      * @return true if autowire is enabled for the component.
      */
-    public boolean isAutowire() {
+    public boolean getAutowire() {
         return autowire;
     }
 

Modified: incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/model/ReferenceDefinition.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/model/ReferenceDefinition.java?view=diff&rev=512824&r1=512823&r2=512824
==============================================================================
--- incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/model/ReferenceDefinition.java (original)
+++ incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/model/ReferenceDefinition.java Wed Feb 28 08:18:10 2007
@@ -18,10 +18,10 @@
  */
 package org.apache.tuscany.spi.model;
 
+import java.net.URI;
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
-import java.net.URI;
 
 /**
  * Represents a component reference
@@ -82,7 +82,7 @@
     /**
      * @deprecated
      */
-    public boolean isAutowire() {
+    public boolean getAutowire() {
         return autowire;
     }
 



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