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/11 19:39:45 UTC

svn commit: r506088 [1/2] - in /incubator/tuscany/java/sca: kernel/core/src/main/java/org/apache/tuscany/core/bootstrap/ kernel/core/src/main/java/org/apache/tuscany/core/builder/ kernel/core/src/main/java/org/apache/tuscany/core/component/ kernel/core...

Author: jmarino
Date: Sun Feb 11 10:39:43 2007
New Revision: 506088

URL: http://svn.apache.org/viewvc?view=rev&rev=506088
Log:
remove unused autowire code

Added:
    incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/component/RegistrationException.java   (contents, props changed)
      - copied, changed from r505854, incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/component/ComponentRegistrationException.java
Removed:
    incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/AutowireResolutionTestCase.java
    incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/AutowireTestCase.java
    incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/component/ComponentRegistrationException.java
    incubator/tuscany/java/sca/kernel/spi/src/test/java/org/apache/tuscany/spi/extension/CompositeComponentExtensionAutowireTestCase.java
Modified:
    incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/bootstrap/DefaultBootstrapper.java
    incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/bootstrap/DefaultRuntime.java
    incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/builder/BuilderRegistryImpl.java
    incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/component/ComponentManager.java
    incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/component/ComponentManagerImpl.java
    incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/AbstractCompositeBuilder.java
    incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/SystemCompositeBuilder.java
    incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/java/JavaComponentBuilder.java
    incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/processor/ResourceProcessor.java
    incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/system/builder/SystemComponentBuilder.java
    incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/injection/ResourceObjectFactory.java
    incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/runtime/AbstractRuntime.java
    incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/services/deployment/XMLChangeSetHandler.java
    incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/CompositeComponentImplTestCase.java
    incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/DuplicateRegistrationTestCase.java
    incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/java/JavaComponentBuilderResourceTestCase.java
    incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/java/ResourceInjectionTestCase.java
    incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/system/builder/SystemComponentBuilderResourceTestCase.java
    incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/injection/ResourceObjectFactoryTestCase.java
    incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/bootstrap/RuntimeComponent.java
    incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/component/CompositeComponent.java
    incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/component/DuplicateNameException.java
    incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/component/InvalidAutowireInterface.java
    incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/component/MalformedNameException.java
    incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/extension/CompositeComponentExtension.java
    incubator/tuscany/java/sca/runtime/itest/plugin/src/main/java/org/apache/tuscany/sca/plugin/itest/MavenEmbeddedRuntime.java
    incubator/tuscany/java/sca/runtime/itest/plugin/src/main/java/org/apache/tuscany/sca/plugin/itest/implementation/junit/JUnitComponentBuilder.java
    incubator/tuscany/java/sca/runtime/standalone/standalone-host/src/main/java/org/apache/tuscany/runtime/standalone/host/StandaloneRuntimeImpl.java
    incubator/tuscany/java/sca/runtime/webapp/webapp-host/src/main/java/org/apache/tuscany/runtime/webapp/WebappRuntimeImpl.java

Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/bootstrap/DefaultBootstrapper.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/bootstrap/DefaultBootstrapper.java?view=diff&rev=506088&r1=506087&r2=506088
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/bootstrap/DefaultBootstrapper.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/bootstrap/DefaultBootstrapper.java Sun Feb 11 10:39:43 2007
@@ -269,8 +269,7 @@
     private Builder createBuilder(ScopeRegistry scopeRegistry) {
         BuilderRegistryImpl builderRegistry =
             new BuilderRegistryImpl(scopeRegistry, new JDKWireService(), componentManager);
-        SystemCompositeBuilder builder =
-            new SystemCompositeBuilder(builderRegistry, managementService);
+        SystemCompositeBuilder builder = new SystemCompositeBuilder(builderRegistry);
         builderRegistry.register(SystemCompositeImplementation.class, builder);
         builderRegistry.register(SystemImplementation.class, new SystemComponentBuilder());
         builderRegistry.register(LocalBindingDefinition.class, new LocalBindingBuilder());

Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/bootstrap/DefaultRuntime.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/bootstrap/DefaultRuntime.java?view=diff&rev=506088&r1=506087&r2=506088
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/bootstrap/DefaultRuntime.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/bootstrap/DefaultRuntime.java Sun Feb 11 10:39:43 2007
@@ -26,9 +26,6 @@
 import org.apache.tuscany.spi.bootstrap.ComponentNames;
 import org.apache.tuscany.spi.bootstrap.RuntimeComponent;
 import org.apache.tuscany.spi.component.CompositeComponent;
-import org.apache.tuscany.spi.component.TargetResolutionException;
-import org.apache.tuscany.spi.deployer.Deployer;
-import org.apache.tuscany.spi.wire.InboundWire;
 
 import org.apache.tuscany.core.implementation.composite.CompositeComponentImpl;
 
@@ -71,13 +68,5 @@
 
     public CompositeComponent getSystemComponent() {
         return systemComponent;
-    }
-
-    public Deployer getDeployer() throws TargetResolutionException {
-        InboundWire wire = systemComponent.resolveExternalAutowire(Deployer.class);
-        if (wire != null) {
-            return (Deployer) wire.getTargetService();
-        }
-        return null;
     }
 }

Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/builder/BuilderRegistryImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/builder/BuilderRegistryImpl.java?view=diff&rev=506088&r1=506087&r2=506088
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/builder/BuilderRegistryImpl.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/builder/BuilderRegistryImpl.java Sun Feb 11 10:39:43 2007
@@ -36,7 +36,7 @@
 import org.apache.tuscany.spi.builder.ScopeNotFoundException;
 import org.apache.tuscany.spi.component.AtomicComponent;
 import org.apache.tuscany.spi.component.Component;
-import org.apache.tuscany.spi.component.ComponentRegistrationException;
+import org.apache.tuscany.spi.component.RegistrationException;
 import org.apache.tuscany.spi.component.CompositeComponent;
 import org.apache.tuscany.spi.component.Reference;
 import org.apache.tuscany.spi.component.ReferenceBinding;
