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/07 17:19:42 UTC

svn commit: r504606 [3/5] - in /incubator/tuscany/java/sca/kernel: core/src/main/java/org/apache/tuscany/core/binding/local/ core/src/main/java/org/apache/tuscany/core/bootstrap/ core/src/main/java/org/apache/tuscany/core/builder/ core/src/main/java/or...

Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/builder/SynchronousForwardCallbackConnectionTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/builder/SynchronousForwardCallbackConnectionTestCase.java?view=diff&rev=504606&r1=504605&r2=504606
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/builder/SynchronousForwardCallbackConnectionTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/builder/SynchronousForwardCallbackConnectionTestCase.java Wed Feb  7 08:19:34 2007
@@ -19,11 +19,12 @@
 package org.apache.tuscany.core.builder;
 
 import java.lang.reflect.Type;
+import java.net.URI;
 import java.util.HashMap;
 import java.util.Map;
 
-import org.apache.tuscany.spi.QualifiedName;
 import org.apache.tuscany.spi.component.AtomicComponent;
+import org.apache.tuscany.spi.component.CompositeComponent;
 import org.apache.tuscany.spi.component.ReferenceBinding;
 import org.apache.tuscany.spi.component.ServiceBinding;
 import org.apache.tuscany.spi.idl.java.JavaServiceContract;
@@ -40,6 +41,8 @@
 import org.apache.tuscany.spi.wire.WireService;
 
 import junit.framework.TestCase;
+import org.apache.tuscany.core.component.ComponentManager;
+import org.apache.tuscany.core.component.ComponentManagerImpl;
 import org.apache.tuscany.core.wire.InboundInvocationChainImpl;
 import org.apache.tuscany.core.wire.InboundWireImpl;
 import org.apache.tuscany.core.wire.OutboundInvocationChainImpl;
@@ -57,11 +60,13 @@
     private Operation<Type> callbackOperation;
     private ServiceContract<Type> contract;
     private ConnectorImpl connector;
