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/17 09:35:25 UTC
svn commit: r508732 [4/8] - in /incubator/tuscany/java/sca:
kernel/core/src/main/java/org/apache/tuscany/core/binding/local/
kernel/core/src/main/java/org/apache/tuscany/core/bootstrap/
kernel/core/src/main/java/org/apache/tuscany/core/builder/ kernel/...
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=508732&r1=508731&r2=508732
==============================================================================
--- 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 Sat Feb 17 00:35:19 2007
@@ -43,9 +43,7 @@
import static org.apache.tuscany.spi.model.Multiplicity.ONE_ONE;
import org.apache.tuscany.spi.model.ReferenceDefinition;
import org.apache.tuscany.spi.model.Scope;
-import org.apache.tuscany.spi.model.ServiceContract;
import org.apache.tuscany.spi.model.ServiceDefinition;
-import org.apache.tuscany.spi.wire.WireService;
import junit.framework.TestCase;
import org.apache.tuscany.core.component.ComponentManager;
@@ -63,7 +61,7 @@
public void testRegistration() throws Exception {
MockBuilder builder = new MockBuilder();
ComponentManager componentManager = EasyMock.createNiceMock(ComponentManager.class);
- BuilderRegistry registry = new BuilderRegistryImpl(null, null, componentManager);
+ BuilderRegistry registry = new BuilderRegistryImpl(null, componentManager);
registry.register(CompositeImplementation.class, builder);
CompositeImplementation implementation = new CompositeImplementation();
ComponentDefinition<CompositeImplementation> componentDefinition =
@@ -74,13 +72,7 @@
@SuppressWarnings({"unchecked"})
public void testServiceBindingBuilderDispatch() throws Exception {
- WireService wireService = EasyMock.createMock(WireService.class);
- wireService.createWires(EasyMock.isA(ServiceBinding.class),
- (ServiceContract) EasyMock.isNull(), EasyMock.isA(String.class)
- );
- EasyMock.expectLastCall().times(2);
- EasyMock.replay(wireService);
- BuilderRegistry registry = new BuilderRegistryImpl(null, wireService, null);
+ BuilderRegistry registry = new BuilderRegistryImpl(null, null);
ServiceBinding binding = EasyMock.createNiceMock(ServiceBinding.class);
EasyMock.replay(binding);
BindingBuilder<MockBindingDefinition> builder = EasyMock.createMock(BindingBuilder.class);
@@ -96,18 +88,11 @@
definition.setTarget(new URI("foo"));
Service service = registry.build(parent, definition, deploymentContext);
assertEquals(2, service.getServiceBindings().size());
- EasyMock.verify(wireService);
}
@SuppressWarnings({"unchecked"})
public void testReferenceBindingBuilderDispatch() throws Exception {
- WireService wireService = EasyMock.createMock(WireService.class);
- wireService.createWires(EasyMock.isA(ReferenceBinding.class),
- (ServiceContract) EasyMock.isNull(), (URI) EasyMock.isNull()
- );
- EasyMock.expectLastCall().times(2);
- EasyMock.replay(wireService);
- BuilderRegistry registry = new BuilderRegistryImpl(null, wireService, null);
+ BuilderRegistry registry = new BuilderRegistryImpl(null, null);
ReferenceBinding binding = EasyMock.createNiceMock(ReferenceBinding.class);
EasyMock.replay(binding);
BindingBuilder<MockBindingDefinition> builder = EasyMock.createMock(BindingBuilder.class);
@@ -122,7 +107,6 @@
definition.addBinding(new MockBindingDefinition());
Reference reference = registry.build(parent, definition, deploymentContext);
assertEquals(2, reference.getReferenceBindings().size());
- EasyMock.verify(wireService);
}
@SuppressWarnings({"unchecked"})
@@ -131,12 +115,8 @@
ScopeContainer scopeContainer = EasyMock.createNiceMock(ScopeContainer.class);
EasyMock.expect(scopeRegistry.getScopeContainer(EasyMock.isA(Scope.class))).andReturn(scopeContainer);
EasyMock.replay(scopeRegistry);
- WireService wireService = EasyMock.createMock(WireService.class);
- wireService.createWires(EasyMock.isA(AtomicComponent.class),
- EasyMock.isA(ComponentDefinition.class));
- EasyMock.replay(wireService);
ComponentManager componentManager = EasyMock.createNiceMock(ComponentManager.class);
- BuilderRegistry registry = new BuilderRegistryImpl(scopeRegistry, wireService, componentManager);
+ BuilderRegistry registry = new BuilderRegistryImpl(scopeRegistry, componentManager);
AtomicComponent component = EasyMock.createNiceMock(AtomicComponent.class);
EasyMock.replay(component);
@@ -153,7 +133,6 @@
ComponentDefinition<FooImplementation> definition = new ComponentDefinition<FooImplementation>(uri, impl);
Component ret = registry.build(parent, definition, deploymentContext);
assertNotNull(ret);
- EasyMock.verify(wireService);
}
@SuppressWarnings({"unchecked"})
@@ -162,11 +141,7 @@
ScopeContainer scopeContainer = EasyMock.createNiceMock(ScopeContainer.class);
EasyMock.expect(scopeRegistry.getScopeContainer(EasyMock.isA(Scope.class))).andReturn(scopeContainer);
EasyMock.replay(scopeRegistry);
- WireService wireService = EasyMock.createMock(WireService.class);
- wireService.createWires(EasyMock.isA(AtomicComponent.class),
- EasyMock.isA(ComponentDefinition.class));
- EasyMock.replay(wireService);
- BuilderRegistry registry = new BuilderRegistryImpl(scopeRegistry, wireService, null);
+ BuilderRegistry registry = new BuilderRegistryImpl(scopeRegistry, null);
AtomicComponent component = EasyMock.createNiceMock(AtomicComponent.class);
EasyMock.replay(component);
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=508732&r1=508731&r2=508732
==============================================================================
--- 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 Sat Feb 17 00:35:19 2007
@@ -21,173 +21,147 @@
import java.lang.reflect.Type;
import java.net.URI;
import java.util.Collections;
+import java.util.HashMap;
+import java.util.Map;
+import javax.xml.namespace.QName;
import org.apache.tuscany.spi.component.AtomicComponent;
-import org.apache.tuscany.spi.component.CompositeComponent;
-import org.apache.tuscany.spi.component.ReferenceBinding;
-import org.apache.tuscany.spi.component.SCAObject;
+import org.apache.tuscany.spi.component.Component;
+import org.apache.tuscany.spi.model.ComponentDefinition;
+import org.apache.tuscany.spi.model.ComponentType;
+import org.apache.tuscany.spi.model.Implementation;
import org.apache.tuscany.spi.model.Operation;
+import org.apache.tuscany.spi.model.Property;
+import org.apache.tuscany.spi.model.ReferenceDefinition;
+import org.apache.tuscany.spi.model.ReferenceTarget;
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.model.ServiceContract;
+import org.apache.tuscany.spi.model.ServiceDefinition;
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.InvocationChain;
+import org.apache.tuscany.spi.wire.Wire;
-import org.apache.tuscany.core.wire.InboundInvocationChainImpl;
-import org.apache.tuscany.core.wire.InboundWireImpl;
+import junit.framework.TestCase;
+import org.apache.tuscany.core.component.ComponentManager;
+import org.apache.tuscany.core.component.ComponentManagerImpl;
import org.apache.tuscany.core.wire.InvokerInterceptor;
-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.NonBlockingInterceptor;
import org.easymock.EasyMock;
/**
* @version $Rev$ $Date$
*/
-public class ConnectorImplTestCase extends AbstractConnectorImplTestCase {
+public class ConnectorImplTestCase extends TestCase {
+ private TestConnector connector;
+ private ComponentManager manager;
public void testConnectTargetNotFound() throws Exception {
- CompositeComponent parent = EasyMock.createMock(CompositeComponent.class);
- EasyMock.replay(parent);
+ Implementation<ComponentType<ServiceDefinition, ReferenceDefinition, Property<?>>> impl =
+ new Implementation<ComponentType<ServiceDefinition, ReferenceDefinition, Property<?>>>() {
+ };
+ ComponentType<ServiceDefinition, ReferenceDefinition, Property<?>> type =
+ new ComponentType<ServiceDefinition, ReferenceDefinition, Property<?>>();
+ URI refUri = URI.create("ref");
+ ReferenceDefinition referenceDefinition = new ReferenceDefinition(refUri, null);
+ referenceDefinition.setRequired(true);
+ type.add(referenceDefinition);
+ impl.setComponentType(type);
+
+ URI sourceUri = URI.create("source");
+ ComponentDefinition<?> definition =
+ new ComponentDefinition<Implementation<ComponentType<ServiceDefinition,
+ ReferenceDefinition, Property<?>>>>(impl);
+ definition.setUri(sourceUri);
+ ReferenceTarget referenceTarget = new ReferenceTarget();
+ referenceTarget.setReferenceName(refUri);
+ referenceTarget.addTarget(URI.create("NotThere"));
+ definition.add(referenceTarget);
+ Component component = EasyMock.createMock(Component.class);
+ EasyMock.expect(component.getUri()).andReturn(sourceUri);
+ EasyMock.replay(component);
+ manager.register(component);
try {
- AtomicComponent source = createAtomicSource(parent);
- connector.connect(source);
+ connector.connect(definition);
fail();
- } catch (TargetComponentNotFoundException e) {
+ } catch (ComponentNotFoundException e) {
// expected
}
}
/**
- * 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
+ * Verifies a non-existent target does not throw an error.
+ * <p/>
+ * TODO JFM when the allocator is in place it should optimize connecting to non-existent targets but keep it for
+ * now
*/
- 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.setSourceUri(URI.create("target"));
- OutboundWire outboundWire = EasyMock.createMock(OutboundWire.class);
- outboundWire.getOutboundInvocationChains();
- EasyMock.expectLastCall().andReturn(Collections.emptyMap()).atLeastOnce();
- outboundWire.getTargetCallbackInvocationChains();
- EasyMock.expectLastCall().andReturn(Collections.emptyMap()).atLeastOnce();
- EasyMock.expect(outboundWire.getTargetUri()).andReturn(URI.create("target")).atLeastOnce();
- EasyMock.replay(outboundWire);
- connector.connect(container, outboundWire, container, inboundWire, true);
- EasyMock.verify(container);
- EasyMock.verify(outboundWire);
- }
-
- /**
- * Verifies non-Atomic targets are not optimized
- */
- public void testOutboundToInboundNoOptimizationNonAtomicTarget() throws Exception {
- ReferenceBinding container = EasyMock.createMock(ReferenceBinding.class);
- EasyMock.expect(container.getUri()).andReturn(URI.create("source"));
- EasyMock.replay(container);
- InboundWire inboundWire = new InboundWireImpl();
- inboundWire.setSourceUri(URI.create("target"));
- OutboundWire outboundWire = EasyMock.createMock(OutboundWire.class);
- outboundWire.getOutboundInvocationChains();
- EasyMock.expectLastCall().andReturn(Collections.emptyMap()).atLeastOnce();
- outboundWire.getTargetCallbackInvocationChains();
- EasyMock.expectLastCall().andReturn(Collections.emptyMap()).atLeastOnce();
- EasyMock.expect(outboundWire.getTargetUri()).andReturn(URI.create("target")).atLeastOnce();
- EasyMock.replay(outboundWire);
-
- connector.connect(container, outboundWire, container, inboundWire, true);
- EasyMock.verify(container);
- EasyMock.verify(outboundWire);
- }
-
- public void testOutboundToInboundChainConnect() throws Exception {
- TargetInvoker invoker = new MockInvoker();
- InboundInvocationChain inboundChain = new InboundInvocationChainImpl(operation);
- inboundChain.addInterceptor(new InvokerInterceptor());
- OutboundInvocationChain outboundChain = new OutboundInvocationChainImpl(operation);
- connector.connect(outboundChain, inboundChain, invoker, false);
- Interceptor interceptor = outboundChain.getHeadInterceptor();
- assertTrue(interceptor instanceof SynchronousBridgingInterceptor);
- MessageImpl msg = new MessageImpl();
- msg.setTargetInvoker(new MockInvoker());
- Message resp = interceptor.invoke(msg);
- assertEquals(RESPONSE, resp.getBody());
- }
-
- public void testOutboundToInboundChainConnectNoInboundInterceptor() {
- TargetInvoker invoker = new MockInvoker();
- InboundInvocationChain inboundChain = new InboundInvocationChainImpl(operation);
- OutboundInvocationChain outboundChain = new OutboundInvocationChainImpl(operation);
- try {
- connector.connect(outboundChain, inboundChain, invoker, false);
- fail();
- } catch (WireConnectException e) {
- // expected
- }
- }
-
- public void testInboundToOutboundChainConnect() throws Exception {
- InboundInvocationChain inboundChain = new InboundInvocationChainImpl(operation);
- OutboundInvocationChain outboundChain = new OutboundInvocationChainImpl(operation);
- outboundChain.addInterceptor(new InvokerInterceptor());
- connector.connect(inboundChain, outboundChain);
- Interceptor interceptor = inboundChain.getHeadInterceptor();
- assertTrue(interceptor instanceof SynchronousBridgingInterceptor);
- MessageImpl msg = new MessageImpl();
- msg.setTargetInvoker(new MockInvoker());
- Message resp = interceptor.invoke(msg);
- assertEquals(RESPONSE, resp.getBody());
- }
-
- public void testInboundToOutboundChainConnectNoOutboundInterceptors() throws Exception {
- InboundInvocationChain inboundChain = new InboundInvocationChainImpl(operation);
- OutboundInvocationChain outboundChain = new OutboundInvocationChainImpl(operation);
- try {
- connector.connect(inboundChain, outboundChain);
- fail();
- } catch (WireConnectException e) {
- // expected
- }
- }
-
- public void testIncompatibleInboundOutboundWiresConnect() throws Exception {
- Operation<Type> operation = new Operation<Type>("bar", null, null, null);
- InboundWire inboundWire = new InboundWireImpl();
- inboundWire.addInboundInvocationChain(operation, new InboundInvocationChainImpl(operation));
- OutboundWire outboundWire = new OutboundWireImpl();
- outboundWire.setSourceUri(URI.create("target"));
- try {
- connector.connect(null, inboundWire, null, outboundWire, false);
- fail();
- } catch (IncompatibleInterfacesException e) {
- // expected
- }
-
- }
-
- public void testIncompatibleOutboundInboundWiresConnect() throws Exception {
- SCAObject container = EasyMock.createNiceMock(SCAObject.class);
- EasyMock.replay(container);
- Operation<Type> operation = new Operation<Type>("bar", null, null, null);
- InboundWire inboundWire = new InboundWireImpl();
- inboundWire.setSourceUri(URI.create("sca://foo"));
- OutboundWire outboundWire = new OutboundWireImpl();
- outboundWire.setTargetUri(URI.create("target"));
- outboundWire.addOutboundInvocationChain(operation, new OutboundInvocationChainImpl(operation));
- try {
- connector.connect(container, outboundWire, container, inboundWire, false);
- fail();
- } catch (IncompatibleInterfacesException e) {
- // expected
- }
-
+ public void testConnectTargetNotFoundNonRequiredReference() throws Exception {
+ Implementation<ComponentType<ServiceDefinition, ReferenceDefinition, Property<?>>> impl =
+ new Implementation<ComponentType<ServiceDefinition, ReferenceDefinition, Property<?>>>() {
+ };
+ ComponentType<ServiceDefinition, ReferenceDefinition, Property<?>> type =
+ new ComponentType<ServiceDefinition, ReferenceDefinition, Property<?>>();
+ URI refUri = URI.create("ref");
+ ReferenceDefinition referenceDefinition = new ReferenceDefinition(refUri, null);
+ referenceDefinition.setRequired(false);
+ type.add(referenceDefinition);
+ impl.setComponentType(type);
+
+ URI sourceUri = URI.create("source");
+ ComponentDefinition<?> definition =
+ new ComponentDefinition<Implementation<ComponentType<ServiceDefinition,
+ ReferenceDefinition, Property<?>>>>(impl);
+ definition.setUri(sourceUri);
+ ReferenceTarget referenceTarget = new ReferenceTarget();
+ referenceTarget.setReferenceName(refUri);
+ referenceTarget.addTarget(URI.create("NotThere"));
+ definition.add(referenceTarget);
+ Component component = EasyMock.createMock(Component.class);
+ EasyMock.expect(component.getUri()).andReturn(sourceUri);
+ EasyMock.replay(component);
+ manager.register(component);
+ connector.connect(definition);
+ }
+
+ public void testNonOptimizableTargetComponent() throws Exception {
+ AtomicComponent source = EasyMock.createMock(AtomicComponent.class);
+ EasyMock.expect(source.getScope()).andReturn(Scope.COMPOSITE);
+ EasyMock.replay(source);
+
+ AtomicComponent target = EasyMock.createMock(AtomicComponent.class);
+ EasyMock.expect(target.getScope()).andReturn(Scope.COMPOSITE);
+ EasyMock.expect(target.isOptimizable()).andReturn(false);
+ EasyMock.replay(target);
+
+ Wire wire = EasyMock.createMock(Wire.class);
+ wire.setOptimizable(false);
+ EasyMock.replay(wire);
+ connector.optimize(source, target, wire);
+ EasyMock.verify(source);
+ EasyMock.verify(target);
+ EasyMock.verify(wire);
+ }
+
+ public void testOptimizableTargetComponent() throws Exception {
+ AtomicComponent source = EasyMock.createMock(AtomicComponent.class);
+ EasyMock.expect(source.getScope()).andReturn(Scope.COMPOSITE);
+ EasyMock.replay(source);
+
+ AtomicComponent target = EasyMock.createMock(AtomicComponent.class);
+ EasyMock.expect(target.getScope()).andReturn(Scope.COMPOSITE);
+ EasyMock.expect(target.isOptimizable()).andReturn(true);
+ EasyMock.replay(target);
+
+ Wire wire = EasyMock.createMock(Wire.class);
+ wire.setOptimizable(true);
+ wire.setTarget(EasyMock.eq(target));
+ wire.getInvocationChains();
+ EasyMock.expectLastCall().andReturn(Collections.emptyMap());
+ wire.getCallbackInvocationChains();
+ EasyMock.expectLastCall().andReturn(Collections.emptyMap());
+ EasyMock.replay(wire);
+ connector.optimize(source, target, wire);
+ EasyMock.verify(source);
+ EasyMock.verify(target);
}
public void testIsOptimizable() {
@@ -242,17 +216,105 @@
}
- public void testInvalidConnectObject() throws Exception {
- try {
- connector.connect(EasyMock.createNiceMock(SCAObject.class));
- fail();
- } catch (AssertionError e) {
- // expected
- }
+ public void testCreateSyncForwardWire() throws Exception {
+ ServiceContract<Type> contract = new ServiceContract<Type>() {
+
+ };
+ Operation<Type> operation = new Operation<Type>("operation", null, null, null);
+ Map<String, Operation<Type>> operations = new HashMap<String, Operation<Type>>();
+ operations.put("operation", operation);
+ contract.setOperations(operations);
+ Wire wire = connector.createWire(URI.create("target"), URI.create("#ref"), contract, Wire.LOCAL_BINDING);
+ assertEquals(1, wire.getInvocationChains().size());
+ InvocationChain chain = wire.getInvocationChains().get(operation);
+ Interceptor head = chain.getHeadInterceptor();
+ assertTrue(head instanceof InvokerInterceptor);
+ }
+
+ public void testCreateSyncCallbackWire() throws Exception {
+ ServiceContract<Type> contract = new ServiceContract<Type>() {
+
+ };
+
+ Operation<Type> operation = new Operation<Type>("operation", null, null, null);
+ Map<String, Operation<Type>> operations = new HashMap<String, Operation<Type>>();
+ operations.put("operation", operation);
+ contract.setOperations(operations);
+
+ Operation<Type> callbackOperation = new Operation<Type>("operation", null, null, null);
+ Map<String, Operation<Type>> callbackOperations = new HashMap<String, Operation<Type>>();
+ callbackOperations.put("operation", callbackOperation);
+ contract.setCallbackOperations(callbackOperations);
+
+ Wire wire = connector.createWire(URI.create("target"), URI.create("#ref"), contract, Wire.LOCAL_BINDING);
+ assertEquals(1, wire.getCallbackInvocationChains().size());
+ InvocationChain chain = wire.getCallbackInvocationChains().get(callbackOperation);
+ Interceptor head = chain.getHeadInterceptor();
+ assertTrue(head instanceof InvokerInterceptor);
+ }
+
+ public void testCreateNonBlockingForwardWire() throws Exception {
+ ServiceContract<Type> contract = new ServiceContract<Type>() {
+
+ };
+ Operation<Type> operation = new Operation<Type>("operation", null, null, null);
+ operation.setNonBlocking(true);
+ Map<String, Operation<Type>> operations = new HashMap<String, Operation<Type>>();
+ operations.put("operation", operation);
+ contract.setOperations(operations);
+ Wire wire = connector.createWire(URI.create("target"), URI.create("#ref"), contract, Wire.LOCAL_BINDING);
+ assertEquals(1, wire.getInvocationChains().size());
+ InvocationChain chain = wire.getInvocationChains().get(operation);
+ Interceptor head = chain.getHeadInterceptor();
+ assertTrue(head instanceof NonBlockingInterceptor);
+ assertTrue(head.getNext() instanceof InvokerInterceptor);
+ }
+
+ public void testCreateNonBlockingCallbackWire() throws Exception {
+ ServiceContract<Type> contract = new ServiceContract<Type>() {
+
+ };
+
+ Operation<Type> operation = new Operation<Type>("operation", null, null, null);
+ operation.setNonBlocking(true);
+ Map<String, Operation<Type>> operations = new HashMap<String, Operation<Type>>();
+ operations.put("operation", operation);
+ contract.setOperations(operations);
+
+ Operation<Type> callbackOperation = new Operation<Type>("operation", null, null, null);
+ callbackOperation.setNonBlocking(true);
+ Map<String, Operation<Type>> callbackOperations = new HashMap<String, Operation<Type>>();
+ callbackOperations.put("operation", callbackOperation);
+ contract.setCallbackOperations(callbackOperations);
+
+ Wire wire = connector.createWire(URI.create("target"), URI.create("#ref"), contract, Wire.LOCAL_BINDING);
+ assertEquals(1, wire.getCallbackInvocationChains().size());
+ InvocationChain chain = wire.getCallbackInvocationChains().get(callbackOperation);
+ Interceptor head = chain.getHeadInterceptor();
+ assertTrue(head instanceof NonBlockingInterceptor);
+ assertTrue(head.getNext() instanceof InvokerInterceptor);
}
protected void setUp() throws Exception {
super.setUp();
+ manager = new ComponentManagerImpl();
+ connector = new TestConnector(manager);
+ }
+
+ private class TestConnector extends ConnectorImpl {
+
+ public TestConnector(ComponentManager componentManager) {
+ super(componentManager);
+ }
+
+ protected Wire createWire(URI sourceURI, URI targetUri, ServiceContract<?> contract, QName bindingType) {
+ return super.createWire(sourceURI, targetUri, contract, bindingType);
+ }
+
+ public boolean isOptimizable(Scope pReferrer, Scope pReferee) {
+ return super.isOptimizable(pReferrer, pReferee);
+ }
+
}
}
Added: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/builder/InvalidSourceTypeExceptionTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/builder/InvalidSourceTypeExceptionTestCase.java?view=auto&rev=508732
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/builder/InvalidSourceTypeExceptionTestCase.java (added)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/builder/InvalidSourceTypeExceptionTestCase.java Sat Feb 17 00:35:19 2007
@@ -0,0 +1,39 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.tuscany.core.builder;
+
+import java.net.URI;
+
+import junit.framework.TestCase;
+
+/**
+ * @version $Rev$ $Date$
+ */
+public class InvalidSourceTypeExceptionTestCase extends TestCase {
+
+ public void testInstantiation() throws Exception {
+ URI sourceUri = URI.create("source");
+ URI targetUri = URI.create("target");
+ InvalidSourceTypeException e = new InvalidSourceTypeException("message", sourceUri, targetUri);
+ assertEquals("message", e.getMessage());
+ assertEquals(sourceUri, e.getSourceUri());
+ assertEquals(targetUri, e.getTargetUri());
+
+ }
+}
Propchange: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/builder/InvalidSourceTypeExceptionTestCase.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/builder/InvalidSourceTypeExceptionTestCase.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
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=508732&r1=508731&r2=508732
==============================================================================
--- 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 Sat Feb 17 00:35:19 2007
@@ -20,143 +20,138 @@
import java.net.URI;
+import org.apache.tuscany.spi.builder.WiringException;
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.idl.java.JavaInterfaceProcessorRegistry;
+import org.apache.tuscany.spi.model.BindingDefinition;
import org.apache.tuscany.spi.model.Operation;
+import org.apache.tuscany.spi.model.ReferenceDefinition;
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;
-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.Wire;
+import junit.framework.TestCase;
+import org.apache.tuscany.core.component.ComponentManager;
+import org.apache.tuscany.core.component.ComponentManagerImpl;
+import org.apache.tuscany.core.idl.java.JavaInterfaceProcessorRegistryImpl;
+import org.apache.tuscany.core.implementation.composite.CompositeComponentImpl;
import org.apache.tuscany.core.implementation.composite.ReferenceImpl;
-import org.apache.tuscany.core.wire.InboundInvocationChainImpl;
-import org.apache.tuscany.core.wire.InboundWireImpl;
-import org.apache.tuscany.core.wire.InvokerInterceptor;
-import org.apache.tuscany.core.wire.OutboundInvocationChainImpl;
-import org.apache.tuscany.core.wire.OutboundWireImpl;
import org.easymock.EasyMock;
/**
* @version $Rev$ $Date$
*/
-public class ReferenceConnectorTestCase extends AbstractConnectorImplTestCase {
+public class ReferenceConnectorTestCase extends TestCase {
+ private static final URI PARENT = URI.create("parent");
+ private static final URI SOURCE = URI.create("parent#source");
+ private static final URI TARGET = URI.create("parent/target");
+ private static final URI REFERENCE_TARGET = URI.create("parent#target");
+ private ComponentManager manager;
+ private MockConnnector connector;
+ private ServiceContract<?> contract;
+
+ /**
+ * Verifies connecting a wire from an atomic component to a target atomic component
+ */
+ @SuppressWarnings({"unchecked"})
+ public void testConnectToAtomic() throws Exception {
+ ReferenceBinding binding = EasyMock.createMock(ReferenceBinding.class);
+ EasyMock.expect(binding.getTargetUri()).andReturn(TARGET);
+ EasyMock.expect(binding.getBindingType()).andReturn(Wire.LOCAL_BINDING).atLeastOnce();
+ binding.getBindingServiceContract();
+ EasyMock.expectLastCall().andReturn(contract);
+ binding.setWire(EasyMock.isA(Wire.class));
+ EasyMock.replay(binding);
+
+ Reference reference = new ReferenceImpl(SOURCE, contract);
+ reference.addReferenceBinding(binding);
+
+ CompositeComponent component = new CompositeComponentImpl(PARENT);
+ component.register(reference);
+ manager.register(component);
+
+
+ AtomicComponent target = EasyMock.createMock(AtomicComponent.class);
+ EasyMock.expect(target.getUri()).andReturn(TARGET).atLeastOnce();
+ target.createTargetInvoker((String) EasyMock.isNull(), EasyMock.isA(Operation.class));
+ EasyMock.expectLastCall().andReturn(null);
+ EasyMock.replay(target);
+ manager.register(target);
- public void testConnectReferenceWiresNoInboundInterceptors() throws Exception {
- URI referenceUri = URI.create("foo");
- InboundInvocationChain inboundChain = new InboundInvocationChainImpl(operation);
- InboundWire inboundWire = new InboundWireImpl();
- inboundWire.setServiceContract(contract);
- inboundWire.addInboundInvocationChain(operation, inboundChain);
- inboundWire.setSourceUri(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.setTargetUri(TARGET_NAME);
- outboundWire.addOutboundInvocationChain(operation, outboundChain);
- outboundWire.setSourceUri(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.replay(referenceBinding);
-
- Reference reference = new ReferenceImpl(referenceUri, contract);
- reference.addReferenceBinding(referenceBinding);
-
- connector.connect(reference);
-
- EasyMock.verify(referenceBinding);
- Interceptor interceptor = inboundChain.getHeadInterceptor();
- MessageImpl msg = new MessageImpl();
- msg.setTargetInvoker(new MockInvoker());
- Message resp = interceptor.invoke(msg);
- assertEquals(RESPONSE, resp.getBody());
- }
+ ReferenceDefinition definition = new ReferenceDefinition(SOURCE, contract);
+ BindingDefinition bindingDefinition = new BindingDefinition(TARGET) {
+ };
+ definition.addBinding(bindingDefinition);
- 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.addInboundInvocationChain(operation, inboundChain);
- inboundWire.setSourceUri(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.setSourceUri(referenceUri);
- outboundWire.setTargetUri(TARGET_NAME);
- outboundWire.addOutboundInvocationChain(operation, outboundChain);
-
- 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.replay(referenceBinding);
-
- Reference reference = new ReferenceImpl(referenceUri, contract);
- reference.addReferenceBinding(referenceBinding);
-
- connector.connect(reference);
-
- EasyMock.verify(referenceBinding);
- Interceptor interceptor = inboundChain.getHeadInterceptor();
- MessageImpl msg = new MessageImpl();
- msg.setTargetInvoker(new MockInvoker());
- Message resp = interceptor.invoke(msg);
- assertEquals(RESPONSE, resp.getBody());
- assertTrue(inboundInterceptor.isInvoked());
+ connector.connect(definition);
+
+ EasyMock.verify(binding);
+ EasyMock.verify(target);
}
- public void testOutboundWireToInboundReferenceTarget() throws Exception {
- 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)))
- .andReturn(new MockInvoker());
- EasyMock.replay(target);
+ @SuppressWarnings({"unchecked"})
+ public void testConnectToReference() throws Exception {
+ ReferenceBinding binding = EasyMock.createMock(ReferenceBinding.class);
+ EasyMock.expect(binding.getTargetUri()).andReturn(REFERENCE_TARGET);
+ EasyMock.expect(binding.getBindingType()).andReturn(Wire.LOCAL_BINDING).atLeastOnce();
+ binding.getBindingServiceContract();
+ EasyMock.expectLastCall().andReturn(contract);
+ binding.setWire(EasyMock.isA(Wire.class));
+ EasyMock.replay(binding);
+
+ Reference reference = new ReferenceImpl(SOURCE, contract);
+ reference.addReferenceBinding(binding);
+
+ CompositeComponent component = new CompositeComponentImpl(PARENT);
+ component.register(reference);
+
+ ReferenceBinding refBinding = EasyMock.createMock(ReferenceBinding.class);
+ EasyMock.expect(refBinding.getUri()).andReturn(REFERENCE_TARGET).atLeastOnce();
+ refBinding.createTargetInvoker(EasyMock.isA(String.class), EasyMock.isA(Operation.class));
+ EasyMock.expectLastCall().andReturn(null);
+ EasyMock.replay(refBinding);
+ Reference target = new ReferenceImpl(REFERENCE_TARGET, contract);
+ target.addReferenceBinding(refBinding);
+ component.register(target);
+ manager.register(component);
+
+ ReferenceDefinition definition = new ReferenceDefinition(SOURCE, contract);
+ BindingDefinition bindingDefinition = new BindingDefinition(TARGET) {
+ };
+ definition.addBinding(bindingDefinition);
- InboundInvocationChain inboundChain = new InboundInvocationChainImpl(operation);
- inboundChain.addInterceptor(new InvokerInterceptor());
- InboundWire targetWire = new InboundWireImpl();
- targetWire.setServiceContract(contract);
- targetWire.addInboundInvocationChain(operation, inboundChain);
- targetWire.setSourceUri(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.setTargetUri(TARGET_NAME);
- sourceWire.addOutboundInvocationChain(operation, sourceChain);
-
- connector.connect(source, sourceWire, target, targetWire, false);
- Interceptor interceptor = sourceChain.getHeadInterceptor();
- MessageImpl msg = new MessageImpl();
- msg.setTargetInvoker(new MockInvoker());
- Message resp = interceptor.invoke(msg);
- assertEquals(RESPONSE, resp.getBody());
+ connector.connect(definition);
+
+ EasyMock.verify(binding);
+ EasyMock.verify(refBinding);
}
+
protected void setUp() throws Exception {
super.setUp();
- AtomicComponent source = EasyMock.createNiceMock(AtomicComponent.class);
- EasyMock.replay(source);
+ manager = new ComponentManagerImpl();
+ connector = new MockConnnector(manager);
+ JavaInterfaceProcessorRegistry registry = new JavaInterfaceProcessorRegistryImpl();
+ contract = registry.introspect(Foo.class);
}
+
+
+ private interface Foo {
+ void bar();
+ }
+
+ private class MockConnnector extends ConnectorImpl {
+
+ public MockConnnector(ComponentManager componentManager) {
+ super(componentManager);
+ }
+
+ public void connect(ReferenceDefinition definition) throws WiringException {
+ super.connect(definition);
+ }
+ }
+
}
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=508732&r1=508731&r2=508732
==============================================================================
--- 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 Sat Feb 17 00:35:19 2007
@@ -20,121 +20,134 @@
import java.net.URI;
+import org.apache.tuscany.spi.builder.WiringException;
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.component.ServiceBinding;
+import org.apache.tuscany.spi.component.Reference;
+import org.apache.tuscany.spi.component.ReferenceBinding;
+import org.apache.tuscany.spi.idl.java.JavaInterfaceProcessorRegistry;
+import org.apache.tuscany.spi.model.BindingDefinition;
import org.apache.tuscany.spi.model.Operation;
-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.spi.wire.OutboundInvocationChain;
-import org.apache.tuscany.spi.wire.OutboundWire;
-
-import org.apache.tuscany.core.implementation.composite.ReferenceImpl;
+import org.apache.tuscany.spi.model.ServiceContract;
+import org.apache.tuscany.spi.model.ServiceDefinition;
+import org.apache.tuscany.spi.wire.Wire;
+
+import junit.framework.TestCase;
+import org.apache.tuscany.core.component.ComponentManager;
+import org.apache.tuscany.core.component.ComponentManagerImpl;
+import org.apache.tuscany.core.idl.java.JavaInterfaceProcessorRegistryImpl;
+import org.apache.tuscany.core.implementation.composite.CompositeComponentImpl;
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.InvokerInterceptor;
-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.implementation.composite.ReferenceImpl;
import org.easymock.EasyMock;
/**
* @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(SOURCE, 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 class ServiceConnectorTestCase extends TestCase {
+ private static final URI PARENT = URI.create("parent");
+ private static final URI SOURCE = URI.create("parent#source");
+ private static final URI TARGET = URI.create("parent/target");
+ private static final URI REFERENCE_TARGET = URI.create("parent#target");
+ private ComponentManager manager;
+ private MockConnnector connector;
+ private ServiceContract<?> contract;
+
+ /**
+ * Verifies connecting a wire from an atomic component to a target atomic component
+ */
+ @SuppressWarnings({"unchecked"})
+ public void testConnectToAtomic() throws Exception {
+ ServiceBinding binding = EasyMock.createMock(ServiceBinding.class);
+ EasyMock.expect(binding.getBindingType()).andReturn(Wire.LOCAL_BINDING);
+ binding.setWire(EasyMock.isA(Wire.class));
+ EasyMock.replay(binding);
+
+ Service service = new ServiceImpl(SOURCE, contract);
+ service.addServiceBinding(binding);
+
+ CompositeComponent component = new CompositeComponentImpl(PARENT);
+ component.register(service);
+ manager.register(component);
+
+
+ AtomicComponent target = EasyMock.createMock(AtomicComponent.class);
+ EasyMock.expect(target.getUri()).andReturn(TARGET).atLeastOnce();
+ target.createTargetInvoker((String) EasyMock.isNull(), EasyMock.isA(Operation.class));
+ EasyMock.expectLastCall().andReturn(null);
+ EasyMock.replay(target);
+ manager.register(target);
+
+ ServiceDefinition definition = new ServiceDefinition(SOURCE, contract, false);
+ definition.setTarget(TARGET);
+ BindingDefinition bindingDefinition = new BindingDefinition(TARGET) {
+ };
+ definition.addBinding(bindingDefinition);
+ connector.connect(definition);
+
+ EasyMock.verify(binding);
+ EasyMock.verify(target);
}
- public void testConnectServiceToReference() throws Exception {
- configureReferenceTarget();
- Service sourceService = new ServiceImpl(URI.create("source"), 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());
+ @SuppressWarnings({"unchecked"})
+ public void testConnectToReference() throws Exception {
+ ServiceBinding binding = EasyMock.createMock(ServiceBinding.class);
+ EasyMock.expect(binding.getBindingType()).andReturn(Wire.LOCAL_BINDING);
+ binding.setWire(EasyMock.isA(Wire.class));
+ EasyMock.replay(binding);
+
+ Service service = new ServiceImpl(SOURCE, contract);
+ service.addServiceBinding(binding);
+
+ CompositeComponent component = new CompositeComponentImpl(PARENT);
+ component.register(service);
+
+ ReferenceBinding refBinding = EasyMock.createMock(ReferenceBinding.class);
+ EasyMock.expect(refBinding.getUri()).andReturn(REFERENCE_TARGET).atLeastOnce();
+ refBinding.createTargetInvoker(EasyMock.isA(String.class), EasyMock.isA(Operation.class));
+ EasyMock.expectLastCall().andReturn(null);
+ EasyMock.replay(refBinding);
+ Reference target = new ReferenceImpl(REFERENCE_TARGET, contract);
+ target.addReferenceBinding(refBinding);
+ component.register(target);
+ manager.register(component);
+
+ ServiceDefinition definition = new ServiceDefinition(SOURCE, contract, false);
+ definition.setTarget(REFERENCE_TARGET);
+ BindingDefinition bindingDefinition = new BindingDefinition(REFERENCE_TARGET) {
+ };
+ definition.addBinding(bindingDefinition);
+ connector.connect(definition);
+
+ EasyMock.verify(binding);
+ EasyMock.verify(refBinding);
}
+
protected void setUp() throws Exception {
super.setUp();
- inboundChain = new InboundInvocationChainImpl(operation);
- InboundWire inboundWire = new InboundWireImpl();
- inboundWire.setServiceContract(contract);
- inboundWire.addInboundInvocationChain(operation, inboundChain);
- inboundWire.setSourceUri(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.setTargetUri(TARGET_NAME);
- outboundWire.addOutboundInvocationChain(operation, outboundChain);
- outboundWire.setSourceUri(SOURCE);
-
- sourceServiceBinding = new MockServiceBinding(SOURCE);
- sourceServiceBinding.setInboundWire(inboundWire);
- sourceServiceBinding.setOutboundWire(outboundWire);
+ manager = new ComponentManagerImpl();
+ connector = new MockConnnector(manager);
+ JavaInterfaceProcessorRegistry registry = new JavaInterfaceProcessorRegistryImpl();
+ contract = registry.introspect(Foo.class);
}
- private void configureAtomicTarget() throws Exception {
- InboundInvocationChain inboundChain = new InboundInvocationChainImpl(operation);
- inboundChain.addInterceptor(new InvokerInterceptor());
- InboundWire inboundWire = new InboundWireImpl();
- inboundWire.setServiceContract(contract);
- inboundWire.addInboundInvocationChain(operation, inboundChain);
- inboundWire.setSourceUri(TARGET);
- AtomicComponent atomicTarget = EasyMock.createMock(AtomicComponent.class);
- 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),
- EasyMock.isA(InboundWire.class))).andReturn(new MockInvoker());
- EasyMock.replay(atomicTarget);
-
- parent = EasyMock.createNiceMock(CompositeComponent.class);
- EasyMock.replay(parent);
- componentManager.register(atomicTarget);
+
+ private interface Foo {
+ void bar();
}
- private void configureReferenceTarget() throws Exception {
- ReferenceBinding binding = createLocalReferenceBinding(TARGET, URI.create("OtherTarget"));
- Reference referenceTarget = new ReferenceImpl(TARGET, contract);
- referenceTarget.addReferenceBinding(binding);
- // put a terminating interceptor on the outbound wire of the reference for testing an invocation
- binding.getOutboundWire().getOutboundInvocationChains().get(operation).addInterceptor(new InvokerInterceptor());
- connector.connect(binding, binding.getInboundWire(), binding, binding.getOutboundWire(), true);
- parent = EasyMock.createNiceMock(CompositeComponent.class);
- EasyMock.expect(parent.getUri()).andReturn(TARGET);
- EasyMock.expect(parent.getTargetWire(TARGET_FRAGMENT)).andReturn(binding.getInboundWire());
- EasyMock.replay(parent);
- componentManager.register(parent);
+ private class MockConnnector extends ConnectorImpl {
+
+ public MockConnnector(ComponentManager componentManager) {
+ super(componentManager);
+ }
+
+ public void connect(ServiceDefinition definition) throws WiringException {
+ super.connect(definition);
+ }
}
}
Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/builder/WirePostProcessorRegistryImplTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/builder/WirePostProcessorRegistryImplTestCase.java?view=diff&rev=508732&r1=508731&r2=508732
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/builder/WirePostProcessorRegistryImplTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/builder/WirePostProcessorRegistryImplTestCase.java Sat Feb 17 00:35:19 2007
@@ -18,9 +18,7 @@
*/
package org.apache.tuscany.core.builder;
-import org.apache.tuscany.spi.component.SCAObject;
-import org.apache.tuscany.spi.wire.InboundWire;
-import org.apache.tuscany.spi.wire.OutboundWire;
+import org.apache.tuscany.spi.wire.Wire;
import org.apache.tuscany.spi.wire.WirePostProcessor;
import org.apache.tuscany.spi.wire.WirePostProcessorRegistry;
@@ -35,32 +33,16 @@
public class WirePostProcessorRegistryImplTestCase extends TestCase {
public void testRegisterUnregister() throws Exception {
- SCAObject container = EasyMock.createMock(SCAObject.class);
WirePostProcessorRegistry registry = new WirePostProcessorRegistryImpl();
- OutboundWire owire = EasyMock.createMock(OutboundWire.class);
- InboundWire iwire = EasyMock.createMock(InboundWire.class);
+ Wire wire = EasyMock.createMock(Wire.class);
WirePostProcessor processor = createMock(WirePostProcessor.class);
- processor.process(EasyMock.eq(container), EasyMock.eq(owire), EasyMock.eq(container), EasyMock.eq(iwire));
+ processor.process(EasyMock.eq(wire));
EasyMock.replay(processor);
registry.register(processor);
- registry.process(container, owire, container, iwire);
+ registry.process(wire);
registry.unregister(processor);
- registry.process(container, owire, container, iwire);
+ registry.process(wire);
verify(processor);
}
-
- public void testProcessInboundToOutbound() throws Exception {
- WirePostProcessorRegistry registry = new WirePostProcessorRegistryImpl();
- SCAObject container = EasyMock.createMock(SCAObject.class);
- OutboundWire owire = EasyMock.createMock(OutboundWire.class);
- InboundWire iwire = EasyMock.createMock(InboundWire.class);
- WirePostProcessor processor = createMock(WirePostProcessor.class);
- processor.process(EasyMock.eq(container), EasyMock.eq(iwire), EasyMock.eq(container), EasyMock.eq(owire));
- EasyMock.replay(processor);
- registry.register(processor);
- registry.process(container, iwire, container, owire);
- verify(processor);
- }
-
}
Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/MockFactory.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/MockFactory.java?view=diff&rev=508732&r1=508731&r2=508732
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/MockFactory.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/MockFactory.java Sat Feb 17 00:35:19 2007
@@ -31,15 +31,13 @@
import org.apache.tuscany.spi.component.AtomicComponent;
import org.apache.tuscany.spi.component.ScopeContainer;
import org.apache.tuscany.spi.idl.java.JavaServiceContract;
-import org.apache.tuscany.spi.wire.InboundWire;
-import org.apache.tuscany.spi.wire.OutboundWire;
+import org.apache.tuscany.spi.wire.Wire;
import org.apache.tuscany.core.implementation.PojoConfiguration;
import org.apache.tuscany.core.implementation.system.component.SystemAtomicComponentImpl;
import org.apache.tuscany.core.injection.MethodEventInvoker;
import org.apache.tuscany.core.injection.PojoObjectFactory;
-import org.apache.tuscany.core.wire.InboundWireImpl;
-import org.apache.tuscany.core.wire.OutboundWireImpl;
+import org.apache.tuscany.core.wire.WireImpl;
/**
* @version $$Rev$$ $$Date$$
@@ -62,18 +60,14 @@
AtomicComponent targetComponent = createAtomicComponent(target, targetScopeContainer, targetClass);
PojoConfiguration sourceConfig = new PojoConfiguration();
sourceConfig.setInstanceFactory(new PojoObjectFactory(sourceClass.getConstructor()));
-
- //create target wire
Method[] sourceMethods = sourceClass.getMethods();
Class[] interfaces = targetClass.getInterfaces();
EagerInit eager = targetClass.getAnnotation(EagerInit.class);
if (eager != null) {
sourceConfig.setInitLevel(eager.value());
}
-
Method setter = null;
for (Class interfaze : interfaces) {
-
for (Method method : sourceMethods) {
if (method.getParameterTypes().length == 1) {
if (interfaze.isAssignableFrom(method.getParameterTypes()[0])) {
@@ -87,25 +81,19 @@
sourceConfig.setDestroyInvoker(new MethodEventInvoker<Object>(method));
}
}
-
}
if (setter == null) {
throw new IllegalArgumentException("No setter found on source for target");
}
-
sourceConfig.addReferenceSite(setter.getName(), setter);
sourceConfig.setName(new URI(source));
AtomicComponent sourceComponent = new SystemAtomicComponentImpl(sourceConfig);
sourceComponent.setScopeContainer(sourceScopeContainer);
- OutboundWire wire = new OutboundWireImpl();
+ Wire wire = new WireImpl();
wire.setSourceUri(URI.create("#" + setter.getName()));
- wire.setServiceContract(new JavaServiceContract(targetClass));
- InboundWire inboundWire = new InboundWireImpl();
- inboundWire.setComponent(targetComponent);
- inboundWire.setServiceContract(new JavaServiceContract(targetClass));
- inboundWire.setSourceUri(URI.create("#" + target));
- wire.setTargetWire(inboundWire);
- sourceComponent.addOutboundWire(wire);
+ wire.setSourceContract(new JavaServiceContract(targetClass));
+ wire.setTarget(targetComponent);
+ sourceComponent.attachWire(wire);
components.put(source, sourceComponent);
components.put(target, targetComponent);
return components;
Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/databinding/impl/DataBindingInterceptorTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/databinding/impl/DataBindingInterceptorTestCase.java?view=diff&rev=508732&r1=508731&r2=508732
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/databinding/impl/DataBindingInterceptorTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/databinding/impl/DataBindingInterceptorTestCase.java Sat Feb 17 00:35:19 2007
@@ -29,10 +29,9 @@
import org.apache.tuscany.spi.model.DataType;
import org.apache.tuscany.spi.model.Operation;
import static org.apache.tuscany.spi.model.Operation.NO_CONVERSATION;
-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.OutboundWire;
+import org.apache.tuscany.spi.wire.Wire;
import junit.framework.Assert;
import junit.framework.TestCase;
@@ -71,11 +70,10 @@
DataType<DataType> outputType2 =
new DataType<DataType>("idl:output", Object.class, operation2.getOutputType());
- OutboundWire outboundWire = EasyMock.createMock(OutboundWire.class);
- InboundWire inboundWire = EasyMock.createMock(InboundWire.class);
+ Wire outboundWire = EasyMock.createMock(Wire.class);
CompositeComponent composite = EasyMock.createMock(CompositeComponent.class);
Component component = EasyMock.createMock(Component.class);
- EasyMock.replay(outboundWire, inboundWire, composite, component);
+ EasyMock.replay(outboundWire, composite, component);
DataBindingInteceptor interceptor = new DataBindingInteceptor(outboundWire, operation1, operation2);
Mediator mediator = createMock(Mediator.class);
Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/databinding/impl/DataBindingWirePostProcessorOptimizationTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/databinding/impl/DataBindingWirePostProcessorOptimizationTestCase.java?view=diff&rev=508732&r1=508731&r2=508732
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/databinding/impl/DataBindingWirePostProcessorOptimizationTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/databinding/impl/DataBindingWirePostProcessorOptimizationTestCase.java Sat Feb 17 00:35:19 2007
@@ -23,15 +23,12 @@
import java.util.HashMap;
import java.util.Map;
-import org.apache.tuscany.spi.component.SCAObject;
import org.apache.tuscany.spi.databinding.Mediator;
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.OutboundInvocationChain;
-import org.apache.tuscany.spi.wire.OutboundWire;
+import org.apache.tuscany.spi.wire.InvocationChain;
+import org.apache.tuscany.spi.wire.Wire;
import junit.framework.TestCase;
import org.easymock.EasyMock;
@@ -44,33 +41,18 @@
*/
public class DataBindingWirePostProcessorOptimizationTestCase extends TestCase {
private DataBindingWirePostProcessor processor;
- private OutboundInvocationChain outboundChain;
- private OutboundWire outboundWire;
- private InboundInvocationChain inboundChain;
- private InboundWire inboundWire;
- private SCAObject container;
+ private InvocationChain outboundChain;
+ private InvocationChain callbackChain;
+ private Wire wire;
- public void testNoInterceptorInterposedOutboundToInbound() {
- processor.process(container, outboundWire, container, inboundWire);
+ public void testNoInterceptorInterposed() {
+ processor.process(wire);
EasyMock.verify(outboundChain);
- EasyMock.verify(inboundChain);
- EasyMock.verify(outboundWire);
- EasyMock.verify(inboundWire);
+ EasyMock.verify(callbackChain);
}
- public void testNoInterceptorInterposedInboundToOutbound() {
- processor.process(container, inboundWire, container, outboundWire);
- EasyMock.verify(outboundChain);
- EasyMock.verify(inboundChain);
- EasyMock.verify(outboundWire);
- EasyMock.verify(inboundWire);
- }
-
-
protected void setUp() throws Exception {
super.setUp();
- container = EasyMock.createMock(SCAObject.class);
- EasyMock.replay(container);
Mediator mediator = new MediatorImpl();
processor = new DataBindingWirePostProcessor(mediator);
@@ -83,31 +65,25 @@
contract.setOperations(operations);
contract.setCallbackOperations(operations);
- inboundChain = EasyMock.createMock(InboundInvocationChain.class);
- EasyMock.replay(inboundChain);
- Map<Operation<?>, InboundInvocationChain> inboundChains = new HashMap<Operation<?>, InboundInvocationChain>();
- inboundChains.put(operation, inboundChain);
-
- outboundChain = EasyMock.createMock(OutboundInvocationChain.class);
+ outboundChain = EasyMock.createMock(InvocationChain.class);
EasyMock.replay(outboundChain);
- Map<Operation<?>, OutboundInvocationChain> outboundChains =
- new HashMap<Operation<?>, OutboundInvocationChain>();
+ Map<Operation<?>, InvocationChain> outboundChains = new HashMap<Operation<?>, InvocationChain>();
outboundChains.put(operation, outboundChain);
- outboundWire = EasyMock.createMock(OutboundWire.class);
- EasyMock.expect(outboundWire.getOutboundInvocationChains()).andReturn(outboundChains);
- EasyMock.expect(outboundWire.getServiceContract()).andReturn(contract).anyTimes();
- EasyMock.expect(outboundWire.getTargetCallbackInvocationChains()).andReturn(inboundChains).anyTimes();
+ callbackChain = EasyMock.createMock(InvocationChain.class);
+ EasyMock.replay(callbackChain);
+ Map<Operation<?>, InvocationChain> callbackChains = new HashMap<Operation<?>, InvocationChain>();
+ callbackChains.put(operation, callbackChain);
+
+ wire = EasyMock.createMock(Wire.class);
+ EasyMock.expect(wire.getInvocationChains()).andReturn(outboundChains);
+ EasyMock.expect(wire.getSourceContract()).andReturn(contract).anyTimes();
+ EasyMock.expect(wire.getTargetContract()).andReturn(contract).anyTimes();
+ EasyMock.expect(wire.getCallbackInvocationChains()).andReturn(callbackChains).anyTimes();
URI uri = URI.create("foo");
- EasyMock.expect(outboundWire.getSourceUri()).andReturn(uri).anyTimes();
-
- EasyMock.replay(outboundWire);
+ EasyMock.expect(wire.getSourceUri()).andReturn(uri).anyTimes();
- inboundWire = EasyMock.createMock(InboundWire.class);
- EasyMock.expect(inboundWire.getInboundInvocationChains()).andReturn(inboundChains);
- EasyMock.expect(inboundWire.getSourceCallbackInvocationChains(EasyMock.eq(uri))).andReturn(outboundChains)
- .anyTimes();
- EasyMock.replay(inboundWire);
+ EasyMock.replay(wire);
}
}
Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/databinding/impl/DataBindingWirePostProcessorTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/databinding/impl/DataBindingWirePostProcessorTestCase.java?view=diff&rev=508732&r1=508731&r2=508732
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/databinding/impl/DataBindingWirePostProcessorTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/databinding/impl/DataBindingWirePostProcessorTestCase.java Sat Feb 17 00:35:19 2007
@@ -26,22 +26,16 @@
import java.util.List;
import java.util.Map;
-import org.w3c.dom.Node;
-
import org.apache.tuscany.spi.component.Component;
import org.apache.tuscany.spi.component.CompositeComponent;
-import org.apache.tuscany.spi.component.ReferenceBinding;
-import org.apache.tuscany.spi.component.ServiceBinding;
import org.apache.tuscany.spi.databinding.Mediator;
import org.apache.tuscany.spi.idl.java.JavaServiceContract;
import org.apache.tuscany.spi.model.DataType;
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;
-import org.apache.tuscany.spi.wire.OutboundInvocationChain;
-import org.apache.tuscany.spi.wire.OutboundWire;
+import org.apache.tuscany.spi.wire.InvocationChain;
+import org.apache.tuscany.spi.wire.Wire;
import junit.framework.TestCase;
import org.easymock.EasyMock;
@@ -54,9 +48,6 @@
public class DataBindingWirePostProcessorTestCase extends TestCase {
private DataBindingWirePostProcessor processor;
- /**
- * @see junit.framework.TestCase#setUp()
- */
protected void setUp() throws Exception {
super.setUp();
Mediator mediator = new MediatorImpl();
@@ -64,14 +55,13 @@
}
public void testProcess1() {
- InboundWire inboundWire = createMock(InboundWire.class);
- OutboundWire outboundWire = createMock(OutboundWire.class);
+ Wire outboundWire = createMock(Wire.class);
Component component = createMock(Component.class);
CompositeComponent composite = createMock(CompositeComponent.class);
- Map<Operation<?>, OutboundInvocationChain> outboundChains =
- new HashMap<Operation<?>, OutboundInvocationChain>();
+ Map<Operation<?>, InvocationChain> outboundChains =
+ new HashMap<Operation<?>, InvocationChain>();
DataType<Type> type1 = new DataType<Type>(String.class, String.class);
List<DataType<Type>> types = new ArrayList<DataType<Type>>();
types.add(type1);
@@ -81,142 +71,25 @@
ServiceContract<Type> outboundContract = new JavaServiceContract(null);
outboundContract.setDataBinding(String.class.getName());
op1.setServiceContract(outboundContract);
+ Map<String, Operation<Type>> outboundOperations = new HashMap<String, Operation<Type>>();
+ outboundOperations.put("test", op1);
- OutboundInvocationChain outboundChain = createMock(OutboundInvocationChain.class);
+ outboundContract.setOperations(outboundOperations);
+ InvocationChain outboundChain = createMock(InvocationChain.class);
outboundChains.put(op1, outboundChain);
- expect(outboundWire.getOutboundInvocationChains()).andReturn(outboundChains);
+ expect(outboundWire.getInvocationChains()).andReturn(outboundChains);
outboundChain.addInterceptor(EasyMock.anyInt(), (Interceptor) EasyMock.anyObject());
- Map<Operation<?>, InboundInvocationChain> inboundChains =
- new HashMap<Operation<?>, InboundInvocationChain>();
- DataType<Type> type2 = new DataType<Type>(Node.class, Node.class);
- List<DataType<Type>> types2 = new ArrayList<DataType<Type>>();
- types2.add(type2);
- DataType<List<DataType<Type>>> inputType2 =
- new DataType<List<DataType<Type>>>(Object[].class, types2);
- DataType<Type> outputType2 = new DataType<Type>(String.class, String.class);
- Operation<Type> op2 = new Operation<Type>("test", inputType2, outputType2, null);
- ServiceContract<Type> inboundContract = new JavaServiceContract(null);
- inboundContract.setDataBinding(Node.class.getName());
- op2.setServiceContract(inboundContract);
-
- InboundInvocationChain inboundChain = createMock(InboundInvocationChain.class);
- inboundChains.put(op2, inboundChain);
- expect(inboundWire.getInboundInvocationChains()).andReturn(inboundChains);
-
- ServiceContract<Type> contract = new JavaServiceContract();
- Map<String, Operation<Type>> operations = Collections.emptyMap();
- contract.setCallbackOperations(operations);
- expect(outboundWire.getServiceContract()).andReturn(contract);
-
- EasyMock.replay(composite, component, inboundWire, outboundWire, inboundChain, outboundChain);
-
- processor.process(component, outboundWire, component, inboundWire);
- }
-
- public void testProcess2() {
- InboundWire inboundWire = createMock(InboundWire.class);
- OutboundWire outboundWire = createMock(OutboundWire.class);
-
- ReferenceBinding referenceBinding = createMock(ReferenceBinding.class);
- CompositeComponent composite = createMock(CompositeComponent.class);
-
- Map<Operation<?>, OutboundInvocationChain> outboundChains =
- new HashMap<Operation<?>, OutboundInvocationChain>();
- DataType<Type> type1 = new DataType<Type>(String.class, String.class);
- List<DataType<Type>> types = new ArrayList<DataType<Type>>();
- types.add(type1);
- DataType<List<DataType<Type>>> inputType1 = new DataType<List<DataType<Type>>>(Object[].class, types);
- DataType<Type> outputType1 = new DataType<Type>(String.class, String.class);
- Operation<Type> op1 = new Operation<Type>("test", inputType1, outputType1, null);
- ServiceContract<Type> outboundContract = new JavaServiceContract(null);
- outboundContract.setDataBinding(String.class.getName());
- op1.setServiceContract(outboundContract);
-
- OutboundInvocationChain outboundChain = createMock(OutboundInvocationChain.class);
- outboundChains.put(op1, outboundChain);
- expect(outboundWire.getOutboundInvocationChains()).andReturn(outboundChains).anyTimes();
- outboundChain.addInterceptor(EasyMock.anyInt(), (Interceptor) EasyMock.anyObject());
-
- Map<Operation<?>, InboundInvocationChain> inboundChains =
- new HashMap<Operation<?>, InboundInvocationChain>();
- DataType<Type> type2 = new DataType<Type>(Node.class, Node.class);
- List<DataType<Type>> types2 = new ArrayList<DataType<Type>>();
- types2.add(type2);
- DataType<List<DataType<Type>>> inputType2 =
- new DataType<List<DataType<Type>>>(Object[].class, types2);
- DataType<Type> outputType2 = new DataType<Type>(String.class, String.class);
- Operation<Type> op2 = new Operation<Type>("test", inputType2, outputType2, null);
- ServiceContract<Type> inboundContract = new JavaServiceContract(null);
- inboundContract.setDataBinding(Node.class.getName());
- op2.setServiceContract(inboundContract);
-
- InboundInvocationChain inboundChain = createMock(InboundInvocationChain.class);
- inboundChains.put(op2, inboundChain);
- expect(inboundWire.getInboundInvocationChains()).andReturn(inboundChains).anyTimes();
-
- ServiceContract<Type> contract = new JavaServiceContract();
- Map<String, Operation<Type>> operations = Collections.emptyMap();
- contract.setCallbackOperations(operations);
- expect(inboundWire.getServiceContract()).andReturn(contract);
- expect(inboundChain.getTailInterceptor()).andReturn(null);
-
- EasyMock.replay(composite, referenceBinding, inboundWire, outboundWire, inboundChain, outboundChain);
-
- processor.process(referenceBinding, inboundWire, referenceBinding, outboundWire);
- }
-
- public void testProcess3() {
- InboundWire inboundWire = createMock(InboundWire.class);
- OutboundWire outboundWire = createMock(OutboundWire.class);
-
- ServiceBinding serviceBinding = createMock(ServiceBinding.class);
- CompositeComponent composite = createMock(CompositeComponent.class);
-
- Map<Operation<?>, OutboundInvocationChain> outboundChains =
- new HashMap<Operation<?>, OutboundInvocationChain>();
- DataType<Type> type1 = new DataType<Type>(String.class, String.class);
- List<DataType<Type>> types = new ArrayList<DataType<Type>>();
- types.add(type1);
- DataType<List<DataType<Type>>> inputType1 = new DataType<List<DataType<Type>>>(Object[].class, types);
- DataType<Type> outputType1 = new DataType<Type>(String.class, String.class);
- Operation<Type> op1 = new Operation<Type>("test", inputType1, outputType1, null);
- ServiceContract<Type> outboundContract = new JavaServiceContract(null);
- outboundContract.setDataBinding(String.class.getName());
- op1.setServiceContract(outboundContract);
-
- OutboundInvocationChain outboundChain = createMock(OutboundInvocationChain.class);
- outboundChains.put(op1, outboundChain);
- expect(outboundWire.getOutboundInvocationChains()).andReturn(outboundChains).anyTimes();
- // outboundChain.addInterceptor(EasyMock.anyInt(), (Interceptor)
- // EasyMock.anyObject());
-
- Map<Operation<?>, InboundInvocationChain> inboundChains =
- new HashMap<Operation<?>, InboundInvocationChain>();
- DataType<Type> type2 = new DataType<Type>(Node.class, Node.class);
- List<DataType<Type>> types2 = new ArrayList<DataType<Type>>();
- types2.add(type2);
- DataType<List<DataType<Type>>> inputType2 =
- new DataType<List<DataType<Type>>>(Object[].class, types2);
- DataType<Type> outputType2 = new DataType<Type>(String.class, String.class);
- Operation<Type> op2 = new Operation<Type>("test", inputType2, outputType2, null);
- ServiceContract<Type> inboundContract = new JavaServiceContract(null);
- inboundContract.setDataBinding(Node.class.getName());
- op2.setServiceContract(inboundContract);
-
- InboundInvocationChain inboundChain = createMock(InboundInvocationChain.class);
- inboundChains.put(op2, inboundChain);
- expect(inboundWire.getInboundInvocationChains()).andReturn(inboundChains).anyTimes();
- inboundChain.addInterceptor(EasyMock.anyInt(), (Interceptor) EasyMock.anyObject());
ServiceContract<Type> contract = new JavaServiceContract();
Map<String, Operation<Type>> operations = Collections.emptyMap();
contract.setCallbackOperations(operations);
- expect(inboundWire.getServiceContract()).andReturn(contract);
+ expect(outboundWire.getSourceContract()).andReturn(outboundContract);
+ expect(outboundWire.getTargetContract()).andReturn(outboundContract);
- EasyMock.replay(composite, serviceBinding, inboundWire, outboundWire, inboundChain, outboundChain);
+ EasyMock.replay(composite, component, outboundWire, outboundChain);
- processor.process(serviceBinding, inboundWire, serviceBinding, outboundWire);
+ processor.process(outboundWire);
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-commits-help@ws.apache.org