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