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 2006/12/23 13:14:11 UTC

svn commit: r489888 [3/6] - 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/scope/ kerne...

Added: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/TestUtils.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/TestUtils.java?view=auto&rev=489888
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/TestUtils.java (added)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/TestUtils.java Sat Dec 23 04:14:05 2006
@@ -0,0 +1,69 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.tuscany.core.implementation;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.apache.tuscany.spi.component.AtomicComponent;
+import org.apache.tuscany.spi.idl.InvalidServiceContractException;
+import org.apache.tuscany.spi.idl.java.JavaInterfaceProcessorRegistry;
+import org.apache.tuscany.spi.idl.java.JavaServiceContract;
+import org.apache.tuscany.spi.wire.InboundWire;
+
+import org.apache.tuscany.core.idl.java.JavaInterfaceProcessorRegistryImpl;
+import org.apache.tuscany.core.util.JavaIntrospectionHelper;
+import org.apache.tuscany.core.wire.InboundWireImpl;
+
+/**
+ * @version $Rev$ $Date$
+ */
+public final class TestUtils {
+    private static final JavaInterfaceProcessorRegistry REGISTRY = new JavaInterfaceProcessorRegistryImpl();
+
+    private TestUtils() {
+    }
+
+    public static Map<String, InboundWire> populateInboundWires(AtomicComponent component,
+                                                                Map<String, InboundWire> wires)
+        throws InvalidServiceContractException {
+        for (InboundWire wire : wires.values()) {
+            wire.setContainer(component);
+        }
+        return wires;
+    }
+
+    public static Map<String, InboundWire> createInboundWires(List<Class<?>> interfazes)
+        throws InvalidServiceContractException {
+        Map<String, InboundWire> wires = new HashMap<String, InboundWire>(interfazes.size());
+        for (Class<?> interfaze : interfazes) {
+            InboundWire wire = createInboundWire(interfaze);
+            wires.put(JavaIntrospectionHelper.getBaseName(interfaze), wire);
+        }
+        return wires;
+    }
+
+    public static InboundWire createInboundWire(Class<?> interfaze) throws InvalidServiceContractException {
+        InboundWire wire = new InboundWireImpl();
+        JavaServiceContract contract = REGISTRY.introspect(interfaze);
+        wire.setServiceContract(contract);
+        return wire;
+    }
+}

Propchange: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/TestUtils.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/TestUtils.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/AutowireRegistrationTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/AutowireRegistrationTestCase.java?view=auto&rev=489888
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/AutowireRegistrationTestCase.java (added)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/AutowireRegistrationTestCase.java Sat Dec 23 04:14:05 2006
@@ -0,0 +1,165 @@
+package org.apache.tuscany.core.implementation.composite;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.apache.tuscany.spi.component.AtomicComponent;
+import org.apache.tuscany.spi.component.CompositeComponent;
+import org.apache.tuscany.spi.component.InvalidAutowireInterface;
+import org.apache.tuscany.spi.component.Reference;
+import org.apache.tuscany.spi.component.Service;
+import org.apache.tuscany.spi.wire.InboundWire;
+
+import junit.framework.TestCase;
+import org.apache.tuscany.core.implementation.TestUtils;
+import org.easymock.EasyMock;
+
+/**
+ * Verfies specific autowire resolution scenarios
+ *
+ * @version $Rev$ $Date$
+ */
+public class AutowireRegistrationTestCase extends TestCase {
+
+    public void testInvalidServiceInterfaceAutowire() throws Exception {
+        CompositeComponent parent = EasyMock.createMock(CompositeComponent.class);
+        InboundWire wire = TestUtils.createInboundWire(Foo.class);
+        wire.setContainer(parent);
+        Service service = EasyMock.createMock(Service.class);
+        EasyMock.expect(service.getName()).andReturn("foo").atLeastOnce();
+        EasyMock.expect(service.isSystem()).andReturn(false).atLeastOnce();
+        EasyMock.expect(service.getInboundWire()).andReturn(wire).atLeastOnce();
+        service.getInterface();
+        EasyMock.expectLastCall().andReturn(Bar.class);
+        EasyMock.replay(service);
+        CompositeComponent component = new CompositeComponentImpl("test", parent, null, null);
+        try {
+            component.register(service);
+            fail();
+        } catch (InvalidAutowireInterface e) {
+            // expected 
+        }
+    }
+
+    public void testInvalidSystemServiceInterfaceAutowire() throws Exception {
+        CompositeComponent parent = EasyMock.createMock(CompositeComponent.class);
+        InboundWire wire = TestUtils.createInboundWire(Foo.class);
+        wire.setContainer(parent);
+        Service service = EasyMock.createMock(Service.class);
+        EasyMock.expect(service.getName()).andReturn("foo").atLeastOnce();
+        EasyMock.expect(service.isSystem()).andReturn(true).atLeastOnce();
+        EasyMock.expect(service.getInboundWire()).andReturn(wire).atLeastOnce();
+        service.getInterface();
+        EasyMock.expectLastCall().andReturn(Bar.class);
+        EasyMock.replay(service);
+        CompositeComponent component = new CompositeComponentImpl("test", parent, null, null);
+        try {
+            component.register(service);
+            fail();
+        } catch (InvalidAutowireInterface e) {
+            // expected
+        }
+    }
+
+    public void testInvalidReferenceInterfaceAutowire() throws Exception {
+        CompositeComponent parent = EasyMock.createMock(CompositeComponent.class);
+        InboundWire wire = TestUtils.createInboundWire(Foo.class);
+        wire.setContainer(parent);
+        Reference reference = EasyMock.createMock(Reference.class);
+        EasyMock.expect(reference.getName()).andReturn("foo").atLeastOnce();
+        EasyMock.expect(reference.isSystem()).andReturn(false).atLeastOnce();
+        EasyMock.expect(reference.getInboundWire()).andReturn(wire).atLeastOnce();
+        reference.getInterface();
+        EasyMock.expectLastCall().andReturn(Bar.class);
+        EasyMock.replay(reference);
+        CompositeComponent component = new CompositeComponentImpl("test", parent, null, null);
+        try {
+            component.register(reference);
+            fail();
+        } catch (InvalidAutowireInterface e) {
+            // expected
+        }
+    }
+
+
+    public void testInvalidSystemReferenceInterfaceAutowire() throws Exception {
+        CompositeComponent parent = EasyMock.createMock(CompositeComponent.class);
+        InboundWire wire = TestUtils.createInboundWire(Foo.class);
+        wire.setContainer(parent);
+        Reference reference = EasyMock.createMock(Reference.class);
+        EasyMock.expect(reference.getName()).andReturn("foo").atLeastOnce();
+        EasyMock.expect(reference.isSystem()).andReturn(true).atLeastOnce();
+        EasyMock.expect(reference.getInboundWire()).andReturn(wire).atLeastOnce();
+        reference.getInterface();
+        EasyMock.expectLastCall().andReturn(Bar.class);
+        EasyMock.replay(reference);
+        CompositeComponent component = new CompositeComponentImpl("test", parent, null, null);
+        try {
+            component.register(reference);
+            fail();
+        } catch (InvalidAutowireInterface e) {
+            // expected
+        }
+    }
+
+
+    public void testInvalidComponentInterfaceAutowire() throws Exception {
+        CompositeComponent parent = EasyMock.createMock(CompositeComponent.class);
+        InboundWire wire = TestUtils.createInboundWire(Foo.class);
+        wire.setContainer(parent);
+        Map<String, InboundWire> wires = new HashMap<String, InboundWire>();
+        wires.put("foo", wire);
+        AtomicComponent component = EasyMock.createMock(AtomicComponent.class);
+        EasyMock.expect(component.getName()).andReturn("foo").atLeastOnce();
+        EasyMock.expect(component.isSystem()).andReturn(false).atLeastOnce();
+        EasyMock.expect(component.getInboundWires()).andReturn(wires).atLeastOnce();
+        List<Class<?>> interfaces = new ArrayList<Class<?>>();
+        interfaces.add(Bar.class);
+        component.getServiceInterfaces();
+        EasyMock.expectLastCall().andReturn(interfaces);
+        EasyMock.replay(component);
+        CompositeComponent compoosite = new CompositeComponentImpl("test", parent, null, null);
+        try {
+            compoosite.register(component);
+            fail();
+        } catch (InvalidAutowireInterface e) {
+            // expected
+        }
+    }
+
+    public void testInvalidSystemComponentInterfaceAutowire() throws Exception {
+        CompositeComponent parent = EasyMock.createMock(CompositeComponent.class);
+        InboundWire wire = TestUtils.createInboundWire(Foo.class);
+        wire.setContainer(parent);
+        Map<String, InboundWire> wires = new HashMap<String, InboundWire>();
+        wires.put("foo", wire);
+        AtomicComponent component = EasyMock.createMock(AtomicComponent.class);
+        EasyMock.expect(component.getName()).andReturn("foo").atLeastOnce();
+        EasyMock.expect(component.isSystem()).andReturn(true).atLeastOnce();
+        EasyMock.expect(component.getInboundWires()).andReturn(wires).atLeastOnce();
+        List<Class<?>> interfaces = new ArrayList<Class<?>>();
+        interfaces.add(Bar.class);
+        component.getServiceInterfaces();
+        EasyMock.expectLastCall().andReturn(interfaces);
+        EasyMock.replay(component);
+        CompositeComponent compoosite = new CompositeComponentImpl("test", parent, null, null);
+        try {
+            compoosite.register(component);
+            fail();
+        } catch (InvalidAutowireInterface e) {
+            // expected
+        }
+    }
+
+    protected void setUp() throws Exception {
+        super.setUp();
+    }
+
+    public static interface Foo {
+    }
+
+    public static interface Bar {
+    }
+}

