Author: jmarino
Date: Mon Jan 1 14:39:34 2007
New Revision: 491664
URL: http://svn.apache.org/viewvc?view=rev&rev=491664
Log:
more test coverage; minor api refactor for WireService
Modified:
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/builder/BuilderRegistryImpl.java
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/wire/WireServiceExtension.java
incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/builder/BuilderRegistryTestCase.java
incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/wire/ContractCompatibilityTestCase.java
incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/wire/WireServiceExtensionTestCase.java
incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/wire/WireService.java
Modified:
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/builder/BuilderRegistryImpl.java
URL:
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/builder/BuilderRegistryImpl.java?view=diff&rev=491664&r1=491663&r2=491664
==============================================================================
---
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/builder/BuilderRegistryImpl.java
(original)
+++
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/builder/BuilderRegistryImpl.java
Mon Jan 1 14:39:34 2007
@@ -156,7 +156,7 @@
}
String path = uri.getPath();
ServiceContract<?> contract =
boundServiceDefinition.getServiceContract();
- wireService.createWires(binding, path, contract);
+ wireService.createWires(binding, contract, path);
}
service.addServiceBinding(binding);
}
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=491664&r1=491663&r2=491664
==============================================================================
---
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
Mon Jan 1 14:39:34 2007
@@ -21,10 +21,10 @@
import java.util.Map;
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;
import org.apache.tuscany.spi.component.WorkContext;
-import org.apache.tuscany.spi.component.AtomicComponent;
import org.apache.tuscany.spi.model.ComponentDefinition;
import org.apache.tuscany.spi.model.ComponentType;
import org.apache.tuscany.spi.model.Implementation;
@@ -143,7 +143,7 @@
referenceBinding.setOutboundWire(outboundWire);
}
- public void createWires(ServiceBinding serviceBinding, String targetName,
ServiceContract<?> contract) {
+ public void createWires(ServiceBinding serviceBinding, ServiceContract<?>
contract, String targetName) {
InboundWire inboundWire = new InboundWireImpl();
// [rfeng] Check if the Reference has the serviceBinding contract
ServiceContract<?> bindingContract =
serviceBinding.getBindingServiceContract();
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=491664&r1=491663&r2=491664
==============================================================================
---
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
Mon Jan 1 14:39:34 2007
@@ -67,8 +67,8 @@
public void testBindingBuilderDispatch() throws Exception {
WireService wireService = EasyMock.createMock(WireService.class);
wireService.createWires(EasyMock.isA(ServiceBinding.class),
- EasyMock.isA(String.class),
- (ServiceContract) EasyMock.isNull());
+ (ServiceContract) EasyMock.isNull(), EasyMock.isA(String.class)
+ );
EasyMock.expectLastCall().times(2);
EasyMock.replay(wireService);
registry.setWireService(wireService);
Modified:
incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/wire/ContractCompatibilityTestCase.java
URL:
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/wire/ContractCompatibilityTestCase.java?view=diff&rev=491664&r1=491663&r2=491664
==============================================================================
---
incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/wire/ContractCompatibilityTestCase.java
(original)
+++
incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/wire/ContractCompatibilityTestCase.java
Mon Jan 1 14:39:34 2007
@@ -18,16 +18,17 @@
*/
package org.apache.tuscany.core.wire;
-import java.lang.reflect.Type;
import java.lang.reflect.Method;
+import java.lang.reflect.Type;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
+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;
-import org.apache.tuscany.spi.component.AtomicComponent;
import org.apache.tuscany.spi.model.ComponentDefinition;
import org.apache.tuscany.spi.model.DataType;
import org.apache.tuscany.spi.model.Operation;
@@ -37,13 +38,12 @@
import org.apache.tuscany.spi.wire.InboundInvocationChain;
import org.apache.tuscany.spi.wire.InboundWire;
import org.apache.tuscany.spi.wire.IncompatibleServiceContractException;
+import org.apache.tuscany.spi.wire.OutboundChainHolder;
import org.apache.tuscany.spi.wire.OutboundInvocationChain;
import org.apache.tuscany.spi.wire.ProxyCreationException;
import org.apache.tuscany.spi.wire.Wire;
import org.apache.tuscany.spi.wire.WireInvocationHandler;
import org.apache.tuscany.spi.wire.WireService;
-import org.apache.tuscany.spi.wire.OutboundChainHolder;
-import org.apache.tuscany.spi.QualifiedName;
import junit.framework.TestCase;
@@ -392,7 +392,7 @@
throw new UnsupportedOperationException();
}
- public void createWires(ServiceBinding serviceBinding, String
targetName, ServiceContract<?> contract) {
+ public void createWires(ServiceBinding serviceBinding,
ServiceContract<?> contract, String targetName) {
throw new UnsupportedOperationException();
}
Modified:
incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/wire/WireServiceExtensionTestCase.java
URL:
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/wire/WireServiceExtensionTestCase.java?view=diff&rev=491664&r1=491663&r2=491664
==============================================================================
---
incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/wire/WireServiceExtensionTestCase.java
(original)
+++
incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/wire/WireServiceExtensionTestCase.java
Mon Jan 1 14:39:34 2007
@@ -24,7 +24,14 @@
import java.util.HashMap;
import java.util.Map;
+import org.apache.tuscany.spi.QualifiedName;
+import org.apache.tuscany.spi.component.AbstractSCAObject;
import org.apache.tuscany.spi.component.AtomicComponent;
+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.TargetInvokerCreationException;
import org.apache.tuscany.spi.component.WorkContext;
import org.apache.tuscany.spi.model.ComponentDefinition;
import org.apache.tuscany.spi.model.ComponentType;
@@ -33,6 +40,7 @@
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.model.ServiceContract;
import org.apache.tuscany.spi.model.ServiceDefinition;
import org.apache.tuscany.spi.wire.InboundInvocationChain;
@@ -160,6 +168,42 @@
EasyMock.verify(component);
}
+ public void testCreateReferenceBindingWire() throws Exception {
+ ReferenceBinding binding = new MockReferenceBinding();
+ QualifiedName qName = new QualifiedName("target");
+
+ wireService.createWires(binding, contract, qName);
+
+ InboundWire inboundWire = binding.getInboundWire();
+ assertEquals(1, inboundWire.getInvocationChains().size());
+ assertEquals(contract, inboundWire.getServiceContract());
+ assertEquals(binding, inboundWire.getContainer());
+
+ OutboundWire outboundWire = binding.getOutboundWire();
+ assertEquals("target", outboundWire.getTargetName().toString());
+ assertEquals(1, outboundWire.getInvocationChains().size());
+ assertEquals(contract, outboundWire.getServiceContract());
+ assertEquals(binding, outboundWire.getContainer());
+ }
+
+ public void testCreateServiceBindingWire() throws Exception {
+ ServiceBinding binding = new MockServiceBinding();
+
+ wireService.createWires(binding, contract, "target");
+
+ InboundWire inboundWire = binding.getInboundWire();
+ assertEquals(1, inboundWire.getInvocationChains().size());
+ assertEquals(contract, inboundWire.getServiceContract());
+ assertEquals(binding, inboundWire.getContainer());
+
+ OutboundWire outboundWire = binding.getOutboundWire();
+ assertEquals("target", outboundWire.getTargetName().toString());
+ assertEquals(1, outboundWire.getInvocationChains().size());
+ assertEquals(contract, outboundWire.getServiceContract());
+ assertEquals(binding, outboundWire.getContainer());
+ assertEquals(1,
outboundWire.getTargetCallbackInvocationChains().size());
+ }
+
protected void setUp() throws Exception {
super.setUp();
wireService = new TestWireService(new WorkContextImpl());
@@ -209,4 +253,110 @@
return super.createWire(reference, def);
}
}
+
+ private class MockReferenceBinding extends AbstractSCAObject implements
ReferenceBinding {
+ private ServiceContract<?> BindingServiceContract;
+ private InboundWire inboundWire;
+ private OutboundWire outboundWire;
+
+ public MockReferenceBinding() {
+ super("foo", null);
+ }
+
+ public ServiceContract<?> getBindingServiceContract() {
+ return BindingServiceContract;
+ }
+
+ public void setBindingServiceContract(ServiceContract<?>
bindingServiceContract) {
+ BindingServiceContract = bindingServiceContract;
+ }
+
+ public void setReference(Reference reference) {
+
+ }
+
+ public InboundWire getInboundWire() {
+ return inboundWire;
+ }
+
+ public void setInboundWire(InboundWire inboundWire) {
+ this.inboundWire = inboundWire;
+ }
+
+ public OutboundWire getOutboundWire() {
+ return outboundWire;
+ }
+
+ public void setOutboundWire(OutboundWire outboundWire) {
+ this.outboundWire = outboundWire;
+ }
+
+ public TargetInvoker createTargetInvoker(ServiceContract contract,
Operation operation)
+ throws TargetInvokerCreationException {
+ return null;
+ }
+
+ public TargetInvoker createCallbackTargetInvoker(ServiceContract
contract, Operation operation)
+ throws TargetInvokerCreationException {
+ return null;
+ }
+
+ public Scope getScope() {
+ return null;
+ }
+ }
+
+ private class MockServiceBinding extends AbstractSCAObject implements
ServiceBinding {
+ private InboundWire inboundWire;
+ private OutboundWire outboundWire;
+ private ServiceContract<?> BindingServiceContract;
+
+
+ public MockServiceBinding() {
+ super("foo", null);
+ }
+
+ public void setService(Service service) {
+ }
+
+ public ServiceContract<?> getBindingServiceContract() {
+ return BindingServiceContract;
+ }
+
+ public void setBindingServiceContract(ServiceContract<?>
bindingServiceContract) {
+ BindingServiceContract = bindingServiceContract;
+ }
+
+ public InboundWire getInboundWire() {
+ return inboundWire;
+ }
+
+ public void setInboundWire(InboundWire inboundWire) {
+ this.inboundWire = inboundWire;
+ }
+
+ public OutboundWire getOutboundWire() {
+ return outboundWire;
+ }
+
+ public void setOutboundWire(OutboundWire outboundWire) {
+ this.outboundWire = outboundWire;
+ }
+
+ public TargetInvoker createTargetInvoker(ServiceContract contract,
Operation operation)
+ throws TargetInvokerCreationException {
+ return null;
+ }
+
+ public TargetInvoker createCallbackTargetInvoker(ServiceContract
contract, Operation operation)
+ throws TargetInvokerCreationException {
+ return null;
+ }
+
+ public Scope getScope() {
+ return null;
+ }
+ }
+
+
}
Modified:
incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/wire/WireService.java
URL:
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/wire/WireService.java?view=diff&rev=491664&r1=491663&r2=491664
==============================================================================
---
incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/wire/WireService.java
(original)
+++
incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/wire/WireService.java
Mon Jan 1 14:39:34 2007
@@ -103,7 +103,7 @@
InboundWire createWire(ServiceDefinition service);
/**
- * Creates wires for an atomic component and injects them on the component
+ * Creates and injects wires for an atomic component
*
* @param component the component
* @param definition the model artifact representing the component
@@ -111,7 +111,7 @@
void createWires(AtomicComponent component, ComponentDefinition<?>
definition);
/**
- * Creates wires for a reference and injects them on the reference
+ * Creates and injects wires for a reference binding
*
* @param referenceBinding the reference
* @param contract the model artifact representing the service
contract for the reference
@@ -121,13 +121,13 @@
void createWires(ReferenceBinding referenceBinding, ServiceContract<?>
contract, QualifiedName targetName);
/**
- * Creates wires for a serviceBinding and injects them on the
serviceBinding
+ * Creates and injects wires for a service binding
*
* @param serviceBinding the serviceBinding
- * @param targetName the target nane
* @param contract the serviceBinding contract
+ * @param targetName the target nane
*/
- void createWires(ServiceBinding serviceBinding, String targetName,
ServiceContract<?> contract);
+ void createWires(ServiceBinding serviceBinding, ServiceContract<?>
contract, String targetName);
/**
* Check the compatiblity of the source and the target service
contracts.<p> A wire may only connect a source to a
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]