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/01/04 11:57:21 UTC
svn commit: r492515 - in /incubator/tuscany/java/sca/kernel/core/src:
main/java/org/apache/tuscany/core/builder/
test/java/org/apache/tuscany/core/builder/
Author: jmarino
Date: Thu Jan 4 02:57:19 2007
New Revision: 492515
URL: http://svn.apache.org/viewvc?view=rev&rev=492515
Log:
unit test for callback connection
Modified:
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/builder/ConnectorImpl.java
incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/builder/AbstractConnectorImplTestCase.java
incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/builder/ConnectorImplTestCase.java
Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/builder/ConnectorImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/builder/ConnectorImpl.java?view=diff&rev=492515&r1=492514&r2=492515
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/builder/ConnectorImpl.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/builder/ConnectorImpl.java Thu Jan 4 02:57:19 2007
@@ -229,7 +229,10 @@
}
ServiceContract<?> targetContract = targetWire.getServiceContract();
- Operation targetOp = targetContract.getCallbackOperations().get(operation.getName());
+ assert targetContract != null;
+ String opName = operation.getName();
+ assert opName != null;
+ Operation targetOp = targetContract.getCallbackOperations().get(opName);
OutboundInvocationChain outboundChain = wireService.createOutboundChain(targetOp);
targetWire.addSourceCallbackInvocationChain(source.getName(), targetOp, outboundChain);
if (source instanceof Component) {
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=492515&r1=492514&r2=492515
==============================================================================
--- 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 Thu Jan 4 02:57:19 2007
@@ -29,6 +29,7 @@
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 junit.framework.TestCase;
import org.apache.tuscany.core.binding.local.LocalReferenceBinding;
@@ -41,6 +42,7 @@
import org.apache.tuscany.core.wire.OutboundInvocationChainImpl;
import org.apache.tuscany.core.wire.OutboundWireImpl;
import org.apache.tuscany.core.wire.SynchronousBridgingInterceptor;
+import org.apache.tuscany.core.wire.jdk.JDKWireService;
import org.easymock.EasyMock;
/**
@@ -59,7 +61,8 @@
protected void setUp() throws Exception {
super.setUp();
- connector = new ConnectorImpl();
+ WireService wireService = new JDKWireService(null, null);
+ connector = new ConnectorImpl(wireService, null, null, null);
contract = new JavaServiceContract(AbstractConnectorImplTestCase.Foo.class);
operation = new Operation<Type>("bar", null, null, null);
}
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=492515&r1=492514&r2=492515
==============================================================================
--- 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 Thu Jan 4 02:57:19 2007
@@ -19,11 +19,15 @@
package org.apache.tuscany.core.builder;
import java.lang.reflect.Type;
+import java.util.HashMap;
+import java.util.Map;
import org.apache.tuscany.spi.component.AtomicComponent;
import org.apache.tuscany.spi.component.CompositeComponent;
import org.apache.tuscany.spi.component.SCAObject;
+import org.apache.tuscany.spi.idl.java.JavaServiceContract;
import org.apache.tuscany.spi.model.Operation;
+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.Interceptor;
@@ -154,6 +158,41 @@
connector.connect(outboundWire, inboundWire, true);
EasyMock.verify(outboundWire);
EasyMock.verify(container);
+ }
+
+ public void testOutboundInboundCallbackConnect() throws Exception {
+ AtomicComponent container = EasyMock.createMock(AtomicComponent.class);
+ EasyMock.expect(container.isSystem()).andReturn(false).anyTimes();
+ EasyMock.expect(container.getName()).andReturn("source").atLeastOnce();
+ EasyMock.expect(container.createTargetInvoker(EasyMock.eq("bar"),
+ EasyMock.isA(Operation.class),
+ (InboundWire) EasyMock.isNull())).andReturn(EasyMock.createNiceMock(TargetInvoker.class));
+ EasyMock.replay(container);
+ Operation<Type> operation = new Operation<Type>("bar", null, null, null);
+ ServiceContract<Type> contract = new JavaServiceContract();
+ Map<String, Operation<Type>> ops = new HashMap<String, Operation<Type>>();
+ ops.put("bar", operation);
+ contract.setCallbackOperations(ops);
+ InboundWire inboundWire = new InboundWireImpl();
+ inboundWire.setContainer(container);
+ inboundWire.setServiceContract(contract);
+ OutboundWire outboundWire = new OutboundWireImpl();
+ outboundWire.setContainer(container);
+ outboundWire.setServiceContract(contract);
+
+ InboundInvocationChain inboundChain = EasyMock.createMock(InboundInvocationChain.class);
+ EasyMock.expect(inboundChain.getOperation()).andReturn(operation).anyTimes();
+ Interceptor interceptor = EasyMock.createNiceMock(Interceptor.class);
+ EasyMock.expect(inboundChain.getHeadInterceptor()).andReturn(interceptor);
+ EasyMock.replay(inboundChain);
+ Map<Operation<?>, InboundInvocationChain> chains = new HashMap<Operation<?>, InboundInvocationChain>();
+ chains.put(operation, inboundChain);
+ outboundWire.addTargetCallbackInvocationChains(chains);
+
+ connector.connect(outboundWire, inboundWire, true);
+ EasyMock.verify(inboundChain);
+ EasyMock.verify(container);
+
}
public void testIncompatibleInboundOutboundWiresConnect() throws Exception {
---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-commits-help@ws.apache.org