Propchange: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/AutowireRegistrationTestCase.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/AutowireRegistrationTestCase.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/AutowireResolutionTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/AutowireResolutionTestCase.java?view=diff&rev=489888&r1=489887&r2=489888
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/AutowireResolutionTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/AutowireResolutionTestCase.java Sat Dec 23 04:14:05 2006
@@ -19,8 +19,10 @@
 package org.apache.tuscany.core.implementation.composite;
 
 import org.apache.tuscany.spi.component.CompositeComponent;
+import org.apache.tuscany.spi.wire.InboundWire;
 
 import junit.framework.TestCase;
+import org.apache.tuscany.core.implementation.TestUtils;
 import org.easymock.EasyMock;
 import static org.easymock.EasyMock.createMock;
 import static org.easymock.EasyMock.eq;
@@ -43,41 +45,25 @@
         verify(parent);
     }
 
-    public void testResolveToSelf() throws Exception {
-        CompositeComponent parent = createMock(CompositeComponent.class);
-        replay(parent);
-        CompositeComponent component = new CompositeComponentImpl("test", parent, null, null);
-        assertSame(component, component.resolveInstance(CompositeComponent.class));
-        verify(parent);
-    }
-
-    public void testSystemResolveToSelf() throws Exception {
-        CompositeComponent parent = createMock(CompositeComponent.class);
-        replay(parent);
-        CompositeComponent component = new CompositeComponentImpl("test", parent, null, null);
-        assertSame(component, component.resolveSystemInstance(CompositeComponent.class));
-        verify(parent);
-    }
-
     public void testResolvedByAutowire() throws Exception {
-        Foo foo = new Foo() {
-        };
         CompositeComponent parent = createMock(CompositeComponent.class);
-        EasyMock.expect(parent.resolveInstance(eq(Foo.class))).andReturn(foo);
+        InboundWire wire = TestUtils.createInboundWire(Foo.class);
+        wire.setContainer(parent);
+        EasyMock.expect(parent.resolveAutowire(eq(Foo.class))).andReturn(wire);
         replay(parent);
         CompositeComponent component = new CompositeComponentImpl("test", parent, null, null);
-        assertSame(foo, component.resolveInstance(Foo.class));
+        assertSame(wire, component.resolveAutowire(Foo.class));
         verify(parent);
     }
 
     public void testSystemResolvedByAutowire() throws Exception {
-        Foo foo = new Foo() {
-        };
         CompositeComponent parent = createMock(CompositeComponent.class);
-        EasyMock.expect(parent.resolveSystemInstance(eq(Foo.class))).andReturn(foo);
+        InboundWire wire = TestUtils.createInboundWire(Foo.class);
+        wire.setContainer(parent);
+        EasyMock.expect(parent.resolveSystemAutowire(eq(Foo.class))).andReturn(wire);
         replay(parent);
         CompositeComponent component = new CompositeComponentImpl("test", parent, null, null);
-        assertSame(foo, component.resolveSystemInstance(Foo.class));
+        assertSame(wire, component.resolveSystemAutowire(Foo.class));
         verify(parent);
     }
 
@@ -90,7 +76,7 @@
         CompositeComponent parent = new CompositeComponentImpl("parent", null, null, null);
         parent.registerJavaObject("foo", Foo.class, foo);
         CompositeComponent component = new CompositeComponentImpl("test", parent, null, null);
-        assertNull(component.resolveInstance(Foo.class));
+        assertNull(component.resolveAutowire(Foo.class));
     }
 
     protected void setUp() throws Exception {

Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/AutowireTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/AutowireTestCase.java?view=diff&rev=489888&r1=489887&r2=489888
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/AutowireTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/AutowireTestCase.java Sat Dec 23 04:14:05 2006
@@ -20,14 +20,14 @@
 
 import java.util.ArrayList;
 import java.util.List;
+import java.util.Map;
 
 import org.apache.tuscany.spi.component.AtomicComponent;
 import org.apache.tuscany.spi.component.CompositeComponent;
-import org.apache.tuscany.spi.component.Reference;
-import org.apache.tuscany.spi.component.Service;
-import org.apache.tuscany.spi.component.SystemAtomicComponent;
+import org.apache.tuscany.spi.wire.InboundWire;
 
 import junit.framework.TestCase;
+import org.apache.tuscany.core.implementation.TestUtils;
 import org.apache.tuscany.core.implementation.system.component.SystemReference;
 import org.apache.tuscany.core.implementation.system.component.SystemService;
 import org.easymock.EasyMock;
@@ -45,25 +45,23 @@
     public void testSystemAtomicAutowire() throws Exception {
         CompositeComponent parent = new CompositeComponentImpl("parent", null, null, true);
         parent.start();
-
         List<Class<?>> interfaces = new ArrayList<Class<?>>();
         interfaces.add(Source.class);
         interfaces.add(Source2.class);
-        Source originalSource = new SourceImpl();
-        SystemAtomicComponent component = EasyMock.createMock(SystemAtomicComponent.class);
+        AtomicComponent component = EasyMock.createMock(AtomicComponent.class);
         EasyMock.expect(component.getName()).andReturn("source").atLeastOnce();
-        EasyMock.expect(component.getServiceInstance()).andReturn(originalSource).atLeastOnce();
         EasyMock.expect(component.getServiceInterfaces()).andReturn(interfaces);
         EasyMock.expect(component.isSystem()).andReturn(true).atLeastOnce();
-
+        Map<String, InboundWire> wires = TestUtils.createInboundWires(interfaces);
+        EasyMock.expect(component.getInboundWires()).andReturn(wires).atLeastOnce();
+        TestUtils.populateInboundWires(component, wires);
         EasyMock.replay(component);
         parent.register(component);
-
-        Source source = parent.resolveSystemInstance(Source.class);
+        InboundWire source = parent.resolveSystemAutowire(Source.class);
         assertNotNull(source);
-        Source2 source2 = parent.resolveSystemInstance(Source2.class);
-        assertSame(source, source2);
-        assertNull(parent.resolveSystemExternalInstance(Source.class));
+        InboundWire source2 = parent.resolveSystemAutowire(Source2.class);
+        assertSame(source.getContainer(), source2.getContainer());
+        assertNull(parent.resolveSystemExternalAutowire(Source.class));
         EasyMock.verify(component);
     }
 
@@ -77,96 +75,73 @@
         List<Class<?>> interfaces = new ArrayList<Class<?>>();
         interfaces.add(Source.class);
         interfaces.add(Source2.class);
-        Source originalSource = new SourceImpl();
         AtomicComponent component = EasyMock.createMock(AtomicComponent.class);
         EasyMock.expect(component.getName()).andReturn("source").atLeastOnce();
-        EasyMock.expect(component.getServiceInstance()).andReturn(originalSource).atLeastOnce();
         EasyMock.expect(component.getServiceInterfaces()).andReturn(interfaces);
         EasyMock.expect(component.isSystem()).andReturn(false).atLeastOnce();
+        Map<String, InboundWire> wires = TestUtils.createInboundWires(interfaces);
+        EasyMock.expect(component.getInboundWires()).andReturn(wires).atLeastOnce();
+        TestUtils.populateInboundWires(component, wires);
 
         EasyMock.replay(component);
         parent.register(component);
 
-        Source source = parent.resolveInstance(Source.class);
+        InboundWire source = parent.resolveAutowire(Source.class);
         assertNotNull(source);
-        Source2 source2 = parent.resolveInstance(Source2.class);
-        assertSame(source, source2);
-        assertNull(parent.resolveExternalInstance(Source.class));
+        InboundWire source2 = parent.resolveAutowire(Source2.class);
+        assertSame(source.getContainer(), source2.getContainer());
+        assertNull(parent.resolveExternalAutowire(Source.class));
         EasyMock.verify(component);
     }
 
     /**
-     * Tests autowiring to a system service which is wired to an atomic component.
+     * Tests autowiring to a system service
      */
     public void testSystemServiceAutowire() throws Exception {
         CompositeComponent parent = new CompositeComponentImpl("parent", null, null, true);
         parent.start();
 
-        List<Class<?>> interfaces = new ArrayList<Class<?>>();
-        interfaces.add(Source.class);
-        interfaces.add(Source2.class);
-
-        Source serviceSource = new SourceImpl();
-        SystemService component = EasyMock.createMock(SystemService.class);
-        EasyMock.expect(component.getName()).andReturn("service").atLeastOnce();
-        component.getInterface();
+        SystemService service = EasyMock.createMock(SystemService.class);
+        EasyMock.expect(service.getName()).andReturn("service").atLeastOnce();
+        service.getInterface();
         EasyMock.expectLastCall().andReturn(Source.class).atLeastOnce();
-        EasyMock.expect(component.isSystem()).andReturn(true).atLeastOnce();
-        EasyMock.expect(component.getServiceInstance()).andReturn(serviceSource);
-        EasyMock.replay(component);
-        parent.register(component);
-
-
-        SystemAtomicComponent component2 = EasyMock.createMock(SystemAtomicComponent.class);
-        EasyMock.expect(component2.getName()).andReturn("source").atLeastOnce();
-        EasyMock.expect(component2.getServiceInterfaces()).andReturn(interfaces).atLeastOnce();
-        EasyMock.expect(component2.isSystem()).andReturn(true).atLeastOnce();
-        EasyMock.replay(component2);
-        parent.register(component2);
-
-        Source source = parent.resolveSystemExternalInstance(Source.class);
-        assertSame(serviceSource, source);
-        Source2 source2 = parent.resolveSystemExternalInstance(Source2.class);
+        EasyMock.expect(service.isSystem()).andReturn(true).atLeastOnce();
+        InboundWire wire = TestUtils.createInboundWire(Source.class);
+        wire.setContainer(service);
+        EasyMock.expect(service.getInboundWire()).andReturn(wire).atLeastOnce();
+        EasyMock.replay(service);
+        parent.register(service);
+
+        InboundWire source = parent.resolveSystemExternalAutowire(Source.class);
+        assertSame(service, source.getContainer());
+        InboundWire source2 = parent.resolveSystemExternalAutowire(Source2.class);
         assertNull(source2);
-        EasyMock.verify(component);
-        EasyMock.verify(component2);
+        EasyMock.verify(service);
     }
 
     /**
-     * Tests autowiring to a system service which is wired to an atomic component.
+     * Tests autowiring to a service
      */
     public void testServiceAutowire() throws Exception {
-        CompositeComponent parent = new CompositeComponentImpl("parent", null, null, null);
+        CompositeComponent parent = new CompositeComponentImpl("parent", null, null, true);
         parent.start();
 
-        List<Class<?>> interfaces = new ArrayList<Class<?>>();
-        interfaces.add(Source.class);
-        interfaces.add(Source2.class);
-
-        Source serviceSource = new SourceImpl();
-        Service component = EasyMock.createMock(Service.class);
-        EasyMock.expect(component.getName()).andReturn("service").atLeastOnce();
-        component.getInterface();
+        SystemService service = EasyMock.createMock(SystemService.class);
+        EasyMock.expect(service.getName()).andReturn("service").atLeastOnce();
+        service.getInterface();
         EasyMock.expectLastCall().andReturn(Source.class).atLeastOnce();
-        EasyMock.expect(component.isSystem()).andReturn(false).atLeastOnce();
-        EasyMock.expect(component.getServiceInstance()).andReturn(serviceSource);
-        EasyMock.replay(component);
-        parent.register(component);
-
-
-        AtomicComponent component2 = EasyMock.createMock(AtomicComponent.class);
-        EasyMock.expect(component2.getName()).andReturn("source").atLeastOnce();
-        EasyMock.expect(component2.getServiceInterfaces()).andReturn(interfaces).atLeastOnce();
-        EasyMock.expect(component2.isSystem()).andReturn(false).atLeastOnce();
-        EasyMock.replay(component2);
-        parent.register(component2);
-
-        Source source = parent.resolveExternalInstance(Source.class);
-        assertSame(serviceSource, source);
-        Source2 source2 = parent.resolveExternalInstance(Source2.class);
+        EasyMock.expect(service.isSystem()).andReturn(false).atLeastOnce();
+        InboundWire wire = TestUtils.createInboundWire(Source.class);
+        wire.setContainer(service);
+        EasyMock.expect(service.getInboundWire()).andReturn(wire).atLeastOnce();
+        EasyMock.replay(service);
+        parent.register(service);
+
+        InboundWire source = parent.resolveExternalAutowire(Source.class);
+        assertSame(service, source.getContainer());
+        InboundWire source2 = parent.resolveExternalAutowire(Source2.class);
         assertNull(source2);
-        EasyMock.verify(component);
-        EasyMock.verify(component2);
+        EasyMock.verify(service);
     }
 
 
