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 [2/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/main/java/org/apache/tuscany/core/wire/OutboundWireImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/wire/OutboundWireImpl.java?view=diff&rev=504606&r1=504605&r2=504606
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/wire/OutboundWireImpl.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/wire/OutboundWireImpl.java Wed Feb  7 08:19:34 2007
@@ -18,12 +18,11 @@
  */
 package org.apache.tuscany.core.wire;
 
+import java.net.URI;
 import java.util.HashMap;
 import java.util.Map;
-import java.net.URI;
 import javax.xml.namespace.QName;
 
-import org.apache.tuscany.spi.QualifiedName;
 import org.apache.tuscany.spi.component.SCAObject;
 import org.apache.tuscany.spi.component.TargetResolutionException;
 import org.apache.tuscany.spi.model.Operation;
@@ -46,7 +45,6 @@
     private Map<Operation<?>, InboundInvocationChain> callbackTargetChains =
         new HashMap<Operation<?>, InboundInvocationChain>();
     private URI uri;
-    private QualifiedName targetName;
     private URI target;
     private InboundWire targetWire;
     private SCAObject container;
@@ -106,14 +104,6 @@
 
     public void setUri(URI referenceUri) {
         this.uri = referenceUri;
-    }
-
-    public QualifiedName getTargetName() {
-        return targetName;
-    }
-
-    public void setTargetName(QualifiedName targetName) {
-        this.targetName = targetName;
     }
 
     public URI getTargetUri() {

Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/wire/WireServiceExtension.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/wire/WireServiceExtension.java?view=diff&rev=504606&r1=504605&r2=504606
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/wire/WireServiceExtension.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/wire/WireServiceExtension.java Wed Feb  7 08:19:34 2007
@@ -23,8 +23,6 @@
 import java.util.List;
 import java.util.Map;
 
-import org.apache.tuscany.core.binding.local.LocalReferenceBinding;
-import org.apache.tuscany.spi.QualifiedName;
 import org.apache.tuscany.spi.component.AtomicComponent;
 import org.apache.tuscany.spi.component.ReferenceBinding;
 import org.apache.tuscany.spi.component.ServiceBinding;
@@ -46,6 +44,8 @@
 import org.apache.tuscany.spi.wire.OutboundWire;
 import org.apache.tuscany.spi.wire.WireService;
 
+import org.apache.tuscany.core.binding.local.LocalReferenceBinding;
+
 /**
  * Base class for wire service extensions
  *
@@ -117,7 +117,7 @@
         }
     }
 
-    public void createWires(ReferenceBinding referenceBinding, ServiceContract<?> contract, QualifiedName targetName) {
+    public void createWires(ReferenceBinding referenceBinding, ServiceContract<?> contract, URI target) {
         InboundWire inboundWire = new InboundWireImpl(referenceBinding.getBindingType());
         inboundWire.setServiceContract(contract);
         inboundWire.setContainer(referenceBinding);
@@ -127,8 +127,8 @@
             inboundWire.addInvocationChain(operation, chain);
         }
         OutboundWire outboundWire = new OutboundWireImpl(referenceBinding.getBindingType());
-        outboundWire.setTargetName(targetName);
         outboundWire.setUri(referenceBinding.getUri());
+        outboundWire.setTargetUri(target);
         // [rfeng] Check if the Reference has the binding contract
         ServiceContract<?> bindingContract = referenceBinding.getBindingServiceContract();
         if (bindingContract == null) {
@@ -142,7 +142,7 @@
                 // Not ideal but the local binding case is special as its inbound and outbound wires are connected
                 // before the outbound wire is connected to the reference target. This requires the binding outbound
                 // chain to have an interceptor to connect to from the binding inbound chain. This outbound
-                // interceptor will then be bridged to the head target interceptor 
+                // interceptor will then be bridged to the head target interceptor
                 chain.addInterceptor(new SynchronousBridgingInterceptor());
             } else {
                 chain.addInterceptor(new InvokerInterceptor());
@@ -182,8 +182,8 @@
         OutboundWire outboundWire = new OutboundWireImpl(serviceBinding.getBindingType());
         outboundWire.setServiceContract(contract);
         outboundWire.setUri(serviceBinding.getUri());
-        outboundWire.setTargetName(new QualifiedName(targetName));
         outboundWire.setContainer(serviceBinding);
+        outboundWire.setTargetUri(URI.create(targetName));
 
         for (Operation<?> operation : contract.getOperations().values()) {
             OutboundInvocationChain outboundChain = createOutboundChain(operation);
@@ -295,10 +295,9 @@
         } else {
             for (URI uri : target.getTargets()) {
                 OutboundWire wire = new OutboundWireImpl();
-                QualifiedName qName = new QualifiedName(uri.toString());
-                wire.setTargetName(qName);
                 wire.setServiceContract(contract);
                 wire.setUri(target.getReferenceName());
+                wire.setTargetUri(uri);
                 for (Operation<?> operation : contract.getOperations().values()) {
                     // TODO handle policy
                     OutboundInvocationChain chain = createOutboundChain(operation);

Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/wire/jdk/JDKCallbackInvocationHandler.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/wire/jdk/JDKCallbackInvocationHandler.java?view=diff&rev=504606&r1=504605&r2=504606
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/wire/jdk/JDKCallbackInvocationHandler.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/wire/jdk/JDKCallbackInvocationHandler.java Wed Feb  7 08:19:34 2007
@@ -27,6 +27,7 @@
 import java.lang.reflect.Method;
 import java.util.LinkedList;
 import java.util.Map;
+import java.net.URI;
 
 import org.osoa.sca.NoRegisteredCallbackException;
 
@@ -84,11 +85,11 @@
         }
         Object correlationId = context.getCurrentCorrelationId();
         context.setCurrentCorrelationId(null);
-        LinkedList<Object> callbackRoutingChain = (LinkedList<Object>) context.getCurrentCallbackRoutingChain().clone();
+        LinkedList<URI> callbackRoutingChain = (LinkedList<URI>) context.getCurrentCallbackRoutingChain().clone();
         if (callbackRoutingChain == null) {
             throw new AssertionError("Missing stack of from addresses");
         }
-        Object targetAddress = callbackRoutingChain.removeFirst();
+        URI targetAddress = callbackRoutingChain.removeFirst();
         if (targetAddress == null) {
             throw new AssertionError("Popped a null from address from stack");
         }

Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/wire/jdk/JDKOutboundInvocationHandler.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/wire/jdk/JDKOutboundInvocationHandler.java?view=diff&rev=504606&r1=504605&r2=504606
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/wire/jdk/JDKOutboundInvocationHandler.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/wire/jdk/JDKOutboundInvocationHandler.java Wed Feb  7 08:19:34 2007
@@ -27,6 +27,7 @@
 import java.util.List;
 import java.util.Map;
 import java.util.UUID;
+import java.net.URI;
 
 import org.osoa.sca.NoRegisteredCallbackException;
 
@@ -39,6 +40,7 @@
 import static org.apache.tuscany.spi.model.InteractionScope.CONVERSATIONAL;
 import org.apache.tuscany.spi.model.Scope;
 import org.apache.tuscany.spi.model.ServiceContract;
+import org.apache.tuscany.spi.util.UriHelper;
 import org.apache.tuscany.spi.wire.AbstractOutboundInvocationHandler;
 import org.apache.tuscany.spi.wire.OutboundChainHolder;
 import org.apache.tuscany.spi.wire.OutboundInvocationChain;
@@ -70,7 +72,7 @@
      */
     private transient Map<Method, OutboundChainHolder> chains;
     private transient WorkContext workContext;
-    private transient Object fromAddress;
+    private transient URI fromAddress;
     private transient boolean wireContainerIsAtomicComponent;
     private transient boolean contractHasCallback;
     private transient boolean callbackIsImplemented;
@@ -175,7 +177,7 @@
         return invoke(null, method, args);
     }
 
-    protected Object getFromAddress() {
+    protected URI getFromAddress() {
         return contractHasCallback ? fromAddress : null;
     }
 
@@ -200,7 +202,7 @@
         }
         List<OutboundWire> wires = owner.getOutboundWires().get(referenceName);
         if (wires == null) {
-            throw new ReactivationException("Reference wire not found", referenceName, owner.getName());
+            throw new ReactivationException("Reference wire not found", referenceName, owner.getUri().toString());
         }
         // TODO handle multiplicity
         OutboundWire wire = wires.get(0);
@@ -215,8 +217,9 @@
         throws NoMethodForOperationException {
         ServiceContract contract = wire.getServiceContract();
         this.referenceName = wire.getUri().getFragment();
-        SCAObject wireContainer = wire.getContainer();
-        this.fromAddress = (wireContainer == null) ? null : wireContainer.getName();
+        // TODO JFM remove getContainer
+        SCAObject scaObject = wire.getContainer();
+        this.fromAddress =  UriHelper.getDefragmentedName(wire.getUri());
         this.contractIsConversational = contract.getInteractionScope().equals(CONVERSATIONAL);
         this.contractIsRemotable = contract.isRemotable();
         this.contractHasCallback = contract.getCallbackClass() != null;
@@ -226,10 +229,10 @@
             this.callbackClassName = null;
         }
         // FIXME JFM this should be done during the callback and not be dependent on PojoAtomicComponent
-        this.wireContainerIsAtomicComponent = wireContainer instanceof PojoAtomicComponent;
+        this.wireContainerIsAtomicComponent = scaObject instanceof PojoAtomicComponent;
         if (wireContainerIsAtomicComponent && contractHasCallback) {
             this.callbackIsImplemented =
-                ((PojoAtomicComponent) wireContainer).implementsCallback(contract.getCallbackClass());
+                ((PojoAtomicComponent) scaObject).implementsCallback(contract.getCallbackClass());
         } else {
             this.callbackIsImplemented = false;
         }

Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/binding/local/LocalCallbackTargetInvokerInvocationExceptionTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/binding/local/LocalCallbackTargetInvokerInvocationExceptionTestCase.java?view=diff&rev=504606&r1=504605&r2=504606
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/binding/local/LocalCallbackTargetInvokerInvocationExceptionTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/binding/local/LocalCallbackTargetInvokerInvocationExceptionTestCase.java Wed Feb  7 08:19:34 2007
@@ -1,6 +1,7 @@
 package org.apache.tuscany.core.binding.local;
 
 import java.lang.reflect.Type;
+import java.net.URI;
 import java.util.HashMap;
 import java.util.Map;
 
@@ -38,7 +39,7 @@
 
     protected void setUp() throws Exception {
         super.setUp();
-        Object targetAddress = new Object();
+        URI targetAddress = URI.create("from");
         message = new MessageImpl();
         message.pushFromAddress(targetAddress);
         message.setBody("foo");

Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/binding/local/LocalCallbackTargetInvokerTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/binding/local/LocalCallbackTargetInvokerTestCase.java?view=diff&rev=504606&r1=504605&r2=504606
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/binding/local/LocalCallbackTargetInvokerTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/binding/local/LocalCallbackTargetInvokerTestCase.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.model.Operation;
 import org.apache.tuscany.spi.wire.InboundWire;
@@ -55,7 +56,7 @@
 
     protected void setUp() throws Exception {
         super.setUp();
-        Object targetAddress = new Object();
+        URI targetAddress = URI.create("from");
         message = new MessageImpl();
         message.pushFromAddress(targetAddress);
         message.setBody("foo");

Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/binding/local/LocalCallbackTargetInvokerThrowableTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/binding/local/LocalCallbackTargetInvokerThrowableTestCase.java?view=diff&rev=504606&r1=504605&r2=504606
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/binding/local/LocalCallbackTargetInvokerThrowableTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/binding/local/LocalCallbackTargetInvokerThrowableTestCase.java Wed Feb  7 08:19:34 2007
@@ -22,6 +22,7 @@
 import java.lang.reflect.UndeclaredThrowableException;
 import java.util.HashMap;
 import java.util.Map;
+import java.net.URI;
 
 import org.apache.tuscany.spi.model.Operation;
 import org.apache.tuscany.spi.wire.InboundWire;
@@ -64,7 +65,7 @@
     @SuppressWarnings("unchecked")
     protected void setUp() throws Exception {
         super.setUp();
-        Object targetAddress = new Object();
+        URI targetAddress = URI.create("from");
         message = new MessageImpl();
         message.pushFromAddress(targetAddress);
         message.setBody("foo");

Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/binding/local/LocalTargetInvokerTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/binding/local/LocalTargetInvokerTestCase.java?view=diff&rev=504606&r1=504605&r2=504606
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/binding/local/LocalTargetInvokerTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/binding/local/LocalTargetInvokerTestCase.java Wed Feb  7 08:19:34 2007
@@ -74,14 +74,15 @@
         Map<Operation<?>, OutboundInvocationChain> chains = new HashMap<Operation<?>, OutboundInvocationChain>();
         chains.put(operation, chain);
         OutboundWire wire = EasyMock.createMock(OutboundWire.class);
-        EasyMock.expect(wire.getUri()).andReturn(URI.create("foo")).atLeastOnce();
+        URI uri = URI.create("foo");
+        EasyMock.expect(wire.getUri()).andReturn(uri).atLeastOnce();
         wire.getInvocationChains();
         EasyMock.expectLastCall().andReturn(chains);
         EasyMock.expect(wire.getServiceContract()).andReturn(contract);
         EasyMock.replay(wire);
         TargetInvoker invoker = new LocalTargetInvoker(operation, wire);
         Message msg = EasyMock.createMock(Message.class);
-        msg.pushFromAddress(EasyMock.eq("foo"));
+        msg.pushFromAddress(EasyMock.eq(uri));
         EasyMock.replay(msg);
         invoker.invoke(msg);
         EasyMock.verify(msg);

Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/builder/AbstractConnectorImplTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/builder/AbstractConnectorImplTestCase.java?view=diff&rev=504606&r1=504605&r2=504606
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/builder/AbstractConnectorImplTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/builder/AbstractConnectorImplTestCase.java Wed Feb  7 08:19:34 2007
@@ -28,7 +28,6 @@
 import java.util.Map;
 import javax.xml.namespace.QName;
 
-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;
@@ -53,6 +52,8 @@
 import junit.framework.TestCase;
 import org.apache.tuscany.core.binding.local.LocalReferenceBinding;
 import org.apache.tuscany.core.binding.local.LocalServiceBinding;
+import org.apache.tuscany.core.component.ComponentManager;
+import org.apache.tuscany.core.component.ComponentManagerImpl;
 import org.apache.tuscany.core.implementation.composite.ServiceImpl;
 import org.apache.tuscany.core.mock.binding.MockServiceBinding;
 import org.apache.tuscany.core.wire.InboundInvocationChainImpl;
@@ -69,19 +70,20 @@
  */
 public abstract class AbstractConnectorImplTestCase extends TestCase {
     protected static final URI TARGET = URI.create("target");
-    protected static final QualifiedName TARGET_NAME = new QualifiedName("target");
-    protected static final String TARGET_SERVICE = "FooService";
-    protected static final QualifiedName TARGET_SERVICE_NAME = new QualifiedName("target/FooService");
+    protected static final String TARGET_FRAGMENT = "Foo";
+    protected static final URI TARGET_NAME = URI.create("target#Foo");
     protected static final String RESPONSE = "response";
 
     protected ConnectorImpl connector;
+    protected ComponentManager componentManager;
     protected ServiceContract contract;
     protected Operation<Type> operation;
 
     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);
         contract = new JavaServiceContract(Foo.class);
         operation = new Operation<Type>("bar", null, null, null);
     }
@@ -90,6 +92,7 @@
         InboundInvocationChain chain = new InboundInvocationChainImpl(operation);
         chain.addInterceptor(new InvokerInterceptor());
         InboundWire targetWire = new InboundWireImpl();
+        targetWire.setUri(TARGET);
         targetWire.setServiceContract(contract);
         targetWire.addInvocationChain(operation, chain);
 
@@ -100,10 +103,9 @@
         EasyMock.expect(target.getUri()).andReturn(TARGET).anyTimes();
         EasyMock.expect(target.isOptimizable()).andReturn(false).anyTimes();
         EasyMock.expect(target.getScope()).andReturn(Scope.COMPOSITE).atLeastOnce();
-        EasyMock.expect(target.isSystem()).andReturn(false).atLeastOnce();
-        target.getInboundWire(EasyMock.eq(TARGET_SERVICE));
+        target.getTargetWire(EasyMock.eq(TARGET_FRAGMENT));
         EasyMock.expectLastCall().andReturn(targetWire).atLeastOnce();
-        target.createTargetInvoker(EasyMock.eq(TARGET_SERVICE), EasyMock.eq(operation), EasyMock.eq(targetWire));
+        target.createTargetInvoker(EasyMock.eq(TARGET_FRAGMENT), EasyMock.eq(operation), EasyMock.eq(targetWire));
         EasyMock.expectLastCall().andReturn(mockInvoker);
         EasyMock.replay(target);
         targetWire.setContainer(target);
@@ -115,22 +117,21 @@
         OutboundInvocationChain outboundChain = new OutboundInvocationChainImpl(operation);
 
         OutboundWire outboundWire = new OutboundWireImpl();
-        outboundWire.setTargetName(TARGET_SERVICE_NAME);
+        outboundWire.setTargetUri(TARGET_NAME);
         outboundWire.setServiceContract(contract);
         outboundWire.addInvocationChain(operation, outboundChain);
 
         Map<String, List<OutboundWire>> outboundWires = new HashMap<String, List<OutboundWire>>();
         List<OutboundWire> list = new ArrayList<OutboundWire>();
         list.add(outboundWire);
-        outboundWires.put(TARGET_SERVICE, list);
+        outboundWires.put(TARGET_FRAGMENT, list);
 
         // create the source
         AtomicComponent source = EasyMock.createMock(AtomicComponent.class);
-        EasyMock.expect(source.isSystem()).andReturn(false).atLeastOnce();
-        EasyMock.expect(source.getScope()).andReturn(Scope.COMPOSITE);
+        EasyMock.expect(source.getScope()).andReturn(Scope.COMPOSITE).atLeastOnce();
         EasyMock.expect(source.getParent()).andReturn(parent).atLeastOnce();
         EasyMock.expect(source.getOutboundWires()).andReturn(outboundWires).atLeastOnce();
-        EasyMock.expect(source.getName()).andReturn("source").atLeastOnce();
+        EasyMock.expect(source.getUri()).andReturn(URI.create("source")).atLeastOnce();
         source.getInboundWires();
         EasyMock.expectLastCall().andReturn(Collections.emptyList());
         EasyMock.replay(source);
@@ -179,6 +180,7 @@
         InboundInvocationChain targetInboundChain = new InboundInvocationChainImpl(operation);
         targetInboundChain.addInterceptor(new SynchronousBridgingInterceptor());
         InboundWire localServiceInboundWire = new InboundWireImpl();
+        localServiceInboundWire.setUri(TARGET);
         localServiceInboundWire.setServiceContract(contract);
         localServiceInboundWire.addInvocationChain(operation, targetInboundChain);
         localServiceInboundWire.setContainer(serviceBinding);
@@ -200,27 +202,26 @@
         return service;
     }
 
-    protected ReferenceBinding createLocalReferenceBinding(QualifiedName target)
+    protected ReferenceBinding createLocalReferenceBinding(URI uri, URI target)
         throws TargetInvokerCreationException {
-        ReferenceBinding referenceBinding = new LocalReferenceBinding(URI.create("local"), null);
+        ReferenceBinding referenceBinding = new LocalReferenceBinding(uri, null);
         InboundInvocationChain inboundChain = new InboundInvocationChainImpl(operation);
         InboundWire referenceInboundWire = new InboundWireImpl();
         referenceInboundWire.setServiceContract(contract);
         referenceInboundWire.setContainer(referenceBinding);
         referenceInboundWire.addInvocationChain(operation, inboundChain);
-
+        referenceInboundWire.setUri(uri);
         OutboundInvocationChain outboundChain = new OutboundInvocationChainImpl(operation);
         // Outbound chains always contains at least one interceptor
         outboundChain.addInterceptor(new SynchronousBridgingInterceptor());
         OutboundWire outboundWire = new OutboundWireImpl();
         outboundWire.setServiceContract(contract);
-        outboundWire.setTargetName(target);
+        outboundWire.setTargetUri(target);
         outboundWire.addInvocationChain(operation, outboundChain);
         outboundWire.setContainer(referenceBinding);
-
+        outboundWire.setUri(uri);
         referenceBinding.setInboundWire(referenceInboundWire);
         referenceBinding.setOutboundWire(outboundWire);
-
         return referenceBinding;
     }
 

Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/builder/AtomicConnectorTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/builder/AtomicConnectorTestCase.java?view=diff&rev=504606&r1=504605&r2=504606
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/builder/AtomicConnectorTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/builder/AtomicConnectorTestCase.java Wed Feb  7 08:19:34 2007
@@ -18,15 +18,14 @@
  */
 package org.apache.tuscany.core.builder;
 
+import java.net.URI;
 import java.util.List;
 import java.util.Map;
-import java.net.URI;
 
 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.ServiceBinding;
-import org.apache.tuscany.spi.model.Scope;
 import org.apache.tuscany.spi.wire.InboundInvocationChain;
 import org.apache.tuscany.spi.wire.InboundWire;
 import org.apache.tuscany.spi.wire.Message;
@@ -35,6 +34,7 @@
 import org.apache.tuscany.spi.wire.OutboundWire;
 
 import org.apache.tuscany.core.implementation.composite.ServiceImpl;
+import org.apache.tuscany.core.mock.binding.MockServiceBinding;
 import org.apache.tuscany.core.wire.InboundInvocationChainImpl;
 import org.apache.tuscany.core.wire.InboundWireImpl;
 import org.apache.tuscany.core.wire.OutboundInvocationChainImpl;
@@ -48,37 +48,33 @@
 
     public void testConnectSynchronousServiceWiresToAtomicTarget() throws Exception {
         AtomicComponent target = createAtomicTarget();
-
+        componentManager.register(target);
         // create the parent composite
-        CompositeComponent parent = EasyMock.createMock(CompositeComponent.class);
-        EasyMock.expect(parent.getChild("target")).andReturn(target);
-        EasyMock.replay(parent);
 
+        URI sourceUri = URI.create("source");
         InboundInvocationChain inboundChain = new InboundInvocationChainImpl(operation);
         InboundWire inboundWire = new InboundWireImpl();
+        inboundWire.setUri(sourceUri);
         inboundWire.addInvocationChain(operation, inboundChain);
         inboundWire.setServiceContract(contract);
 
         OutboundInvocationChain outboundChain = new OutboundInvocationChainImpl(operation);
         OutboundWire outboundWire = new OutboundWireImpl();
-        outboundWire.setTargetName(TARGET_SERVICE_NAME);
+        outboundWire.setUri(sourceUri);
+        outboundWire.setTargetUri(TARGET_NAME);
         outboundWire.addInvocationChain(operation, outboundChain);
         outboundWire.setServiceContract(contract);
 
         // create the binding
-        ServiceBinding binding = EasyMock.createMock(ServiceBinding.class);
-        EasyMock.expect(binding.getName()).andReturn("source");
-        binding.setService(EasyMock.isA(Service.class));
-        EasyMock.expect(binding.isSystem()).andReturn(false).atLeastOnce();
-        EasyMock.expect(binding.getInboundWire()).andReturn(inboundWire).atLeastOnce();
-        EasyMock.expect(binding.getOutboundWire()).andReturn(outboundWire);
-        EasyMock.expect(binding.getScope()).andReturn(Scope.SYSTEM);
-        EasyMock.replay(binding);
-
+        ServiceBinding binding = new MockServiceBinding(sourceUri);
+        binding.setOutboundWire(outboundWire);
+        binding.setInboundWire(inboundWire);
         outboundWire.setContainer(binding);
         inboundWire.setContainer(binding);
 
-        Service service = new ServiceImpl(URI.create("foo"), parent, null);
+        CompositeComponent parent = EasyMock.createMock(CompositeComponent.class);
+        EasyMock.replay(parent);
+        Service service = new ServiceImpl(sourceUri, parent, null);
         service.addServiceBinding(binding);
 
         connector.connect(service);
@@ -86,15 +82,6 @@
         msg.setTargetInvoker(inboundChain.getTargetInvoker());
         Message resp = inboundChain.getHeadInterceptor().invoke(msg);
         assertEquals(RESPONSE, resp.getBody());
-        EasyMock.verify(binding);
-    }
-
-    public void testConnectNonBlockingServiceWiresToAtomicTarget() throws Exception {
-        // JFM FIXME
-    }
-
-    public void testConnectCallbackServiceWiresToAtomicTarget() throws Exception {
-        // JFM FIXME
     }
 
     /**
@@ -103,16 +90,16 @@
     public void testConnectAtomicComponentToAtomicComponentSyncWire() throws Exception {
 
         AtomicComponent target = createAtomicTarget();
+        componentManager.register(target);
         // create the parent composite
         CompositeComponent parent = EasyMock.createMock(CompositeComponent.class);
-        EasyMock.expect(parent.getChild("target")).andReturn(target);
         EasyMock.replay(parent);
         AtomicComponent source = createAtomicSource(parent);
         connector.connect(source);
 
         MessageImpl msg = new MessageImpl();
         Map<String, List<OutboundWire>> wires = source.getOutboundWires();
-        OutboundWire wire = wires.get(TARGET_SERVICE).get(0);
+        OutboundWire wire = wires.get(TARGET_FRAGMENT).get(0);
         OutboundInvocationChain chain = wire.getInvocationChains().get(operation);
         msg.setTargetInvoker(chain.getTargetInvoker());
         Message resp = chain.getHeadInterceptor().invoke(msg);

Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/builder/BuilderRegistryTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/builder/BuilderRegistryTestCase.java?view=diff&rev=504606&r1=504605&r2=504606
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/builder/BuilderRegistryTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/builder/BuilderRegistryTestCase.java Wed Feb  7 08:19:34 2007
@@ -20,7 +20,6 @@
 
 import java.net.URI;
 
-import org.apache.tuscany.spi.QualifiedName;
 import org.apache.tuscany.spi.builder.BindingBuilder;
 import org.apache.tuscany.spi.builder.BuilderConfigException;
 import org.apache.tuscany.spi.builder.BuilderRegistry;
@@ -104,7 +103,7 @@
     public void testReferenceBindingBuilderDispatch() throws Exception {
         WireService wireService = EasyMock.createMock(WireService.class);
         wireService.createWires(EasyMock.isA(ReferenceBinding.class),
-            (ServiceContract) EasyMock.isNull(), (QualifiedName) EasyMock.isNull()
+            (ServiceContract) EasyMock.isNull(), (URI) EasyMock.isNull()
         );
         EasyMock.expectLastCall().times(2);
         EasyMock.replay(wireService);

Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/builder/ConnectorImplTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/builder/ConnectorImplTestCase.java?view=diff&rev=504606&r1=504605&r2=504606
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/builder/ConnectorImplTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/builder/ConnectorImplTestCase.java Wed Feb  7 08:19:34 2007
@@ -19,6 +19,7 @@
 package org.apache.tuscany.core.builder;
 
 import java.lang.reflect.Type;
+import java.net.URI;
 import java.util.Collections;
 
 import org.apache.tuscany.spi.component.AtomicComponent;
@@ -51,7 +52,6 @@
 
     public void testConnectTargetNotFound() throws Exception {
         CompositeComponent parent = EasyMock.createMock(CompositeComponent.class);
-        EasyMock.expect(parent.getName()).andReturn("parent");
         parent.getChild(EasyMock.isA(String.class));
         EasyMock.expectLastCall().andReturn(null);
         EasyMock.replay(parent);
@@ -59,85 +59,57 @@
             AtomicComponent source = createAtomicSource(parent);
             connector.connect(source);
             fail();
-        } catch (TargetServiceNotFoundException e) {
+        } catch (TargetComponentNotFoundException e) {
             // expected
         }
     }
 
-    public void testOutboundToInboundOptimization() throws Exception {
-        AtomicComponent container = EasyMock.createNiceMock(AtomicComponent.class);
-        EasyMock.expect(container.isSystem()).andReturn(true);
-        EasyMock.replay(container);
-        InboundWire inboundWire = new InboundWireImpl();
-        inboundWire.setContainer(container);
-        OutboundWire outboundWire = EasyMock.createMock(OutboundWire.class);
-        outboundWire.setTargetWire(EasyMock.eq(inboundWire));
-        EasyMock.expect(outboundWire.getContainer()).andReturn(container).atLeastOnce();
-        EasyMock.replay(outboundWire);
-
-        connector.connect(outboundWire, inboundWire, true);
-        EasyMock.verify(outboundWire);
-    }
-
     /**
      * Verifies that stateless targets with a destructor are not optimized as the destructor callback event must be
      * issued by the TargetInvoker after it dispatches to the target
      */
-    public void testOutboundToInboundNoOptimizationBecauseStatelessDestructor() throws Exception {
-        AtomicComponent container = EasyMock.createNiceMock(AtomicComponent.class);
-        EasyMock.expect(container.isSystem()).andReturn(false);
-        EasyMock.expect(container.getScope()).andReturn(Scope.STATELESS);
-        EasyMock.expect(container.isDestroyable()).andReturn(true);
-        EasyMock.replay(container);
-        InboundWire inboundWire = new InboundWireImpl();
-        inboundWire.setContainer(container);
-        OutboundWire outboundWire = EasyMock.createMock(OutboundWire.class);
-        outboundWire.getInvocationChains();
-        EasyMock.expectLastCall().andReturn(Collections.emptyMap()).atLeastOnce();
-        outboundWire.getTargetCallbackInvocationChains();
-        EasyMock.expectLastCall().andReturn(Collections.emptyMap()).atLeastOnce();
-        EasyMock.expect(outboundWire.getContainer()).andReturn(container).atLeastOnce();
-        EasyMock.replay(outboundWire);
-
-        connector.connect(outboundWire, inboundWire, true);
-        EasyMock.verify(outboundWire);
-    }
-
-    public void testOutboundToInboundNoOptimizationAtomic() throws Exception {
-        AtomicComponent container = EasyMock.createNiceMock(AtomicComponent.class);
-        EasyMock.expect(container.isSystem()).andReturn(false);
-        EasyMock.expect(container.getScope()).andReturn(Scope.STATELESS);
+    public void testOutboundToInboundNonOptimizableComponent() throws Exception {
+        AtomicComponent container = EasyMock.createMock(AtomicComponent.class);
+        EasyMock.expect(container.getUri()).andReturn(URI.create("source"));
         EasyMock.expect(container.isOptimizable()).andReturn(false);
         EasyMock.replay(container);
         InboundWire inboundWire = new InboundWireImpl();
         inboundWire.setContainer(container);
+        inboundWire.setUri(URI.create("target"));
         OutboundWire outboundWire = EasyMock.createMock(OutboundWire.class);
-        EasyMock.expect(outboundWire.getContainer()).andReturn(container).atLeastOnce();
         outboundWire.getInvocationChains();
         EasyMock.expectLastCall().andReturn(Collections.emptyMap()).atLeastOnce();
         outboundWire.getTargetCallbackInvocationChains();
         EasyMock.expectLastCall().andReturn(Collections.emptyMap()).atLeastOnce();
+        EasyMock.expect(outboundWire.getContainer()).andReturn(container).atLeastOnce();
+        EasyMock.expect(outboundWire.getTargetUri()).andReturn(URI.create("target")).atLeastOnce();
         EasyMock.replay(outboundWire);
-
         connector.connect(outboundWire, inboundWire, true);
+        EasyMock.verify(container);
         EasyMock.verify(outboundWire);
     }
 
+    /**
+     * Verifies non-Atomic targets are not optimized
+     */
     public void testOutboundToInboundNoOptimizationNonAtomicTarget() throws Exception {
-        ReferenceBinding container = EasyMock.createNiceMock(ReferenceBinding.class);
-        EasyMock.expect(container.isSystem()).andReturn(false);
+        ReferenceBinding container = EasyMock.createMock(ReferenceBinding.class);
+        EasyMock.expect(container.getUri()).andReturn(URI.create("source"));
         EasyMock.replay(container);
         InboundWire inboundWire = new InboundWireImpl();
         inboundWire.setContainer(container);
+        inboundWire.setUri(URI.create("target"));
         OutboundWire outboundWire = EasyMock.createMock(OutboundWire.class);
         outboundWire.getInvocationChains();
         EasyMock.expectLastCall().andReturn(Collections.emptyMap()).atLeastOnce();
         outboundWire.getTargetCallbackInvocationChains();
         EasyMock.expectLastCall().andReturn(Collections.emptyMap()).atLeastOnce();
         EasyMock.expect(outboundWire.getContainer()).andReturn(container).atLeastOnce();
+        EasyMock.expect(outboundWire.getTargetUri()).andReturn(URI.create("target")).atLeastOnce();
         EasyMock.replay(outboundWire);
 
         connector.connect(outboundWire, inboundWire, true);
+        EasyMock.verify(container);
         EasyMock.verify(outboundWire);
     }
 
@@ -191,41 +163,12 @@
         }
     }
 
-    public void testInboundOutboundSystemWireOptimization() throws Exception {
-        SCAObject container = EasyMock.createMock(SCAObject.class);
-        EasyMock.expect(container.isSystem()).andReturn(true);
-        EasyMock.replay(container);
-        InboundWire inboundWire = EasyMock.createMock(InboundWire.class);
-        inboundWire.setTargetWire(EasyMock.isA(OutboundWire.class));
-        EasyMock.expect(inboundWire.getContainer()).andReturn(container).atLeastOnce();
-        EasyMock.replay(inboundWire);
-        OutboundWire outboundWire = new OutboundWireImpl();
-        outboundWire.setContainer(container);
-        connector.connect(inboundWire, outboundWire, true);
-        EasyMock.verify(inboundWire);
-        EasyMock.verify(container);
-    }
-
-    public void testOutboundInboundSystemWireOptimization() throws Exception {
-        SCAObject container = EasyMock.createMock(SCAObject.class);
-        EasyMock.expect(container.isSystem()).andReturn(true);
-        EasyMock.replay(container);
-        OutboundWire outboundWire = EasyMock.createMock(OutboundWire.class);
-        outboundWire.setTargetWire(EasyMock.isA(InboundWire.class));
-        EasyMock.expect(outboundWire.getContainer()).andReturn(container).atLeastOnce();
-        EasyMock.replay(outboundWire);
-        InboundWire inboundWire = new InboundWireImpl();
-        inboundWire.setContainer(container);
-        connector.connect(outboundWire, inboundWire, true);
-        EasyMock.verify(outboundWire);
-        EasyMock.verify(container);
-    }
-
     public void testIncompatibleInboundOutboundWiresConnect() throws Exception {
         Operation<Type> operation = new Operation<Type>("bar", null, null, null);
         InboundWire inboundWire = new InboundWireImpl();
         inboundWire.addInvocationChain(operation, new InboundInvocationChainImpl(operation));
         OutboundWire outboundWire = new OutboundWireImpl();
+        outboundWire.setUri(URI.create("target"));
         try {
             connector.connect(inboundWire, outboundWire, false);
             fail();
@@ -237,13 +180,14 @@
 
     public void testIncompatibleOutboundInboundWiresConnect() throws Exception {
         SCAObject container = EasyMock.createNiceMock(SCAObject.class);
-        EasyMock.expect(container.isSystem()).andReturn(false);
         EasyMock.replay(container);
         Operation<Type> operation = new Operation<Type>("bar", null, null, null);
         InboundWire inboundWire = new InboundWireImpl();
         inboundWire.setContainer(container);
+        inboundWire.setUri(URI.create("sca://foo"));
         OutboundWire outboundWire = new OutboundWireImpl();
         outboundWire.setContainer(container);
+        outboundWire.setTargetUri(URI.create("target"));
         outboundWire.addInvocationChain(operation, new OutboundInvocationChainImpl(operation));
         try {
             connector.connect(outboundWire, inboundWire, false);

Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/builder/ConnectorPostProcessTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/builder/ConnectorPostProcessTestCase.java?view=diff&rev=504606&r1=504605&r2=504606
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/builder/ConnectorPostProcessTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/builder/ConnectorPostProcessTestCase.java Wed Feb  7 08:19:34 2007
@@ -18,6 +18,7 @@
  */
 package org.apache.tuscany.core.builder;
 
+import java.net.URI;
 import java.util.HashMap;
 import java.util.Map;
 
@@ -26,12 +27,13 @@
 import org.apache.tuscany.spi.model.ServiceContract;
 import org.apache.tuscany.spi.wire.InboundInvocationChain;
 import org.apache.tuscany.spi.wire.InboundWire;
-import org.apache.tuscany.spi.wire.OutboundInvocationChain;
 import org.apache.tuscany.spi.wire.OutboundWire;
 import org.apache.tuscany.spi.wire.WirePostProcessorRegistry;
 import org.apache.tuscany.spi.wire.WireService;
 
 import junit.framework.TestCase;
+import org.apache.tuscany.core.wire.InboundWireImpl;
+import org.apache.tuscany.core.wire.OutboundWireImpl;
 import org.easymock.EasyMock;
 import static org.easymock.EasyMock.createMock;
 import static org.easymock.EasyMock.createNiceMock;
@@ -46,8 +48,8 @@
 public class ConnectorPostProcessTestCase extends TestCase {
 
     public void testInboundToOutboundPostProcessCalled() throws Exception {
-        OutboundWire owire = createNiceMock(OutboundWire.class);
-        replay(owire);
+        OutboundWire owire = new OutboundWireImpl();
+        owire.setUri(URI.create("target"));
         InboundWire iwire = createNiceMock(InboundWire.class);
         Map<Operation<?>, InboundInvocationChain> chains = new HashMap<Operation<?>, InboundInvocationChain>();
         expect(iwire.getInvocationChains()).andReturn(chains);
@@ -66,36 +68,33 @@
     }
 
     public void testOutboundToInboundPostProcessCalled() throws Exception {
-        AtomicComponent source = createNiceMock(AtomicComponent.class);
-        expect(source.getName()).andReturn("Component");
+        AtomicComponent source = createMock(AtomicComponent.class);
+        expect(source.getUri()).andReturn(URI.create("source"));
         replay(source);
 
-        AtomicComponent target = createNiceMock(AtomicComponent.class);
-        expect(target.getName()).andReturn("Component");
+        AtomicComponent target = createMock(AtomicComponent.class);
+        expect(target.getUri()).andReturn(URI.create("target"));
         replay(target);
 
-        OutboundWire owire = createNiceMock(OutboundWire.class);
-        EasyMock.expect(owire.getContainer()).andReturn(source);
+        OutboundWire owire = new OutboundWireImpl();
+        owire.setContainer(source);
+        owire.setTargetUri(URI.create("target"));
+
+        InboundWire iwire = new InboundWireImpl();
+        iwire.setContainer(target);
+        iwire.setUri(URI.create("target"));
 
-        Map<Operation<?>, OutboundInvocationChain> chains = new HashMap<Operation<?>, OutboundInvocationChain>();
-        expect(owire.getInvocationChains()).andReturn(chains);
-        Map<Operation<?>, InboundInvocationChain> ichains = new HashMap<Operation<?>, InboundInvocationChain>();
-        expect(owire.getTargetCallbackInvocationChains()).andReturn(ichains);
-        replay(owire);
-        InboundWire iwire = createNiceMock(InboundWire.class);
-        expect(iwire.getSourceCallbackInvocationChains("Component")).andReturn(chains);
-        EasyMock.expect(iwire.getContainer()).andReturn(target);
-        replay(iwire);
         WirePostProcessorRegistry registry = createMock(WirePostProcessorRegistry.class);
         registry.process(EasyMock.eq(owire), EasyMock.eq(iwire));
         replay(registry);
+
         WireService wireService = createMock(WireService.class);
         wireService.checkCompatibility((ServiceContract<?>) EasyMock.anyObject(),
             (ServiceContract<?>) EasyMock.anyObject(), EasyMock.eq(false));
         expectLastCall().anyTimes();
         replay(wireService);
-        ConnectorImpl connector = new ConnectorImpl(wireService, registry, null, null, null);
 
+        ConnectorImpl connector = new ConnectorImpl(wireService, registry, null, null, null);
         connector.connect(owire, iwire, false);
         verify(registry);
     }

Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/builder/InboundtoOutboundConnectTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/builder/InboundtoOutboundConnectTestCase.java?view=diff&rev=504606&r1=504605&r2=504606
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/builder/InboundtoOutboundConnectTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/builder/InboundtoOutboundConnectTestCase.java Wed Feb  7 08:19:34 2007
@@ -155,7 +155,7 @@
 
     protected void setUp() throws Exception {
         super.setUp();
-        connector = new ConnectorImpl();
+        connector = new ConnectorImpl(null);
         JavaInterfaceProcessorRegistry registry = new JavaInterfaceProcessorRegistryImpl();
         ServiceContract<?> contract;
         try {

Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/builder/LocalReferenceWiringTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/builder/LocalReferenceWiringTestCase.java?view=diff&rev=504606&r1=504605&r2=504606
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/builder/LocalReferenceWiringTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/builder/LocalReferenceWiringTestCase.java Wed Feb  7 08:19:34 2007
@@ -19,52 +19,37 @@
 package org.apache.tuscany.core.builder;
 
 import java.net.URI;
-import java.util.Collections;
 
-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.Reference;
 import org.apache.tuscany.spi.component.ReferenceBinding;
-import org.apache.tuscany.spi.component.Service;
-import org.apache.tuscany.spi.model.Scope;
 import org.apache.tuscany.spi.wire.InboundInvocationChain;
-import org.apache.tuscany.spi.wire.InboundWire;
 import org.apache.tuscany.spi.wire.Interceptor;
 import org.apache.tuscany.spi.wire.Message;
 import org.apache.tuscany.spi.wire.MessageImpl;
 
 import org.apache.tuscany.core.implementation.composite.CompositeComponentImpl;
 import org.apache.tuscany.core.implementation.composite.ReferenceImpl;
-import org.easymock.EasyMock;
-import org.easymock.IAnswer;
 
 /**
- * Verifies various wiring "scenarios" or paths through the connector
+ * Verifies wiring local reference to targets
  *
  * @version $Rev$ $Date$
  */
 public class LocalReferenceWiringTestCase extends AbstractConnectorImplTestCase {
-    protected ReferenceBinding referenceBinding;
+    private ReferenceBinding referenceBinding;
     private Reference reference;
 
     /**
-     * Verifies the case where the outbound reference wire is connected to a target atomic component that is a sibling
-     * to the reference's parent composite. This wiring scenario occurs when a reference is configured with the local
-     * binding.
+     * Verifies the case where the outbound wire with a local binding is connected to a target atomic component.
      */
-    public void testConnectLocalReferenceBindingToAtomicComponentService() throws Exception {
-        final AtomicComponent atomicComponent = createAtomicTarget();
-        CompositeComponent topComposite = EasyMock.createMock(CompositeComponent.class);
-        topComposite.getChild(TARGET.toString());
-        EasyMock.expectLastCall().andStubAnswer(new IAnswer<Object>() {
-            public Object answer() throws Throwable {
-                return atomicComponent;
-            }
-        });
-        EasyMock.replay(topComposite);
+    public void testConnectLocalReferenceBindingToAtomicComponent() throws Exception {
+        AtomicComponent atomicComponent = createAtomicTarget();
+        componentManager.register(atomicComponent);
+        CompositeComponent topComposite = new CompositeComponentImpl(URI.create("topComposite"), null, connector, null);
         CompositeComponent parent = new CompositeComponentImpl(URI.create("parent"), topComposite, connector, null);
-        reference = createLocalReference(parent, TARGET_SERVICE_NAME);
+        reference = createLocalReference(parent, TARGET_NAME);
         parent.register(reference);
         // connect to the target
         connector.connect(parent);
@@ -79,31 +64,16 @@
     }
 
     /**
-     * Verifies the case where the outbound reference wire is connected to a target composite service that is a sibling
-     * to the reference's parent composite. This wiring scenario occurs when a reference is configured with the local
-     * binding.
+     * Verifies the case where the outbound reference wire is connected to a target composite service
      */
     public void testConnectLocalReferenceBindingToCompositeService() throws Exception {
-        final CompositeComponent topComposite = EasyMock.createMock(CompositeComponent.class);
-
-        topComposite.getInboundWire(TARGET.toString());
-        EasyMock.expectLastCall().andStubAnswer(new IAnswer<Object>() {
-            public Object answer() throws Throwable {
-                return createLocalInboundWire(topComposite);
-            }
-        });
-        final Service service = createLocalService(topComposite);
-        topComposite.getChild(TARGET.toString());
-        EasyMock.expectLastCall().andStubAnswer(new IAnswer<Object>() {
-            public Object answer() throws Throwable {
-                return service;
-            }
-        });
-        EasyMock.replay(topComposite);
-
+        CompositeComponent topComposite = new CompositeComponentImpl(URI.create("topComposite"), null, connector, null);
+        topComposite.register(createLocalService(topComposite));
+        componentManager.register(topComposite);
         CompositeComponent parent = new CompositeComponentImpl(URI.create("parent"), topComposite, connector, null);
-        reference = createLocalReference(parent, TARGET_NAME);
+        reference = createLocalReference(parent, URI.create("topComposite#target"));
         parent.register(reference);
+        componentManager.register(parent);
         connector.connect(parent);
         connector.connect(reference);
         InboundInvocationChain chain = referenceBinding.getInboundWire().getInvocationChains().get(operation);
@@ -114,121 +84,15 @@
         assertEquals(RESPONSE, resp.getBody());
     }
 
-    /**
-     * Verfies an exception if the target composite service (a sibling to the reference's parent) does not have a local
-     * binding
-     */
-    public void testConnectLocalReferenceBindingToCompositeServiceNoMatchingBinding() throws Exception {
-        final Service service = createServiceNonLocalBinding();
-        CompositeComponent topComposite = EasyMock.createMock(CompositeComponent.class);
-        EasyMock.expect(topComposite.getName()).andReturn("foo");
-        topComposite.getChild(TARGET.toString());
-        EasyMock.expectLastCall().andStubAnswer(new IAnswer<Object>() {
-            public Object answer() throws Throwable {
-                return service;
-            }
-        });
-        EasyMock.replay(topComposite);
-
-        CompositeComponent parent = new CompositeComponentImpl(URI.create("parent"), topComposite, connector, null);
-        reference = createLocalReference(parent, TARGET_NAME);
-        parent.register(reference);
-        try {
-            connector.connect(parent);
-            fail();
-        } catch (NoCompatibleBindingsException e) {
-            // expected
-        }
-    }
-
-    /**
-     * Verifies a connection to a service offered by a sibling composite of the reference's parent
-     *
-     * @throws Exception
-     */
-    public void testConnectLocalReferenceBindingToSiblingCompositeService() throws Exception {
-        final CompositeComponent sibling = EasyMock.createMock(CompositeComponent.class);
-        final InboundWire localServiceInboundWire = createLocalInboundWire(sibling);
-        EasyMock.expect(sibling.getName()).andReturn("sibling").atLeastOnce();
-        sibling.getInboundWires();
-        EasyMock.expectLastCall().andReturn(Collections.emptyList()).atLeastOnce();
-        EasyMock.expect(sibling.isSystem()).andReturn(false).atLeastOnce();
-        sibling.getInboundWire(TARGET_SERVICE);
-        EasyMock.expectLastCall().andStubAnswer(new IAnswer<Object>() {
-            public Object answer() throws Throwable {
-                return localServiceInboundWire;
-            }
-        });
-        EasyMock.expect(sibling.getScope()).andReturn(Scope.SYSTEM).anyTimes();
-        EasyMock.replay(sibling);
-
-        CompositeComponent topComposite = EasyMock.createMock(CompositeComponent.class);
-        EasyMock.expect(topComposite.getName()).andReturn("foo").atLeastOnce();
-        topComposite.getChild(TARGET.toString());
-        EasyMock.expectLastCall().andStubAnswer(new IAnswer<Object>() {
-            public Object answer() throws Throwable {
-                return sibling;
-            }
-        });
-        EasyMock.replay(topComposite);
-
-        CompositeComponent parent = new CompositeComponentImpl(URI.create("parent"), topComposite, connector, null);
-        reference = createLocalReference(parent, TARGET_SERVICE_NAME);
-        parent.register(reference);
-        parent.register(sibling);
-        connector.connect(parent);
-        connector.connect(reference);
-        InboundInvocationChain chain = referenceBinding.getInboundWire().getInvocationChains().get(operation);
-        Interceptor interceptor = chain.getHeadInterceptor();
-        MessageImpl msg = new MessageImpl();
-        msg.setTargetInvoker(new MockInvoker());
-        Message resp = interceptor.invoke(msg);
-        assertEquals(RESPONSE, resp.getBody());
-    }
-
-    public void testConnectLocalReferenceBindingToSiblingCompositeServiceNoMatchingBinding() throws Exception {
-        try {
-            final CompositeComponent sibling = EasyMock.createMock(CompositeComponent.class);
-            sibling.getInboundWire(TARGET_SERVICE);
-            EasyMock.expectLastCall().andReturn(null);
-            EasyMock.expect(sibling.getName()).andReturn("sibling").atLeastOnce();
-            EasyMock.expect(sibling.getScope()).andReturn(Scope.SYSTEM).atLeastOnce();
-            EasyMock.expectLastCall().andStubAnswer(new IAnswer<Object>() {
-                public Object answer() throws Throwable {
-                    return null;
-                }
-            });
-            EasyMock.replay(sibling);
-
-            CompositeComponent topComposite = EasyMock.createMock(CompositeComponent.class);
-            topComposite.getChild(TARGET.toString());
-            EasyMock.expectLastCall().andStubAnswer(new IAnswer<Object>() {
-                public Object answer() throws Throwable {
-                    return sibling;
-                }
-            });
-            EasyMock.expect(topComposite.getName()).andReturn("top").atLeastOnce();
-            EasyMock.replay(topComposite);
-
-            CompositeComponent parent = new CompositeComponentImpl(URI.create("parent"), topComposite, connector, null);
-
-            reference = createLocalReference(parent, TARGET_SERVICE_NAME);
-            parent.register(reference);
-            connector.connect(parent);
-            fail();
-        } catch (TargetServiceNotFoundException e) {
-            // expected
-        }
-    }
-
     protected void setUp() throws Exception {
         super.setUp();
     }
 
 
-    private Reference createLocalReference(CompositeComponent parent, QualifiedName target) throws Exception {
-        referenceBinding = createLocalReferenceBinding(target);
-        Reference reference = new ReferenceImpl(URI.create("foo"), parent, contract);
+    private Reference createLocalReference(CompositeComponent parent, URI target) throws Exception {
+        URI uri = URI.create("reference");
+        referenceBinding = createLocalReferenceBinding(uri, target);
+        Reference reference = new ReferenceImpl(uri, parent, contract);
         reference.addReferenceBinding(referenceBinding);
         return reference;
     }

Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/builder/NonBlockingForwardNonBlockingCallbackConnectionTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/builder/NonBlockingForwardNonBlockingCallbackConnectionTestCase.java?view=diff&rev=504606&r1=504605&r2=504606
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/builder/NonBlockingForwardNonBlockingCallbackConnectionTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/builder/NonBlockingForwardNonBlockingCallbackConnectionTestCase.java Wed Feb  7 08:19:34 2007
@@ -19,10 +19,10 @@
 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.WorkContext;
 import org.apache.tuscany.spi.idl.java.JavaServiceContract;
@@ -41,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.component.WorkContextImpl;
 import org.apache.tuscany.core.wire.InboundInvocationChainImpl;
 import org.apache.tuscany.core.wire.InboundWireImpl;
@@ -59,11 +61,14 @@
     private Operation<Type> callbackOperation;
     private ServiceContract<Type> contract;
     private ConnectorImpl connector;
+    private ComponentManager componentManager;
 
     public void testNonBlockingForwardAndNonBlockingCallbackAtomicToAtomic() 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.isSystem()).andReturn(false).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));
@@ -72,15 +77,17 @@
         InboundWire inboundWire = new InboundWireImpl();
         inboundWire.setContainer(target);
         inboundWire.setServiceContract(contract);
+        inboundWire.setUri(targetUriFragment);
         InboundInvocationChain inboundChain = new InboundInvocationChainImpl(operation);
         inboundChain.addInterceptor(new NonBlockingForwardNonBlockingCallbackConnectionTestCase.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);
 
@@ -103,7 +110,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(null, ret.getBody());
@@ -117,7 +124,8 @@
         WorkContext context = new WorkContextImpl();
         WireService wireService = new JDKWireService(null, null);
         WorkScheduler scheduler = new MockWorkScheduler();
-        connector = new ConnectorImpl(wireService, null, null, scheduler, context);
+        componentManager = new ComponentManagerImpl();
+        connector = new ConnectorImpl(wireService, null, componentManager, scheduler, context);
         operation = new Operation<Type>("bar", null, null, null);
         operation.setNonBlocking(true);
         callbackOperation = new Operation<Type>("callback", null, null, null);
@@ -130,8 +138,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));

Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/builder/NonBlockingForwardSyncCallbackConnectionTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/builder/NonBlockingForwardSyncCallbackConnectionTestCase.java?view=diff&rev=504606&r1=504605&r2=504606
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/builder/NonBlockingForwardSyncCallbackConnectionTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/builder/NonBlockingForwardSyncCallbackConnectionTestCase.java Wed Feb  7 08:19:34 2007
@@ -19,35 +19,37 @@
 package org.apache.tuscany.core.builder;
 
 import java.lang.reflect.Type;
-import java.util.Map;
+import java.net.URI;
 import java.util.HashMap;
+import java.util.Map;
 
-import org.apache.tuscany.spi.model.Operation;
-import org.apache.tuscany.spi.model.ServiceContract;
 import org.apache.tuscany.spi.component.AtomicComponent;
 import org.apache.tuscany.spi.component.WorkContext;
-import org.apache.tuscany.spi.wire.InboundWire;
-import org.apache.tuscany.spi.wire.TargetInvoker;
+import org.apache.tuscany.spi.idl.java.JavaServiceContract;
+import org.apache.tuscany.spi.model.Operation;
+import org.apache.tuscany.spi.model.ServiceContract;
+import org.apache.tuscany.spi.services.work.NotificationListener;
+import org.apache.tuscany.spi.services.work.WorkScheduler;
 import org.apache.tuscany.spi.wire.InboundInvocationChain;
-import org.apache.tuscany.spi.wire.OutboundWire;
-import org.apache.tuscany.spi.wire.OutboundInvocationChain;
+import org.apache.tuscany.spi.wire.InboundWire;
+import org.apache.tuscany.spi.wire.Interceptor;
 import org.apache.tuscany.spi.wire.Message;
 import org.apache.tuscany.spi.wire.MessageImpl;
+import org.apache.tuscany.spi.wire.OutboundInvocationChain;
+import org.apache.tuscany.spi.wire.OutboundWire;
+import org.apache.tuscany.spi.wire.TargetInvoker;
 import org.apache.tuscany.spi.wire.WireService;
-import org.apache.tuscany.spi.wire.Interceptor;
-import org.apache.tuscany.spi.QualifiedName;
-import org.apache.tuscany.spi.idl.java.JavaServiceContract;
-import org.apache.tuscany.spi.services.work.WorkScheduler;
-import org.apache.tuscany.spi.services.work.NotificationListener;
 
 import junit.framework.TestCase;
-import org.easymock.EasyMock;
-import org.apache.tuscany.core.wire.InboundWireImpl;
+import org.apache.tuscany.core.component.ComponentManager;
+import org.apache.tuscany.core.component.ComponentManagerImpl;
+import org.apache.tuscany.core.component.WorkContextImpl;
 import org.apache.tuscany.core.wire.InboundInvocationChainImpl;
-import org.apache.tuscany.core.wire.OutboundWireImpl;
+import org.apache.tuscany.core.wire.InboundWireImpl;
 import org.apache.tuscany.core.wire.OutboundInvocationChainImpl;
+import org.apache.tuscany.core.wire.OutboundWireImpl;
 import org.apache.tuscany.core.wire.jdk.JDKWireService;
-import org.apache.tuscany.core.component.WorkContextImpl;
+import org.easymock.EasyMock;
 
 /**
  * Verifies connections with non-blocking forward and synchronous callback invocations
@@ -59,11 +61,13 @@
     private Operation<Type> callbackOperation;
     private ServiceContract<Type> contract;
     private ConnectorImpl connector;
+    private ComponentManager componentManager;
 
     public void testNonBlockingForwardAndSyncCallbackAtomicToAtomic() 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));
@@ -72,15 +76,17 @@
         InboundWire inboundWire = new InboundWireImpl();
         inboundWire.setContainer(target);
         inboundWire.setServiceContract(contract);
+        inboundWire.setUri(targetUriFragment);
         InboundInvocationChain inboundChain = new InboundInvocationChainImpl(operation);
         inboundChain.addInterceptor(new NonBlockingForwardSyncCallbackConnectionTestCase.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);
 
@@ -102,7 +108,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());
@@ -117,7 +123,8 @@
         WorkContext context = new WorkContextImpl();
         WireService wireService = new JDKWireService(null, null);
         WorkScheduler scheduler = new NonBlockingForwardSyncCallbackConnectionTestCase.MockWorkScheduler();
-        connector = new ConnectorImpl(wireService, null, null, scheduler, context);
+        componentManager = new ComponentManagerImpl();
+        connector = new ConnectorImpl(wireService, null, componentManager, scheduler, context);
         operation = new Operation<Type>("bar", null, null, null);
         operation.setNonBlocking(true);
         callbackOperation = new Operation<Type>("callback", null, null, null);
@@ -129,8 +136,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));

Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/builder/OutboundToInboundConnectTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/builder/OutboundToInboundConnectTestCase.java?view=diff&rev=504606&r1=504605&r2=504606
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/builder/OutboundToInboundConnectTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/builder/OutboundToInboundConnectTestCase.java Wed Feb  7 08:19:34 2007
@@ -55,7 +55,7 @@
 public class OutboundToInboundConnectTestCase extends TestCase {
 
     public void testNoInterceptorsNoHandlers() throws Exception {
-        ConnectorImpl connector = new ConnectorImpl();
+        ConnectorImpl connector = new ConnectorImpl(null);
         InboundInvocationChain inboundChain = setupTarget(null);
         OutboundInvocationChain outboundChain = setupSource(null);
         String[] val = new String[]{"foo"};
@@ -73,7 +73,7 @@
      * Verifies an invocation with a single source interceptor
      */
     public void testSourceInterceptor() throws Exception {
-        ConnectorImpl connector = new ConnectorImpl();
+        ConnectorImpl connector = new ConnectorImpl(null);
         MockSyncInterceptor interceptor = new MockSyncInterceptor();
         List<Interceptor> interceptors = new ArrayList<Interceptor>();
         interceptors.add(interceptor);
@@ -96,7 +96,7 @@
      * Verifies an invocation with a single target interceptor
      */
     public void testTargetInterceptor() throws Exception {
-        ConnectorImpl connector = new ConnectorImpl();
+        ConnectorImpl connector = new ConnectorImpl(null);
         MockSyncInterceptor interceptor = new MockSyncInterceptor();
         List<Interceptor> interceptors = new ArrayList<Interceptor>();
         interceptors.add(interceptor);
@@ -119,7 +119,7 @@
      * Verifies an invocation with a source and target interceptor
      */
     public void testSourceTargetInterceptor() throws Exception {
-        ConnectorImpl connector = new ConnectorImpl();
+        ConnectorImpl connector = new ConnectorImpl(null);
         MockSyncInterceptor sourceInterceptor = new MockSyncInterceptor();
         List<Interceptor> sourceInterceptors = new ArrayList<Interceptor>();
         sourceInterceptors.add(sourceInterceptor);

Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/builder/ReferenceConnectorTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/builder/ReferenceConnectorTestCase.java?view=diff&rev=504606&r1=504605&r2=504606
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/builder/ReferenceConnectorTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/builder/ReferenceConnectorTestCase.java Wed Feb  7 08:19:34 2007
@@ -46,34 +46,35 @@
  * @version $Rev$ $Date$
  */
 public class ReferenceConnectorTestCase extends AbstractConnectorImplTestCase {
-    private AtomicComponent source;
     private CompositeComponent parent;
 
     public void testConnectReferenceWiresNoInboundInterceptors() throws Exception {
+        URI referenceUri = URI.create("foo");
         InboundInvocationChain inboundChain = new InboundInvocationChainImpl(operation);
         InboundWire inboundWire = new InboundWireImpl();
         inboundWire.setServiceContract(contract);
         inboundWire.addInvocationChain(operation, inboundChain);
+        inboundWire.setUri(referenceUri);
 
         OutboundInvocationChain outboundChain = new OutboundInvocationChainImpl(operation);
         // Outbound chains always contains at least one interceptor
         outboundChain.addInterceptor(new InvokerInterceptor());
         OutboundWire outboundWire = new OutboundWireImpl();
         outboundWire.setServiceContract(contract);
-        outboundWire.setTargetName(TARGET_SERVICE_NAME);
+        outboundWire.setTargetUri(TARGET_NAME);
         outboundWire.addInvocationChain(operation, outboundChain);
+        outboundWire.setUri(referenceUri);
 
         ReferenceBinding referenceBinding = EasyMock.createMock(ReferenceBinding.class);
         referenceBinding.setReference(EasyMock.isA(Reference.class));
         EasyMock.expect(referenceBinding.createTargetInvoker(contract, operation)).andReturn(null);
         EasyMock.expect(referenceBinding.getInboundWire()).andReturn(inboundWire);
         EasyMock.expect(referenceBinding.getOutboundWire()).andReturn(outboundWire);
-        EasyMock.expect(referenceBinding.isSystem()).andReturn(false).atLeastOnce();
         EasyMock.replay(referenceBinding);
         inboundWire.setContainer(referenceBinding);
         outboundWire.setContainer(referenceBinding);
 
-        Reference reference = new ReferenceImpl(URI.create("foo"), parent, contract);
+        Reference reference = new ReferenceImpl(referenceUri, parent, contract);
         reference.addReferenceBinding(referenceBinding);
 
         connector.connect(reference);
@@ -87,19 +88,21 @@
     }
 
     public void testConnectReferenceWiresWithInboundInterceptors() throws Exception {
+        URI referenceUri = URI.create("foo");
         MockInterceptor inboundInterceptor = new MockInterceptor();
         InboundInvocationChain inboundChain = new InboundInvocationChainImpl(operation);
         inboundChain.addInterceptor(inboundInterceptor);
         InboundWire inboundWire = new InboundWireImpl();
         inboundWire.setServiceContract(contract);
         inboundWire.addInvocationChain(operation, inboundChain);
-
+        inboundWire.setUri(referenceUri);
         OutboundInvocationChain outboundChain = new OutboundInvocationChainImpl(operation);
         // Outbound always contains at lease one interceptor
         outboundChain.addInterceptor(new InvokerInterceptor());
         OutboundWire outboundWire = new OutboundWireImpl();
         outboundWire.setServiceContract(contract);
-        outboundWire.setTargetName(TARGET_SERVICE_NAME);
+        outboundWire.setUri(referenceUri);
+        outboundWire.setTargetUri(TARGET_NAME);
         outboundWire.addInvocationChain(operation, outboundChain);
 
         ReferenceBinding referenceBinding = EasyMock.createMock(ReferenceBinding.class);
@@ -107,12 +110,11 @@
         EasyMock.expect(referenceBinding.createTargetInvoker(contract, operation)).andReturn(null);
         EasyMock.expect(referenceBinding.getInboundWire()).andReturn(inboundWire);
         EasyMock.expect(referenceBinding.getOutboundWire()).andReturn(outboundWire);
-        EasyMock.expect(referenceBinding.isSystem()).andReturn(false);
         EasyMock.replay(referenceBinding);
         inboundWire.setContainer(referenceBinding);
         outboundWire.setContainer(referenceBinding);
 
-        Reference reference = new ReferenceImpl(URI.create("foo"), parent, contract);
+        Reference reference = new ReferenceImpl(referenceUri, parent, contract);
         reference.addReferenceBinding(referenceBinding);
 
         connector.connect(reference);
@@ -127,9 +129,9 @@
     }
 
     public void testOutboundWireToInboundReferenceTarget() throws Exception {
-        AtomicComponent component = EasyMock.createMock(AtomicComponent.class);
-        EasyMock.expect(component.getName()).andReturn("foo");
-        EasyMock.replay(component);
+        AtomicComponent source = EasyMock.createMock(AtomicComponent.class);
+        EasyMock.expect(source.getUri()).andReturn(URI.create("source"));
+        EasyMock.replay(source);
 
         ReferenceBinding target = EasyMock.createMock(ReferenceBinding.class);
         EasyMock.expect(target.createTargetInvoker(EasyMock.isA(ServiceContract.class), EasyMock.isA(Operation.class)))
@@ -142,14 +144,13 @@
         targetWire.setServiceContract(contract);
         targetWire.addInvocationChain(operation, inboundChain);
         targetWire.setContainer(target);
-
+        targetWire.setUri(TARGET_NAME);
         // create the outbound wire and chain from the source component
         OutboundInvocationChain sourceChain = new OutboundInvocationChainImpl(operation);
         OutboundWire sourceWire = new OutboundWireImpl();
         sourceWire.setServiceContract(contract);
-        sourceWire.setTargetName(TARGET_SERVICE_NAME);
+        sourceWire.setTargetUri(TARGET_NAME);
         sourceWire.addInvocationChain(operation, sourceChain);
-        sourceWire.setContainer(component);
         sourceWire.setContainer(source);
 
         connector.connect(sourceWire, targetWire, false);
@@ -163,7 +164,7 @@
     protected void setUp() throws Exception {
         super.setUp();
         parent = EasyMock.createNiceMock(CompositeComponent.class);
-        source = EasyMock.createNiceMock(AtomicComponent.class);
+        AtomicComponent source = EasyMock.createNiceMock(AtomicComponent.class);
         EasyMock.replay(source);
     }
 

Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/builder/ServiceConnectorTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/builder/ServiceConnectorTestCase.java?view=diff&rev=504606&r1=504605&r2=504606
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/builder/ServiceConnectorTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/builder/ServiceConnectorTestCase.java Wed Feb  7 08:19:34 2007
@@ -51,25 +51,14 @@
  * @version $Rev$ $Date$
  */
 public class ServiceConnectorTestCase extends AbstractConnectorImplTestCase {
+    private static final URI SOURCE = URI.create("source");
     private CompositeComponent parent;
     private InboundInvocationChain inboundChain;
     private ServiceBinding sourceServiceBinding;
 
     public void testConnectServiceToAtomicComponent() throws Exception {
         configureAtomicTarget();
-        Service sourceService = new ServiceImpl(URI.create("foo"), parent, contract);
-        sourceService.addServiceBinding(sourceServiceBinding);
-        connector.connect(sourceService);
-        Interceptor interceptor = inboundChain.getHeadInterceptor();
-        MessageImpl msg = new MessageImpl();
-        msg.setTargetInvoker(new MockInvoker());
-        Message resp = interceptor.invoke(msg);
-        assertEquals(RESPONSE, resp.getBody());
-    }
-
-    public void testConnectServiceToChildCompositeService() throws Exception {
-        configureChildCompositeServiceTarget();
-        Service sourceService = new ServiceImpl(URI.create("foo"), parent, contract);
+        Service sourceService = new ServiceImpl(SOURCE, parent, contract);
         sourceService.addServiceBinding(sourceServiceBinding);
         connector.connect(sourceService);
         Interceptor interceptor = inboundChain.getHeadInterceptor();
@@ -81,7 +70,7 @@
 
     public void testConnectServiceToReference() throws Exception {
         configureReferenceTarget();
-        Service sourceService = new ServiceImpl(URI.create("foo"), parent, contract);
+        Service sourceService = new ServiceImpl(URI.create("source"), parent, contract);
         sourceService.addServiceBinding(sourceServiceBinding);
         connector.connect(sourceService);
         Interceptor interceptor = inboundChain.getHeadInterceptor();
@@ -97,21 +86,21 @@
         InboundWire inboundWire = new InboundWireImpl();
         inboundWire.setServiceContract(contract);
         inboundWire.addInvocationChain(operation, inboundChain);
-
+        inboundWire.setUri(SOURCE);
         OutboundInvocationChain outboundChain = new OutboundInvocationChainImpl(operation);
         // Outbound chains always contains at least one interceptor
         outboundChain.addInterceptor(new SynchronousBridgingInterceptor());
         OutboundWire outboundWire = new OutboundWireImpl();
         outboundWire.setServiceContract(contract);
-        outboundWire.setTargetName(TARGET_SERVICE_NAME);
+        outboundWire.setTargetUri(TARGET_NAME);
         outboundWire.addInvocationChain(operation, outboundChain);
+        outboundWire.setUri(SOURCE);
 
-        sourceServiceBinding = new MockServiceBinding(URI.create("foo"));
+        sourceServiceBinding = new MockServiceBinding(SOURCE);
         sourceServiceBinding.setInboundWire(inboundWire);
         sourceServiceBinding.setOutboundWire(outboundWire);
         inboundWire.setContainer(sourceServiceBinding);
         outboundWire.setContainer(sourceServiceBinding);
-
     }
 
     private void configureAtomicTarget() throws Exception {
@@ -120,9 +109,11 @@
         InboundWire inboundWire = new InboundWireImpl();
         inboundWire.setServiceContract(contract);
         inboundWire.addInvocationChain(operation, inboundChain);
-
+        inboundWire.setUri(TARGET);
         AtomicComponent atomicTarget = EasyMock.createMock(AtomicComponent.class);
-        EasyMock.expect(atomicTarget.getInboundWire(EasyMock.isA(String.class))).andReturn(inboundWire).atLeastOnce();
+        EasyMock.expect(atomicTarget.getTargetWire(EasyMock.isA(String.class))).andReturn(inboundWire).atLeastOnce();
+        EasyMock.expect(atomicTarget.getUri()).andReturn(TARGET);
+        EasyMock.expect(atomicTarget.isOptimizable()).andReturn(true);
         EasyMock.expect(atomicTarget.getScope()).andReturn(Scope.COMPOSITE);
         EasyMock.expect(atomicTarget.createTargetInvoker(EasyMock.isA(String.class),
             EasyMock.isA(Operation.class),
@@ -134,40 +125,21 @@
         parent = EasyMock.createNiceMock(CompositeComponent.class);
         EasyMock.expect(parent.getChild(TARGET.toString())).andReturn(atomicTarget);
         EasyMock.replay(parent);
+        componentManager.register(atomicTarget);
     }
 
-    private void configureChildCompositeServiceTarget() throws Exception {
-        InboundInvocationChain inboundChain = new InboundInvocationChainImpl(operation);
-        inboundChain.addInterceptor(new InvokerInterceptor());
-        InboundWire inboundWire = new InboundWireImpl();
-        inboundWire.setServiceContract(contract);
-        inboundWire.addInvocationChain(operation, inboundChain);
-
-        CompositeComponent compositeTarget = EasyMock.createMock(CompositeComponent.class);
-        Service service = createLocalService(compositeTarget);
-        ServiceBinding binding = service.getServiceBindings().get(0);
-        EasyMock.expect(compositeTarget.getInboundWire(TARGET_SERVICE)).andReturn(binding.getInboundWire());
-        EasyMock.expect(compositeTarget.getScope()).andReturn(Scope.SYSTEM).anyTimes();
-        EasyMock.replay(compositeTarget);
-
-        inboundWire.setContainer(compositeTarget);
-
-        parent = EasyMock.createNiceMock(CompositeComponent.class);
-        EasyMock.expect(parent.getChild(TARGET.toString())).andReturn(compositeTarget);
-        EasyMock.replay(parent);
-    }
-
-
     private void configureReferenceTarget() throws Exception {
-        ReferenceBinding binding = createLocalReferenceBinding(TARGET_NAME);
+        ReferenceBinding binding = createLocalReferenceBinding(TARGET, URI.create("OtherTarget"));
         Reference referenceTarget = new ReferenceImpl(TARGET, parent, contract);
         referenceTarget.addReferenceBinding(binding);
         // put a terminating interceptor on the outbound wire of the reference for testing an invocation
         binding.getOutboundWire().getInvocationChains().get(operation).addInterceptor(new InvokerInterceptor());
         connector.connect(binding.getInboundWire(), binding.getOutboundWire(), true);
         parent = EasyMock.createNiceMock(CompositeComponent.class);
-        EasyMock.expect(parent.getChild(TARGET.toString())).andReturn(referenceTarget);
+        EasyMock.expect(parent.getUri()).andReturn(TARGET);
+        EasyMock.expect(parent.getTargetWire(TARGET_FRAGMENT)).andReturn(binding.getInboundWire());
         EasyMock.replay(parent);
+        componentManager.register(parent);
     }
 
 }



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