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