@@ -177,19 +152,19 @@
         CompositeComponent parent = new CompositeComponentImpl("parent", null, null, true);
         parent.start();
 
-        Source refSource = new SourceImpl();
         SystemReference reference = EasyMock.createMock(SystemReference.class);
         EasyMock.expect(reference.getName()).andReturn("service").atLeastOnce();
-        EasyMock.expect(reference.getServiceInstance()).andReturn(refSource);
         EasyMock.expect(reference.isSystem()).andReturn(true).atLeastOnce();
         reference.getInterface();
         EasyMock.expectLastCall().andReturn(Source.class);
+        InboundWire wire = TestUtils.createInboundWire(Source.class);
+        wire.setContainer(reference);
+        EasyMock.expect(reference.getInboundWire()).andReturn(wire).atLeastOnce();
         EasyMock.replay(reference);
         parent.register(reference);
 
-        Source source = parent.resolveSystemInstance(Source.class);
+        InboundWire source = parent.resolveSystemAutowire(Source.class);
         assertNotNull(source);
-        assertNull(parent.resolveSystemExternalInstance(Source.class));
         EasyMock.verify(reference);
     }
 
@@ -197,21 +172,22 @@
      * Tests autowiring to a reference
      */
     public void testReferenceAutowire() throws Exception {
-        CompositeComponent parent = new CompositeComponentImpl("parent", null, null, null);
+        CompositeComponent parent = new CompositeComponentImpl("parent", null, null, true);
         parent.start();
-        Source refSource = new SourceImpl();
-        Reference reference = EasyMock.createMock(Reference.class);
+
+        SystemReference reference = EasyMock.createMock(SystemReference.class);
         EasyMock.expect(reference.getName()).andReturn("service").atLeastOnce();
-        EasyMock.expect(reference.getServiceInstance()).andReturn(refSource);
         EasyMock.expect(reference.isSystem()).andReturn(false).atLeastOnce();
         reference.getInterface();
         EasyMock.expectLastCall().andReturn(Source.class);
+        InboundWire wire = TestUtils.createInboundWire(Source.class);
+        wire.setContainer(reference);
+        EasyMock.expect(reference.getInboundWire()).andReturn(wire).atLeastOnce();
         EasyMock.replay(reference);
         parent.register(reference);
 
-        Source source = parent.resolveInstance(Source.class);
+        InboundWire source = parent.resolveAutowire(Source.class);
         assertNotNull(source);
-        assertNull(parent.resolveExternalInstance(Source.class));
         EasyMock.verify(reference);
     }
 

Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/CompositeBuilderTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/CompositeBuilderTestCase.java?view=diff&rev=489888&r1=489887&r2=489888
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/CompositeBuilderTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/CompositeBuilderTestCase.java Sat Dec 23 04:14:05 2006
@@ -25,6 +25,7 @@
 import org.apache.tuscany.spi.component.AtomicComponent;
 import org.apache.tuscany.spi.component.CompositeComponent;
 import org.apache.tuscany.spi.component.ScopeContainer;
+import org.apache.tuscany.spi.component.Service;
 import org.apache.tuscany.spi.component.TargetException;
 import org.apache.tuscany.spi.deployer.DeploymentContext;
 import org.apache.tuscany.spi.idl.java.JavaInterfaceProcessorRegistry;
@@ -53,11 +54,11 @@
 import org.apache.tuscany.core.implementation.java.JavaComponentBuilder;
 import org.apache.tuscany.core.implementation.java.JavaImplementation;
 import org.apache.tuscany.core.mock.component.OtherTarget;
-import org.apache.tuscany.core.wire.jdk.JDKWireService;
 import org.apache.tuscany.core.mock.component.Source;
-import org.apache.tuscany.core.mock.component.Target;
 import org.apache.tuscany.core.mock.component.SourceImpl;
+import org.apache.tuscany.core.mock.component.Target;
 import org.apache.tuscany.core.mock.component.TargetImpl;
+import org.apache.tuscany.core.wire.jdk.JDKWireService;
 import org.easymock.EasyMock;
 import org.easymock.IAnswer;
 
@@ -99,8 +100,7 @@
         deploymentContext.getCompositeScope().start();
         component.start();
         CompositeComponent sourceComponent = (CompositeComponent) component.getChild("SourceComponent");
-        Source source = (Source) sourceComponent.getServiceInstance("InnerSourceService");
-        assertNotNull(source);
+        assertTrue(sourceComponent.getChild("InnerSourceService") instanceof Service);
         AtomicComponent innerSourceComponent = (AtomicComponent) sourceComponent.getChild("InnerSourceComponent");
         Source innerSourceInstance = (Source) deploymentContext.getCompositeScope().getInstance(innerSourceComponent);
         assertNotNull(innerSourceInstance);

Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/CompositeComponentImplBasicTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/CompositeComponentImplBasicTestCase.java?view=diff&rev=489888&r1=489887&r2=489888
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/CompositeComponentImplBasicTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/CompositeComponentImplBasicTestCase.java Sat Dec 23 04:14:05 2006
@@ -21,18 +21,19 @@
 import java.util.List;
 
 import org.apache.tuscany.spi.component.CompositeComponent;
-import org.apache.tuscany.spi.component.IllegalTargetException;
 import org.apache.tuscany.spi.component.Reference;
 import org.apache.tuscany.spi.component.Service;
-import org.apache.tuscany.spi.component.TargetNotFoundException;
 import org.apache.tuscany.spi.event.Event;
 import org.apache.tuscany.spi.event.RuntimeEventListener;
 import org.apache.tuscany.spi.extension.ServiceExtension;
+import org.apache.tuscany.spi.idl.InvalidServiceContractException;
 import org.apache.tuscany.spi.model.Scope;
+import org.apache.tuscany.spi.wire.InboundWire;
 
 import junit.framework.Assert;
 import junit.framework.TestCase;
 import org.apache.tuscany.core.component.event.CompositeStart;
+import org.apache.tuscany.core.implementation.TestUtils;
 import org.easymock.EasyMock;
 import static org.easymock.EasyMock.createMock;
 import static org.easymock.EasyMock.eq;
@@ -58,7 +59,11 @@
 
     public void testGetServices() throws Exception {
         CompositeComponent composite = new CompositeComponentImpl("parent", null, null, null);
-        composite.register(new ServiceExtension("foo", null, null, null));
+        ServiceExtension extension = new ServiceExtension("foo", null, null, null);
+        InboundWire wire = TestUtils.createInboundWire(Foo.class);
+        wire.setContainer(extension);
+        extension.setInboundWire(wire);
+        composite.register(extension);
         composite.register(getReference("bar"));
         Assert.assertEquals(1, composite.getServices().size());
     }