+    private ComponentManager componentManager;
 
     public void testSyncForwardAndCallbackAtomicToAtomic() throws Exception {
+        URI targetUri = URI.create("target");
+        URI targetUriFragment = URI.create("target#service");
         AtomicComponent target = EasyMock.createMock(AtomicComponent.class);
-        EasyMock.expect(target.isSystem()).andReturn(false).anyTimes();
-        EasyMock.expect(target.getName()).andReturn("target").anyTimes();
+        EasyMock.expect(target.getUri()).andReturn(targetUri).anyTimes();
         EasyMock.expect(target.createTargetInvoker(EasyMock.eq("service"),
             EasyMock.isA(Operation.class),
             EasyMock.isA(InboundWire.class))).andReturn(EasyMock.createNiceMock(TargetInvoker.class));
@@ -70,15 +75,17 @@
         InboundWire inboundWire = new InboundWireImpl();
         inboundWire.setContainer(target);
         inboundWire.setServiceContract(contract);
+        inboundWire.setUri(targetUriFragment);
         InboundInvocationChain inboundChain = new InboundInvocationChainImpl(operation);
         inboundChain.addInterceptor(new MockInterceptor());
         inboundWire.addInvocationChain(operation, inboundChain);
+        componentManager.register(target);
 
         AtomicComponent source = createSource();
         OutboundWire outboundWire = new OutboundWireImpl();
         outboundWire.setContainer(source);
         outboundWire.setServiceContract(contract);
-        outboundWire.setTargetName(new QualifiedName("target/service"));
+        outboundWire.setTargetUri(targetUriFragment);
         OutboundInvocationChain outboundChain = new OutboundInvocationChainImpl(operation);
         outboundWire.addInvocationChain(operation, outboundChain);
 
@@ -100,7 +107,7 @@
         msg = new MessageImpl();
         msg.setBody("callback");
         Map<Operation<?>, OutboundInvocationChain> callbackChains =
-            inboundWire.getSourceCallbackInvocationChains("source");
+            inboundWire.getSourceCallbackInvocationChains(URI.create("source"));
         OutboundInvocationChain callbackInvocationChain = callbackChains.get(callbackOperation);
         ret = callbackInvocationChain.getHeadInterceptor().invoke(msg);
         assertEquals("callback", ret.getBody());
@@ -110,8 +117,8 @@
     }
 
     public void testSyncForwardAndCallbackAtomicToReferenceBinding() throws Exception {
+        URI targetUriFragment = URI.create("target#service");
         ReferenceBinding target = EasyMock.createMock(ReferenceBinding.class);
-        EasyMock.expect(target.isSystem()).andReturn(false).anyTimes();
         EasyMock.expect(target.createTargetInvoker(EasyMock.isA(ServiceContract.class),
             EasyMock.isA(Operation.class))).andReturn(EasyMock.createNiceMock(TargetInvoker.class));
         EasyMock.replay(target);
@@ -122,14 +129,17 @@
         InboundInvocationChain inboundChain = new InboundInvocationChainImpl(operation);
         inboundChain.addInterceptor(new MockInterceptor());
         inboundWire.addInvocationChain(operation, inboundChain);
+        inboundWire.setUri(targetUriFragment);
+        CompositeComponent parent = EasyMock.createMock(CompositeComponent.class);
+        EasyMock.expect(parent.getTargetWire(EasyMock.eq("service"))).andReturn(inboundWire);
 
         AtomicComponent source = createSource();
         OutboundWire outboundWire = new OutboundWireImpl();
         outboundWire.setContainer(source);
         outboundWire.setServiceContract(contract);
-        outboundWire.setTargetName(new QualifiedName("target/service"));
         OutboundInvocationChain outboundChain = new OutboundInvocationChainImpl(operation);
         outboundWire.addInvocationChain(operation, outboundChain);
+        outboundWire.setTargetUri(targetUriFragment);
 
         InboundInvocationChain callbackInboundChain = new InboundInvocationChainImpl(callbackOperation);
         callbackInboundChain.addInterceptor(new MockInterceptor());
@@ -148,25 +158,25 @@
         msg = new MessageImpl();
         msg.setBody("callback");
         Map<Operation<?>, OutboundInvocationChain> callbackChains =
-            inboundWire.getSourceCallbackInvocationChains("source");
+            inboundWire.getSourceCallbackInvocationChains(URI.create("source"));
         OutboundInvocationChain callbackInvocationChain = callbackChains.get(callbackOperation);
         ret = callbackInvocationChain.getHeadInterceptor().invoke(msg);
         assertEquals("callback", ret.getBody());
 
-        EasyMock.verify(target);
         EasyMock.verify(source);
     }
 
     public void testSyncForwardAndCallbackReferenceBindingToServiceBinding() throws Exception {
+        URI targetUriFragment = URI.create("target#service");
         ReferenceBinding source = EasyMock.createMock(ReferenceBinding.class);
-        EasyMock.expect(source.isSystem()).andReturn(false).anyTimes();
-        EasyMock.expect(source.getName()).andReturn("source").atLeastOnce();
+        URI uri = URI.create("source");
+        EasyMock.expect(source.getUri()).andReturn(uri).atLeastOnce();
+
         EasyMock.expect(source.createTargetInvoker(EasyMock.isA(ServiceContract.class),
             EasyMock.isA(Operation.class))).andReturn(EasyMock.createNiceMock(TargetInvoker.class));
         EasyMock.replay(source);
 
         ServiceBinding target = EasyMock.createMock(ServiceBinding.class);
-        EasyMock.expect(target.isSystem()).andReturn(false).anyTimes();
         EasyMock.expect(target.createTargetInvoker(EasyMock.isA(ServiceContract.class),
             EasyMock.isA(Operation.class))).andReturn(EasyMock.createNiceMock(TargetInvoker.class));
         EasyMock.replay(target);
@@ -174,14 +184,18 @@
         InboundWire inboundWire = new InboundWireImpl();
         inboundWire.setContainer(target);
         inboundWire.setServiceContract(contract);
+        inboundWire.setUri(targetUriFragment);
         InboundInvocationChain inboundChain = new InboundInvocationChainImpl(operation);
         inboundChain.addInterceptor(new MockInterceptor());
         inboundWire.addInvocationChain(operation, inboundChain);
 
+        CompositeComponent parent = EasyMock.createMock(CompositeComponent.class);
+        EasyMock.expect(parent.getTargetWire(EasyMock.eq("service"))).andReturn(inboundWire);
+
         OutboundWire outboundWire = new OutboundWireImpl();
         outboundWire.setContainer(source);
         outboundWire.setServiceContract(contract);
-        outboundWire.setTargetName(new QualifiedName("target/service"));
+        outboundWire.setTargetUri(targetUriFragment);
         OutboundInvocationChain outboundChain = new OutboundInvocationChainImpl(operation);
         outboundWire.addInvocationChain(operation, outboundChain);
 
@@ -202,7 +216,7 @@
         msg = new MessageImpl();
         msg.setBody("callback");
         Map<Operation<?>, OutboundInvocationChain> callbackChains =
-            inboundWire.getSourceCallbackInvocationChains("source");
+            inboundWire.getSourceCallbackInvocationChains(URI.create("source"));
         OutboundInvocationChain callbackInvocationChain = callbackChains.get(callbackOperation);
         ret = callbackInvocationChain.getHeadInterceptor().invoke(msg);
         assertEquals("callback", ret.getBody());
@@ -214,7 +228,8 @@
     protected void setUp() throws Exception {
         super.setUp();
         WireService wireService = new JDKWireService(null, null);
-        connector = new ConnectorImpl(wireService, null, null, null, null);
+        componentManager = new ComponentManagerImpl();
+        connector = new ConnectorImpl(wireService, null, componentManager, null, null);
         operation = new Operation<Type>("bar", null, null, null);
         callbackOperation = new Operation<Type>("callback", null, null, null);
         contract = new JavaServiceContract();
@@ -225,8 +240,7 @@
 
     private AtomicComponent createSource() throws Exception {
         AtomicComponent component = EasyMock.createMock(AtomicComponent.class);
-        EasyMock.expect(component.getName()).andReturn("source").atLeastOnce();
-        EasyMock.expect(component.isSystem()).andReturn(false).anyTimes();
+        EasyMock.expect(component.getUri()).andReturn(URI.create("source")).atLeastOnce();
         EasyMock.expect(component.createTargetInvoker(EasyMock.eq("callback"),
             EasyMock.isA(Operation.class),
             (InboundWire) EasyMock.isNull())).andReturn(EasyMock.createNiceMock(TargetInvoker.class));

Copied: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/builder/SystemWireConnectionTestCase.java (from r503287, 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/builder/SystemWireConnectionTestCase.java?view=diff&rev=504606&p1=incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/CompositeComponentImplSystemWireTestCase.java&r1=503287&p2=incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/builder/SystemWireConnectionTestCase.java&r2=504606
==============================================================================
--- 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/builder/SystemWireConnectionTestCase.java Wed Feb  7 08:19:34 2007
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.tuscany.core.implementation.composite;
+package org.apache.tuscany.core.builder;
 
 import java.net.URI;
 import java.util.ArrayList;
@@ -25,141 +25,120 @@
 import java.util.List;
 import java.util.Map;
 
-import org.apache.tuscany.spi.QualifiedName;
 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.idl.java.JavaServiceContract;
 import org.apache.tuscany.spi.model.Scope;
 import org.apache.tuscany.spi.wire.InboundWire;
 import org.apache.tuscany.spi.wire.OutboundWire;
 
 import junit.framework.TestCase;
-import org.apache.tuscany.core.builder.ConnectorImpl;
+import org.apache.tuscany.core.component.ComponentManagerImpl;
+import org.apache.tuscany.core.implementation.composite.CompositeComponentImpl;
+import org.apache.tuscany.core.wire.InboundWireImpl;
+import org.apache.tuscany.core.wire.OutboundWireImpl;
 import org.easymock.EasyMock;
 
 /**
  * @version $Rev$ $Date$
  */
-public class CompositeComponentImplSystemWireTestCase extends TestCase {
+public class SystemWireConnectionTestCase extends TestCase {
 
     /**
-     * Verifies system services in a CompositeComponentImpl are wired during the parent composite's prepare callback
+     * Verifies system services are wired
      */
-    public void testSystemServiceWire() throws Exception {
-        InboundWire inbound = EasyMock.createMock(InboundWire.class);
-        EasyMock.expect(inbound.getServiceContract()).andReturn(new JavaServiceContract(Foo.class)).atLeastOnce();
-        inbound.getInvocationChains();
-        EasyMock.expectLastCall().andReturn(Collections.emptyMap()).atLeastOnce();
+    public void testWireOptimization() throws Exception {
+        InboundWire inbound = new InboundWireImpl();
+        inbound.setServiceContract(new JavaServiceContract(Foo.class));
+        inbound.setUri(URI.create("scasystem://target#bar"));
 
-        QualifiedName qName = new QualifiedName("target/bar");
         OutboundWire outbound = EasyMock.createMock(OutboundWire.class);
-        EasyMock.expect(outbound.getTargetName()).andReturn(qName).atLeastOnce();
+        EasyMock.expect(outbound.getTargetUri()).andReturn(URI.create("scasystem://target#bar")).atLeastOnce();
         EasyMock.expect(outbound.isAutowire()).andReturn(false);
-
+        EasyMock.expect(outbound.getUri()).andReturn(URI.create("scasystem://target#bar"));
+        outbound.getInvocationChains();
+        EasyMock.expectLastCall().andReturn(Collections.emptyMap()).atLeastOnce();
+        outbound.getTargetCallbackInvocationChains();
+        EasyMock.expectLastCall().andReturn(Collections.emptyMap()).atLeastOnce();
         outbound.setTargetWire(EasyMock.eq(inbound));
+
         EasyMock.expect(outbound.getServiceContract()).andReturn(new JavaServiceContract(Foo.class)).atLeastOnce();
+        outbound.setOptimizable(true);
         List<OutboundWire> wires = new ArrayList<OutboundWire>();
         wires.add(outbound);
         Map<String, List<OutboundWire>> wireMap = new HashMap<String, List<OutboundWire>>();
         wireMap.put("ref", wires);
-        CompositeComponent parent = new CompositeComponentImpl(URI.create("foo"), null, new ConnectorImpl(), null);
+
+        ComponentManagerImpl componentManager = new ComponentManagerImpl();
+        ConnectorImpl connector = new ConnectorImpl(null, null, componentManager, null, null);
+        CompositeComponent parent = new CompositeComponentImpl(URI.create("foo"), null, connector, null);
+
         AtomicComponent source = EasyMock.createMock(AtomicComponent.class);
         EasyMock.expect(source.getScope()).andReturn(Scope.COMPOSITE).atLeastOnce();
-        EasyMock.expect(source.getName()).andReturn("source").atLeastOnce();
+        EasyMock.expect(source.getUri()).andReturn(URI.create("scasystem://source")).atLeastOnce();
         EasyMock.expect(source.getOutboundWires()).andReturn(wireMap);
-        source.getInboundWires();
-        EasyMock.expectLastCall().andReturn(Collections.emptyList()).atLeastOnce();
-        EasyMock.expect(source.isSystem()).andReturn(true).atLeastOnce();
         EasyMock.expect(source.getParent()).andReturn(parent).atLeastOnce();
-
-        source.prepare();
         EasyMock.replay(source);
 
         EasyMock.expect(outbound.getContainer()).andReturn(source).atLeastOnce();
         EasyMock.replay(outbound);
 
-        parent.register(source);
+        componentManager.register(source);
 
         AtomicComponent target = EasyMock.createMock(AtomicComponent.class);
-        EasyMock.expect(target.getName()).andReturn("target").atLeastOnce();
-        EasyMock.expect(target.getInboundWire("bar")).andReturn(inbound).atLeastOnce();
-        List<InboundWire> inboundWires = new ArrayList<InboundWire>();
-        inboundWires.add(inbound);
-        EasyMock.expect(target.getInboundWires()).andReturn(inboundWires).atLeastOnce();
-        EasyMock.expect(target.getScope()).andReturn(Scope.COMPOSITE).atLeastOnce();
-        EasyMock.expect(target.getParent()).andReturn(parent).atLeastOnce();
-
-        target.prepare();
-        target.getOutboundWires();
-        EasyMock.expectLastCall().andReturn(Collections.emptyMap());
-        EasyMock.expect(target.isSystem()).andReturn(true).atLeastOnce();
+        EasyMock.expect(target.getUri()).andReturn(URI.create("scasystem://target")).atLeastOnce();
+        EasyMock.expect(target.isOptimizable()).andReturn(true);
+        EasyMock.expect(target.getTargetWire("bar")).andReturn(inbound).atLeastOnce();
+
         EasyMock.replay(target);
+        inbound.setContainer(target);
+        componentManager.register(target);
 
-        EasyMock.expect(inbound.getContainer()).andReturn(target);
-        EasyMock.replay(inbound);
+        connector.connect(source);
 
-        parent.register(target);
-        parent.prepare();
         EasyMock.verify(source);
         EasyMock.verify(target);
-        EasyMock.verify(inbound);
         EasyMock.verify(outbound);
     }
 
 
     /**
-     * Verifies an application component cannot be wired to a system service in the same composite
+     * Verifies an application component cannot be wired to a service in a different scheme in the same composite
      */
-    public void testSystemServiceIsolationWire() throws Exception {
-        InboundWire inbound = EasyMock.createMock(InboundWire.class);
-        EasyMock.expect(inbound.getServiceContract()).andReturn(new JavaServiceContract(Foo.class)).atLeastOnce();
-        EasyMock.replay(inbound);
-
-        QualifiedName qName = new QualifiedName("target/bar");
-        OutboundWire outbound = EasyMock.createMock(OutboundWire.class);
-        EasyMock.expect(outbound.isAutowire()).andReturn(false);
-        EasyMock.expect(outbound.getUri()).andReturn(URI.create("foo"));
-        EasyMock.expect(outbound.getTargetName()).andReturn(qName).atLeastOnce();
-        EasyMock.expect(outbound.getTargetUri()).andReturn(URI.create("target#bar")).atLeastOnce();
-        EasyMock.replay(outbound);
-
+    public void testSchemeIsolationWire() throws Exception {
+        OutboundWire outbound = new OutboundWireImpl();// EasyMock.createMock(OutboundWire.class);
+        outbound.setUri(URI.create("ref"));
+        outbound.setTargetUri(URI.create("sca://target#bar"));
         List<OutboundWire> wires = new ArrayList<OutboundWire>();
         wires.add(outbound);
         Map<String, List<OutboundWire>> wireMap = new HashMap<String, List<OutboundWire>>();
         wireMap.put("ref", wires);
-        CompositeComponent parent = new CompositeComponentImpl(URI.create("foo"), null, new ConnectorImpl(), null);
+
+        ComponentManagerImpl componentManager = new ComponentManagerImpl();
+        ConnectorImpl connector = new ConnectorImpl(null, null, componentManager, null, null);
+        CompositeComponent parent = new CompositeComponentImpl(URI.create("foo"), null, connector, null);
         AtomicComponent source = EasyMock.createMock(AtomicComponent.class);
-        EasyMock.expect(source.getName()).andReturn("source").atLeastOnce();
-        List<InboundWire> inboundWires = new ArrayList<InboundWire>();
-        inboundWires.add(inbound);
-        source.getInboundWires();
-        EasyMock.expectLastCall().andReturn(inboundWires).atLeastOnce();
+        EasyMock.expect(source.getUri()).andReturn(URI.create("sca://source")).atLeastOnce();
         EasyMock.expect(source.getOutboundWires()).andReturn(wireMap);
-        EasyMock.expect(source.isSystem()).andReturn(true).atLeastOnce();
         EasyMock.expect(source.getParent()).andReturn(parent).atLeastOnce();
         EasyMock.replay(source);
 
-        parent.register(source);
+
+        componentManager.register(source);
 
         AtomicComponent target = EasyMock.createMock(AtomicComponent.class);
-        EasyMock.expect(target.getName()).andReturn("target").atLeastOnce();
-        inboundWires.add(inbound);
-        EasyMock.expect(target.getInboundWires()).andReturn(inboundWires).atLeastOnce();
-        EasyMock.expect(target.isSystem()).andReturn(false).atLeastOnce();
+        EasyMock.expect(target.getUri()).andReturn(URI.create("scaystem://target")).atLeastOnce();
         EasyMock.replay(target);
 
-        parent.register(target);
+        componentManager.register(target);
         try {
-            parent.prepare();
+            connector.connect(source);
             fail();
-        } catch (PrepareException e) {
+        } catch (TargetComponentNotFoundException e) {
             //expected
         }
         EasyMock.verify(source);
         EasyMock.verify(target);
-        EasyMock.verify(inbound);
-        EasyMock.verify(outbound);
     }
 
 

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

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

Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/ComponentManagerImplTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/ComponentManagerImplTestCase.java?view=diff&rev=504606&r1=504605&r2=504606
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/ComponentManagerImplTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/ComponentManagerImplTestCase.java Wed Feb  7 08:19:34 2007
@@ -24,7 +24,10 @@
 import org.apache.tuscany.spi.component.DuplicateNameException;
 
 import junit.framework.TestCase;
+import org.apache.tuscany.core.component.event.ComponentStart;
+import org.apache.tuscany.core.component.event.ComponentStop;
 import org.easymock.EasyMock;
+import org.easymock.IAnswer;
 
 /**
  * @version $Rev$ $Date$
@@ -34,7 +37,7 @@
 
     public void testRegister() throws Exception {
         Component child = EasyMock.createMock(Component.class);
-        URI name = new URI("child");
+        URI name = URI.create("child");
         EasyMock.expect(child.getUri()).andReturn(name).atLeastOnce();
         EasyMock.replay(child);
         manager.register(child);
@@ -43,7 +46,7 @@
 
     public void testRegisterDuplicate() throws Exception {
         Component component1 = EasyMock.createMock(Component.class);
-        URI name = new URI("child");
+        URI name = URI.create("child");
         EasyMock.expect(component1.getUri()).andReturn(name).atLeastOnce();
         EasyMock.replay(component1);
 
@@ -62,12 +65,12 @@
 
     public void testRegisterSameNameDifferentSchemes() throws Exception {
         Component component1 = EasyMock.createMock(Component.class);
-        URI name = new URI("foo://component");
+        URI name = URI.create("foo://component");
         EasyMock.expect(component1.getUri()).andReturn(name).atLeastOnce();
         EasyMock.replay(component1);
 
         Component component2 = EasyMock.createMock(Component.class);
-        URI name2 = new URI("bar://component");
+        URI name2 = URI.create("bar://component");
         EasyMock.expect(component2.getUri()).andReturn(name2).atLeastOnce();
         EasyMock.replay(component2);
 
@@ -77,7 +80,7 @@
 
     public void testUnRegister() throws Exception {
         Component component = EasyMock.createMock(Component.class);
-        URI name = new URI("component");
+        URI name = URI.create("component");
         EasyMock.expect(component.getUri()).andReturn(name).atLeastOnce();
         component.removeListener(EasyMock.isA(ComponentManager.class));
         EasyMock.replay(component);
@@ -86,46 +89,177 @@
         assertNull(manager.getComponent(name));
     }
 
-    public void testCompositeStartNotification() throws Exception {
-//        Component child1 = EasyMock.createMock(Component.class);
-//        URI name1 = new URI("sca://foo/child1");
-//        EasyMock.expect(child1.getUri()).andReturn(name1).atLeastOnce();
-//        child1.start();
-//        EasyMock.replay(child1);
-//
-//        Component child2 = EasyMock.createMock(Component.class);
-//        URI name2 = new URI("sca://foo/child2");
-//        EasyMock.expect(child2.getUri()).andReturn(name2).atLeastOnce();
-//        child2.start();
-//        EasyMock.replay(child2);
-//
-//        manager.register(child1);
-//        manager.register(child2);
-//        ComponentStart event = new ComponentStart(this, new URI("sca://foo"));
-//        manager.onEvent(event);
-//        EasyMock.verify(child1);
-//        EasyMock.verify(child2);
-    }
-
-    public void testCompositeStopNotification() throws Exception {
-//        Component child1 = EasyMock.createMock(Component.class);
-//        URI name = new URI("foo://foo/child1");
-//        EasyMock.expect(child1.getUri()).andReturn(name).atLeastOnce();
-//        child1.stop();
-//        EasyMock.replay(child1);
-//
-//        Component child2 = EasyMock.createMock(Component.class);
-//        URI name2 = new URI("foo://foo/child2");
-//        EasyMock.expect(child2.getUri()).andReturn(name2).atLeastOnce();
-//        child2.stop();
-//        EasyMock.replay(child2);
-//
-//        manager.register(child1);
-//        manager.register(child2);
-//        ComponentStop event = new ComponentStop(this, URI.create("foo://foo"));
-//        manager.onEvent(event);
-//        EasyMock.verify(child1);
-//        EasyMock.verify(child2);
+    public void testStartNotification() throws Exception {
+        Component child1 = EasyMock.createMock(Component.class);
+        URI name1 = URI.create("sca://foo/child1");
+        EasyMock.expect(child1.getUri()).andReturn(name1).atLeastOnce();
+        child1.start();
+        EasyMock.replay(child1);
+
+        Component child2 = EasyMock.createMock(Component.class);
+        URI name2 = URI.create("sca://bar/child2");
+        EasyMock.expect(child2.getUri()).andReturn(name2).atLeastOnce();
+        EasyMock.replay(child2);
+
+        manager.register(child1);
+        manager.register(child2);
+        ComponentStart event = new ComponentStart(this, URI.create("sca://foo"));
+        manager.onEvent(event);
+        EasyMock.verify(child1);
+        EasyMock.verify(child2);
+    }
+
+    public void testChildStartNotification() throws Exception {
+        URI parentUri = URI.create("foo://foo");
+        Component child1 = EasyMock.createMock(Component.class);
+        URI name = URI.create("foo://foo/child1");
+        EasyMock.expect(child1.getUri()).andReturn(name).atLeastOnce();
+        child1.start();
+        EasyMock.replay(child1);
+
+        Component child2 = EasyMock.createMock(Component.class);
+        URI name2 = URI.create("foo://foo/child2");
+        EasyMock.expect(child2.getUri()).andReturn(name2).atLeastOnce();
+        child2.start();
+        EasyMock.replay(child2);
+
+        manager.register(child1);
+        manager.register(child2);
+        ComponentStart event = new ComponentStart(this, parentUri);
+        manager.onEvent(event);
+        EasyMock.verify(child2);
+        EasyMock.verify(child2);
+    }
+
+    public void testStopNotification() throws Exception {
+        Component child1 = EasyMock.createMock(Component.class);
+        URI name = URI.create("foo://foo/child1");
+        EasyMock.expect(child1.getUri()).andReturn(name).atLeastOnce();
+        child1.stop();
+        EasyMock.replay(child1);
+
+        Component child2 = EasyMock.createMock(Component.class);
+        URI name2 = URI.create("foo://bar/child2");
+        EasyMock.expect(child2.getUri()).andReturn(name2).atLeastOnce();
+        EasyMock.replay(child2);
+
+        manager.register(child1);
+        manager.register(child2);
+        ComponentStop event = new ComponentStop(this,  URI.create("foo://foo"));
+        manager.onEvent(event);
+        EasyMock.verify(child1);
+        EasyMock.verify(child2);
+    }
+
+    public void testChildStartStopNotification() throws Exception {
+        URI parentUri = URI.create("foo://foo");
+
+        Component child1 = EasyMock.createMock(Component.class);
+        URI name = URI.create("foo://foo/child1");
+        EasyMock.expect(child1.getUri()).andReturn(name).atLeastOnce();
+        child1.start();
+        child1.stop();
+        EasyMock.replay(child1);
+
+        Component child2 = EasyMock.createMock(Component.class);
+        URI name2 = URI.create("foo://foo/child2");
+        EasyMock.expect(child2.getUri()).andReturn(name2).atLeastOnce();
+        child2.start();
+        child2.stop();
+        EasyMock.replay(child2);
+
+        manager.register(child1);
+        manager.register(child2);
+        manager.onEvent(new ComponentStart(this, parentUri));
+        manager.onEvent(new ComponentStop(this, parentUri));
+        EasyMock.verify(child2);
+        EasyMock.verify(child2);
+    }
+
+    public void testChildRestart() throws Exception {
+        URI parentUri = URI.create("foo://foo");
+
+        Component child1 = EasyMock.createMock(Component.class);
+        URI name = URI.create("foo://foo/child1");
+        EasyMock.expect(child1.getUri()).andReturn(name).atLeastOnce();
+        child1.start();
+        child1.stop();
+        child1.start();
+        EasyMock.replay(child1);
+
+        Component child2 = EasyMock.createMock(Component.class);
+        URI name2 = URI.create("foo://foo/child2");
+        EasyMock.expect(child2.getUri()).andReturn(name2).atLeastOnce();
+        child2.start();
+        child2.stop();
+        child2.start();
+        EasyMock.replay(child2);
+
+        manager.register(child1);
+        manager.register(child2);
+        manager.onEvent(new ComponentStart(this, parentUri));
+        manager.onEvent(new ComponentStop(this, parentUri));
+        manager.onEvent(new ComponentStart(this, parentUri));
+        EasyMock.verify(child2);
+        EasyMock.verify(child2);
+    }
+
+    public void testMutiLevelChildStopNotification() throws Exception {
+        URI parentUri = URI.create("foo://foo");
+
+        Component child1 = EasyMock.createMock(Component.class);
+        URI name = URI.create("foo://foo/child");
+        EasyMock.expect(child1.getUri()).andReturn(name).atLeastOnce();
+        child1.stop();
+        EasyMock.replay(child1);
+
+        Component child2 = EasyMock.createMock(Component.class);
+        final URI name2 = URI.create("foo://foo/bar/child");
+        EasyMock.expect(child2.getUri()).andReturn(name2).atLeastOnce();
+        child2.stop();
+        EasyMock.expectLastCall().andStubAnswer(new IAnswer<Object>() {
+            public Object answer() throws Throwable {
+                manager.onEvent(new ComponentStop(this, name2));
+                return null;
+            }
+        });
+        EasyMock.replay(child2);
+
+        manager.register(child1);
+        manager.register(child2);
+        ComponentStop event = new ComponentStop(this, parentUri);
+        manager.onEvent(event);
+        EasyMock.verify(child1);
+        EasyMock.verify(child2);
+    }
+
+    public void testRegisterParentAfterChildStopNotification() throws Exception {
+        URI parentUri = URI.create("foo://foo");
+        final URI name1 = URI.create("foo://foo/child");
+        Component child1 = EasyMock.createMock(Component.class);
+        EasyMock.expect(child1.getUri()).andReturn(name1).atLeastOnce();
+        child1.stop();
+        EasyMock.expectLastCall().andStubAnswer(new IAnswer<Object>() {
+            public Object answer() throws Throwable {
+                manager.onEvent(new ComponentStop(this, name1));
+                return null;
+            }
+        });
+        EasyMock.replay(child1);
+
+        final URI name2 = URI.create("foo://foo/child/child");
+        Component child2 = EasyMock.createMock(Component.class);
+        EasyMock.expect(child2.getUri()).andReturn(name2).atLeastOnce();
+        child2.stop();
+        EasyMock.replay(child2);
+
+        // register child2 before child1
+        manager.register(child2);
+        manager.register(child1);
+        ComponentStop event = new ComponentStop(this, parentUri);
+        manager.onEvent(event);
+        EasyMock.verify(child1);
+        EasyMock.verify(child2);
     }
 
     protected void setUp() throws Exception {

Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/CompositeScopeInitDestroyErrorTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/CompositeScopeInitDestroyErrorTestCase.java?view=diff&rev=504606&r1=504605&r2=504606
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/CompositeScopeInitDestroyErrorTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/CompositeScopeInitDestroyErrorTestCase.java Wed Feb  7 08:19:34 2007
@@ -18,6 +18,8 @@
  */
 package org.apache.tuscany.core.component.scope;
 
+import java.net.URI;
+
 import org.apache.tuscany.spi.ObjectCreationException;
 import org.apache.tuscany.spi.component.AtomicComponent;
 import org.apache.tuscany.spi.component.ScopeContainerMonitor;
@@ -41,7 +43,7 @@
         CompositeScopeContainer scope = new CompositeScopeContainer(monitor);
         scope.start();
         AtomicComponent component = EasyMock.createMock(AtomicComponent.class);
-        EasyMock.expect(component.getName()).andReturn("foo").atLeastOnce();
+        EasyMock.expect(component.getUri()).andReturn(URI.create("foo")).atLeastOnce();
         EasyMock.expect(component.createInstance()).andThrow(new ObjectCreationException(""));
         EasyMock.expect(component.getInitLevel()).andReturn(1);
         EasyMock.replay(component);
@@ -58,7 +60,6 @@
         CompositeScopeContainer scope = new CompositeScopeContainer(monitor);
         scope.start();
         AtomicComponent component = EasyMock.createMock(AtomicComponent.class);
-        EasyMock.expect(component.getName()).andReturn("foo").atLeastOnce();
         EasyMock.expect(component.createInstance()).andReturn(new Object());
         EasyMock.expect(component.getInitLevel()).andReturn(1);
         component.init(EasyMock.isA(Object.class));

Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/ConversationalScopeContainerMaxAgeTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/ConversationalScopeContainerMaxAgeTestCase.java?view=diff&rev=504606&r1=504605&r2=504606
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/ConversationalScopeContainerMaxAgeTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/ConversationalScopeContainerMaxAgeTestCase.java Wed Feb  7 08:19:34 2007
@@ -51,7 +51,6 @@
         ConversationalScopeContainerMaxAgeTestCase.Foo foo = new ConversationalScopeContainerMaxAgeTestCase.Foo();
         context = new WorkContextImpl();
         component = EasyMock.createMock(AtomicComponent.class);
-        EasyMock.expect(component.getName()).andReturn("foo").atLeastOnce();
         EasyMock.expect(component.getMaxIdleTime()).andReturn(-1L).atLeastOnce();
         EasyMock.expect(component.getMaxAge()).andReturn(600000L).atLeastOnce();
         EasyMock.replay(component);

Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/ConversationalScopeContainerMaxIdleTimeTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/ConversationalScopeContainerMaxIdleTimeTestCase.java?view=diff&rev=504606&r1=504605&r2=504606
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/ConversationalScopeContainerMaxIdleTimeTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/ConversationalScopeContainerMaxIdleTimeTestCase.java Wed Feb  7 08:19:34 2007
@@ -51,7 +51,6 @@
         Foo foo = new Foo();
         context = new WorkContextImpl();
         component = EasyMock.createMock(AtomicComponent.class);
-        EasyMock.expect(component.getName()).andReturn("foo").atLeastOnce();
         EasyMock.expect(component.getMaxIdleTime()).andReturn(600000L).atLeastOnce();
         EasyMock.replay(component);
         store = EasyMock.createMock(Store.class);

Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/ConversationalScopeContainerPersistenceTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/ConversationalScopeContainerPersistenceTestCase.java?view=diff&rev=504606&r1=504605&r2=504606
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/ConversationalScopeContainerPersistenceTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/ConversationalScopeContainerPersistenceTestCase.java Wed Feb  7 08:19:34 2007
@@ -19,6 +19,7 @@
 package org.apache.tuscany.core.component.scope;
 
 import java.util.UUID;
+import java.net.URI;
 
 import org.apache.tuscany.spi.component.AtomicComponent;
 import org.apache.tuscany.spi.component.ScopeContainer;
@@ -98,7 +99,7 @@
         AtomicComponent component = EasyMock.createMock(AtomicComponent.class);
         component.addListener(EasyMock.eq(container));
         EasyMock.expect(component.getMaxIdleTime()).andReturn(-1L).atLeastOnce();
-        EasyMock.expect(component.getName()).andReturn("foo").atLeastOnce();
+        EasyMock.expect(component.getUri()).andReturn(URI.create("foo")).atLeastOnce();
         EasyMock.replay(component);
         container.register(component);
         Foo foo = new Foo();
@@ -140,7 +141,7 @@
         String id2 = UUID.randomUUID().toString();
         context.setIdentifier(Scope.CONVERSATION, id);
         AtomicComponent component = EasyMock.createMock(AtomicComponent.class);
-        EasyMock.expect(component.getName()).andReturn("foo").atLeastOnce();
+        EasyMock.expect(component.getUri()).andReturn(URI.create("foo")).atLeastOnce();
         EasyMock.expect(component.getMaxIdleTime()).andReturn(-1L).atLeastOnce();
         component.addListener(EasyMock.eq(container));
         EasyMock.replay(component);

Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/HttpSessionScopeInitDestroyErrorTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/HttpSessionScopeInitDestroyErrorTestCase.java?view=diff&rev=504606&r1=504605&r2=504606
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/HttpSessionScopeInitDestroyErrorTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/HttpSessionScopeInitDestroyErrorTestCase.java Wed Feb  7 08:19:34 2007
@@ -46,7 +46,6 @@
         scope.start();
         AtomicComponent component = EasyMock.createMock(AtomicComponent.class);
         component.addListener(EasyMock.isA(RuntimeEventListener.class));
-        EasyMock.expect(component.getName()).andReturn("foo").atLeastOnce();
         EasyMock.expect(component.createInstance()).andReturn(new Object());
         EasyMock.expect(component.isEagerInit()).andReturn(true);
         component.init(EasyMock.isA(Object.class));

Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/RequestScopeInitDestroyErrorTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/RequestScopeInitDestroyErrorTestCase.java?view=diff&rev=504606&r1=504605&r2=504606
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/RequestScopeInitDestroyErrorTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/RequestScopeInitDestroyErrorTestCase.java Wed Feb  7 08:19:34 2007
@@ -43,7 +43,6 @@
         scope.start();
         AtomicComponent component = EasyMock.createMock(AtomicComponent.class);
         component.addListener(EasyMock.isA(RuntimeEventListener.class));
-        EasyMock.expect(component.getName()).andReturn("foo").atLeastOnce();
         EasyMock.expect(component.createInstance()).andReturn(new Object());
         component.init(EasyMock.isA(Object.class));
         component.destroy(EasyMock.isA(Object.class));

Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/databinding/impl/DataBindingWirePostProcessorOptimizationTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/databinding/impl/DataBindingWirePostProcessorOptimizationTestCase.java?view=diff&rev=504606&r1=504605&r2=504606
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/databinding/impl/DataBindingWirePostProcessorOptimizationTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/databinding/impl/DataBindingWirePostProcessorOptimizationTestCase.java Wed Feb  7 08:19:34 2007
@@ -21,6 +21,7 @@
 import java.lang.reflect.Type;
 import java.util.HashMap;
 import java.util.Map;
+import java.net.URI;
 
 import org.apache.tuscany.spi.component.SCAObject;
 import org.apache.tuscany.spi.databinding.Mediator;
@@ -68,7 +69,6 @@
     protected void setUp() throws Exception {
         super.setUp();
         SCAObject container = EasyMock.createMock(SCAObject.class);
-        EasyMock.expect(container.getName()).andReturn("foo");
         EasyMock.replay(container);
 
         Mediator mediator = new MediatorImpl();
@@ -98,12 +98,15 @@
         EasyMock.expect(outboundWire.getServiceContract()).andReturn(contract).anyTimes();
         EasyMock.expect(outboundWire.getContainer()).andReturn(container).anyTimes();
         EasyMock.expect(outboundWire.getTargetCallbackInvocationChains()).andReturn(inboundChains).anyTimes();
+        URI uri = URI.create("foo");
+        EasyMock.expect(outboundWire.getUri()).andReturn(uri).anyTimes();
+
         EasyMock.replay(outboundWire);
 
         inboundWire = EasyMock.createMock(InboundWire.class);
         EasyMock.expect(inboundWire.getInvocationChains()).andReturn(inboundChains);
         EasyMock.expect(inboundWire.getContainer()).andReturn(container).anyTimes();
-        EasyMock.expect(inboundWire.getSourceCallbackInvocationChains(EasyMock.eq("foo"))).andReturn(outboundChains)
+        EasyMock.expect(inboundWire.getSourceCallbackInvocationChains(EasyMock.eq(uri))).andReturn(outboundChains)
             .anyTimes();
         EasyMock.replay(inboundWire);
 

Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/deployer/BootstrapDeployerTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/deployer/BootstrapDeployerTestCase.java?view=diff&rev=504606&r1=504605&r2=504606
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/deployer/BootstrapDeployerTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/deployer/BootstrapDeployerTestCase.java Wed Feb  7 08:19:34 2007
@@ -18,8 +18,8 @@
  */
 package org.apache.tuscany.core.deployer;
 
-import java.net.URL;
 import java.net.URI;
+import java.net.URL;
 import java.util.Collection;
 import java.util.Map;
 import javax.xml.stream.XMLInputFactory;
@@ -44,16 +44,16 @@
 import junit.framework.TestCase;
 import org.apache.tuscany.core.bootstrap.Bootstrapper;
 import org.apache.tuscany.core.bootstrap.DefaultBootstrapper;
+import org.apache.tuscany.core.component.ComponentManager;
+import org.apache.tuscany.core.component.ComponentManagerImpl;
 import org.apache.tuscany.core.implementation.system.model.SystemCompositeImplementation;
 import org.apache.tuscany.core.mock.component.BasicInterface;
 import org.apache.tuscany.core.monitor.NullMonitorFactory;
-import org.apache.tuscany.core.component.ComponentManager;
-import org.apache.tuscany.core.component.ComponentManagerImpl;
+import org.easymock.EasyMock;
 import static org.easymock.EasyMock.createNiceMock;
 import static org.easymock.EasyMock.isA;
 import static org.easymock.EasyMock.replay;
 import static org.easymock.EasyMock.verify;
-import org.easymock.EasyMock;
 
 /**
  * Verifies the default boostrap deployer
@@ -69,7 +69,7 @@
     @SuppressWarnings("unchecked")
     public void testBoot1Load() throws LoaderException {
         CompositeComponent parent = createNiceMock(CompositeComponent.class);
-        URI uri = URI.create("parent");
+        URI uri = URI.create("scasystem://parent");
         EasyMock.expect(parent.getUri()).andReturn(uri).atLeastOnce();
         EasyMock.replay(parent);
         URL scdl = BootstrapDeployerTestCase.class.getResource("boot1.scdl");
@@ -87,7 +87,7 @@
         assertEquals(2, services.size()); // included counts
         ServiceDefinition serviceDefinition = services.get("service");
         assertNotNull(serviceDefinition);
-        assertEquals("parent#service", serviceDefinition.getUri().toString());
+        assertEquals("scasystem://parent#service", serviceDefinition.getUri().toString());
         assertEquals(BasicInterface.class, serviceDefinition.getServiceContract().getInterfaceClass());
         Collection<BindingDefinition> bindings = serviceDefinition.getBindings();
         assertTrue(bindings.isEmpty());
@@ -120,12 +120,12 @@
         URL scdl = BootstrapDeployerTestCase.class.getResource("boot1.scdl");
         implementation.setScdlLocation(scdl);
         CompositeComponent parent = createNiceMock(CompositeComponent.class);
-        URI uri = URI.create("parent");
+        URI uri = URI.create("scasystem://parent");
         EasyMock.expect(parent.getUri()).andReturn(uri).atLeastOnce();
         parent.register(isA(SCAObject.class));
         replay(parent);
         // load the boot1 file using the bootstrap deployer
-        componentDefinition.setName(new URI("simple"));
+        componentDefinition.setUri(URI.create("simple"));
         Component component = deployer.deploy(parent, componentDefinition);
         assertNotNull(component);
         verify(parent);
@@ -135,34 +135,19 @@
         URL scdl = BootstrapDeployerTestCase.class.getResource("boot2.scdl");
         implementation.setScdlLocation(scdl);
         CompositeComponent parent = createNiceMock(CompositeComponent.class);
-        URI uri = URI.create("parent");
+        URI uri = URI.create(ComponentNames.TUSCANY_SYSTEM_ROOT + "/parent");
         EasyMock.expect(parent.getUri()).andReturn(uri).atLeastOnce();
         parent.register(isA(SCAObject.class));
         replay(parent);
 
         // load the boot2 file using the bootstrap deployer
-        componentDefinition.setName(new URI("newDeployer"));
+        componentDefinition.setUri(URI.create("newDeployer"));
         CompositeComponent component = (CompositeComponent) deployer.deploy(parent, componentDefinition);
         assertNotNull(component);
         verify(parent);
         component.start();
-        SCAObject newDeployer = component.getSystemChild(ComponentNames.TUSCANY_DEPLOYER);
+        SCAObject newDeployer = component.getChild(ComponentNames.TUSCANY_DEPLOYER);
         assertNotNull(newDeployer);
-        SCAObject wireService = component.getSystemChild(ComponentNames.TUSCANY_WIRE_SERVICE);
-        assertNotNull(wireService);
-
-/*      // FIXME
-        // load the boot2 file using the newly loaded deployer
-        parent.reset();
-        parent.expects(once()).method("register").withAnyArguments();
-        componentDefinition.setName("newDeployer2");
-        component = newDeployer.deploy((CompositeComponent) parent.proxy(), componentDefinition);
-        assertNotNull(component);
-        parent.verify();
-        component.start();
-        Deployer newDeployer2 = (Deployer) component.getServiceInstance("deployer");
-        assertNotNull(newDeployer2);
-*/
     }
 
     protected void setUp() throws Exception {

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=504606&r1=504605&r2=504606
==============================================================================
--- 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 Wed Feb  7 08:19:34 2007
@@ -42,7 +42,7 @@
         CompositeComponent parent = createMock(CompositeComponent.class);
         replay(parent);
         CompositeComponent component = new CompositeComponentImpl(URI.create("test"), parent, null, null);
-        assertEquals("test", component.getName());
+        assertEquals("test", component.getUri().toString());
         assertSame(parent, component.getParent());
         verify(parent);
     }
@@ -57,26 +57,13 @@
         verify(parent);
     }
 
-    public void testSystemResolvedByAutowire() throws Exception {
-        CompositeComponent parent = createMock(CompositeComponent.class);
-        InboundWire wire = TestUtils.createInboundWire(Foo.class, parent);
-        EasyMock.expect(parent.resolveSystemAutowire(eq(Foo.class))).andReturn(wire);
-        replay(parent);
-        CompositeComponent component = new CompositeComponentImpl(URI.create("test"), parent, null, null);
-        assertSame(wire, component.resolveSystemAutowire(Foo.class));
-        verify(parent);
-    }
-
-    /**
-     * Verify parent resolution strategy for application serviceBindings
-     */
     public void testNamespaceIsolationAutowire() throws Exception {
         Foo foo = new Foo() {
         };
         CompositeComponent parent = new CompositeComponentImpl(URI.create("parent"), null, null, null);
         parent.registerJavaObject("foo", Foo.class, foo);
         CompositeComponent component = new CompositeComponentImpl(URI.create("test"), parent, null, null);
-        assertNull(component.resolveAutowire(Foo.class));
+        assertNotNull(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=504606&r1=504605&r2=504606
==============================================================================
--- 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 Wed Feb  7 08:19:34 2007
@@ -44,33 +44,6 @@
     /**
      * Tests autowiring to an system atomic component
      */
-    public void testSystemAtomicAutowire() throws Exception {
-        CompositeComponent parent = new CompositeComponentImpl(URI.create("parent"), null, null, true);
-        parent.start();
-        List<Class<?>> interfaces = new ArrayList<Class<?>>();
-        interfaces.add(Source.class);
-        interfaces.add(Source2.class);
-        AtomicComponent component = EasyMock.createMock(AtomicComponent.class);
-        EasyMock.expect(component.getName()).andReturn("source").atLeastOnce();
-        EasyMock.expect(component.isSystem()).andReturn(true).atLeastOnce();
-        List<InboundWire> wires = TestUtils.createInboundWires(interfaces);
-        EasyMock.expect(component.getInboundWires()).andReturn(wires).atLeastOnce();
-        TestUtils.populateInboundWires(component, wires);
-        EasyMock.replay(component);
-        parent.register(component);
-        InboundWire source = parent.resolveSystemAutowire(Source.class);
-        assertNotNull(source);
-        InboundWire sourceBase = parent.resolveSystemAutowire(SourceBase.class);
-        assertSame(source, sourceBase);
-        InboundWire source2 = parent.resolveSystemAutowire(Source2.class);
-        assertSame(source.getContainer(), source2.getContainer());
-        assertNull(parent.resolveSystemExternalAutowire(Source.class));
-        EasyMock.verify(component);
-    }
-
-    /**
-     * Tests autowiring to an system atomic component
-     */
     public void testAtomicAutowire() throws Exception {
         CompositeComponent parent = new CompositeComponentImpl(URI.create("parent"), null, null, null);
         parent.start();
@@ -79,8 +52,7 @@
         interfaces.add(Source.class);
         interfaces.add(Source2.class);
         AtomicComponent component = EasyMock.createMock(AtomicComponent.class);
-        EasyMock.expect(component.getName()).andReturn("source").atLeastOnce();
-        EasyMock.expect(component.isSystem()).andReturn(false).atLeastOnce();
+        EasyMock.expect(component.getUri()).andReturn(URI.create("source")).atLeastOnce();
         List<InboundWire> wires = TestUtils.createInboundWires(interfaces);
         EasyMock.expect(component.getInboundWires()).andReturn(wires).atLeastOnce();
         TestUtils.populateInboundWires(component, wires);
@@ -99,42 +71,10 @@
     }
 
     /**
-     * Tests autowiring to a system service
-     */
-    public void testSystemServiceAutowire() throws Exception {
-        CompositeComponent parent = new CompositeComponentImpl(URI.create("parent"), null, null, true);
-        parent.start();
-
-        ServiceBinding serviceBinding = EasyMock.createMock(ServiceBinding.class);
-        InboundWire wire = TestUtils.createInboundWire(Source.class);
-        wire.setContainer(serviceBinding);
-        EasyMock.expect(serviceBinding.getInboundWire()).andReturn(wire).atLeastOnce();
-        EasyMock.replay(serviceBinding);
-
-        List<ServiceBinding> bindings = new ArrayList<ServiceBinding>();
-        bindings.add(serviceBinding);
-        Service service = EasyMock.createMock(Service.class);
-        EasyMock.expect(service.getName()).andReturn("service").atLeastOnce();
-        EasyMock.expect(service.isSystem()).andReturn(true).atLeastOnce();
-
-        EasyMock.expect(service.getServiceBindings()).andReturn(bindings).atLeastOnce();
-        EasyMock.replay(service);
-        parent.register(service);
-
-        InboundWire source = parent.resolveSystemExternalAutowire(Source.class);
-        assertSame(serviceBinding, source.getContainer());
-        InboundWire sourceBase = parent.resolveSystemExternalAutowire(SourceBase.class);
-        assertSame(source, sourceBase);
-        InboundWire source2 = parent.resolveSystemExternalAutowire(Source2.class);
-        assertNull(source2);
-        EasyMock.verify(serviceBinding);
-    }
-
-    /**
      * Tests autowiring to a service
      */
     public void testServiceAutowire() throws Exception {
-        CompositeComponent parent = new CompositeComponentImpl(URI.create("parent"), null, null, true);
+        CompositeComponent parent = new CompositeComponentImpl(URI.create("parent"), null, null);
         parent.start();
 
         ServiceBinding serviceBinding = EasyMock.createMock(ServiceBinding.class);
@@ -146,9 +86,7 @@
         List<ServiceBinding> bindings = new ArrayList<ServiceBinding>();
         bindings.add(serviceBinding);
         Service service = EasyMock.createMock(Service.class);
-        EasyMock.expect(service.getName()).andReturn("service").atLeastOnce();
-        EasyMock.expect(service.isSystem()).andReturn(false).atLeastOnce();
-
+        EasyMock.expect(service.getUri()).andReturn(URI.create("service")).atLeastOnce();
         EasyMock.expect(service.getServiceBindings()).andReturn(bindings).atLeastOnce();
         EasyMock.replay(service);
         parent.register(service);
@@ -164,35 +102,10 @@
 
 
     /**
-     * Tests autowiring to a system reference
-     */
-    public void testSystemReferenceAutowire() throws Exception {
-        CompositeComponent parent = new CompositeComponentImpl(URI.create("parent"), null, null, true);
-        parent.start();
-
-        ReferenceBinding binding = EasyMock.createMock(ReferenceBinding.class);
-        binding.setReference(EasyMock.isA(Reference.class));
-        InboundWire wire = TestUtils.createInboundWire(Source.class);
-        wire.setContainer(binding);
-        EasyMock.expect(binding.getInboundWire()).andReturn(wire).atLeastOnce();
-        EasyMock.replay(binding);
-
-        Reference reference = new ReferenceImpl(URI.create("foo"), null, wire.getServiceContract(), true);
-        reference.addReferenceBinding(binding);
-        parent.register(reference);
-
-        InboundWire source = parent.resolveSystemAutowire(Source.class);
-        assertNotNull(source);
-        InboundWire sourceBase = parent.resolveSystemAutowire(SourceBase.class);
-        assertSame(source, sourceBase);
-        EasyMock.verify(binding);
-    }
-
-    /**
      * Tests autowiring to a reference
      */
     public void testReferenceAutowire() throws Exception {
-        CompositeComponent parent = new CompositeComponentImpl(URI.create("parent"), null, null, true);
+        CompositeComponent parent = new CompositeComponentImpl(URI.create("parent"), null, null);
         parent.start();
 
         ReferenceBinding binding = EasyMock.createMock(ReferenceBinding.class);
@@ -202,7 +115,7 @@
         EasyMock.expect(binding.getInboundWire()).andReturn(wire).atLeastOnce();
         EasyMock.replay(binding);
 
-        Reference reference = new ReferenceImpl(URI.create("foo"), null, wire.getServiceContract(), false);
+        Reference reference = new ReferenceImpl(URI.create("foo"), null, wire.getServiceContract());
         reference.addReferenceBinding(binding);
         parent.register(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=504606&r1=504605&r2=504606
==============================================================================
--- 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 Wed Feb  7 08:19:34 2007
@@ -46,8 +46,8 @@
 import org.apache.tuscany.core.binding.local.LocalBindingBuilder;
 import org.apache.tuscany.core.binding.local.LocalBindingDefinition;
 import org.apache.tuscany.core.builder.BuilderRegistryImpl;
-import org.apache.tuscany.core.component.scope.CompositeScopeContainer;
 import org.apache.tuscany.core.component.ComponentManagerImpl;
+import org.apache.tuscany.core.component.scope.CompositeScopeContainer;
 import org.apache.tuscany.core.deployer.RootDeploymentContext;
 import org.apache.tuscany.core.idl.java.JavaInterfaceProcessorRegistryImpl;
 import org.apache.tuscany.core.implementation.java.JavaComponentBuilder;
@@ -64,13 +64,16 @@
  * @version $$Rev$$ $$Date$$
  */
 public class CompositeBuilderTestCase extends TestCase {
+    private static final URI TOP_COMPONENT = URI.create("Top");
+    private static final URI PARENT_COMPONENT = URI.create("Top/Parent");
+    private static final URI SOURCE_COMPONENT = URI.create("Top/Parent/SourceComponent");
+    private static final URI TARGET_COMPONENT = URI.create("Top/Parent/TargetComponent");
+    private static final URI INNER_SOURCE_COMPONENT = URI.create("Top/Parent/SourceComponent/InnerSourceComponent");
+
     private DeploymentContext deploymentContext;
 
     @SuppressWarnings("unchecked")
     public void testBuild() throws Exception {
-        URI uri = URI.create("foo");
-        CompositeComponent parent = new CompositeComponentImpl(uri, null, null, null);
-
         CompositeBuilder builder = new CompositeBuilder();
         WireService wireService = new JDKWireService();
         builder.setWireService(wireService);
@@ -82,20 +85,30 @@
         builderRegistry.register(CompositeImplementation.class, builder);
         builderRegistry.register(LocalBindingDefinition.class, new LocalBindingBuilder());
         builder.setBuilderRegistry(builderRegistry);
+
+        CompositeComponent parent = new CompositeComponentImpl(PARENT_COMPONENT, null, null, null);
+        mgr.register(parent);
         CompositeComponent component =
             (CompositeComponent) builder.build(parent, createTopComponentDef(), deploymentContext);
-
+        mgr.register(component); // manually register this
         component.start();
-        CompositeComponent sourceComponent = (CompositeComponent) component.getChild("SourceComponent");
+        CompositeComponent sourceComponent = (CompositeComponent) mgr.getComponent(SOURCE_COMPONENT);
         assertTrue(sourceComponent.getChild("InnerSourceService") instanceof Service);
-        AtomicComponent innerSourceComponent = (AtomicComponent) sourceComponent.getChild("InnerSourceComponent");
+        AtomicComponent innerSourceComponent = (AtomicComponent) mgr.getComponent(INNER_SOURCE_COMPONENT);
         Source innerSourceInstance = (Source) deploymentContext.getCompositeScope().getInstance(innerSourceComponent);
         assertNotNull(innerSourceInstance);
         component.stop();
     }
 
-    private ComponentDefinition createTopComponentDef() throws Exception {
+    protected void setUp() throws Exception {
+        super.setUp();
+        ScopeContainerMonitor monitor = EasyMock.createNiceMock(ScopeContainerMonitor.class);
+        CompositeScopeContainer container = new CompositeScopeContainer(monitor);
+        container.start();
+        deploymentContext = new RootDeploymentContext(null, null, container, null);
+    }
 
+    private ComponentDefinition createTopComponentDef() throws Exception {
         CompositeComponentType<JavaMappedService, JavaMappedReference, JavaMappedProperty<?>> outerType =
             new CompositeComponentType<JavaMappedService, JavaMappedReference, JavaMappedProperty<?>>();
         outerType.add(createSourceComponentDef());
@@ -105,8 +118,7 @@
         outerImpl.setComponentType(outerType);
 
         ComponentDefinition def = new ComponentDefinition<CompositeImplementation>(outerImpl);
-        URI uri = URI.create("top");
-        def.setName(uri);
+        def.setUri(TOP_COMPONENT);
         return def;
     }
 
@@ -125,18 +137,17 @@
         service.setUri(URI.create("#InnerSourceService"));
         JavaServiceContract sourceContract = registry.introspect(Source.class);
         service.setServiceContract(sourceContract);
-        service.setTarget(new URI("InnerSourceComponent"));
+        service.setTarget(INNER_SOURCE_COMPONENT);
         innerType.add(service);
 
         CompositeImplementation innerImpl = new CompositeImplementation();
         innerImpl.setComponentType(innerType);
 
-        URI uri = URI.create("SourceComponent");
         ComponentDefinition<CompositeImplementation> sourceComponentDefinition =
-            new ComponentDefinition<CompositeImplementation>(uri, innerImpl);
+            new ComponentDefinition<CompositeImplementation>(SOURCE_COMPONENT, innerImpl);
         ReferenceTarget refTarget = new ReferenceTarget();
         refTarget.setReferenceName(URI.create("#TargetComponentRef"));
-        refTarget.addTarget(new URI("TargetComponent"));
+        refTarget.addTarget(TARGET_COMPONENT);
         sourceComponentDefinition.add(refTarget);
 
         return sourceComponentDefinition;
@@ -166,9 +177,8 @@
         sourceType.add(sourceServiceDefinition);
         sourceType.setConstructorDefinition(new ConstructorDefinition<SourceImpl>(SourceImpl.class.getConstructor()));
         JavaImplementation sourceImpl = new JavaImplementation(SourceImpl.class, sourceType);
-        URI uri = URI.create("InnerSourceComponent");
         ComponentDefinition<JavaImplementation> innerSourceComponentDefinition =
-            new ComponentDefinition<JavaImplementation>(uri, sourceImpl);
+            new ComponentDefinition<JavaImplementation>(INNER_SOURCE_COMPONENT, sourceImpl);
         ReferenceTarget refTarget = new ReferenceTarget();
         refTarget.setReferenceName(URI.create("#targetReference"));
         refTarget.addTarget(new URI("#TargetComponentRef"));
@@ -178,7 +188,6 @@
     }
 
     private ComponentDefinition<JavaImplementation> createTargetComponentDef() throws Exception {
-
         PojoComponentType<JavaMappedService, JavaMappedReference, JavaMappedProperty<?>> targetType =
             new PojoComponentType<JavaMappedService, JavaMappedReference, JavaMappedProperty<?>>();
         targetType.setImplementationScope(Scope.COMPOSITE);
@@ -196,16 +205,8 @@
         targetType.add(serviceDefinition);
         targetType.setConstructorDefinition(new ConstructorDefinition<TargetImpl>(TargetImpl.class.getConstructor()));
         JavaImplementation targetImpl = new JavaImplementation(TargetImpl.class, targetType);
-        URI uri = URI.create("TargetComponent");
-        return new ComponentDefinition<JavaImplementation>(uri, targetImpl);
-    }
-
-    protected void setUp() throws Exception {
-        super.setUp();
-        ScopeContainerMonitor monitor = EasyMock.createNiceMock(ScopeContainerMonitor.class);
-        CompositeScopeContainer container = new CompositeScopeContainer(monitor);
-        container.start();
-        deploymentContext = new RootDeploymentContext(null, null, container, null);
+        //URI uri = URI.create("TargetComponent");
+        return new ComponentDefinition<JavaImplementation>(TARGET_COMPONENT, targetImpl);
     }
 
 }

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=504606&r1=504605&r2=504606
==============================================================================
--- 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 Wed Feb  7 08:19:34 2007
@@ -57,8 +57,7 @@
     public void testReferencesServices() throws Exception {
         CompositeComponent composite = new CompositeComponentImpl(URI.create("parent"), null, null, null);
         Service service = EasyMock.createMock(Service.class);
-        EasyMock.expect(service.getName()).andReturn("foo").atLeastOnce();
-        EasyMock.expect(service.isSystem()).andReturn(false).atLeastOnce();
+        EasyMock.expect(service.getUri()).andReturn(URI.create("#service")).atLeastOnce();
         service.getServiceBindings();
         EasyMock.expectLastCall().andReturn(Collections.emptyList()).atLeastOnce();
         EasyMock.replay(service);
@@ -90,13 +89,10 @@
 
     private Reference getReference(String name) throws InvalidServiceContractException {
         ReferenceBinding binding = EasyMock.createNiceMock(ReferenceBinding.class);
-        EasyMock.expect(binding.isSystem()).andReturn(false).atLeastOnce();
         InboundWire wire = TestUtils.createInboundWire(Bar.class);
         wire.setContainer(binding);
         EasyMock.expect(binding.getInboundWire()).andReturn(wire).atLeastOnce();
-
-        binding.getName();
-        expectLastCall().andReturn(name).anyTimes();
+        EasyMock.expect(binding.getUri()).andReturn(URI.create("#reference")).atLeastOnce();
         replay(binding);
 
         Reference reference = new ReferenceImpl(URI.create(name), null, wire.getServiceContract());
@@ -107,8 +103,6 @@
     protected void setUp() throws Exception {
         super.setUp();
         component = EasyMock.createMock(AtomicComponent.class);
-        EasyMock.expect(component.getName()).andReturn("foo").atLeastOnce();
-        EasyMock.expect(component.isSystem()).andReturn(false).atLeastOnce();
         component.getInboundWires();
         EasyMock.expectLastCall().andReturn(Collections.emptyList()).atLeastOnce();
         EasyMock.replay(component);

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=504606&r1=504605&r2=504606
==============================================================================
--- 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 Wed Feb  7 08:19:34 2007
@@ -40,14 +40,12 @@
         services.add(Foo.class);
         CompositeComponent parent = new CompositeComponentImpl(URI.create("foo"), null, null, null);
         AtomicComponent component = EasyMock.createMock(AtomicComponent.class);
-        EasyMock.expect(component.getName()).andReturn("bar").atLeastOnce();
-        EasyMock.expect(component.isSystem()).andReturn(true).atLeastOnce();
+        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);
-        assertNull(parent.getChild("bar"));
-        assertNotNull(parent.getSystemChild("bar"));
+        assertNotNull(parent.getChild("bar"));
         EasyMock.verify(component);
     }
 
@@ -56,110 +54,24 @@
         services.add(Foo.class);
         CompositeComponent parent = new CompositeComponentImpl(URI.create("foo"), null, null, null);
         AtomicComponent component = EasyMock.createMock(AtomicComponent.class);
-        EasyMock.expect(component.getName()).andReturn("bar").atLeastOnce();
-        EasyMock.expect(component.isSystem()).andReturn(false).atLeastOnce();
+        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);
-        assertNull(parent.getSystemChild("bar"));
         assertNotNull(parent.getChild("bar"));
         EasyMock.verify(component);
     }
 
-    /**
-     * Verifies a system service and application component can be registered with the same name in a composite
-     */
-    public void testSystemServiceApplicationNamespaceIsolation() throws Exception {
-        List<Class<?>> services = new ArrayList<Class<?>>();
-        services.add(Foo.class);
-        CompositeComponent parent = new CompositeComponentImpl(URI.create("foo"), null, null, null);
-        AtomicComponent component = EasyMock.createMock(AtomicComponent.class);
-        EasyMock.expect(component.getName()).andReturn("bar").atLeastOnce();
-        EasyMock.expect(component.isSystem()).andReturn(true).atLeastOnce();
-        List<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.isSystem()).andReturn(false).atLeastOnce();
-        EasyMock.expect(component2.getInboundWires()).andReturn(wires).atLeastOnce();
-        EasyMock.replay(component2);
-        parent.register(component2);
-        EasyMock.verify(component);
-        EasyMock.verify(component2);
-    }
-
-    public void testSystemServiceLifecycle() throws Exception {
-        List<Class<?>> services = new ArrayList<Class<?>>();
-        services.add(Foo.class);
-        CompositeComponent parent = new CompositeComponentImpl(URI.create("foo"), null, null, null);
-        AtomicComponent component = EasyMock.createMock(AtomicComponent.class);
-        component.start();
-        EasyMock.expect(component.getName()).andReturn("bar").atLeastOnce();
-        EasyMock.expect(component.isSystem()).andReturn(true).atLeastOnce();
-        component.stop();
-        List<InboundWire> wires = TestUtils.createInboundWires(services);
-        EasyMock.expect(component.getInboundWires()).andReturn(wires).atLeastOnce();
-        EasyMock.replay(component);
-        parent.register(component);
-        parent.start();
-        parent.stop();
-        EasyMock.verify(component);
-    }
-
-    public void testComponentLifecycle() throws Exception {
-        List<Class<?>> services = new ArrayList<Class<?>>();
-        services.add(Foo.class);
-        CompositeComponent parent = new CompositeComponentImpl(URI.create("foo"), null, null, null);
-        AtomicComponent component = EasyMock.createMock(AtomicComponent.class);
-        component.start();
-        EasyMock.expect(component.getName()).andReturn("bar").atLeastOnce();
-        EasyMock.expect(component.isSystem()).andReturn(false).atLeastOnce();
-        List<InboundWire> wires = TestUtils.createInboundWires(services);
-        EasyMock.expect(component.getInboundWires()).andReturn(wires).atLeastOnce();
-        component.stop();
-        EasyMock.replay(component);
-        parent.register(component);
-        parent.start();
-        parent.stop();
-        EasyMock.verify(component);
-    }
-
-    public void testSystemAutowire() throws Exception {
-        List<Class<?>> services = new ArrayList<Class<?>>();
-        services.add(Foo.class);
-        CompositeComponent parent = new CompositeComponentImpl(URI.create("foo"), null, null, null);
-        AtomicComponent component = EasyMock.createMock(AtomicComponent.class);
-        component.start();
-        EasyMock.expect(component.getName()).andReturn("bar").atLeastOnce();
-        EasyMock.expect(component.isSystem()).andReturn(true).atLeastOnce();
-        List<InboundWire> wires = TestUtils.createInboundWires(services);
-        EasyMock.expect(component.getInboundWires()).andReturn(wires).atLeastOnce();
-        component.stop();
-        EasyMock.replay(component);
-        parent.register(component);
-        parent.start();
-        assertNull(parent.resolveSystemExternalAutowire(Foo.class));
-        assertNotNull(parent.resolveSystemAutowire(Foo.class));
-        parent.stop();
-        EasyMock.verify(component);
-    }
-
-
     public void testAutowire() throws Exception {
         List<Class<?>> services = new ArrayList<Class<?>>();
         services.add(Foo.class);
         CompositeComponent parent = new CompositeComponentImpl(URI.create("foo"), null, null, null);
         AtomicComponent component = EasyMock.createMock(AtomicComponent.class);
-        component.start();
-        EasyMock.expect(component.getName()).andReturn("bar").atLeastOnce();
+        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.expect(component.isSystem()).andReturn(false).atLeastOnce();
-        component.stop();
         EasyMock.replay(component);
         parent.register(component);
         parent.start();

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=504606&r1=504605&r2=504606
==============================================================================
--- 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 Wed Feb  7 08:19:34 2007
@@ -18,9 +18,9 @@
  */
 package org.apache.tuscany.core.implementation.composite;
 
+import java.net.URI;
 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;
@@ -39,20 +39,18 @@
 public class CompositeComponentResolutionTestCase extends TestCase {
 
     public void testSystemComponentResolution() throws Exception {
-        CompositeComponent parent = new CompositeComponentImpl(URI.create("foo"), null, null, true);
+        CompositeComponent parent = new CompositeComponentImpl(URI.create("foo"), null, null);
         parent.start();
         List<Class<?>> interfaces = new ArrayList<Class<?>>();
         interfaces.add(Source.class);
         AtomicComponent component = EasyMock.createMock(AtomicComponent.class);
-        EasyMock.expect(component.getName()).andReturn("source").atLeastOnce();
-        EasyMock.expect(component.isSystem()).andReturn(true).atLeastOnce();
+        EasyMock.expect(component.getUri()).andReturn(URI.create("source")).atLeastOnce();
         List<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"));
-        assertTrue(parent.getSystemChild("source") instanceof AtomicComponent);
+        assertTrue(parent.getChild("source") instanceof AtomicComponent);
         EasyMock.verify(component);
     }
 
@@ -62,14 +60,12 @@
         List<Class<?>> interfaces = new ArrayList<Class<?>>();
         interfaces.add(Source.class);
         AtomicComponent component = EasyMock.createMock(AtomicComponent.class);
-        EasyMock.expect(component.getName()).andReturn("source").atLeastOnce();
-        EasyMock.expect(component.isSystem()).andReturn(false).atLeastOnce();
+        EasyMock.expect(component.getUri()).andReturn(URI.create("source")).atLeastOnce();
         List<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"));
         assertTrue(parent.getChild("source") instanceof AtomicComponent);
         EasyMock.verify(component);
     }

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=504606&r1=504605&r2=504606
==============================================================================
--- 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 Wed Feb  7 08:19:34 2007
@@ -18,17 +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.wire.InboundWire;
+import org.apache.tuscany.spi.event.RuntimeEventListener;
 
 import junit.framework.TestCase;
-import org.apache.tuscany.core.implementation.TestUtils;
-import org.apache.tuscany.core.mock.component.Source;
+import org.apache.tuscany.core.component.event.ComponentStart;
+import org.apache.tuscany.core.component.event.ComponentStop;
 import org.easymock.EasyMock;
 
 /**
@@ -36,79 +33,20 @@
  */
 public class CompositeLifecycleTestCase extends TestCase {
 
-    public void testLifecycle() throws Exception {
-        CompositeComponent composite = new CompositeComponentImpl(URI.create("foo"), null, null, null);
-        composite.start();
-        assertNull(composite.getChild("nothtere"));
-        composite.stop();
-        composite.start();
-        assertNull(composite.getChild("nothtere"));
-        composite.stop();
-    }
-
-    public void testSystemRestart() throws Exception {
-        List<Class<?>> interfaces = new ArrayList<Class<?>>();
-        interfaces.add(Source.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();
-
-        List<InboundWire> wires = TestUtils.createInboundWires(interfaces);
-        TestUtils.populateInboundWires(component, wires);
-        EasyMock.expect(component.getInboundWires()).andReturn(wires).atLeastOnce();
-
-        EasyMock.replay(component);
-
-        CompositeComponent composite = new CompositeComponentImpl(URI.create("foo"), null, null, null);
-        composite.start();
-        composite.register(component);
-
-        assertTrue(composite.getSystemChild("source") instanceof AtomicComponent);
-        composite.stop();
-        composite.start();
-        assertTrue(composite.getSystemChild("source") instanceof AtomicComponent);
-        composite.stop();
-        EasyMock.verify(component);
-    }
-
     public void testRestart() throws Exception {
-        List<Class<?>> interfaces = new ArrayList<Class<?>>();
-        interfaces.add(Source.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(false).atLeastOnce();
-
-        List<InboundWire> wires = TestUtils.createInboundWires(interfaces);
-        TestUtils.populateInboundWires(component, wires);
-        EasyMock.expect(component.getInboundWires()).andReturn(wires).atLeastOnce();
-
-        EasyMock.replay(component);
-
+        RuntimeEventListener listener = EasyMock.createMock(RuntimeEventListener.class);
+        listener.onEvent(EasyMock.isA(ComponentStart.class));
+        listener.onEvent(EasyMock.isA(ComponentStop.class));
+        listener.onEvent(EasyMock.isA(ComponentStart.class));
+        listener.onEvent(EasyMock.isA(ComponentStop.class));
+        EasyMock.replay(listener);
         CompositeComponent composite = new CompositeComponentImpl(URI.create("foo"), null, null, null);
+        composite.addListener(listener);
         composite.start();
-        composite.register(component);
-
-        assertTrue(composite.getChild("source") instanceof AtomicComponent);
         composite.stop();
         composite.start();
-        assertTrue(composite.getChild("source") instanceof AtomicComponent);
         composite.stop();
-        EasyMock.verify(component);
-    }
-
-    public void testChildStoppedBeforeParent() throws Exception {
-        CompositeComponent parent = new CompositeComponentImpl(URI.create("parent"), null, null, null);
-        CompositeComponent child = new CompositeComponentImpl(URI.create("child"), null, null, null);
-        parent.register(child);
-        parent.start();
-        child.stop();
-        parent.stop();
+        EasyMock.verify(listener);
     }
 
     protected void setUp() throws Exception {



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