@@ -156,7 +156,7 @@
         } catch (BuilderException e) {
             e.addContextName(componentDefinition.getUri().toString());
             throw e;
-        } catch (ComponentRegistrationException e) {
+        } catch (RegistrationException e) {
             BuilderInstantiationException bie = new BuilderInstantiationException("Error registering component", e);
             bie.addContextName(componentDefinition.getUri().toString());
             throw bie;

Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/component/ComponentManager.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/component/ComponentManager.java?view=diff&rev=506088&r1=506087&r2=506088
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/component/ComponentManager.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/component/ComponentManager.java Sun Feb 11 10:39:43 2007
@@ -22,7 +22,7 @@
 import java.util.List;
 
 import org.apache.tuscany.spi.component.Component;
-import org.apache.tuscany.spi.component.ComponentRegistrationException;
+import org.apache.tuscany.spi.component.RegistrationException;
 import org.apache.tuscany.spi.event.RuntimeEventListener;
 
 /**
@@ -38,17 +38,17 @@
      * Registers a component which will be managed by the runtime
      *
      * @param component the component
-     * @throws ComponentRegistrationException
+     * @throws RegistrationException
      */
-    void register(Component component) throws ComponentRegistrationException;
+    void register(Component component) throws RegistrationException;
 
     /**
      * Deregisters a component
      *
      * @param component the component to deregister
-     * @throws ComponentRegistrationException
+     * @throws RegistrationException
      */
-    void unregister(Component component) throws ComponentRegistrationException;
+    void unregister(Component component) throws RegistrationException;
 
     /**
      * Register a simple Java Object as a system component. This is primarily intended for use by bootstrap code to
@@ -57,10 +57,10 @@
      * @param uri      the uri of the resulting component
      * @param service  the service interface the component should expose
      * @param instance the Object that will become the component's implementation
-     * @throws ComponentRegistrationException
+     * @throws RegistrationException
      */
     <S, I extends S> void registerJavaObject(URI uri, Class<S> service, I instance)
-        throws ComponentRegistrationException;
+        throws RegistrationException;
 
     /**
      * Register a simple Java Object as a system component. This is primarily intended for use by bootstrap code to
@@ -69,10 +69,10 @@
      * @param uri      the name of the resulting component
      * @param services the service interfaces the component should expose
      * @param instance the Object that will become the component's implementation
-     * @throws ComponentRegistrationException
+     * @throws RegistrationException
      */
     <S, I extends S> void registerJavaObject(URI uri, List<Class<?>> services, I instance)
-        throws ComponentRegistrationException;
+        throws RegistrationException;
 
     /**
      * Returns the component with the given URI

Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/component/ComponentManagerImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/component/ComponentManagerImpl.java?view=diff&rev=506088&r1=506087&r2=506088
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/component/ComponentManagerImpl.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/component/ComponentManagerImpl.java Sun Feb 11 10:39:43 2007
@@ -26,7 +26,7 @@
 
 import org.apache.tuscany.spi.component.AtomicComponent;
 import org.apache.tuscany.spi.component.Component;
-import org.apache.tuscany.spi.component.ComponentRegistrationException;
+import org.apache.tuscany.spi.component.RegistrationException;
 import org.apache.tuscany.spi.component.CompositeComponent;
 import org.apache.tuscany.spi.component.DuplicateNameException;
 import org.apache.tuscany.spi.event.Event;
@@ -61,7 +61,7 @@
         this.resolver = resolver;
     }
 
-    public void register(Component component) throws ComponentRegistrationException {
+    public void register(Component component) throws RegistrationException {
         URI uri = component.getUri();
         assert uri != null;
         if (components.containsKey(uri)) {
@@ -88,7 +88,7 @@
     }
 
     public <S, I extends S> void registerJavaObject(URI uri, Class<S> service, I instance)
-        throws ComponentRegistrationException {
+        throws RegistrationException {
         SystemSingletonAtomicComponent<S, I> component =
             new SystemSingletonAtomicComponent<S, I>(uri, null, service, instance);
         register(component);
@@ -100,7 +100,7 @@
     }
 
     public <S, I extends S> void registerJavaObject(URI uri, List<Class<?>> services, I instance)
-        throws ComponentRegistrationException {
+        throws RegistrationException {
         SystemSingletonAtomicComponent<S, I> component =
             new SystemSingletonAtomicComponent<S, I>(uri, null, services, instance);
         register(component);
@@ -111,7 +111,7 @@
         }
     }
 
-    public void unregister(Component component) throws ComponentRegistrationException {
+    public void unregister(Component component) throws RegistrationException {
         URI uri = component.getUri();
         components.remove(uri);
         parentToChildren.remove(uri);

Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/AbstractCompositeBuilder.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/AbstractCompositeBuilder.java?view=diff&rev=506088&r1=506087&r2=506088
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/AbstractCompositeBuilder.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/AbstractCompositeBuilder.java Sun Feb 11 10:39:43 2007
@@ -2,7 +2,7 @@
 
 import org.apache.tuscany.spi.builder.BuilderException;
 import org.apache.tuscany.spi.builder.BuilderInstantiationException;
-import org.apache.tuscany.spi.component.ComponentRegistrationException;
+import org.apache.tuscany.spi.component.RegistrationException;
 import org.apache.tuscany.spi.component.CompositeComponent;
 import org.apache.tuscany.spi.component.Reference;
 import org.apache.tuscany.spi.component.Service;
@@ -33,7 +33,7 @@
             try {
                 Service service = builderRegistry.build(component, definition, deploymentContext);
                 component.register(service);
-            } catch (ComponentRegistrationException e) {
+            } catch (RegistrationException e) {
                 throw new BuilderInstantiationException("Error registering service", e);
             }
         }
@@ -41,7 +41,7 @@
             try {
                 Reference reference = builderRegistry.build(component, definition, deploymentContext);
                 component.register(reference);
-            } catch (ComponentRegistrationException e) {
+            } catch (RegistrationException e) {
                 throw new BuilderInstantiationException("Error registering reference", e);
             }
         }

Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/SystemCompositeBuilder.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/SystemCompositeBuilder.java?view=diff&rev=506088&r1=506087&r2=506088
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/SystemCompositeBuilder.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/SystemCompositeBuilder.java Sun Feb 11 10:39:43 2007
@@ -29,7 +29,6 @@
 import org.apache.tuscany.spi.deployer.DeploymentContext;
 import org.apache.tuscany.spi.model.ComponentDefinition;
 import org.apache.tuscany.spi.model.CompositeComponentType;
-import org.apache.tuscany.spi.services.management.TuscanyManagementService;
 
 import org.apache.tuscany.core.implementation.system.model.SystemCompositeImplementation;
 
@@ -39,13 +38,10 @@
  * @version $Rev$ $Date$
  */
 public class SystemCompositeBuilder extends AbstractCompositeBuilder<SystemCompositeImplementation> {
-    private TuscanyManagementService managementService;
 
     @Constructor
-    public SystemCompositeBuilder(@Autowire BuilderRegistry builderRegistry,
-                                  @Autowire(required = false)TuscanyManagementService managementService) {
+    public SystemCompositeBuilder(@Autowire BuilderRegistry builderRegistry) {
         this.builderRegistry = builderRegistry;
-        this.managementService = managementService;
     }
 
     public CompositeComponent build(CompositeComponent parent,
@@ -55,7 +51,6 @@
         CompositeComponentType<?, ?, ?> componentType = impl.getComponentType();
         URI name = componentDefinition.getUri();
         CompositeComponent component = new CompositeComponentImpl(name, parent);
-        component.setManagementService(managementService);
         build(parent, component, componentType, deploymentContext);
         return component;
     }

Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/java/JavaComponentBuilder.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/java/JavaComponentBuilder.java?view=diff&rev=506088&r1=506087&r2=506088
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/java/JavaComponentBuilder.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/java/JavaComponentBuilder.java Sun Feb 11 10:39:43 2007
@@ -130,7 +130,7 @@
         handleProperties(definition, component);
 
         // handle resources
-        handleResources(componentType, component, parent);
+        handleResources(componentType, component);
 
         handleCallbackSites(componentType, configuration);
 
@@ -159,8 +159,7 @@
     @SuppressWarnings({"unchecked"})
     private void handleResources(
         PojoComponentType<JavaMappedService, JavaMappedReference, JavaMappedProperty<?>> componentType,
-        JavaAtomicComponent component,
-        CompositeComponent parent) {
+        JavaAtomicComponent component) {
         for (Resource resource : componentType.getResources().values()) {
             ObjectFactory<?> objectFactory = resource.getObjectFactory();
             if (objectFactory != null) {
@@ -173,9 +172,9 @@
                 String mappedName = resource.getMappedName();
                 if (mappedName == null) {
                     // by type
-                    factory = new ResourceObjectFactory<Object>(type, optional, parent, host);
+                    factory = new ResourceObjectFactory<Object>(type, optional, host);
                 } else {
-                    factory = new ResourceObjectFactory<Object>(type, mappedName, optional, parent, host);
+                    factory = new ResourceObjectFactory<Object>(type, mappedName, optional, host);
                 }
                 component.addResourceFactory(name, factory);
             }

Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/processor/ResourceProcessor.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/processor/ResourceProcessor.java?view=diff&rev=506088&r1=506087&r2=506088
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/processor/ResourceProcessor.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/processor/ResourceProcessor.java Sun Feb 11 10:39:43 2007
@@ -45,7 +45,8 @@
     public ResourceProcessor() {
     }
 
-    public void visitMethod(CompositeComponent parent, Method method,
+    public void visitMethod(CompositeComponent parent,
+                            Method method,
                             PojoComponentType<JavaMappedService, JavaMappedReference, JavaMappedProperty<?>> type,
                             DeploymentContext context)
         throws ProcessingException {
@@ -76,7 +77,8 @@
         type.add(resource);
     }
 
-    public void visitField(CompositeComponent parent, Field field,
+    public void visitField(CompositeComponent parent,
+                           Field field,
                            PojoComponentType<JavaMappedService, JavaMappedReference, JavaMappedProperty<?>> type,
                            DeploymentContext context) throws ProcessingException {
 
@@ -104,7 +106,8 @@
         type.add(resource);
     }
 
-    public <T> void visitConstructor(CompositeComponent parent, Constructor<T> constructor,
+    public <T> void visitConstructor(CompositeComponent parent,
+                                     Constructor<T> constructor,
                                      PojoComponentType<JavaMappedService, JavaMappedReference,
                                          JavaMappedProperty<?>> type,
                                      DeploymentContext context) throws ProcessingException {

Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/system/builder/SystemComponentBuilder.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/system/builder/SystemComponentBuilder.java?view=diff&rev=506088&r1=506087&r2=506088
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/system/builder/SystemComponentBuilder.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/system/builder/SystemComponentBuilder.java Sun Feb 11 10:39:43 2007
@@ -132,38 +132,15 @@
             String mappedName = resource.getMappedName();
             if (mappedName == null) {
                 // by type
-                factory = new ResourceObjectFactory<Object>(type, optional, parent, host);
+                factory = new ResourceObjectFactory<Object>(type, optional, host);
             } else {
-                factory = new ResourceObjectFactory<Object>(type, mappedName, optional, parent, host);
+                factory = new ResourceObjectFactory<Object>(type, mappedName, optional, host);
             }
             component.addResourceFactory(name, factory);
 
         }
         return component;
     }
-
-//    private void processReferences(ComponentDefinition<SystemImplementation> definition,
-//                                   Map<String, JavaMappedReference> references,
-//                                   CompositeComponent parent,
-//                                   SystemAtomicComponentImpl component) {
-//        // no proxies needed for system components
-//        for (ReferenceTarget target : definition.getReferenceTargets().values()) {
-//            String referenceName = target.getReferenceName();
-//            JavaMappedReference referenceDefiniton = references.get(referenceName);
-//            Class interfaze = referenceDefiniton.getServiceContract().getInterfaceClass();
-//            OutboundWire wire;
-//            if (referenceDefiniton.isAutowire()) {
-//                boolean required = referenceDefiniton.isRequired();
-//                wire = new SystemOutboundAutowire(referenceName, interfaze, parent, required);
-//            } else {
-//                //FIXME support multiplicity!
-//                assert target.getTargets().size() == 1 : "Multiplicity not yet implemented";
-//                QualifiedName targetName = new QualifiedName(target.getTargets().get(0).getPath());
-//                wire = new SystemOutboundWireImpl(referenceName, targetName, interfaze);
-//            }
-//            component.addOutboundWire(wire);
-//        }
-//    }
 
     private void processProperties(Map<String, PropertyValue<?>> propertyValues,
                                    Collection<JavaMappedProperty<?>> properties,

Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/injection/ResourceObjectFactory.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/injection/ResourceObjectFactory.java?view=diff&rev=506088&r1=506087&r2=506088
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/injection/ResourceObjectFactory.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/injection/ResourceObjectFactory.java Sun Feb 11 10:39:43 2007
@@ -20,13 +20,8 @@
 
 import org.apache.tuscany.spi.ObjectCreationException;
 import org.apache.tuscany.spi.ObjectFactory;
-import org.apache.tuscany.spi.component.AtomicComponent;
-import org.apache.tuscany.spi.component.CompositeComponent;
-import org.apache.tuscany.spi.component.SCAObject;
-import org.apache.tuscany.spi.component.TargetResolutionException;
 import org.apache.tuscany.spi.host.ResourceHost;
 import org.apache.tuscany.spi.host.ResourceResolutionException;
-import org.apache.tuscany.spi.wire.InboundWire;
 
 /**
  * Resolves a runtime resource to be injected on a field or method of a Java component type marked with {@link
@@ -41,9 +36,7 @@
 
     private Class<T> type;
     private String mappedName;
-    private CompositeComponent parent;
     private ResourceHost host;
-    private boolean resolveFromHost;
     private boolean optional;
 
     /**
@@ -51,15 +44,10 @@
      *
      * @param type     the type of the resource to inject
      * @param optional true if an error should be thrown if the resource is not found
-     * @param parent   the parent composite of the component to inject on
      * @param host     the runtime resource provider
      */
-    public ResourceObjectFactory(Class<T> type,
-                                 boolean optional,
-                                 CompositeComponent parent,
-                                 ResourceHost host) {
+    public ResourceObjectFactory(Class<T> type, boolean optional, ResourceHost host) {
         this.type = type;
-        this.parent = parent;
         this.host = host;
         this.optional = optional;
     }
@@ -70,74 +58,31 @@
      * @param type       the type of the resource to inject
      * @param mappedName the resource name
      * @param optional   true if an error should be thrown if the resource is not found
-     * @param parent     the parent composite of the component to inject on
      * @param host       the runtime resource provider
      */
-    public ResourceObjectFactory(Class<T> type,
-                                 String mappedName,
-                                 boolean optional,
-                                 CompositeComponent parent,
-                                 ResourceHost host) {
+    public ResourceObjectFactory(Class<T> type, String mappedName, boolean optional, ResourceHost host) {
         this.type = type;
-        this.parent = parent;
         this.host = host;
-        if (mappedName.indexOf("://") >= 0) {
-            this.resolveFromHost = true;
-        }
         this.mappedName = mappedName;
         this.optional = optional;
     }
 
     @SuppressWarnings({"unchecked"})
     public T getInstance() throws ObjectCreationException {
-        if (resolveFromHost) {
-            return resolveInstance();
-        } else {
-            T instance = null;
+        try {
+            T resource;
             if (mappedName == null) {
-                try {
-                    InboundWire wire = parent.resolveAutowire(type);
-                    if (wire != null) {
-                        instance = (T) wire.getTargetService();
-                    }
-                } catch (TargetResolutionException e) {
-                    throw new ObjectCreationException(e);
-                }
-                if (instance == null) {
-                    // if not found in parent scope, search the host namespace
-                    resolveFromHost = true;
-                    instance = resolveInstance();
-                }
-                if (instance == null && !optional) {
-                    throw new ResourceNotFoundException("No resource found matching type", type.getName());
+                resource = host.resolveResource(type);
+                if (!optional && resource == null) {
+                    throw new ResourceNotFoundException("Resource not found", type.getName());
                 }
-                return instance;
             } else {
-                SCAObject child = parent.getChild(mappedName);
-                if (child instanceof AtomicComponent) {
-                    try {
-                        AtomicComponent component = (AtomicComponent) child;
-                        instance = type.cast(component.getTargetInstance());
-                    } catch (TargetResolutionException e) {
-                        throw new ObjectCreationException(e);
-                    }
-                } else if (child != null) {
-                    throw new InvalidResourceTypeException("Invalid resource type", mappedName);
-                } else if (!optional) {
-                    throw new ResourceNotFoundException("No resource found for URI", mappedName);
+                resource = host.resolveResource(type, mappedName);
+                if (!optional && resource == null) {
+                    throw new ResourceNotFoundException("Resource not found", mappedName);
                 }
-                return instance;
-            }
-        }
-    }
-
-    private T resolveInstance() {
-        try {
-            if (mappedName == null) {
-                return host.resolveResource(type);
-            } else {
-                return host.resolveResource(type, mappedName);
             }
+            return resource;
         } catch (ResourceResolutionException e) {
             throw new ObjectCreationException(e);
         }

Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/runtime/AbstractRuntime.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/runtime/AbstractRuntime.java?view=diff&rev=506088&r1=506087&r2=506088
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/runtime/AbstractRuntime.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/runtime/AbstractRuntime.java Sun Feb 11 10:39:43 2007
@@ -30,7 +30,7 @@
 import org.apache.tuscany.spi.builder.Connector;
 import org.apache.tuscany.spi.component.Component;
 import org.apache.tuscany.spi.component.ComponentException;
-import org.apache.tuscany.spi.component.ComponentRegistrationException;
+import org.apache.tuscany.spi.component.RegistrationException;
 import org.apache.tuscany.spi.component.CompositeComponent;
 import org.apache.tuscany.spi.deployer.Deployer;
 import org.apache.tuscany.spi.loader.LoaderException;
@@ -164,7 +164,7 @@
         try {
             componentManager.register(systemComponent);
             componentManager.register(runtime.getRootComponent());
-        } catch (ComponentRegistrationException e) {
+        } catch (RegistrationException e) {
             throw new InitializationException(e);
         }
         systemComponent.start();
@@ -227,7 +227,7 @@
             // register the component manager with itself so it can be autowired
             componentManager.registerJavaObject(COMPONENT_MGR_URI, ComponentManager.class, componentManager);
             componentManager.registerJavaObject(AUTOWIRE_RESOLVER_URI, AutowireResolver.class, resolver);
-        } catch (ComponentRegistrationException e) {
+        } catch (RegistrationException e) {
             throw new InitializationException(e);
         }
     }

Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/services/deployment/XMLChangeSetHandler.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/services/deployment/XMLChangeSetHandler.java?view=diff&rev=506088&r1=506087&r2=506088
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/services/deployment/XMLChangeSetHandler.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/services/deployment/XMLChangeSetHandler.java Sun Feb 11 10:39:43 2007
@@ -32,7 +32,6 @@
 import org.apache.tuscany.spi.builder.Builder;
 import org.apache.tuscany.spi.builder.BuilderException;
 import org.apache.tuscany.spi.component.Component;
-import org.apache.tuscany.spi.component.ComponentRegistrationException;
 import org.apache.tuscany.spi.component.CompositeComponent;
 import org.apache.tuscany.spi.component.PrepareException;
 import org.apache.tuscany.spi.deployer.ChangeSetHandler;
@@ -114,7 +113,6 @@
                 (ComponentDefinition<?>) loader.load(parent, null, xmlReader, deploymentContext);
             Component component = builder.build(parent, componentDefinition, deploymentContext);
             component.prepare();
-            parent.register(component);
         } catch (LoaderException e) {
             // FIXME throw something appropriate
             throw new AssertionError("FIXME");
@@ -122,9 +120,6 @@
             // FIXME throw something appropriate
             throw new AssertionError("FIXME");
         } catch (PrepareException e) {
-            // FIXME throw something appropriate
-            throw new AssertionError("FIXME");
-        } catch (ComponentRegistrationException e) {
             // FIXME throw something appropriate
             throw new AssertionError("FIXME");
         }

Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/CompositeComponentImplTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/CompositeComponentImplTestCase.java?view=diff&rev=506088&r1=506087&r2=506088
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/CompositeComponentImplTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/CompositeComponentImplTestCase.java Sun Feb 11 10:39:43 2007
@@ -18,16 +18,13 @@
  */
 package org.apache.tuscany.core.implementation.composite;
 
-import java.util.ArrayList;
-import java.util.List;
 import java.net.URI;
 
-import org.apache.tuscany.spi.component.AtomicComponent;
 import org.apache.tuscany.spi.component.CompositeComponent;
-import org.apache.tuscany.spi.wire.InboundWire;
+import org.apache.tuscany.spi.component.Reference;
+import org.apache.tuscany.spi.component.Service;
 
 import junit.framework.TestCase;
-import org.apache.tuscany.core.implementation.TestUtils;
 import org.easymock.EasyMock;
 
 /**
@@ -36,38 +33,23 @@
 public class CompositeComponentImplTestCase extends TestCase {
 
     public void testRegisterService() throws Exception {
-        List<Class<?>> services = new ArrayList<Class<?>>();
-        services.add(Foo.class);
         CompositeComponent parent = new CompositeComponentImpl(URI.create("foo"), null, null);
-        AtomicComponent component = EasyMock.createMock(AtomicComponent.class);
-        EasyMock.expect(component.getUri()).andReturn(URI.create("bar")).atLeastOnce();
-        List<InboundWire> wires = TestUtils.createInboundWires(services);
-        EasyMock.expect(component.getInboundWires()).andReturn(wires).atLeastOnce();
-        EasyMock.replay(component);
-        parent.register(component);
+        Service service = EasyMock.createMock(Service.class);
+        EasyMock.expect(service.getUri()).andReturn(URI.create("bar")).atLeastOnce();
+        EasyMock.replay(service);
+        parent.register(service);
         assertNotNull(parent.getChild("bar"));
-        EasyMock.verify(component);
+        EasyMock.verify(service);
     }
 
-    public void testAutowire() throws Exception {
-        List<Class<?>> services = new ArrayList<Class<?>>();
-        services.add(Foo.class);
+    public void testRegisterReference() throws Exception {
         CompositeComponent parent = new CompositeComponentImpl(URI.create("foo"), null, null);
-        AtomicComponent component = EasyMock.createMock(AtomicComponent.class);
-        EasyMock.expect(component.getUri()).andReturn(URI.create("component")).atLeastOnce();
-        List<InboundWire> wires = TestUtils.createInboundWires(services);
-        TestUtils.populateInboundWires(component, wires);
-        EasyMock.expect(component.getInboundWires()).andReturn(wires).atLeastOnce();
-        EasyMock.replay(component);
-        parent.register(component);
-        parent.start();
-        assertNull(parent.resolveExternalAutowire(Foo.class));
-        assertNotNull(parent.resolveAutowire(Foo.class));
-        parent.stop();
-        EasyMock.verify(component);
+        Reference service = EasyMock.createMock(Reference.class);
+        EasyMock.expect(service.getUri()).andReturn(URI.create("bar")).atLeastOnce();
+        EasyMock.replay(service);
+        parent.register(service);
+        assertNotNull(parent.getChild("bar"));
+        EasyMock.verify(service);
     }
 
-    private class Foo {
-
-    }
 }

Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/DuplicateRegistrationTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/DuplicateRegistrationTestCase.java?view=diff&rev=506088&r1=506087&r2=506088
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/DuplicateRegistrationTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/DuplicateRegistrationTestCase.java Sun Feb 11 10:39:43 2007
@@ -18,18 +18,14 @@
  */
 package org.apache.tuscany.core.implementation.composite;
 
-import java.util.ArrayList;
-import java.util.List;
 import java.net.URI;
 
-import org.apache.tuscany.spi.component.AtomicComponent;
 import org.apache.tuscany.spi.component.CompositeComponent;
 import org.apache.tuscany.spi.component.DuplicateNameException;
-import org.apache.tuscany.spi.wire.InboundWire;
+import org.apache.tuscany.spi.component.Service;
+import org.apache.tuscany.spi.component.Reference;
 
 import junit.framework.TestCase;
-import org.apache.tuscany.core.implementation.TestUtils;
-import org.apache.tuscany.core.mock.component.Source;
 import org.easymock.EasyMock;
 
 /**
@@ -39,28 +35,23 @@
  */
 public class DuplicateRegistrationTestCase extends TestCase {
 
-    public void testDuplicateRegistration() throws Exception {
+    public void testDuplicateServiceRegistration() throws Exception {
         CompositeComponent parent = new CompositeComponentImpl(URI.create("parent"), null, null);
         parent.start();
 
-        List<Class<?>> interfaces = new ArrayList<Class<?>>();
-        interfaces.add(Source.class);
-        AtomicComponent component1 = EasyMock.createMock(AtomicComponent.class);
-        EasyMock.expect(component1.getUri()).andReturn(URI.create("source")).atLeastOnce();
-        component1.stop();
-        List<InboundWire> wires = TestUtils.createInboundWires(interfaces);
-        TestUtils.populateInboundWires(component1, wires);
-        EasyMock.expect(component1.getInboundWires()).andReturn(wires).atLeastOnce();
-        EasyMock.replay(component1);
-
-        AtomicComponent component2 = EasyMock.createMock(AtomicComponent.class);
-        EasyMock.expect(component2.getUri()).andReturn(URI.create("source")).atLeastOnce();
-        component2.stop();
-        EasyMock.replay(component2);
+        Service service1 = EasyMock.createMock(Service.class);
+        EasyMock.expect(service1.getUri()).andReturn(URI.create("service")).atLeastOnce();
+        service1.stop();
+        EasyMock.replay(service1);
+
+        Service service2 = EasyMock.createMock(Service.class);
+        EasyMock.expect(service2.getUri()).andReturn(URI.create("service")).atLeastOnce();
+        service2.stop();
+        EasyMock.replay(service2);
 
-        parent.register(component1);
+        parent.register(service2);
         try {
-            parent.register(component2);
+            parent.register(service1);
             fail();
         } catch (DuplicateNameException e) {
             // ok
@@ -68,28 +59,55 @@
         parent.stop();
     }
 
-    public void testDuplicateNameSystemService() throws Exception {
-        List<Class<?>> services = new ArrayList<Class<?>>();
-        services.add(Source.class);
-        CompositeComponent parent = new CompositeComponentImpl(URI.create("foo"), null, null);
-        AtomicComponent component = EasyMock.createMock(AtomicComponent.class);
-        EasyMock.expect(component.getUri()).andReturn(URI.create("bar")).atLeastOnce();
-        List<InboundWire> wires = TestUtils.createInboundWires(services);
-        TestUtils.populateInboundWires(component, wires);
-        EasyMock.expect(component.getInboundWires()).andReturn(wires).atLeastOnce();
-        EasyMock.replay(component);
-        parent.register(component);
-        AtomicComponent component2 = EasyMock.createMock(AtomicComponent.class);
-        EasyMock.expect(component2.getUri()).andReturn(URI.create("bar")).atLeastOnce();
-        EasyMock.replay(component2);
+    public void testDuplicateReferenceRegistration() throws Exception {
+        CompositeComponent parent = new CompositeComponentImpl(URI.create("parent"), null, null);
+        parent.start();
+
+        Reference reference1 = EasyMock.createMock(Reference.class);
+        EasyMock.expect(reference1.getUri()).andReturn(URI.create("reference")).atLeastOnce();
+        reference1.stop();
+        EasyMock.replay(reference1);
+
+        Reference reference2 = EasyMock.createMock(Reference.class);
+        EasyMock.expect(reference2.getUri()).andReturn(URI.create("reference")).atLeastOnce();
+        reference2.stop();
+        EasyMock.replay(reference2);
+
+        parent.register(reference2);
         try {
-            parent.register(component2);
+            parent.register(reference1);
             fail();
         } catch (DuplicateNameException e) {
-            // expected
+            // ok
         }
+        parent.stop();
+
     }
 
+    public void testDuplicateServiceReferenceRegistration() throws Exception {
+        CompositeComponent parent = new CompositeComponentImpl(URI.create("parent"), null, null);
+        parent.start();
+
+        Service service1 = EasyMock.createMock(Service.class);
+        EasyMock.expect(service1.getUri()).andReturn(URI.create("child")).atLeastOnce();
+        service1.stop();
+        EasyMock.replay(service1);
+
+        Reference service2 = EasyMock.createMock(Reference.class);
+        EasyMock.expect(service2.getUri()).andReturn(URI.create("child")).atLeastOnce();
+        service2.stop();
+        EasyMock.replay(service2);
+
+        parent.register(service2);
+        try {
+            parent.register(service1);
+            fail();
+        } catch (DuplicateNameException e) {
+            // ok
+        }
+        parent.stop();
+
+    }
 
     protected void setUp() throws Exception {
         super.setUp();

Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/java/JavaComponentBuilderResourceTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/java/JavaComponentBuilderResourceTestCase.java?view=diff&rev=506088&r1=506087&r2=506088
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/java/JavaComponentBuilderResourceTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/java/JavaComponentBuilderResourceTestCase.java Sun Feb 11 10:39:43 2007
@@ -29,6 +29,7 @@
 import org.apache.tuscany.spi.model.ComponentDefinition;
 import org.apache.tuscany.spi.model.Scope;
 import org.apache.tuscany.spi.wire.InboundWire;
+import org.apache.tuscany.spi.host.ResourceHost;
 
 import junit.framework.TestCase;
 import org.easymock.EasyMock;
@@ -44,7 +45,11 @@
         ScopeRegistry registry = EasyMock.createMock(ScopeRegistry.class);
         EasyMock.expect(registry.getScopeContainer(Scope.STATELESS)).andReturn(container);
         EasyMock.replay(registry);
+        ResourceHost host = EasyMock.createMock(ResourceHost.class);
+        EasyMock.expect(host.resolveResource(EasyMock.eq(String.class))).andReturn("result");
+        EasyMock.replay(host);
         JavaComponentBuilder builder = new JavaComponentBuilder();
+        builder.setHost(host);
         builder.setScopeRegistry(registry);
         ConstructorDefinition<Foo> ctorDef = new ConstructorDefinition<Foo>(Foo.class.getConstructor());
         PojoComponentType type = new PojoComponentType();
@@ -63,7 +68,6 @@
         EasyMock.replay(resourceWire);
 
         CompositeComponent parent = EasyMock.createMock(CompositeComponent.class);
-        EasyMock.expect(parent.resolveAutowire(String.class)).andReturn(resourceWire);
         EasyMock.replay(parent);
         JavaAtomicComponent component = (JavaAtomicComponent) builder.build(parent, definition, null);
         Foo foo = (Foo) component.createInstance();

Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/java/ResourceInjectionTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/java/ResourceInjectionTestCase.java?view=diff&rev=506088&r1=506087&r2=506088
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/java/ResourceInjectionTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/java/ResourceInjectionTestCase.java Sun Feb 11 10:39:43 2007
@@ -20,13 +20,13 @@
 
 import java.lang.reflect.Constructor;
 import java.lang.reflect.Field;
+import java.net.URI;
 import java.util.ArrayList;
 import java.util.List;
-import java.net.URI;
 
-import org.apache.tuscany.spi.component.CompositeComponent;
 import org.apache.tuscany.spi.component.ScopeContainer;
 import org.apache.tuscany.spi.wire.InboundWire;
+import org.apache.tuscany.spi.host.ResourceHost;
 
 import junit.framework.TestCase;
 import org.apache.tuscany.core.implementation.PojoConfiguration;
@@ -54,15 +54,15 @@
         EasyMock.expect(wire.getTargetService()).andReturn("result");
         EasyMock.replay(wire);
 
-        CompositeComponent parent = EasyMock.createMock(CompositeComponent.class);
-        EasyMock.expect(parent.resolveAutowire(EasyMock.eq(String.class))).andReturn(wire);
-        EasyMock.replay(parent);
-        ResourceObjectFactory<String> factory = new ResourceObjectFactory<String>(String.class, false, parent, null);
+        ResourceHost host = EasyMock.createMock(ResourceHost.class);
+        EasyMock.expect(host.resolveResource(EasyMock.eq(String.class))).andReturn("result");
+        EasyMock.replay(host);
+
+        ResourceObjectFactory<String> factory = new ResourceObjectFactory<String>(String.class, false, host);
         component.addResourceFactory("bar", factory);
 
         Foo foo = (Foo) component.createInstance();
         assertEquals("result", foo.resource);
-        EasyMock.verify(parent);
     }
 
 
@@ -81,16 +81,15 @@
         InboundWire wire = EasyMock.createMock(InboundWire.class);
         EasyMock.expect(wire.getTargetService()).andReturn("result");
         EasyMock.replay(wire);
-        CompositeComponent parent = EasyMock.createMock(CompositeComponent.class);
+        ResourceHost host = EasyMock.createMock(ResourceHost.class);
+        EasyMock.expect(host.resolveResource(EasyMock.eq(String.class))).andReturn("result");
+        EasyMock.replay(host);
 
-        EasyMock.expect(parent.resolveAutowire(EasyMock.eq(String.class))).andReturn(wire);
-        EasyMock.replay(parent);
-        ResourceObjectFactory<String> factory = new ResourceObjectFactory<String>(String.class, false, parent, null);
+        ResourceObjectFactory<String> factory = new ResourceObjectFactory<String>(String.class, false, host);
         component.addResourceFactory("bar", factory);
 
         FooConstructor foo = (FooConstructor) component.createInstance();
         assertEquals("result", foo.resource);
-        EasyMock.verify(parent);
     }
 
     public static class Foo {

Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/system/builder/SystemComponentBuilderResourceTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/system/builder/SystemComponentBuilderResourceTestCase.java?view=diff&rev=506088&r1=506087&r2=506088
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/system/builder/SystemComponentBuilderResourceTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/system/builder/SystemComponentBuilderResourceTestCase.java Sun Feb 11 10:39:43 2007
@@ -16,6 +16,7 @@
 import org.apache.tuscany.spi.model.Scope;
 import org.apache.tuscany.spi.model.ServiceDefinition;
 import org.apache.tuscany.spi.wire.InboundWire;
+import org.apache.tuscany.spi.host.ResourceHost;
 
 import junit.framework.TestCase;
 import org.apache.tuscany.core.implementation.system.model.SystemImplementation;
@@ -33,8 +34,12 @@
         ScopeRegistry registry = EasyMock.createMock(ScopeRegistry.class);
         EasyMock.expect(registry.getScopeContainer(Scope.STATELESS)).andReturn(container);
         EasyMock.replay(registry);
+        ResourceHost host = EasyMock.createMock(ResourceHost.class);
+        EasyMock.expect(host.resolveResource(EasyMock.eq(String.class))).andReturn("result");
+        EasyMock.replay(host);
         SystemComponentBuilder builder = new SystemComponentBuilder();
         builder.setScopeRegistry(registry);
+        builder.setHost(host);
         ConstructorDefinition<Foo> ctorDef = new ConstructorDefinition<SystemComponentBuilderResourceTestCase.Foo>(
             SystemComponentBuilderResourceTestCase.Foo.class.getConstructor());
         PojoComponentType<ServiceDefinition, ReferenceDefinition, Property<?>> type =
@@ -57,7 +62,6 @@
         EasyMock.replay(wire);
 
         CompositeComponent parent = EasyMock.createMock(CompositeComponent.class);
-        EasyMock.expect(parent.resolveAutowire(String.class)).andReturn(wire);
         EasyMock.replay(parent);
         AtomicComponent component = builder.build(parent, definition, ctx);
         SystemComponentBuilderResourceTestCase.Foo foo =

Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/injection/ResourceObjectFactoryTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/injection/ResourceObjectFactoryTestCase.java?view=diff&rev=506088&r1=506087&r2=506088
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/injection/ResourceObjectFactoryTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/injection/ResourceObjectFactoryTestCase.java Sun Feb 11 10:39:43 2007
@@ -18,8 +18,6 @@
  */
 package org.apache.tuscany.core.injection;
 
-import org.apache.tuscany.spi.component.AtomicComponent;
-import org.apache.tuscany.spi.component.CompositeComponent;
 import org.apache.tuscany.spi.host.ResourceHost;
 import org.apache.tuscany.spi.wire.InboundWire;
 
@@ -35,13 +33,9 @@
         ResourceHost host = EasyMock.createMock(ResourceHost.class);
         EasyMock.expect(host.resolveResource(EasyMock.eq(String.class))).andReturn("foo");
         EasyMock.replay(host);
-        CompositeComponent parent = EasyMock.createMock(CompositeComponent.class);
-        EasyMock.expect(parent.resolveAutowire(EasyMock.eq(String.class))).andReturn(null);
-        EasyMock.replay(parent);
-        ResourceObjectFactory<String> factory = new ResourceObjectFactory<String>(String.class, false, parent, host);
+        ResourceObjectFactory<String> factory = new ResourceObjectFactory<String>(String.class, false, host);
         assertEquals("foo", factory.getInstance());
         EasyMock.verify(host);
-        EasyMock.verify(parent);
     }
 
     public void testResolveFromHostByName() throws Exception {
@@ -50,65 +44,18 @@
             EasyMock.eq("sca://localhost/bar"))).andReturn("foo");
         EasyMock.replay(host);
         ResourceObjectFactory<String> factory =
-            new ResourceObjectFactory<String>(String.class, "sca://localhost/bar", false, null, host);
+            new ResourceObjectFactory<String>(String.class, "sca://localhost/bar", false, host);
         assertEquals("foo", factory.getInstance());
         EasyMock.verify(host);
     }
 
-    public void testResolveFromParentByType() throws Exception {
-        CompositeComponent parent = EasyMock.createMock(CompositeComponent.class);
-        InboundWire wire = EasyMock.createMock(InboundWire.class);
-        EasyMock.expect(wire.getTargetService()).andReturn("foo");
-        EasyMock.replay(wire);
-
-        EasyMock.expect(parent.resolveAutowire(EasyMock.eq(String.class))).andReturn(wire);
-        EasyMock.replay(parent);
-        ResourceObjectFactory<String> factory = new ResourceObjectFactory<String>(String.class, false, parent, null);
-        assertEquals("foo", factory.getInstance());
-        EasyMock.verify(parent);
-    }
-
-    public void testResolveFromParentByName() throws Exception {
-        AtomicComponent component = EasyMock.createMock(AtomicComponent.class);
-        EasyMock.expect(component.getTargetInstance()).andReturn("foo");
-        EasyMock.replay(component);
-        CompositeComponent parent = EasyMock.createMock(CompositeComponent.class);
-        EasyMock.expect(parent.getChild(EasyMock.eq("bar"))).andReturn(component);
-        EasyMock.replay(parent);
-        ResourceObjectFactory<String> factory =
-            new ResourceObjectFactory<String>(String.class, "bar", false, parent, null);
-        assertEquals("foo", factory.getInstance());
-        EasyMock.verify(parent);
-        EasyMock.verify(component);
-    }
-
-    /**
-     * Verifies if a resource is not found as a child of the parent, the host namespace will be searched
-     */
-    public void testResolveFromParentThenResolveFromHost() throws Exception {
-        ResourceHost host = EasyMock.createMock(ResourceHost.class);
-        EasyMock.expect(host.resolveResource(EasyMock.eq(String.class))).andReturn("foo");
-        EasyMock.replay(host);
-
-        CompositeComponent parent = EasyMock.createMock(CompositeComponent.class);
-        EasyMock.expect(parent.resolveAutowire(EasyMock.eq(String.class))).andReturn(null);
-        EasyMock.replay(parent);
-        ResourceObjectFactory<String> factory = new ResourceObjectFactory<String>(String.class, false, parent, host);
-        assertEquals("foo", factory.getInstance());
-        EasyMock.verify(parent);
-        EasyMock.verify(host);
-    }
 
     public void testResolveFromParentThenResolveFromHostNotFound() throws Exception {
         ResourceHost host = EasyMock.createMock(ResourceHost.class);
         EasyMock.expect(host.resolveResource(EasyMock.eq(String.class))).andReturn(null);
         EasyMock.replay(host);
-        CompositeComponent parent = EasyMock.createMock(CompositeComponent.class);
-        EasyMock.expect(parent.resolveAutowire(EasyMock.eq(String.class))).andReturn(null);
-        EasyMock.replay(parent);
-        ResourceObjectFactory<String> factory = new ResourceObjectFactory<String>(String.class, true, parent, host);
+        ResourceObjectFactory<String> factory = new ResourceObjectFactory<String>(String.class, true, host);
         assertNull(factory.getInstance());
-        EasyMock.verify(parent);
         EasyMock.verify(host);
     }
 
@@ -121,17 +68,13 @@
         EasyMock.expect(wire.getTargetService()).andReturn(null);
         EasyMock.replay(wire);
 
-        CompositeComponent parent = EasyMock.createMock(CompositeComponent.class);
-        EasyMock.expect(parent.resolveAutowire(EasyMock.eq(String.class))).andReturn(null);
-        EasyMock.replay(parent);
-        ResourceObjectFactory<String> factory = new ResourceObjectFactory<String>(String.class, false, parent, host);
+        ResourceObjectFactory<String> factory = new ResourceObjectFactory<String>(String.class, false, host);
         try {
             factory.getInstance();
             fail();
         } catch (ResourceNotFoundException e) {
             //expected
         }
-        EasyMock.verify(parent);
         EasyMock.verify(host);
     }
 
@@ -139,12 +82,8 @@
         ResourceHost host = EasyMock.createMock(ResourceHost.class);
         EasyMock.expect(host.resolveResource(EasyMock.eq(String.class))).andReturn(null);
         EasyMock.replay(host);
-        CompositeComponent parent = EasyMock.createMock(CompositeComponent.class);
-        EasyMock.expect(parent.resolveAutowire(EasyMock.eq(String.class))).andReturn(null);
-        EasyMock.replay(parent);
-        ResourceObjectFactory<String> factory = new ResourceObjectFactory<String>(String.class, true, parent, host);
+        ResourceObjectFactory<String> factory = new ResourceObjectFactory<String>(String.class, true, host);
         assertNull(factory.getInstance());
-        EasyMock.verify(parent);
         EasyMock.verify(host);
     }
 

Modified: incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/bootstrap/RuntimeComponent.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/bootstrap/RuntimeComponent.java?view=diff&rev=506088&r1=506087&r2=506088
==============================================================================
--- incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/bootstrap/RuntimeComponent.java (original)
+++ incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/bootstrap/RuntimeComponent.java Sun Feb 11 10:39:43 2007
@@ -19,8 +19,6 @@
 package org.apache.tuscany.spi.bootstrap;
 
 import org.apache.tuscany.spi.component.CompositeComponent;
-import org.apache.tuscany.spi.component.TargetException;
-import org.apache.tuscany.spi.deployer.Deployer;
 
 /**
  * Interface that represents the Tuscany runtime.
@@ -45,11 +43,4 @@
      */
     CompositeComponent getSystemComponent();
 
-    /**
-     * Returns the deployer for this runtime. This interface can be used to deploy new SCA bundles to the runtime.
-     *
-     * @return the deployer for this runtime
-     * @throws TargetException if there is an error returning the deployer
-     */
-    Deployer getDeployer() throws TargetException;
 }

Modified: incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/component/CompositeComponent.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/component/CompositeComponent.java?view=diff&rev=506088&r1=506087&r2=506088
==============================================================================
--- incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/component/CompositeComponent.java (original)
+++ incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/component/CompositeComponent.java Sun Feb 11 10:39:43 2007
@@ -23,8 +23,6 @@
 import org.w3c.dom.Document;
 
 import org.apache.tuscany.spi.event.RuntimeEventListener;
-import org.apache.tuscany.spi.services.management.TuscanyManagementService;
-import org.apache.tuscany.spi.wire.InboundWire;
 
 /**
  * The runtime instantiation of an SCA composite component. Composites may contain child components, offer services, and
@@ -36,13 +34,6 @@
 public interface CompositeComponent extends Component, RuntimeEventListener {
 
     /**
-     * Sets the management service associated with the composite
-     *
-     * @param managementService the management service associated with the composite
-     */
-    void setManagementService(TuscanyManagementService managementService);
-
-    /**
      * Returns the value of a Property of this composite.
      *
      * @param name the name of the Property
@@ -51,42 +42,38 @@
     Document getPropertyValue(String name);
 
     /**
-     * Registers a child of this composite.
+     * Registers a service of this composite.
+     *
+     * @param service the service to add as a child
+     * @throws RegistrationException
+     */
+    void register(Service service) throws RegistrationException;
+
+    /**
+     * Registers a reference of this composite.
      *
-     * @param object the object to add as a child
-     * @throws ComponentRegistrationException
+     * @param reference the reference to add as a child
+     * @throws RegistrationException
      */
-    void register(SCAObject object) throws ComponentRegistrationException;
+    void register(Reference reference) throws RegistrationException;
 
     /**
      * Returns the child associated with a given name
      */
     SCAObject getChild(String name);
 
-    List<Service> getServices();
-
-    List<Reference> getReferences();
-
     /**
-     * Invoked by child components to return an wire to a target based on matching type. Resolved targets may be
-     * serviceBindings or components in the parent or its ancestors, or references in a sibling component
+     * Returns the services for the component
      *
-     * @param instanceInterface the type of service being requested
-     * @return a reference to the requested service or null if one is not be found
-     * @throws TargetResolutionException
+     * @return the services for the component
      */
-    InboundWire resolveAutowire(Class<?> instanceInterface) throws TargetResolutionException;
+    List<Service> getServices();
 
     /**
-     * Invoked by a parent component to return an wire to a target in a child based on matching type. Resolved targets
-     * must be serviceBindings. For example, given a parent P and two siblings, A and B, A would request an autowire by
-     * invoking {@link #resolveAutowire(Class<?>)} on P, which in turn could invoke the present method on B in order to
-     * resolve a target.
+     * Returns the references for the component
      *
-     * @param instanceInterface the type of service being requested
-     * @return a reference to the requested service or null if one is not be found
-     * @throws TargetResolutionException
+     * @return the references for the component
      */
-    InboundWire resolveExternalAutowire(Class<?> instanceInterface) throws TargetResolutionException;
+    List<Reference> getReferences();
 
 }

Modified: incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/component/DuplicateNameException.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/component/DuplicateNameException.java?view=diff&rev=506088&r1=506087&r2=506088
==============================================================================
--- incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/component/DuplicateNameException.java (original)
+++ incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/component/DuplicateNameException.java Sun Feb 11 10:39:43 2007
@@ -23,7 +23,7 @@
  *
  * @version $Rev$ $Date$
  */
-public class DuplicateNameException extends ComponentRegistrationException {
+public class DuplicateNameException extends RegistrationException {
 
     public DuplicateNameException(String message) {
         super(message);

Modified: incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/component/InvalidAutowireInterface.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/component/InvalidAutowireInterface.java?view=diff&rev=506088&r1=506087&r2=506088
==============================================================================
--- incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/component/InvalidAutowireInterface.java (original)
+++ incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/component/InvalidAutowireInterface.java Sun Feb 11 10:39:43 2007
@@ -23,7 +23,7 @@
  *
  * @version $Rev$ $Date$
  */
-public class InvalidAutowireInterface extends ComponentRegistrationException {
+public class InvalidAutowireInterface extends RegistrationException {
 
     public InvalidAutowireInterface(String message, String identifier) {
         super(message, identifier);

Modified: incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/component/MalformedNameException.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/component/MalformedNameException.java?view=diff&rev=506088&r1=506087&r2=506088
==============================================================================
--- incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/component/MalformedNameException.java (original)
+++ incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/component/MalformedNameException.java Sun Feb 11 10:39:43 2007
@@ -5,7 +5,7 @@
  *
  * @version $Rev$ $Date$
  */
-public class MalformedNameException extends ComponentRegistrationException {
+public class MalformedNameException extends RegistrationException {
 
     public MalformedNameException(Throwable e) {
         super("Malformed name", e);

Copied: incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/component/RegistrationException.java (from r505854, incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/component/ComponentRegistrationException.java)
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/component/RegistrationException.java?view=diff&rev=506088&p1=incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/component/ComponentRegistrationException.java&r1=505854&p2=incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/component/RegistrationException.java&r2=506088
==============================================================================
--- incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/component/ComponentRegistrationException.java (original)
+++ incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/component/RegistrationException.java Sun Feb 11 10:39:43 2007
@@ -19,27 +19,27 @@
 package org.apache.tuscany.spi.component;
 
 /**
- * Thrown when an error is encountered registering a component
+ * Thrown when an error is encountered registering a service or reference on a composite
  *
  * @version $$Rev$$ $$Date$$
  */
-public abstract class ComponentRegistrationException extends ComponentException {
-    public ComponentRegistrationException() {
+public abstract class RegistrationException extends ComponentException {
+    public RegistrationException() {
     }
 
-    public ComponentRegistrationException(String message) {
+    public RegistrationException(String message) {
         super(message);
     }
 
-    public ComponentRegistrationException(String message, String identifier) {
+    public RegistrationException(String message, String identifier) {
         super(message, identifier);
     }
 
-    public ComponentRegistrationException(String message, Throwable cause) {
+    public RegistrationException(String message, Throwable cause) {
         super(message, cause);
     }
 
-    public ComponentRegistrationException(Throwable cause) {
+    public RegistrationException(Throwable cause) {
         super(cause);
     }
 }

Propchange: incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/component/RegistrationException.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/component/RegistrationException.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Modified: incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/extension/CompositeComponentExtension.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/extension/CompositeComponentExtension.java?view=diff&rev=506088&r1=506087&r2=506088
==============================================================================
--- incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/extension/CompositeComponentExtension.java (original)
+++ incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/extension/CompositeComponentExtension.java Sun Feb 11 10:39:43 2007
@@ -29,23 +29,17 @@
 
 import org.w3c.dom.Document;
 
-import org.apache.tuscany.spi.annotation.Autowire;
-import org.apache.tuscany.spi.component.AtomicComponent;
-import org.apache.tuscany.spi.component.Component;
-import org.apache.tuscany.spi.component.ComponentRegistrationException;
 import org.apache.tuscany.spi.component.CompositeComponent;
 import org.apache.tuscany.spi.component.DuplicateNameException;
-import org.apache.tuscany.spi.component.InvalidAutowireInterface;
 import org.apache.tuscany.spi.component.PrepareException;
 import org.apache.tuscany.spi.component.Reference;
 import org.apache.tuscany.spi.component.ReferenceBinding;
+import org.apache.tuscany.spi.component.RegistrationException;
 import org.apache.tuscany.spi.component.SCAObject;
 import org.apache.tuscany.spi.component.Service;
 import org.apache.tuscany.spi.component.ServiceBinding;
-import org.apache.tuscany.spi.component.TargetResolutionException;
 import org.apache.tuscany.spi.event.Event;
 import org.apache.tuscany.spi.model.Scope;
-import org.apache.tuscany.spi.services.management.TuscanyManagementService;
 import org.apache.tuscany.spi.util.UriHelper;
 import org.apache.tuscany.spi.wire.InboundWire;
 import org.apache.tuscany.spi.wire.OutboundWire;
@@ -57,36 +51,16 @@
  * @version $$Rev$$ $$Date$$
  */
 public abstract class CompositeComponentExtension extends AbstractComponentExtension implements CompositeComponent {
-    protected final Map<String, SCAObject> children = new ConcurrentHashMap<String, SCAObject>();
     protected final List<Service> services = new ArrayList<Service>();
     protected final List<Reference> references = new ArrayList<Reference>();
-
+    protected final Map<String, SCAObject> children = new ConcurrentHashMap<String, SCAObject>();
     protected final Map<String, Document> propertyValues;
 
-    // autowire mappings
-    protected final Map<Class, InboundWire> autowireInternal = new ConcurrentHashMap<Class, InboundWire>();
-    protected final Map<Class, InboundWire> autowireExternal = new ConcurrentHashMap<Class, InboundWire>();
-
-    /**
-     * Management service to use.
-     */
-    private TuscanyManagementService managementService;
-
     protected CompositeComponentExtension(URI name, CompositeComponent parent, Map<String, Document> propertyValues) {
         super(name, parent);
         this.propertyValues = propertyValues;
     }
 
-    /**
-     * Autowires the management service.
-     *
-     * @param managementService Management service used for registering components.
-     */
-    @Autowire
-    public final void setManagementService(TuscanyManagementService managementService) {
-        this.managementService = managementService;
-    }
-
     public Scope getScope() {
         return Scope.SYSTEM;
     }
@@ -99,12 +73,6 @@
         return propertyValues.get(name);
     }
 
-    public SCAObject getChild(String name) {
-        assert name != null;
-        return children.get(name);
-    }
-
-
     public List<Service> getServices() {
         return Collections.unmodifiableList(services);
     }
@@ -113,41 +81,42 @@
         return Collections.unmodifiableList(references);
     }
 
-    public void register(SCAObject child) throws ComponentRegistrationException {
-        assert child instanceof Service || child instanceof Reference || child instanceof Component;
+
+    public SCAObject getChild(String name) {
+        return children.get(name);
+    }
+
+    public void register(Service service) throws RegistrationException {
         String name;
-        // TODO JFM should just use fragment when only refs and services are registered
-        if (child.getUri().getFragment() != null) {
-            name = child.getUri().getFragment();
+        if (service.getUri().getFragment() != null) {
+            name = service.getUri().getFragment();
         } else {
-            name = UriHelper.getBaseName(child.getUri());
+            name = UriHelper.getBaseName(service.getUri());
         }
         if (children.get(name) != null) {
-            String uri = child.getUri().toString();
-            throw new DuplicateNameException("A child is already registered with the name", uri);
+            String uri = service.getUri().toString();
+            throw new DuplicateNameException("A service or reference is already registered with the name", uri);
         }
-        children.put(name, child);
-        if (child instanceof Service) {
-            Service service = (Service) child;
-            synchronized (services) {
-                services.add(service);
-            }
-            registerAutowire(service);
-        } else if (child instanceof Reference) {
-            Reference reference = (Reference) child;
-            synchronized (references) {
-                references.add(reference);
-            }
-            registerAutowire(reference);
-        } else if (child instanceof AtomicComponent) {
-            AtomicComponent atomic = (AtomicComponent) child;
-            registerAutowire(atomic);
-            if (managementService != null) {
-                managementService.registerComponent(atomic.getUri().toString(), atomic);
-            }
-        } else if (child instanceof CompositeComponent) {
-            CompositeComponent component = (CompositeComponent) child;
-            registerAutowire(component);
+        children.put(name, service);
+        synchronized (services) {
+            services.add(service);
+        }
+    }
+
+    public void register(Reference reference) throws RegistrationException {
+        String name;
+        if (reference.getUri().getFragment() != null) {
+            name = reference.getUri().getFragment();
+        } else {
+            name = UriHelper.getBaseName(reference.getUri());
+        }
+        if (children.get(name) != null) {
+            String uri = reference.getUri().toString();
+            throw new DuplicateNameException("A service or reference is already registered with the name", uri);
+        }
+        children.put(name, reference);
+        synchronized (services) {
+            references.add(reference);
         }
     }
 
@@ -248,32 +217,6 @@
         }
     }
 
-    public InboundWire resolveAutowire(Class<?> instanceInterface) throws TargetResolutionException {
-        // FIXME JNB make this faster and thread safe
-        for (Map.Entry<Class, InboundWire> service : autowireInternal.entrySet()) {
-            if (instanceInterface.isAssignableFrom(service.getKey())) {
-                return service.getValue();
-            }
-        }
-        if (getParent() != null) {
-            return getParent().resolveAutowire(instanceInterface);
-        }
-        return null;
-    }
-
-    public InboundWire resolveExternalAutowire(Class<?> instanceInterface) throws TargetResolutionException {
-        // FIXME JNB make this faster and thread safe
-        for (Map.Entry<Class, InboundWire> service : autowireExternal.entrySet()) {
-            if (instanceInterface.isAssignableFrom(service.getKey())) {
-                return service.getValue();
-            }
-        }
-        if (getParent() != null) {
-            return getParent().resolveAutowire(instanceInterface);
-        }
-        return null;
-    }
-
     public void prepare() throws PrepareException {
         for (Service service : services) {
             service.prepare();
@@ -283,120 +226,4 @@
         }
     }
 
-    protected void registerAutowireExternal(Class<?> interfaze, Service service) throws InvalidAutowireInterface {
-        if (interfaze == null) {
-            // The ServiceContract is not from Java
-            return;
-        }
-        if (autowireExternal.containsKey(interfaze)) {
-            return;
-        }
-        // TODO autowire should allow multiple interfaces
-        List<ServiceBinding> bindings = service.getServiceBindings();
-        if (bindings.size() == 0) {
-            return;
-        }
-        // pick the first binding until autowire allows multiple interfaces
-        InboundWire wire = bindings.get(0).getInboundWire();
-        if (!interfaze.isAssignableFrom(wire.getServiceContract().getInterfaceClass())) {
-            String iName = interfaze.getName();
-            throw new InvalidAutowireInterface("Matching inbound wire not found for interface", iName);
-        }
-        autowireExternal.put(interfaze, wire);
-    }
-
-    protected void registerAutowireInternal(Class<?> interfaze, InboundWire wire) throws InvalidAutowireInterface {
-        if (interfaze == null) {
-            // The ServiceContract is not from Java
-            return;
-        }
-        if (autowireInternal.containsKey(interfaze)) {
-            return;
-        }
-        if (!interfaze.isAssignableFrom(wire.getServiceContract().getInterfaceClass())) {
-            String iName = interfaze.getName();
-            throw new InvalidAutowireInterface("Matching inbound wire not found for interface", iName);
-        }
-        autowireInternal.put(interfaze, wire);
-    }
-
-    protected void registerAutowireInternal(Class<?> interfaze, Reference reference) throws InvalidAutowireInterface {
-        if (interfaze == null) {
-            // The ServiceContract is not from Java
-            return;
-        }
-        if (autowireInternal.containsKey(interfaze)) {
-            return;
-        }
-        List<ReferenceBinding> bindings = reference.getReferenceBindings();
-        if (bindings.size() == 0) {
-            return;
-        }
-        // pick the first binding until autowire allows multiple interfaces
-        InboundWire wire = bindings.get(0).getInboundWire();
-        if (!interfaze.isAssignableFrom(wire.getServiceContract().getInterfaceClass())) {
-            String iName = interfaze.getName();
-            throw new InvalidAutowireInterface("Matching inbound wire not found for interface", iName);
-        }
-        autowireInternal.put(interfaze, wire);
-    }
-
-    protected void registerAutowireInternal(Class<?> interfaze, AtomicComponent component)
-        throws InvalidAutowireInterface {
-        if (interfaze == null) {
-            // The ServiceContract is not from Java
-            return;
-        }
-        if (autowireInternal.containsKey(interfaze) || component.getInboundWires().size() == 0) {
-            return;
-        }
-        for (InboundWire wire : component.getInboundWires()) {
-            if (interfaze.isAssignableFrom(wire.getServiceContract().getInterfaceClass())) {
-                autowireInternal.put(interfaze, wire);
-                return;
-            }
-        }
-        throw new InvalidAutowireInterface("Matching inbound wire not found for interface", interfaze.getName());
-    }
-
-    protected void registerAutowire(CompositeComponent component) throws InvalidAutowireInterface {
-        // the composite is under the application hierarchy so only register its non-system services
-        Collection<InboundWire> wires = component.getInboundWires();
-        for (InboundWire wire : wires) {
-            Class<?> clazz = wire.getServiceContract().getInterfaceClass();
-            registerAutowireInternal(clazz, wire);
-        }
-    }
-
-    protected void registerAutowire(AtomicComponent component) throws InvalidAutowireInterface {
-        for (InboundWire wire : component.getInboundWires()) {
-            registerAutowireInternal(wire.getServiceContract().getInterfaceClass(), component);
-        }
-    }
-
-    protected void registerAutowire(Reference reference) throws InvalidAutowireInterface {
-        // TODO autowire should allow multiple interfaces
-        List<ReferenceBinding> bindings = reference.getReferenceBindings();
-        if (bindings.size() == 0) {
-            return;
-        }
-        // pick the first binding until autowire allows multiple interfaces
-        InboundWire wire = bindings.get(0).getInboundWire();
-        Class<?> clazz = wire.getServiceContract().getInterfaceClass();
-        registerAutowireInternal(clazz, reference);
-
-
-    }
-
-    protected void registerAutowire(Service service) throws InvalidAutowireInterface {
-        // TODO autowire should allow multiple interfaces
-        List<ServiceBinding> bindings = service.getServiceBindings();
-        if (bindings.size() == 0) {
-            return;
-        }
-        // pick the first binding until autowire allows multiple interfaces
-        InboundWire wire = bindings.get(0).getInboundWire();
-        Class<?> clazz = wire.getServiceContract().getInterfaceClass();
-        registerAutowireExternal(clazz, service);
-    }
 }

Modified: incubator/tuscany/java/sca/runtime/itest/plugin/src/main/java/org/apache/tuscany/sca/plugin/itest/MavenEmbeddedRuntime.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/runtime/itest/plugin/src/main/java/org/apache/tuscany/sca/plugin/itest/MavenEmbeddedRuntime.java?view=diff&rev=506088&r1=506087&r2=506088
==============================================================================
--- incubator/tuscany/java/sca/runtime/itest/plugin/src/main/java/org/apache/tuscany/sca/plugin/itest/MavenEmbeddedRuntime.java (original)
+++ incubator/tuscany/java/sca/runtime/itest/plugin/src/main/java/org/apache/tuscany/sca/plugin/itest/MavenEmbeddedRuntime.java Sun Feb 11 10:39:43 2007
@@ -20,7 +20,7 @@
 
 import org.apache.tuscany.core.runtime.AbstractRuntime;
 import org.apache.tuscany.host.runtime.InitializationException;
-import org.apache.tuscany.spi.component.ComponentRegistrationException;
+import org.apache.tuscany.spi.component.RegistrationException;
 import org.apache.tuscany.spi.services.artifact.ArtifactRepository;
 
 /**
@@ -39,7 +39,7 @@
             getComponentManager().registerJavaObject(MavenEmbeddedArtifactRepository.COMPONENT_NAME,
                                                      ArtifactRepository.class,
                                                      artifactRepository);
-        } catch (ComponentRegistrationException e) {
+        } catch (RegistrationException e) {
             throw new InitializationException(e);
         }
     }

Modified: incubator/tuscany/java/sca/runtime/itest/plugin/src/main/java/org/apache/tuscany/sca/plugin/itest/implementation/junit/JUnitComponentBuilder.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/runtime/itest/plugin/src/main/java/org/apache/tuscany/sca/plugin/itest/implementation/junit/JUnitComponentBuilder.java?view=diff&rev=506088&r1=506087&r2=506088
==============================================================================
--- incubator/tuscany/java/sca/runtime/itest/plugin/src/main/java/org/apache/tuscany/sca/plugin/itest/implementation/junit/JUnitComponentBuilder.java (original)
+++ incubator/tuscany/java/sca/runtime/itest/plugin/src/main/java/org/apache/tuscany/sca/plugin/itest/implementation/junit/JUnitComponentBuilder.java Sun Feb 11 10:39:43 2007
@@ -22,11 +22,6 @@
 import java.lang.reflect.Member;
 import java.lang.reflect.Method;
 
-import org.apache.tuscany.core.implementation.PojoConfiguration;
-import org.apache.tuscany.core.implementation.java.JavaAtomicComponent;
-import org.apache.tuscany.core.injection.MethodEventInvoker;
-import org.apache.tuscany.core.injection.PojoObjectFactory;
-import org.apache.tuscany.core.injection.ResourceObjectFactory;
 import org.apache.tuscany.spi.ObjectFactory;
 import org.apache.tuscany.spi.annotation.Autowire;
 import org.apache.tuscany.spi.builder.BuilderConfigException;
@@ -44,6 +39,12 @@
 import org.apache.tuscany.spi.model.ComponentDefinition;
 import org.apache.tuscany.spi.model.PropertyValue;
 
+import org.apache.tuscany.core.implementation.PojoConfiguration;
+import org.apache.tuscany.core.implementation.java.JavaAtomicComponent;
+import org.apache.tuscany.core.injection.MethodEventInvoker;
+import org.apache.tuscany.core.injection.PojoObjectFactory;
+import org.apache.tuscany.core.injection.ResourceObjectFactory;
+
 /**
  * Builds a Java-based atomic context from a component definition
  *
@@ -179,9 +180,9 @@
                 String mappedName = resource.getMappedName();
                 if (mappedName == null) {
                     // by type
-                    factory = new ResourceObjectFactory<Object>(type, optional, parent, host);
+                    factory = new ResourceObjectFactory<Object>(type, optional, host);
                 } else {
-                    factory = new ResourceObjectFactory<Object>(type, mappedName, optional, parent, host);
+                    factory = new ResourceObjectFactory<Object>(type, mappedName, optional, host);
                 }
                 component.addResourceFactory(name, factory);
             }



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