@@ -84,18 +89,6 @@
         assertNull(composite.getService("foo"));
     }
 
-    public void testTargetNotFound() throws Exception {
-        CompositeComponent composite = new CompositeComponentImpl("parent", null, null, null);
-        composite.register(getReference("foo"));
-        composite.start();
-        try {
-            composite.locateService(Foo.class, "foo1");
-            fail();
-        } catch (TargetNotFoundException e) {
-            // expected
-        }
-    }
-
     public void testReferencesServices() throws Exception {
         CompositeComponent composite = new CompositeComponentImpl("parent", null, null, null);
         composite.register(new ServiceExtension("foo", null, null, null));
@@ -119,46 +112,6 @@
         }
     }
 
-    public void testGetServiceInstanceByName() throws Exception {
-        CompositeComponent composite = new CompositeComponentImpl("parent", null, null, null);
-        Service service = createMock(Service.class);
-        EasyMock.expect(service.isSystem()).andReturn(false).atLeastOnce();
-        service.getName();
-        expectLastCall().andReturn("foo").anyTimes();
-        service.getInterface();
-        expectLastCall().andReturn(Foo.class);
-        service.getServiceInstance();
-        expectLastCall().andReturn(new Foo() {
-        });
-        replay(service);
-        composite.register(service);
-        assertNotNull(composite.getServiceInstance("foo"));
-    }
-
-    public void testGetServiceInstanceNotFound() throws Exception {
-        CompositeComponent composite = new CompositeComponentImpl("parent", null, null, null);
-        Service service = getService("foo", Foo.class);
-        composite.register(service);
-        try {
-            composite.getServiceInstance("bar");
-            fail();
-        } catch (TargetNotFoundException e) {
-            //expected
-        }
-    }
-
-    public void testGetServiceInstanceNotService() throws Exception {
-        CompositeComponent composite = new CompositeComponentImpl("parent", null, null, null);
-        Reference reference = getReference("foo");
-        composite.register(reference);
-        try {
-            composite.getServiceInstance("foo");
-            fail();
-        } catch (IllegalTargetException e) {
-            //expected
-        }
-    }
-
     public void testOnEvent() {
         CompositeComponent composite = new CompositeComponentImpl("parent", null, null, null);
         Event event = new Event() {
@@ -181,9 +134,13 @@
         composite.prepare();
     }
 
-    private Reference getReference(String name) {
+    private Reference getReference(String name) throws InvalidServiceContractException {
         Reference reference = EasyMock.createNiceMock(Reference.class);
         EasyMock.expect(reference.isSystem()).andReturn(false).atLeastOnce();
+        InboundWire wire = TestUtils.createInboundWire(Bar.class);
+        wire.setContainer(reference);
+        EasyMock.expect(reference.getInboundWire()).andReturn(wire).atLeastOnce();
+
         reference.getName();
         expectLastCall().andReturn(name).anyTimes();
         reference.getInterface();
@@ -192,11 +149,14 @@
         return reference;
     }
 
-    private Service getService(String name, Class<?> interfaze) {
+    private Service getService(String name, Class<?> interfaze) throws InvalidServiceContractException {
         Service service = createMock(Service.class);
         EasyMock.expect(service.isSystem()).andReturn(false).atLeastOnce();
         service.getName();
         expectLastCall().andReturn(name).anyTimes();
+        InboundWire wire = TestUtils.createInboundWire(interfaze);
+        wire.setContainer(service);
+        EasyMock.expect(service.getInboundWire()).andReturn(wire).atLeastOnce();
         service.getInterface();
         expectLastCall().andReturn(interfaze).atLeastOnce();
         replay(service);

Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/CompositeComponentImplSystemWireTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/CompositeComponentImplSystemWireTestCase.java?view=diff&rev=489888&r1=489887&r2=489888
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/CompositeComponentImplSystemWireTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/CompositeComponentImplSystemWireTestCase.java Sat Dec 23 04:14:05 2006
@@ -28,7 +28,6 @@
 import org.apache.tuscany.spi.component.AtomicComponent;
 import org.apache.tuscany.spi.component.CompositeComponent;
 import org.apache.tuscany.spi.component.PrepareException;
-import org.apache.tuscany.spi.component.SystemAtomicComponent;
 import org.apache.tuscany.spi.component.SCAObject;
 import org.apache.tuscany.spi.idl.java.JavaServiceContract;
 import org.apache.tuscany.spi.model.Scope;
@@ -49,17 +48,19 @@
      */
     public void testSystemServiceWire() throws Exception {
         InboundWire inbound = EasyMock.createMock(InboundWire.class);
-        EasyMock.expect(inbound.getServiceContract()).andReturn(new JavaServiceContract(Foo.class));
+        EasyMock.expect(inbound.getServiceContract()).andReturn(new JavaServiceContract(Foo.class)).atLeastOnce();
         inbound.getInvocationChains();
-        EasyMock.expectLastCall().andReturn(Collections.emptyMap());
+        EasyMock.expectLastCall().andReturn(Collections.emptyMap()).atLeastOnce();
 
         List<Class<?>> services = new ArrayList<Class<?>>();
         services.add(Foo.class);
         QualifiedName qName = new QualifiedName("target/bar");
         OutboundWire outbound = EasyMock.createMock(OutboundWire.class);
         EasyMock.expect(outbound.getTargetName()).andReturn(qName).atLeastOnce();
+        EasyMock.expect(outbound.isAutowire()).andReturn(false);
+
         outbound.getInvocationChains();
-        EasyMock.expectLastCall().andReturn(Collections.emptyMap());
+        EasyMock.expectLastCall().andReturn(Collections.emptyMap()).atLeastOnce();
         outbound.setTargetWire(EasyMock.eq(inbound));
         EasyMock.expect(outbound.getServiceContract()).andReturn(new JavaServiceContract(Foo.class)).atLeastOnce();
         List<OutboundWire> wires = new ArrayList<OutboundWire>();
@@ -67,13 +68,13 @@
         Map<String, List<OutboundWire>> wireMap = new HashMap<String, List<OutboundWire>>();
         wireMap.put("ref", wires);
         CompositeComponent parent = new CompositeComponentImpl("foo", "foo", null, new ConnectorImpl(), null);
-        SystemAtomicComponent source = EasyMock.createMock(SystemAtomicComponent.class);
+        AtomicComponent source = EasyMock.createMock(AtomicComponent.class);
         EasyMock.expect(source.getScope()).andReturn(Scope.COMPOSITE).atLeastOnce();
         EasyMock.expect(source.getName()).andReturn("source").atLeastOnce();
         EasyMock.expect(source.getServiceInterfaces()).andReturn(services);
         EasyMock.expect(source.getOutboundWires()).andReturn(wireMap);
         source.getInboundWires();
-        EasyMock.expectLastCall().andReturn(Collections.emptyMap());
+        EasyMock.expectLastCall().andReturn(Collections.emptyMap()).atLeastOnce();
         EasyMock.expect(source.isSystem()).andReturn(true).atLeastOnce();
         EasyMock.expect(source.getParent()).andReturn(parent).atLeastOnce();
 
@@ -85,14 +86,15 @@
 
         parent.register(source);
 
-        SystemAtomicComponent target = EasyMock.createMock(SystemAtomicComponent.class);
+        AtomicComponent target = EasyMock.createMock(AtomicComponent.class);
         EasyMock.expect(target.getName()).andReturn("target").atLeastOnce();
         EasyMock.expect(target.getServiceInterfaces()).andReturn(services);
         EasyMock.expect(target.getInboundWire("bar")).andReturn(inbound).atLeastOnce();
+        Map<String, InboundWire> inboundWires = new HashMap<String, InboundWire>();
+        inboundWires.put("bar", inbound);
+        EasyMock.expect(target.getInboundWires()).andReturn(inboundWires).atLeastOnce();
         EasyMock.expect(target.getScope()).andReturn(Scope.COMPOSITE).atLeastOnce();
         EasyMock.expect(target.getParent()).andReturn(parent).atLeastOnce();
-        target.getInboundWires();
-        EasyMock.expectLastCall().andReturn(Collections.emptyMap());
 
         target.prepare();
         target.getOutboundWires();
@@ -117,12 +119,14 @@
      */
     public void testSystemServiceIsolationWire() throws Exception {
         InboundWire inbound = EasyMock.createMock(InboundWire.class);
+        EasyMock.expect(inbound.getServiceContract()).andReturn(new JavaServiceContract(Foo.class)).atLeastOnce();
         EasyMock.replay(inbound);
 
         List<Class<?>> services = new ArrayList<Class<?>>();
         services.add(Foo.class);
         QualifiedName qName = new QualifiedName("target/bar");
         OutboundWire outbound = EasyMock.createMock(OutboundWire.class);
+        EasyMock.expect(outbound.isAutowire()).andReturn(false);
         EasyMock.expect(outbound.getContainer()).andReturn(EasyMock.createNiceMock(SCAObject.class));
         EasyMock.expect(outbound.getReferenceName()).andReturn("foo");
         EasyMock.expect(outbound.getTargetName()).andReturn(qName).atLeastOnce();
@@ -133,9 +137,13 @@
         Map<String, List<OutboundWire>> wireMap = new HashMap<String, List<OutboundWire>>();
         wireMap.put("ref", wires);
         CompositeComponent parent = new CompositeComponentImpl("foo", "foo", null, new ConnectorImpl(), null);
-        SystemAtomicComponent source = EasyMock.createMock(SystemAtomicComponent.class);
+        AtomicComponent source = EasyMock.createMock(AtomicComponent.class);
         EasyMock.expect(source.getName()).andReturn("source").atLeastOnce();
         EasyMock.expect(source.getServiceInterfaces()).andReturn(services);
+        Map<String, InboundWire> inboundWires = new HashMap<String, InboundWire>();
+        inboundWires.put("bar", inbound);
+        source.getInboundWires();
+        EasyMock.expectLastCall().andReturn(inboundWires).atLeastOnce();
         EasyMock.expect(source.getOutboundWires()).andReturn(wireMap);
         EasyMock.expect(source.isSystem()).andReturn(true).atLeastOnce();
         EasyMock.expect(source.getParent()).andReturn(parent).atLeastOnce();
@@ -146,6 +154,8 @@
         AtomicComponent target = EasyMock.createMock(AtomicComponent.class);
         EasyMock.expect(target.getName()).andReturn("target").atLeastOnce();
         EasyMock.expect(target.getServiceInterfaces()).andReturn(services);
+        inboundWires.put("bar", inbound);
+        EasyMock.expect(target.getInboundWires()).andReturn(inboundWires).atLeastOnce();
         EasyMock.expect(target.isSystem()).andReturn(false).atLeastOnce();
         EasyMock.replay(target);
 

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=489888&r1=489887&r2=489888
==============================================================================
--- 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 Sat Dec 23 04:14:05 2006
@@ -20,12 +20,14 @@
 
 import java.util.ArrayList;
 import java.util.List;
+import java.util.Map;
 
 import org.apache.tuscany.spi.component.AtomicComponent;
 import org.apache.tuscany.spi.component.CompositeComponent;
-import org.apache.tuscany.spi.component.SystemAtomicComponent;
+import org.apache.tuscany.spi.wire.InboundWire;
 
 import junit.framework.TestCase;
+import org.apache.tuscany.core.implementation.TestUtils;
 import org.easymock.EasyMock;
 
 /**
@@ -42,10 +44,12 @@
         List<Class<?>> services = new ArrayList<Class<?>>();
         services.add(Foo.class);
         CompositeComponent parent = new CompositeComponentImpl("foo", "foo", null, null, null);
-        SystemAtomicComponent component = EasyMock.createMock(SystemAtomicComponent.class);
+        AtomicComponent component = EasyMock.createMock(AtomicComponent.class);
         EasyMock.expect(component.getName()).andReturn("bar").atLeastOnce();
         EasyMock.expect(component.getServiceInterfaces()).andReturn(services);
         EasyMock.expect(component.isSystem()).andReturn(true).atLeastOnce();
+        Map<String, InboundWire> wires = TestUtils.createInboundWires(services);
+        EasyMock.expect(component.getInboundWires()).andReturn(wires).atLeastOnce();
         EasyMock.replay(component);
         parent.register(component);
         assertNull(parent.getChild("bar"));
@@ -61,6 +65,8 @@
         EasyMock.expect(component.getName()).andReturn("bar").atLeastOnce();
         EasyMock.expect(component.getServiceInterfaces()).andReturn(services);
         EasyMock.expect(component.isSystem()).andReturn(false).atLeastOnce();
+        Map<String, InboundWire> wires = TestUtils.createInboundWires(services);
+        EasyMock.expect(component.getInboundWires()).andReturn(wires).atLeastOnce();
         EasyMock.replay(component);
         parent.register(component);
         assertNull(parent.getSystemChild("bar"));
@@ -75,16 +81,19 @@
         List<Class<?>> services = new ArrayList<Class<?>>();
         services.add(Foo.class);
         CompositeComponent parent = new CompositeComponentImpl("foo", "foo", null, null, null);
-        SystemAtomicComponent component = EasyMock.createMock(SystemAtomicComponent.class);
+        AtomicComponent component = EasyMock.createMock(AtomicComponent.class);
         EasyMock.expect(component.getName()).andReturn("bar").atLeastOnce();
         EasyMock.expect(component.getServiceInterfaces()).andReturn(services);
         EasyMock.expect(component.isSystem()).andReturn(true).atLeastOnce();
+        Map<String, InboundWire> wires = TestUtils.createInboundWires(services);
+        EasyMock.expect(component.getInboundWires()).andReturn(wires).atLeastOnce();
         EasyMock.replay(component);
         parent.register(component);
         AtomicComponent component2 = EasyMock.createMock(AtomicComponent.class);
         EasyMock.expect(component2.getName()).andReturn("bar").atLeastOnce();
         EasyMock.expect(component2.getServiceInterfaces()).andReturn(services);
         EasyMock.expect(component2.isSystem()).andReturn(false).atLeastOnce();
+        EasyMock.expect(component2.getInboundWires()).andReturn(wires).atLeastOnce();
         EasyMock.replay(component2);
         parent.register(component2);
         EasyMock.verify(component);
@@ -95,12 +104,14 @@
         List<Class<?>> services = new ArrayList<Class<?>>();
         services.add(Foo.class);
         CompositeComponent parent = new CompositeComponentImpl("foo", "foo", null, null, null);
-        SystemAtomicComponent component = EasyMock.createMock(SystemAtomicComponent.class);
+        AtomicComponent component = EasyMock.createMock(AtomicComponent.class);
         component.start();
         EasyMock.expect(component.getName()).andReturn("bar").atLeastOnce();
         EasyMock.expect(component.getServiceInterfaces()).andReturn(services);
         EasyMock.expect(component.isSystem()).andReturn(true).atLeastOnce();
         component.stop();
+        Map<String, InboundWire> wires = TestUtils.createInboundWires(services);
+        EasyMock.expect(component.getInboundWires()).andReturn(wires).atLeastOnce();
         EasyMock.replay(component);
         parent.register(component);
         parent.start();
@@ -117,6 +128,8 @@
         EasyMock.expect(component.getName()).andReturn("bar").atLeastOnce();
         EasyMock.expect(component.getServiceInterfaces()).andReturn(services);
         EasyMock.expect(component.isSystem()).andReturn(false).atLeastOnce();
+        Map<String, InboundWire> wires = TestUtils.createInboundWires(services);
+        EasyMock.expect(component.getInboundWires()).andReturn(wires).atLeastOnce();
         component.stop();
         EasyMock.replay(component);
         parent.register(component);
@@ -125,23 +138,23 @@
         EasyMock.verify(component);
     }
 
-    public void testSystemServiceAutowire() throws Exception {
+    public void testSystemAutowire() throws Exception {
         List<Class<?>> services = new ArrayList<Class<?>>();
         services.add(Foo.class);
         CompositeComponent parent = new CompositeComponentImpl("foo", "foo", null, null, null);
-        SystemAtomicComponent component = EasyMock.createMock(SystemAtomicComponent.class);
+        AtomicComponent component = EasyMock.createMock(AtomicComponent.class);
         component.start();
         EasyMock.expect(component.getName()).andReturn("bar").atLeastOnce();
         EasyMock.expect(component.getServiceInterfaces()).andReturn(services);
-        EasyMock.expect(component.getServiceInstance()).andReturn(new Foo() {
-        });
         EasyMock.expect(component.isSystem()).andReturn(true).atLeastOnce();
+        Map<String, InboundWire> wires = TestUtils.createInboundWires(services);
+        EasyMock.expect(component.getInboundWires()).andReturn(wires).atLeastOnce();
         component.stop();
         EasyMock.replay(component);
         parent.register(component);
         parent.start();
-        assertNull(parent.resolveSystemExternalInstance(Foo.class));
-        assertNotNull(parent.resolveSystemInstance(Foo.class));
+        assertNull(parent.resolveSystemExternalAutowire(Foo.class));
+        assertNotNull(parent.resolveSystemAutowire(Foo.class));
         parent.stop();
         EasyMock.verify(component);
     }
@@ -151,19 +164,20 @@
         List<Class<?>> services = new ArrayList<Class<?>>();
         services.add(Foo.class);
         CompositeComponent parent = new CompositeComponentImpl("foo", "foo", null, null, null);
-        SystemAtomicComponent component = EasyMock.createMock(SystemAtomicComponent.class);
+        AtomicComponent component = EasyMock.createMock(AtomicComponent.class);
         component.start();
         EasyMock.expect(component.getName()).andReturn("bar").atLeastOnce();
         EasyMock.expect(component.getServiceInterfaces()).andReturn(services);
-        EasyMock.expect(component.getServiceInstance()).andReturn(new Foo() {
-        });
+        Map<String, InboundWire> wires = TestUtils.createInboundWires(services);
+        TestUtils.populateInboundWires(component, wires);
+        EasyMock.expect(component.getInboundWires()).andReturn(wires).atLeastOnce();
         EasyMock.expect(component.isSystem()).andReturn(false).atLeastOnce();
         component.stop();
         EasyMock.replay(component);
         parent.register(component);
         parent.start();
-        assertNull(parent.resolveExternalInstance(Foo.class));
-        assertNotNull(parent.resolveInstance(Foo.class));
+        assertNull(parent.resolveExternalAutowire(Foo.class));
+        assertNotNull(parent.resolveAutowire(Foo.class));
         parent.stop();
         EasyMock.verify(component);
     }

Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/CompositeComponentResolutionTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/CompositeComponentResolutionTestCase.java?view=diff&rev=489888&r1=489887&r2=489888
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/CompositeComponentResolutionTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/CompositeComponentResolutionTestCase.java Sat Dec 23 04:14:05 2006
@@ -20,15 +20,16 @@
 
 import java.util.ArrayList;
 import java.util.List;
+import java.util.Map;
 
 import org.apache.tuscany.spi.component.AtomicComponent;
 import org.apache.tuscany.spi.component.CompositeComponent;
 import org.apache.tuscany.spi.component.Service;
-import org.apache.tuscany.spi.component.SystemAtomicComponent;
+import org.apache.tuscany.spi.wire.InboundWire;
 
 import junit.framework.TestCase;
+import org.apache.tuscany.core.implementation.TestUtils;
 import org.apache.tuscany.core.mock.component.Source;
-import org.apache.tuscany.core.mock.component.SourceImpl;
 import org.easymock.EasyMock;
 
 /**
@@ -43,54 +44,17 @@
         parent.start();
         List<Class<?>> interfaces = new ArrayList<Class<?>>();
         interfaces.add(Source.class);
-        Source originalSource = new SourceImpl();
-        SystemAtomicComponent component = EasyMock.createMock(SystemAtomicComponent.class);
+        AtomicComponent component = EasyMock.createMock(AtomicComponent.class);
         EasyMock.expect(component.getName()).andReturn("source").atLeastOnce();
-        EasyMock.expect(component.getServiceInstance()).andReturn(originalSource);
         EasyMock.expect(component.isSystem()).andReturn(true).atLeastOnce();
         EasyMock.expect(component.getServiceInterfaces()).andReturn(interfaces);
+        Map<String, InboundWire> wires = TestUtils.createInboundWires(interfaces);
+        TestUtils.populateInboundWires(component, wires);
+        EasyMock.expect(component.getInboundWires()).andReturn(wires).atLeastOnce();
         EasyMock.replay(component);
         parent.register(component);
         assertNull(parent.getChild("source"));
-        AtomicComponent target = (AtomicComponent) parent.getSystemChild("source");
-        Source source = (Source) target.getServiceInstance();
-        assertNotNull(source);
-        EasyMock.verify(component);
-    }
-
-    public void testLocateSystemService() throws Exception {
-        CompositeComponent parent = new CompositeComponentImpl("foo", null, null, true);
-        parent.start();
-        List<Class<?>> interfaces = new ArrayList<Class<?>>();
-        interfaces.add(Source.class);
-        Source originalSource = new SourceImpl();
-        SystemAtomicComponent component = EasyMock.createMock(SystemAtomicComponent.class);
-        EasyMock.expect(component.getName()).andReturn("source").atLeastOnce();
-        EasyMock.expect(component.getServiceInstance()).andReturn(originalSource);
-        EasyMock.expect(component.isSystem()).andReturn(true).atLeastOnce();
-        EasyMock.expect(component.getServiceInterfaces()).andReturn(interfaces);
-        EasyMock.replay(component);
-        parent.register(component);
-        Source source = parent.locateSystemService(Source.class, "source");
-        assertNotNull(source);
-        EasyMock.verify(component);
-    }
-
-    public void testLocateService() throws Exception {
-        CompositeComponent parent = new CompositeComponentImpl("foo", null, null, null);
-        parent.start();
-        List<Class<?>> interfaces = new ArrayList<Class<?>>();
-        interfaces.add(Source.class);
-        Source originalSource = new SourceImpl();
-        AtomicComponent component = EasyMock.createMock(AtomicComponent.class);
-        EasyMock.expect(component.getName()).andReturn("source").atLeastOnce();
-        EasyMock.expect(component.getServiceInstance()).andReturn(originalSource);
-        EasyMock.expect(component.isSystem()).andReturn(false).atLeastOnce();
-        EasyMock.expect(component.getServiceInterfaces()).andReturn(interfaces);
-        EasyMock.replay(component);
-        parent.register(component);
-        Source source = parent.locateService(Source.class, "source");
-        assertNotNull(source);
+        assertTrue(parent.getSystemChild("source") instanceof AtomicComponent);
         EasyMock.verify(component);
     }
 
@@ -99,18 +63,17 @@
         parent.start();
         List<Class<?>> interfaces = new ArrayList<Class<?>>();
         interfaces.add(Source.class);
-        Source originalSource = new SourceImpl();
         AtomicComponent component = EasyMock.createMock(AtomicComponent.class);
         EasyMock.expect(component.getName()).andReturn("source").atLeastOnce();
-        EasyMock.expect(component.getServiceInstance()).andReturn(originalSource);
         EasyMock.expect(component.isSystem()).andReturn(false).atLeastOnce();
         EasyMock.expect(component.getServiceInterfaces()).andReturn(interfaces);
+        Map<String, InboundWire> wires = TestUtils.createInboundWires(interfaces);
+        TestUtils.populateInboundWires(component, wires);
+        EasyMock.expect(component.getInboundWires()).andReturn(wires).atLeastOnce();
         EasyMock.replay(component);
         parent.register(component);
         assertNull(parent.getSystemChild("source"));
-        AtomicComponent target = (AtomicComponent) parent.getChild("source");
-        Source source = (Source) target.getServiceInstance();
-        assertNotNull(source);
+        assertTrue(parent.getChild("source") instanceof AtomicComponent);
         EasyMock.verify(component);
     }
 
@@ -121,6 +84,9 @@
         Service service = EasyMock.createMock(Service.class);
         EasyMock.expect(service.getName()).andReturn("source").atLeastOnce();
         EasyMock.expect(service.isSystem()).andReturn(false).atLeastOnce();
+        InboundWire wire = TestUtils.createInboundWire(Source.class);
+        wire.setContainer(service);
+        EasyMock.expect(service.getInboundWire()).andReturn(wire).atLeastOnce();
         service.getInterface();
         EasyMock.expectLastCall().andReturn(Source.class);
         EasyMock.replay(service);
@@ -138,6 +104,9 @@
         EasyMock.expect(service.isSystem()).andReturn(true).atLeastOnce();
         service.getInterface();
         EasyMock.expectLastCall().andReturn(Source.class);
+        InboundWire wire = TestUtils.createInboundWire(Source.class);
+        wire.setContainer(service);
+        EasyMock.expect(service.getInboundWire()).andReturn(wire).atLeastOnce();
         EasyMock.replay(service);
         parent.register(service);
         assertNotNull(parent.getSystemService("source"));

Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/CompositeLifecycleTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/CompositeLifecycleTestCase.java?view=diff&rev=489888&r1=489887&r2=489888
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/CompositeLifecycleTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/CompositeLifecycleTestCase.java Sat Dec 23 04:14:05 2006
@@ -20,14 +20,15 @@
 
 import java.util.ArrayList;
 import java.util.List;
+import java.util.Map;
 
 import org.apache.tuscany.spi.component.AtomicComponent;
 import org.apache.tuscany.spi.component.CompositeComponent;
-import org.apache.tuscany.spi.component.SystemAtomicComponent;
+import org.apache.tuscany.spi.wire.InboundWire;
 
 import junit.framework.TestCase;
+import org.apache.tuscany.core.implementation.TestUtils;
 import org.apache.tuscany.core.mock.component.Source;
-import org.apache.tuscany.core.mock.component.SourceImpl;
 import org.easymock.EasyMock;
 
 /**
@@ -48,14 +49,17 @@
     public void testSystemRestart() throws Exception {
         List<Class<?>> interfaces = new ArrayList<Class<?>>();
         interfaces.add(Source.class);
-        Source originalSource = new SourceImpl();
-        SystemAtomicComponent component = EasyMock.createMock(SystemAtomicComponent.class);
+        AtomicComponent component = EasyMock.createMock(AtomicComponent.class);
         component.start();
         component.stop();
         EasyMock.expectLastCall().times(2);
         EasyMock.expect(component.getName()).andReturn("source").atLeastOnce();
         EasyMock.expect(component.isSystem()).andReturn(true).atLeastOnce();
-        EasyMock.expect(component.getServiceInstance()).andReturn(originalSource).atLeastOnce();
+
+        Map<String, InboundWire> wires = TestUtils.createInboundWires(interfaces);
+        TestUtils.populateInboundWires(component, wires);
+        EasyMock.expect(component.getInboundWires()).andReturn(wires).atLeastOnce();
+
         EasyMock.expect(component.getServiceInterfaces()).andReturn(interfaces);
         EasyMock.replay(component);
 
@@ -63,14 +67,10 @@
         composite.start();
         composite.register(component);
 
-        AtomicComponent atomicComponent = (AtomicComponent) composite.getSystemChild("source");
-        Source source = (Source) atomicComponent.getServiceInstance();
-        assertNotNull(source);
+        assertTrue(composite.getSystemChild("source") instanceof AtomicComponent);
         composite.stop();
         composite.start();
-        atomicComponent = (AtomicComponent) composite.getSystemChild("source");
-        Source source2 = (Source) atomicComponent.getServiceInstance();
-        assertNotNull(source2);
+        assertTrue(composite.getSystemChild("source") instanceof AtomicComponent);
         composite.stop();
         EasyMock.verify(component);
     }
@@ -78,14 +78,17 @@
     public void testRestart() throws Exception {
         List<Class<?>> interfaces = new ArrayList<Class<?>>();
         interfaces.add(Source.class);
-        Source originalSource = new SourceImpl();
         AtomicComponent component = EasyMock.createMock(AtomicComponent.class);
         component.start();
         component.stop();
         EasyMock.expectLastCall().times(2);
         EasyMock.expect(component.getName()).andReturn("source").atLeastOnce();
         EasyMock.expect(component.isSystem()).andReturn(false).atLeastOnce();
-        EasyMock.expect(component.getServiceInstance()).andReturn(originalSource).atLeastOnce();
+
+        Map<String, InboundWire> wires = TestUtils.createInboundWires(interfaces);
+        TestUtils.populateInboundWires(component, wires);
+        EasyMock.expect(component.getInboundWires()).andReturn(wires).atLeastOnce();
+
         EasyMock.expect(component.getServiceInterfaces()).andReturn(interfaces);
         EasyMock.replay(component);
 
@@ -93,14 +96,10 @@
         composite.start();
         composite.register(component);
 
-        AtomicComponent atomicComponent = (AtomicComponent) composite.getChild("source");
-        Source source = (Source) atomicComponent.getServiceInstance();
-        assertNotNull(source);
+        assertTrue(composite.getChild("source") instanceof AtomicComponent);
         composite.stop();
         composite.start();
-        atomicComponent = (AtomicComponent) composite.getChild("source");
-        Source source2 = (Source) atomicComponent.getServiceInstance();
-        assertNotNull(source2);
+        assertTrue(composite.getChild("source") instanceof AtomicComponent);
         composite.stop();
         EasyMock.verify(component);
     }

Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/CompositePropagationTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/CompositePropagationTestCase.java?view=diff&rev=489888&r1=489887&r2=489888
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/CompositePropagationTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/CompositePropagationTestCase.java Sat Dec 23 04:14:05 2006
@@ -20,11 +20,14 @@
 
 import java.util.ArrayList;
 import java.util.List;
+import java.util.Map;
 
+import org.apache.tuscany.spi.component.AtomicComponent;
 import org.apache.tuscany.spi.component.CompositeComponent;
-import org.apache.tuscany.spi.component.SystemAtomicComponent;
+import org.apache.tuscany.spi.wire.InboundWire;
 
 import junit.framework.TestCase;
+import org.apache.tuscany.core.implementation.TestUtils;
 import org.apache.tuscany.core.mock.component.Source;
 import org.easymock.EasyMock;
 import static org.easymock.EasyMock.createMock;
@@ -44,11 +47,15 @@
         parent.start();
         List<Class<?>> interfaces = new ArrayList<Class<?>>();
         interfaces.add(Source.class);
-        SystemAtomicComponent component = createMock(SystemAtomicComponent.class);
+        AtomicComponent component = createMock(AtomicComponent.class);
         expect(component.getName()).andReturn("source").anyTimes();
         component.stop();
         expect(component.getServiceInterfaces()).andReturn(interfaces);
         EasyMock.expect(component.isSystem()).andReturn(true).atLeastOnce();
+        Map<String, InboundWire> wires = TestUtils.createInboundWires(interfaces);
+        TestUtils.populateInboundWires(component, wires);
+        EasyMock.expect(component.getInboundWires()).andReturn(wires).atLeastOnce();
+
         replay(component);
         child2.register(component);
         parent.stop();
@@ -59,11 +66,14 @@
         parent.start();
         List<Class<?>> interfaces = new ArrayList<Class<?>>();
         interfaces.add(Source.class);
-        SystemAtomicComponent component = createMock(SystemAtomicComponent.class);
+        AtomicComponent component = createMock(AtomicComponent.class);
         expect(component.getName()).andReturn("source").anyTimes();
         component.stop();
         expect(component.getServiceInterfaces()).andReturn(interfaces);
         EasyMock.expect(component.isSystem()).andReturn(false).atLeastOnce();
+        Map<String, InboundWire> wires = TestUtils.createInboundWires(interfaces);
+        TestUtils.populateInboundWires(component, wires);
+        EasyMock.expect(component.getInboundWires()).andReturn(wires).atLeastOnce();
         replay(component);
         child2.register(component);
         parent.stop();

Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/CompositeReferenceCallbackTargetInvokerTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/CompositeReferenceCallbackTargetInvokerTestCase.java?view=diff&rev=489888&r1=489887&r2=489888
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/CompositeReferenceCallbackTargetInvokerTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/CompositeReferenceCallbackTargetInvokerTestCase.java Sat Dec 23 04:14:05 2006
@@ -74,7 +74,7 @@
         wire = EasyMock.createMock(InboundWire.class);
         EasyMock.expect(wire.getSourceCallbackInvocationChains(targetAddress)).andReturn(chains);
         EasyMock.replay(wire);
-        
+
         invoker = new CompositeReferenceCallbackTargetInvoker(operation, wire);
     }
 

Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/CompositeReferenceTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/CompositeReferenceTestCase.java?view=diff&rev=489888&r1=489887&r2=489888
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/CompositeReferenceTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/CompositeReferenceTestCase.java Sat Dec 23 04:14:05 2006
@@ -18,13 +18,12 @@
  */
 package org.apache.tuscany.core.implementation.composite;
 
-import static org.apache.tuscany.spi.model.Operation.NO_CONVERSATION;
-
 import java.lang.reflect.Type;
 import java.util.HashMap;
 import java.util.Map;
 
 import org.apache.tuscany.spi.model.Operation;
+import static org.apache.tuscany.spi.model.Operation.NO_CONVERSATION;
 import org.apache.tuscany.spi.model.ServiceContract;
 import org.apache.tuscany.spi.wire.OutboundInvocationChain;
 import org.apache.tuscany.spi.wire.OutboundWire;
@@ -34,7 +33,7 @@
 import org.easymock.EasyMock;
 
 /**
- * 
+ *
  */
 public class CompositeReferenceTestCase extends TestCase {
 

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=489888&r1=489887&r2=489888
==============================================================================
--- 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 Sat Dec 23 04:14:05 2006
@@ -20,12 +20,15 @@
 
 import java.util.ArrayList;
 import java.util.List;
+import java.util.Map;
 
+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.component.SystemAtomicComponent;
+import org.apache.tuscany.spi.wire.InboundWire;
 
 import junit.framework.TestCase;
+import org.apache.tuscany.core.implementation.TestUtils;
 import org.apache.tuscany.core.mock.component.Source;
 import org.easymock.EasyMock;
 
@@ -42,14 +45,17 @@
 
         List<Class<?>> interfaces = new ArrayList<Class<?>>();
         interfaces.add(Source.class);
-        SystemAtomicComponent component1 = EasyMock.createMock(SystemAtomicComponent.class);
+        AtomicComponent component1 = EasyMock.createMock(AtomicComponent.class);
         EasyMock.expect(component1.getName()).andReturn("source").atLeastOnce();
         EasyMock.expect(component1.isSystem()).andReturn(true).atLeastOnce();
         component1.stop();
         EasyMock.expect(component1.getServiceInterfaces()).andReturn(interfaces);
+        Map<String, InboundWire> wires = TestUtils.createInboundWires(interfaces);
+        TestUtils.populateInboundWires(component1, wires);
+        EasyMock.expect(component1.getInboundWires()).andReturn(wires).atLeastOnce();
         EasyMock.replay(component1);
 
-        SystemAtomicComponent component2 = EasyMock.createMock(SystemAtomicComponent.class);
+        AtomicComponent component2 = EasyMock.createMock(AtomicComponent.class);
         EasyMock.expect(component2.getName()).andReturn("source").atLeastOnce();
         EasyMock.expect(component2.isSystem()).andReturn(true).atLeastOnce();
         component2.stop();
@@ -70,13 +76,16 @@
         List<Class<?>> services = new ArrayList<Class<?>>();
         services.add(Source.class);
         CompositeComponent parent = new CompositeComponentImpl("foo", "foo", null, null, null);
-        SystemAtomicComponent component = EasyMock.createMock(SystemAtomicComponent.class);
+        AtomicComponent component = EasyMock.createMock(AtomicComponent.class);
         EasyMock.expect(component.getName()).andReturn("bar").atLeastOnce();
         EasyMock.expect(component.getServiceInterfaces()).andReturn(services);
         EasyMock.expect(component.isSystem()).andReturn(true).atLeastOnce();
+        Map<String, InboundWire> wires = TestUtils.createInboundWires(services);
+        TestUtils.populateInboundWires(component, wires);
+        EasyMock.expect(component.getInboundWires()).andReturn(wires).atLeastOnce();
         EasyMock.replay(component);
         parent.register(component);
-        SystemAtomicComponent component2 = EasyMock.createMock(SystemAtomicComponent.class);
+        AtomicComponent component2 = EasyMock.createMock(AtomicComponent.class);
         EasyMock.expect(component2.getName()).andReturn("bar").atLeastOnce();
         EasyMock.expect(component2.getServiceInterfaces()).andReturn(services);
         EasyMock.expect(component2.isSystem()).andReturn(true).atLeastOnce();

Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/JavaObjectRegistrationTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/JavaObjectRegistrationTestCase.java?view=diff&rev=489888&r1=489887&r2=489888
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/JavaObjectRegistrationTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/JavaObjectRegistrationTestCase.java Sat Dec 23 04:14:05 2006
@@ -18,8 +18,10 @@
  */
 package org.apache.tuscany.core.implementation.composite;
 
+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.component.SCAObject;
 
 import junit.framework.TestCase;
 import org.apache.tuscany.core.component.event.CompositeStart;
@@ -34,7 +36,9 @@
     public void testRegistration() throws Exception {
         MockComponent instance = new MockComponent();
         composite.registerJavaObject("foo", MockComponent.class, instance);
-        MockComponent resolvedInstance = (MockComponent) composite.getSystemChild("foo").getServiceInstance();
+        SCAObject child = composite.getSystemChild("foo");
+        assertTrue(child instanceof AtomicComponent);
+        MockComponent resolvedInstance = (MockComponent) ((AtomicComponent) child).getTargetInstance();
         assertSame(instance, resolvedInstance);
     }
 
@@ -52,15 +56,15 @@
     public void testSystemAutowireToObject() throws Exception {
         MockComponent instance = new MockComponent();
         composite.registerJavaObject("foo", MockComponent.class, instance);
-        assertSame(instance, composite.resolveSystemInstance(MockComponent.class));
-        assertNull(composite.resolveSystemExternalInstance(MockComponent.class));
+        assertSame(instance, composite.resolveSystemAutowire(MockComponent.class).getTargetService());
+        assertNull(composite.resolveSystemExternalAutowire(MockComponent.class));
     }
 
     public void testApplicationAutowireToObject() throws Exception {
         MockComponent instance = new MockComponent();
         composite.registerJavaObject("foo", MockComponent.class, instance);
-        assertNull(composite.resolveInstance(MockComponent.class));
-        assertNull(composite.resolveExternalInstance(MockComponent.class));
+        assertNull(composite.resolveAutowire(MockComponent.class));
+        assertNull(composite.resolveExternalAutowire(MockComponent.class));
     }
 
     protected void setUp() throws Exception {

Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/java/JavaComponentBuilderReferenceTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/java/JavaComponentBuilderReferenceTestCase.java?view=diff&rev=489888&r1=489887&r2=489888
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/java/JavaComponentBuilderReferenceTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/java/JavaComponentBuilderReferenceTestCase.java Sat Dec 23 04:14:05 2006
@@ -89,7 +89,7 @@
         deploymentContext.getCompositeScope().start();
         component.start();
 
-        Source source = (Source) component.getServiceInstance();
+        Source source = (Source) component.getTargetInstance();
         assertNotNull(source.getTarget());
         component.stop();
     }

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=489888&r1=489887&r2=489888
==============================================================================
--- 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 Sat Dec 23 04:14:05 2006
@@ -26,6 +26,7 @@
 import org.apache.tuscany.spi.implementation.java.Resource;
 import org.apache.tuscany.spi.model.ComponentDefinition;
 import org.apache.tuscany.spi.model.Scope;
+import org.apache.tuscany.spi.wire.InboundWire;
 
 import junit.framework.TestCase;
 import org.easymock.EasyMock;
@@ -56,8 +57,12 @@
         impl.setImplementationClass(Foo.class);
         impl.setComponentType(type);
         ComponentDefinition<JavaImplementation> definition = new ComponentDefinition<JavaImplementation>("foo", impl);
+        InboundWire resourceWire = EasyMock.createMock(InboundWire.class);
+        EasyMock.expect(resourceWire.getTargetService()).andReturn("result");
+        EasyMock.replay(resourceWire);
+
         CompositeComponent parent = EasyMock.createMock(CompositeComponent.class);
-        EasyMock.expect(parent.resolveSystemInstance(String.class)).andReturn("result");
+        EasyMock.expect(parent.resolveSystemAutowire(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/JavaReferenceWireTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/java/JavaReferenceWireTestCase.java?view=diff&rev=489888&r1=489887&r2=489888
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/java/JavaReferenceWireTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/java/JavaReferenceWireTestCase.java Sat Dec 23 04:14:05 2006
@@ -71,10 +71,10 @@
         EasyMock.replay(service);
         configuration.setWireService(service);
         configuration.setName("source");
-        JavaAtomicComponent sourceContext = new JavaAtomicComponent(configuration);
-        sourceContext.addOutboundWire(wire);
-        sourceContext.start();
-        Source source = (Source) sourceContext.getServiceInstance();
+        JavaAtomicComponent component = new JavaAtomicComponent(configuration);
+        component.addOutboundWire(wire);
+        component.start();
+        Source source = (Source) component.getTargetInstance();
         assertSame(target, source.getTarget());
         scope.stop();
         EasyMock.verify(wire);

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=489888&r1=489887&r2=489888
==============================================================================
--- 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 Sat Dec 23 04:14:05 2006
@@ -25,6 +25,7 @@
 
 import org.apache.tuscany.spi.component.CompositeComponent;
 import org.apache.tuscany.spi.component.ScopeContainer;
+import org.apache.tuscany.spi.wire.InboundWire;
 
 import junit.framework.TestCase;
 import org.apache.tuscany.core.implementation.PojoConfiguration;
@@ -47,8 +48,13 @@
         configuration.setInstanceFactory(new PojoObjectFactory<Foo>(ctor));
         configuration.addResourceSite("bar", field);
         JavaAtomicComponent component = new JavaAtomicComponent(configuration);
+
+        InboundWire wire = EasyMock.createMock(InboundWire.class);
+        EasyMock.expect(wire.getTargetService()).andReturn("result");
+        EasyMock.replay(wire);
+
         CompositeComponent parent = EasyMock.createMock(CompositeComponent.class);
-        EasyMock.expect(parent.resolveSystemInstance(EasyMock.eq(String.class))).andReturn("result");
+        EasyMock.expect(parent.resolveSystemAutowire(EasyMock.eq(String.class))).andReturn(wire);
         EasyMock.replay(parent);
         ResourceObjectFactory<String> factory = new ResourceObjectFactory<String>(String.class, false, parent, null);
         component.addResourceFactory("bar", factory);
@@ -70,8 +76,13 @@
         ctorNames.add("bar");
         configuration.setConstructorParamNames(ctorNames);
         JavaAtomicComponent component = new JavaAtomicComponent(configuration);
+
+        InboundWire wire = EasyMock.createMock(InboundWire.class);
+        EasyMock.expect(wire.getTargetService()).andReturn("result");
+        EasyMock.replay(wire);
         CompositeComponent parent = EasyMock.createMock(CompositeComponent.class);
-        EasyMock.expect(parent.resolveSystemInstance(EasyMock.eq(String.class))).andReturn("result");
+
+        EasyMock.expect(parent.resolveSystemAutowire(EasyMock.eq(String.class))).andReturn(wire);
         EasyMock.replay(parent);
         ResourceObjectFactory<String> factory = new ResourceObjectFactory<String>(String.class, false, parent, null);
         component.addResourceFactory("bar", factory);

Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/java/integration/CallbackInvocationTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/java/integration/CallbackInvocationTestCase.java?view=diff&rev=489888&r1=489887&r2=489888
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/java/integration/CallbackInvocationTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/java/integration/CallbackInvocationTestCase.java Sat Dec 23 04:14:05 2006
@@ -97,7 +97,7 @@
         Connector connector = new ConnectorImpl(new JDKWireService(), null, scheduler, workContext);
 
         connector.connect(clientComponent);
-        FooClient client = (FooClient) clientComponent.getServiceInstance();
+        FooClient client = (FooClient) clientComponent.getTargetInstance();
         client.invoke();
         assertTrue(client.invoked);
         client.invokeMultiCallback();
@@ -128,7 +128,7 @@
         Connector connector = new ConnectorImpl(new JDKWireService(), null, scheduler, workContext);
 
         connector.connect(clientComponent);
-        FooPlainClient client = (FooPlainClient) clientComponent.getServiceInstance();
+        FooPlainClient client = (FooPlainClient) clientComponent.getTargetInstance();
         try {
             client.invoke();
             fail();
@@ -167,10 +167,10 @@
         Connector connector = new ConnectorImpl(new JDKWireService(), null, scheduler, workContext);
         connector.connect(clientComponent1);
         connector.connect(clientComponent2);
-        FooClient client1 = (FooClient) clientComponent1.getServiceInstance();
+        FooClient client1 = (FooClient) clientComponent1.getTargetInstance();
         client1.invoke();
         assertTrue(client1.invoked);
-        FooClient client2 = (FooClient) clientComponent2.getServiceInstance();
+        FooClient client2 = (FooClient) clientComponent2.getTargetInstance();
         client2.invoke();
         assertTrue(client2.invoked);
     }

Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/processor/HeuristicPojoProcessorTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/processor/HeuristicPojoProcessorTestCase.java?view=diff&rev=489888&r1=489887&r2=489888
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/processor/HeuristicPojoProcessorTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/processor/HeuristicPojoProcessorTestCase.java Sat Dec 23 04:14:05 2006
@@ -60,7 +60,7 @@
         processor.visitEnd(null, SingleInterfaceImpl.class, type, null);
         assertEquals(1, type.getServices().size());
         assertEquals(PropertyInterface.class,
-            type.getServices().get("HeuristicPojoProcessorTestCase$PropertyInterface")
+            type.getServices().get(PropertyInterface.class.getName())
                 .getServiceContract().getInterfaceClass());
         assertTrue(type.getProperties().isEmpty());
         assertTrue(type.getReferences().isEmpty());
@@ -78,7 +78,7 @@
         processor.visitEnd(null, SingleInterfaceWithPropertyReferenceImpl.class, type, null);
         assertEquals(1, type.getServices().size());
         assertEquals(Interface1.class,
-            type.getServices().get("HeuristicPojoProcessorTestCase$Interface1")
+            type.getServices().get(Interface1.class.getName())
                 .getServiceContract().getInterfaceClass());
         assertEquals(1, type.getProperties().size());
         assertEquals(ComplexProperty.class, type.getProperties().get("property").getJavaType());
@@ -155,7 +155,7 @@
         Constructor<Child> ctor = Child.class.getConstructor();
         type.setConstructorDefinition(new ConstructorDefinition<Child>(ctor));
         processor.visitEnd(null, Child.class, type, null);
-        assertTrue(type.getServices().containsKey("HeuristicPojoProcessorTestCase$Interface1"));
+        assertTrue(type.getServices().containsKey(Interface1.class.getName()));
     }
 
     /**
@@ -212,7 +212,7 @@
     private static class PropertyIntTypeOnConstructor {
         private int foo;
 
-        public PropertyIntTypeOnConstructor(@Property(name = "foo") int foo) {
+        public PropertyIntTypeOnConstructor(@Property(name = "foo")int foo) {
             this.foo = foo;
         }
 



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