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 2006/08/29 10:08:56 UTC
svn commit: r438003 - in /incubator/tuscany/java/sca:
bindings/binding.axis2/src/test/java/org/apache/tuscany/binding/axis2/
bindings/binding.celtix/src/test/java/org/apache/tuscany/binding/celtix/
bindings/binding.rmi/src/main/java/org/apache/tuscany/...
Author: jmarino
Date: Tue Aug 29 01:08:55 2006
New Revision: 438003
URL: http://svn.apache.org/viewvc?rev=438003&view=rev
Log:
begin conversion to use ServiceContract on wires and invocation chains
Modified:
incubator/tuscany/java/sca/bindings/binding.axis2/src/test/java/org/apache/tuscany/binding/axis2/Axis2ServiceTestCase.java
incubator/tuscany/java/sca/bindings/binding.celtix/src/test/java/org/apache/tuscany/binding/celtix/CeltixServiceTestCase.java
incubator/tuscany/java/sca/bindings/binding.rmi/src/main/java/org/apache/tuscany/binding/rmi/RMIReference.java
incubator/tuscany/java/sca/containers/container.javascript/src/main/java/org/apache/tuscany/container/javascript/JavaScriptComponent.java
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/builder/BuilderRegistryImpl.java
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/builder/ConnectorImpl.java
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/implementation/system/builder/SystemBindingBuilder.java
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/implementation/system/component/SystemServiceImpl.java
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/implementation/system/wire/SystemInboundWireImpl.java
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/implementation/system/wire/SystemOutboundAutowire.java
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/implementation/system/wire/SystemOutboundWireImpl.java
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/wire/InboundWireImpl.java
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/wire/OutboundWireImpl.java
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/wire/jdk/JDKWireService.java
incubator/tuscany/java/sca/core/src/test/java/org/apache/tuscany/core/implementation/java/AsyncJavaTargetInvokerTestCase.java
incubator/tuscany/java/sca/core/src/test/java/org/apache/tuscany/core/implementation/java/GetServiceByNameTestCase.java
incubator/tuscany/java/sca/core/src/test/java/org/apache/tuscany/core/implementation/java/integration/component/OutboundWireToJavaTestCase.java
incubator/tuscany/java/sca/core/src/test/java/org/apache/tuscany/core/implementation/java/mock/MockFactory.java
incubator/tuscany/java/sca/core/src/test/java/org/apache/tuscany/core/mock/factories/MockFactory.java
incubator/tuscany/java/sca/spi/src/main/java/org/apache/tuscany/spi/extension/ReferenceExtension.java
incubator/tuscany/java/sca/spi/src/main/java/org/apache/tuscany/spi/wire/RuntimeWire.java
incubator/tuscany/java/sca/spi/src/main/java/org/apache/tuscany/spi/wire/WireService.java
incubator/tuscany/java/sca/spi/src/test/java/org/apache/tuscany/spi/extension/ReferenceTestCase.java
incubator/tuscany/java/sca/spi/src/test/java/org/apache/tuscany/spi/extension/ServiceExtensionTestCase.java
incubator/tuscany/java/sca/test/src/main/java/org/apache/tuscany/test/ArtifactFactory.java
Modified: incubator/tuscany/java/sca/bindings/binding.axis2/src/test/java/org/apache/tuscany/binding/axis2/Axis2ServiceTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/bindings/binding.axis2/src/test/java/org/apache/tuscany/binding/axis2/Axis2ServiceTestCase.java?rev=438003&r1=438002&r2=438003&view=diff
==============================================================================
--- incubator/tuscany/java/sca/bindings/binding.axis2/src/test/java/org/apache/tuscany/binding/axis2/Axis2ServiceTestCase.java (original)
+++ incubator/tuscany/java/sca/bindings/binding.axis2/src/test/java/org/apache/tuscany/binding/axis2/Axis2ServiceTestCase.java Tue Aug 29 01:08:55 2006
@@ -32,18 +32,18 @@
import org.xml.sax.InputSource;
import org.apache.tuscany.spi.host.ServletHost;
+import org.apache.tuscany.spi.idl.java.JavaServiceContract;
import org.apache.tuscany.spi.wire.InboundWire;
import org.apache.tuscany.spi.wire.WireService;
+import commonj.sdo.helper.TypeHelper;
import junit.framework.TestCase;
import org.easymock.classextension.EasyMock;
-import commonj.sdo.helper.TypeHelper;
-
public class Axis2ServiceTestCase extends TestCase {
public void testInvokeService() throws Exception {
-if(true) return ;
+ if (true) return;
TestServletHost tomcatHost = new TestServletHost();
Axis2Service axis2Service = createAxis2Service("testWebAppName", "testServiceName", tomcatHost);
axis2Service.start();
@@ -82,12 +82,19 @@
//Create a mocked InboundWire, make the call of ServiceExtension.getInterface() returns a Class
InboundWire inboundWire = EasyMock.createNiceMock(InboundWire.class);
- inboundWire.getBusinessInterface();
- EasyMock.expectLastCall().andReturn(Greeter.class).anyTimes();
+ JavaServiceContract contract = new JavaServiceContract(Greeter.class);
+ EasyMock.expect(inboundWire.getServiceContract()).andReturn(contract).anyTimes();
EasyMock.replay(inboundWire);
Axis2Service<Greeter> axis2Service =
- new Axis2Service<Greeter>(serviceName, Greeter.class, null, wireService, wsBinding, tomcatHost, null, TypeHelper.INSTANCE);
+ new Axis2Service<Greeter>(serviceName,
+ Greeter.class,
+ null,
+ wireService,
+ wsBinding,
+ tomcatHost,
+ null,
+ TypeHelper.INSTANCE);
axis2Service.setInboundWire(inboundWire);
return axis2Service;
Modified: incubator/tuscany/java/sca/bindings/binding.celtix/src/test/java/org/apache/tuscany/binding/celtix/CeltixServiceTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/bindings/binding.celtix/src/test/java/org/apache/tuscany/binding/celtix/CeltixServiceTestCase.java?rev=438003&r1=438002&r2=438003&view=diff
==============================================================================
--- incubator/tuscany/java/sca/bindings/binding.celtix/src/test/java/org/apache/tuscany/binding/celtix/CeltixServiceTestCase.java (original)
+++ incubator/tuscany/java/sca/bindings/binding.celtix/src/test/java/org/apache/tuscany/binding/celtix/CeltixServiceTestCase.java Tue Aug 29 01:08:55 2006
@@ -30,6 +30,7 @@
import org.apache.tuscany.spi.wire.InboundWire;
import org.apache.tuscany.spi.wire.WireService;
+import org.apache.tuscany.spi.idl.java.JavaServiceContract;
import junit.framework.TestCase;
import org.easymock.classextension.EasyMock;
@@ -107,8 +108,8 @@
//Create mocked InboundWire, for ServiceExtension.getInterface()
InboundWire<Greeter> inboundWire = EasyMock.createNiceMock(InboundWire.class);
- inboundWire.getBusinessInterface();
- EasyMock.expectLastCall().andReturn(Greeter.class).anyTimes();
+ JavaServiceContract contract = new JavaServiceContract(Greeter.class);
+ EasyMock.expect(inboundWire.getServiceContract()).andReturn(contract).anyTimes();
EasyMock.replay(inboundWire);
//Create mocked WireService, for ServiceExtension.getServiceInstance()
Modified: incubator/tuscany/java/sca/bindings/binding.rmi/src/main/java/org/apache/tuscany/binding/rmi/RMIReference.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/bindings/binding.rmi/src/main/java/org/apache/tuscany/binding/rmi/RMIReference.java?rev=438003&r1=438002&r2=438003&view=diff
==============================================================================
--- incubator/tuscany/java/sca/bindings/binding.rmi/src/main/java/org/apache/tuscany/binding/rmi/RMIReference.java (original)
+++ incubator/tuscany/java/sca/bindings/binding.rmi/src/main/java/org/apache/tuscany/binding/rmi/RMIReference.java Tue Aug 29 01:08:55 2006
@@ -45,7 +45,6 @@
String svcName,
Class<T> service) {
super(name, service, parent, wireService);
- setInterface(service);
this.host = host;
this.port = port;
this.svcName = svcName;
Modified: incubator/tuscany/java/sca/containers/container.javascript/src/main/java/org/apache/tuscany/container/javascript/JavaScriptComponent.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/containers/container.javascript/src/main/java/org/apache/tuscany/container/javascript/JavaScriptComponent.java?rev=438003&r1=438002&r2=438003&view=diff
==============================================================================
--- incubator/tuscany/java/sca/containers/container.javascript/src/main/java/org/apache/tuscany/container/javascript/JavaScriptComponent.java (original)
+++ incubator/tuscany/java/sca/containers/container.javascript/src/main/java/org/apache/tuscany/container/javascript/JavaScriptComponent.java Tue Aug 29 01:08:55 2006
@@ -72,9 +72,10 @@
//with weak typing (java.lang.Object) so that Rhino's call to the proxy succeeds. Then
//within this interceptor proxy perform data mediations required to correctly call the
//referenced service.
- JavaScriptReferenceProxy interceptingProxy =
- new JavaScriptReferenceProxy(wire.getBusinessInterface(),
- wireProxy,
+ Class<?> businessInterface = wire.getServiceContract().getInterfaceClass();
+ JavaScriptReferenceProxy interceptingProxy =
+ new JavaScriptReferenceProxy(businessInterface,
+ wireProxy,
rhinoScript.createInstanceScope(context));
context.put(wire.getReferenceName(), interceptingProxy.createProxy());
Modified: incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/builder/BuilderRegistryImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/builder/BuilderRegistryImpl.java?rev=438003&r1=438002&r2=438003&view=diff
==============================================================================
--- incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/builder/BuilderRegistryImpl.java (original)
+++ incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/builder/BuilderRegistryImpl.java Tue Aug 29 01:08:55 2006
@@ -165,7 +165,7 @@
SCAObject object = bindingBuilder.build(parent, boundReferenceDefinition, deploymentContext);
// create wires for the component
if (wireService != null) {
- wireService.createWires((Reference) object);
+ wireService.createWires((Reference) object, boundReferenceDefinition.getServiceContract());
}
return object;
}
@@ -191,7 +191,7 @@
DeploymentContext deploymentContext) {
SCAObject object = bindlessBuilder.build(parent, referenceDefinition, deploymentContext);
if (wireService != null) {
- wireService.createWires((Reference)object);
+ wireService.createWires((Reference)object, referenceDefinition.getServiceContract());
}
return object;
}
Modified: incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/builder/ConnectorImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/builder/ConnectorImpl.java?rev=438003&r1=438002&r2=438003&view=diff
==============================================================================
--- incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/builder/ConnectorImpl.java (original)
+++ incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/builder/ConnectorImpl.java Tue Aug 29 01:08:55 2006
@@ -312,7 +312,9 @@
e.setIdentifier(targetName.getPortName());
throw e;
}
- if (!sourceWire.getBusinessInterface().isAssignableFrom(targetWire.getBusinessInterface())) {
+ Class sourceInterface = sourceWire.getServiceContract().getInterfaceClass();
+ Class targetInterface = targetWire.getServiceContract().getInterfaceClass();
+ if (!sourceInterface.isAssignableFrom(targetInterface)) {
throw new BuilderConfigException("Incompatible source and target interfaces");
}
boolean optimizable = isOptimizable(source.getScope(), target.getScope());
@@ -320,7 +322,9 @@
} else if (target instanceof Reference) {
InboundWire<T> targetWire = ((Reference) target).getInboundWire();
assert targetWire != null;
- if (!sourceWire.getBusinessInterface().isAssignableFrom(targetWire.getBusinessInterface())) {
+ Class sourceInterface = sourceWire.getServiceContract().getInterfaceClass();
+ Class targetInterface = targetWire.getServiceContract().getInterfaceClass();
+ if (!sourceInterface.isAssignableFrom(targetInterface)) {
throw new BuilderConfigException("Incompatible source and target interfaces");
}
boolean optimizable = isOptimizable(source.getScope(), target.getScope());
Modified: incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/implementation/system/builder/SystemBindingBuilder.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/implementation/system/builder/SystemBindingBuilder.java?rev=438003&r1=438002&r2=438003&view=diff
==============================================================================
--- incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/implementation/system/builder/SystemBindingBuilder.java (original)
+++ incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/implementation/system/builder/SystemBindingBuilder.java Tue Aug 29 01:08:55 2006
@@ -18,6 +18,16 @@
*/
package org.apache.tuscany.core.implementation.system.builder;
+import org.apache.tuscany.spi.QualifiedName;
+import org.apache.tuscany.spi.builder.BindingBuilder;
+import org.apache.tuscany.spi.builder.BuilderConfigException;
+import org.apache.tuscany.spi.component.Component;
+import org.apache.tuscany.spi.component.CompositeComponent;
+import org.apache.tuscany.spi.deployer.DeploymentContext;
+import org.apache.tuscany.spi.model.BoundReferenceDefinition;
+import org.apache.tuscany.spi.model.BoundServiceDefinition;
+import org.apache.tuscany.spi.wire.OutboundWire;
+
import org.apache.tuscany.core.component.AutowireComponent;
import org.apache.tuscany.core.implementation.system.component.SystemReference;
import org.apache.tuscany.core.implementation.system.component.SystemReferenceImpl;
@@ -29,15 +39,6 @@
import org.apache.tuscany.core.implementation.system.wire.SystemOutboundAutowire;
import org.apache.tuscany.core.implementation.system.wire.SystemOutboundWire;
import org.apache.tuscany.core.implementation.system.wire.SystemOutboundWireImpl;
-import org.apache.tuscany.spi.QualifiedName;
-import org.apache.tuscany.spi.builder.BindingBuilder;
-import org.apache.tuscany.spi.builder.BuilderConfigException;
-import org.apache.tuscany.spi.component.Component;
-import org.apache.tuscany.spi.component.CompositeComponent;
-import org.apache.tuscany.spi.deployer.DeploymentContext;
-import org.apache.tuscany.spi.model.BoundReferenceDefinition;
-import org.apache.tuscany.spi.model.BoundServiceDefinition;
-import org.apache.tuscany.spi.wire.OutboundWire;
/**
* Creates {@link SystemService}s and {@link SystemReference}s by evaluating an assembly definition
@@ -49,7 +50,7 @@
public SystemService build(CompositeComponent parent,
BoundServiceDefinition<SystemBinding> boundServiceDefinition,
DeploymentContext deploymentContext) {
- Class<Object> interfaze = boundServiceDefinition.getServiceContract().getInterfaceClass();
+ Class interfaze = boundServiceDefinition.getServiceContract().getInterfaceClass();
QualifiedName targetName = new QualifiedName(boundServiceDefinition.getTarget().getPath());
Component target = (Component) parent.getChild(targetName.getPartName());
if (target == null) {
@@ -74,8 +75,8 @@
Class<?> interfaze = boundReferenceDefinition.getServiceContract().getInterfaceClass();
SystemReferenceImpl reference = new SystemReferenceImpl(boundReferenceDefinition.getName(), interfaze, parent);
SystemInboundWire<?> inboundWire = new SystemInboundWireImpl(boundReferenceDefinition.getName(), interfaze);
- OutboundWire<?> outboundWire =
- new SystemOutboundAutowire(boundReferenceDefinition.getName(), interfaze, autowireComponent);
+ String refName = boundReferenceDefinition.getName();
+ OutboundWire outboundWire = new SystemOutboundAutowire(refName, interfaze, autowireComponent);
reference.setInboundWire(inboundWire);
reference.setOutboundWire(outboundWire);
return reference;
Modified: incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/implementation/system/component/SystemServiceImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/implementation/system/component/SystemServiceImpl.java?rev=438003&r1=438002&r2=438003&view=diff
==============================================================================
--- incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/implementation/system/component/SystemServiceImpl.java (original)
+++ incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/implementation/system/component/SystemServiceImpl.java Tue Aug 29 01:08:55 2006
@@ -68,7 +68,7 @@
}
public Class<T> getInterface() {
- return inboundWire.getBusinessInterface();
+ return (Class<T>)inboundWire.getServiceContract().getInterfaceClass();
}
public WireInvocationHandler getHandler() {
Modified: incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/implementation/system/wire/SystemInboundWireImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/implementation/system/wire/SystemInboundWireImpl.java?rev=438003&r1=438002&r2=438003&view=diff
==============================================================================
--- incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/implementation/system/wire/SystemInboundWireImpl.java (original)
+++ incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/implementation/system/wire/SystemInboundWireImpl.java Tue Aug 29 01:08:55 2006
@@ -24,6 +24,8 @@
import org.apache.tuscany.spi.component.Component;
import org.apache.tuscany.spi.component.TargetException;
+import org.apache.tuscany.spi.idl.java.JavaServiceContract;
+import org.apache.tuscany.spi.model.ServiceContract;
import org.apache.tuscany.spi.wire.InboundInvocationChain;
import org.apache.tuscany.spi.wire.OutboundWire;
@@ -34,26 +36,33 @@
*/
public class SystemInboundWireImpl<T> implements SystemInboundWire<T> {
private String serviceName;
- private Class<T> businessInterface;
+ private ServiceContract serviceContract;
private Component<?> component;
private SystemOutboundWire<T> wire;
/**
* Constructs a new inbound wire
*
- * @param serviceName the name of the service the inbound wire represents
- * @param businessInterface the service interface
- * @param target the target context the wire is connected to
+ * @param serviceName the name of the service the inbound wire represents
+ * @param interfaze the service interface
+ * @param target the target context the wire is connected to
*/
- public SystemInboundWireImpl(String serviceName, Class<T> businessInterface, Component<?> target) {
+ public SystemInboundWireImpl(String serviceName, Class<T> interfaze, Component<?> target) {
this.serviceName = serviceName;
- this.businessInterface = businessInterface;
this.component = target;
+ serviceContract = new JavaServiceContract(interfaze);
}
- public SystemInboundWireImpl(String serviceName, Class<T> businessInterface) {
- this.serviceName = serviceName;
- this.businessInterface = businessInterface;
+ public SystemInboundWireImpl(String serviceName, Class<T> interfaze) {
+ this(serviceName, interfaze, null);
+ }
+
+ public ServiceContract getServiceContract() {
+ return serviceContract;
+ }
+
+ public void setServiceContract(ServiceContract serviceContract) {
+ this.serviceContract = serviceContract;
}
public String getServiceName() {
@@ -70,14 +79,6 @@
return wire.getTargetService();
}
return (T) component.getServiceInstance(serviceName);
- }
-
- public Class<T> getBusinessInterface() {
- return businessInterface;
- }
-
- public void setBusinessInterface(Class<T> businessInterface) {
- this.businessInterface = businessInterface;
}
public Class[] getImplementedInterfaces() {
Modified: incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/implementation/system/wire/SystemOutboundAutowire.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/implementation/system/wire/SystemOutboundAutowire.java?rev=438003&r1=438002&r2=438003&view=diff
==============================================================================
--- incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/implementation/system/wire/SystemOutboundAutowire.java (original)
+++ incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/implementation/system/wire/SystemOutboundAutowire.java Tue Aug 29 01:08:55 2006
@@ -25,6 +25,8 @@
import org.apache.tuscany.spi.QualifiedName;
import org.apache.tuscany.spi.component.TargetException;
import org.apache.tuscany.spi.component.TargetNotFoundException;
+import org.apache.tuscany.spi.idl.java.JavaServiceContract;
+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;
@@ -39,13 +41,21 @@
*/
public class SystemOutboundAutowire<T> implements OutboundAutowire<T>, SystemOutboundWire<T> {
private String referenceName;
- private Class<T> businessInterface;
+ private ServiceContract serviceContract;
private AutowireComponent<?> component;
public SystemOutboundAutowire(String referenceName, Class<T> businessInterface, AutowireComponent<?> component) {
this.referenceName = referenceName;
- this.businessInterface = businessInterface;
this.component = component;
+ serviceContract = new JavaServiceContract(businessInterface);
+ }
+
+ public ServiceContract getServiceContract() {
+ return serviceContract;
+ }
+
+ public void setServiceContract(ServiceContract serviceContract) {
+ this.serviceContract = serviceContract;
}
public String getReferenceName() {
@@ -64,25 +74,14 @@
}
public T getTargetService() throws TargetException {
- T service = component.resolveInstance(businessInterface);
+ Class interfaze = serviceContract.getInterfaceClass();
+ T service = (T) component.resolveInstance(interfaze);
if (service == null) {
TargetNotFoundException e = new TargetNotFoundException("Autowire target not found");
- e.setIdentifier(businessInterface.getName());
+ e.setIdentifier(interfaze.getName());
throw e;
}
return service;
- }
-
- public Class<T> getBusinessInterface() {
- return businessInterface;
- }
-
- public void setBusinessInterface(Class<T> businessInterface) {
- this.businessInterface = businessInterface;
- }
-
- public Class[] getImplementedInterfaces() {
- return new Class[0];
}
@SuppressWarnings("unchecked")
Modified: incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/implementation/system/wire/SystemOutboundWireImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/implementation/system/wire/SystemOutboundWireImpl.java?rev=438003&r1=438002&r2=438003&view=diff
==============================================================================
--- incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/implementation/system/wire/SystemOutboundWireImpl.java (original)
+++ incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/implementation/system/wire/SystemOutboundWireImpl.java Tue Aug 29 01:08:55 2006
@@ -24,6 +24,8 @@
import org.apache.tuscany.spi.QualifiedName;
import org.apache.tuscany.spi.component.TargetException;
+import org.apache.tuscany.spi.idl.java.JavaServiceContract;
+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;
@@ -36,13 +38,21 @@
public class SystemOutboundWireImpl<T> implements SystemOutboundWire<T> {
private String referenceName;
private QualifiedName targetName;
- private Class<T> businessInterface;
+ private ServiceContract serviceContract;
private SystemInboundWire<T> targetWire;
public SystemOutboundWireImpl(String referenceName, QualifiedName targetName, Class<T> businessInterface) {
this.referenceName = referenceName;
this.targetName = targetName;
- this.businessInterface = businessInterface;
+ serviceContract = new JavaServiceContract(businessInterface);
+ }
+
+ public ServiceContract getServiceContract() {
+ return serviceContract;
+ }
+
+ public void setServiceContract(ServiceContract serviceContract) {
+ this.serviceContract = serviceContract;
}
public String getReferenceName() {
@@ -66,18 +76,6 @@
throw new TargetException("No target wire connected to source wire");
}
return targetWire.getTargetService();
- }
-
- public Class<T> getBusinessInterface() {
- return businessInterface;
- }
-
- public void setBusinessInterface(Class<T> businessInterface) {
- this.businessInterface = businessInterface;
- }
-
- public Class[] getImplementedInterfaces() {
- return new Class[0];
}
@SuppressWarnings("unchecked")
Modified: incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/wire/InboundWireImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/wire/InboundWireImpl.java?rev=438003&r1=438002&r2=438003&view=diff
==============================================================================
--- incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/wire/InboundWireImpl.java (original)
+++ incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/wire/InboundWireImpl.java Tue Aug 29 01:08:55 2006
@@ -22,6 +22,7 @@
import java.util.Map;
import org.apache.tuscany.spi.component.TargetException;
+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;
@@ -38,7 +39,7 @@
public class InboundWireImpl<T> implements InboundWire<T> {
private String serviceName;
- private Class[] businessInterfaces;
+ private ServiceContract serviceContract;
private OutboundWire<T> targetWire;
private String callbackReferenceName;
private Map<Method, InboundInvocationChain> chains = new MethodHashMap<InboundInvocationChain>();
@@ -52,21 +53,16 @@
throw new TargetException("Target wire not optimized");
}
- public void setBusinessInterface(Class interfaze) {
- businessInterfaces = new Class[]{interfaze};
+ public ServiceContract getServiceContract() {
+ return serviceContract;
}
- @SuppressWarnings("unchecked")
- public Class<T> getBusinessInterface() {
- return businessInterfaces[0];
+ public void setServiceContract(ServiceContract serviceContract) {
+ this.serviceContract = serviceContract;
}
public void addInterface(Class claz) {
throw new UnsupportedOperationException("Additional proxy interfaces not yet supported");
- }
-
- public Class[] getImplementedInterfaces() {
- return businessInterfaces;
}
public String getServiceName() {
Modified: incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/wire/OutboundWireImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/wire/OutboundWireImpl.java?rev=438003&r1=438002&r2=438003&view=diff
==============================================================================
--- incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/wire/OutboundWireImpl.java (original)
+++ incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/wire/OutboundWireImpl.java Tue Aug 29 01:08:55 2006
@@ -23,6 +23,7 @@
import org.apache.tuscany.spi.QualifiedName;
import org.apache.tuscany.spi.component.TargetException;
+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;
@@ -39,7 +40,7 @@
*/
public class OutboundWireImpl<T> implements OutboundWire<T> {
- private Class<T>[] businessInterfaces;
+ private ServiceContract serviceContract;
private Class<T>[] callbackInterfaces;
private Map<Method, OutboundInvocationChain> chains = new MethodHashMap<OutboundInvocationChain>();
private Map<Method, InboundInvocationChain> callbackTargetChains = new MethodHashMap<InboundInvocationChain>();
@@ -48,7 +49,6 @@
private QualifiedName targetName;
private InboundWire<T> targetWire;
- @SuppressWarnings("unchecked")
public T getTargetService() throws TargetException {
if (targetWire != null) {
// optimized, no interceptors or handlers on either end
@@ -57,21 +57,16 @@
throw new TargetException("Target wire not optimized");
}
- @SuppressWarnings("unchecked")
- public void setBusinessInterface(Class<T> interfaze) {
- businessInterfaces = new Class[]{interfaze};
+ public ServiceContract getServiceContract() {
+ return serviceContract;
}
- public Class<T> getBusinessInterface() {
- return businessInterfaces[0];
+ public void setServiceContract(ServiceContract serviceContract) {
+ this.serviceContract = serviceContract;
}
public void addInterface(Class<?> claz) {
throw new UnsupportedOperationException("Additional proxy interfaces not yet supported");
- }
-
- public Class[] getImplementedInterfaces() {
- return businessInterfaces;
}
@SuppressWarnings("unchecked")
Modified: incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/wire/jdk/JDKWireService.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/wire/jdk/JDKWireService.java?rev=438003&r1=438002&r2=438003&view=diff
==============================================================================
--- incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/wire/jdk/JDKWireService.java (original)
+++ incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/wire/jdk/JDKWireService.java Tue Aug 29 01:08:55 2006
@@ -81,21 +81,21 @@
public void init() {
}
-
public <T> T createProxy(RuntimeWire<T> wire) throws ProxyCreationException {
- assert wire != null : "WireDefinition was null";
+ assert wire != null : "Wire was null";
if (wire instanceof InboundWire) {
InboundWire<T> inbound = (InboundWire<T>) wire;
JDKInboundInvocationHandler handler = new JDKInboundInvocationHandler(inbound.getInvocationChains());
- Class<T> interfaze = inbound.getBusinessInterface();
+ Class<?> interfaze = inbound.getServiceContract().getInterfaceClass();
ClassLoader cl = interfaze.getClassLoader();
- return interfaze.cast(Proxy.newProxyInstance(cl, new Class[]{interfaze}, handler));
+ //FIXME
+ return (T) Proxy.newProxyInstance(cl, new Class[]{interfaze}, handler);
} else if (wire instanceof OutboundWire) {
OutboundWire<T> outbound = (OutboundWire<T>) wire;
JDKOutboundInvocationHandler handler = new JDKOutboundInvocationHandler(outbound);
- Class<T> interfaze = outbound.getBusinessInterface();
+ Class<?> interfaze = outbound.getServiceContract().getInterfaceClass();
ClassLoader cl = interfaze.getClassLoader();
- return interfaze.cast(Proxy.newProxyInstance(cl, new Class[]{interfaze}, handler));
+ return (T) Proxy.newProxyInstance(cl, new Class[]{interfaze}, handler);
} else {
ProxyCreationException e = new ProxyCreationException("Invalid wire type");
e.setIdentifier(wire.getClass().getName());
@@ -110,7 +110,7 @@
}
public <T> WireInvocationHandler createHandler(RuntimeWire<T> wire) {
- assert wire != null : "WireDefinition was null";
+ assert wire != null : "Wire was null";
if (wire instanceof InboundWire) {
InboundWire<T> inbound = (InboundWire<T>) wire;
return new JDKInboundInvocationHandler(inbound.getInvocationChains());
@@ -169,10 +169,10 @@
}
}
- public <T> void createWires(Reference<T> reference) {
+ public <T> void createWires(Reference<T> reference, ServiceContract contract) {
InboundWire<T> wire = new InboundWireImpl<T>();
Class<T> interfaze = reference.getInterface();
- wire.setBusinessInterface(interfaze);
+ wire.setServiceContract(contract);
for (Method method : interfaze.getMethods()) {
InboundInvocationChain chain = createInboundChain(method);
chain.addInterceptor(new InvokerInterceptor());
@@ -182,19 +182,19 @@
}
public void createWires(Service<?> service, BoundServiceDefinition<?> def) {
- createWires(service, def.getTarget().getPath());
+ createWires(service, def.getTarget().getPath(), def.getServiceContract());
}
public void createWires(Service<?> service, BindlessServiceDefinition def) {
- createWires(service, def.getTarget().getPath());
+ createWires(service, def.getTarget().getPath(), def.getServiceContract());
}
- private <T> void createWires(Service<T> service, String targetName) {
+ private <T> void createWires(Service<T> service, String targetName, ServiceContract contract) {
InboundWire<T> inboundWire = new InboundWireImpl<T>();
OutboundWire<T> outboundWire = new OutboundWireImpl<T>();
Class<T> interfaze = service.getInterface();
- inboundWire.setBusinessInterface(interfaze);
- outboundWire.setBusinessInterface(interfaze);
+ inboundWire.setServiceContract(contract);
+ outboundWire.setServiceContract(contract);
outboundWire.setTargetName(new QualifiedName(targetName));
for (Method method : interfaze.getMethods()) {
InboundInvocationChain inboundChain = createInboundChain(method);
@@ -213,25 +213,26 @@
if (reference.getTargets().size() != 1) {
throw new UnsupportedOperationException();
}
+ ServiceContract contract = def.getServiceContract();
Class<?> interfaze = def.getServiceContract().getInterfaceClass();
OutboundWire wire = createOutboundWire();
- wire.setTargetName(new QualifiedName(reference.getTargets().get(0).toString()));
- wire.setBusinessInterface(interfaze);
+ QualifiedName qName = new QualifiedName(reference.getTargets().get(0).toString());
+ wire.setTargetName(qName);
+ wire.setServiceContract(contract);
wire.setReferenceName(reference.getReferenceName());
for (Method method : interfaze.getMethods()) {
//TODO handle policy
OutboundInvocationChain chain = createOutboundChain(method);
wire.addInvocationChain(method, chain);
}
- ServiceContract contract = def.getServiceContract();
Class<?> callbackInterface = contract.getCallbackClass();
if (callbackInterface != null) {
wire.setCallbackInterface(callbackInterface);
for (Method callbackMethod : callbackInterface.getMethods()) {
InboundInvocationChain callbackTargetChain = createInboundChain(callbackMethod);
OutboundInvocationChain callbackSourceChain = createOutboundChain(callbackMethod);
-// TODO handle policy
-//TODO statement below could be cleaner
+ // TODO handle policy
+ //TODO statement below could be cleaner
callbackTargetChain.addInterceptor(new InvokerInterceptor());
wire.addTargetCallbackInvocationChain(callbackMethod, callbackTargetChain);
wire.addSourceCallbackInvocationChain(callbackMethod, callbackSourceChain);
@@ -240,16 +241,15 @@
return wire;
}
- @SuppressWarnings("unchecked")
public InboundWire createWire(ServiceDefinition service) {
Class<?> interfaze = service.getServiceContract().getInterfaceClass();
InboundWire wire = createInboundWire();
- wire.setBusinessInterface(interfaze);
+ wire.setServiceContract(service.getServiceContract());
wire.setServiceName(service.getName());
for (Method method : interfaze.getMethods()) {
InboundInvocationChain chain = createInboundChain(method);
-// TODO handle policy
-//TODO statement below could be cleaner
+ // TODO handle policy
+ //TODO statement below could be cleaner
chain.addInterceptor(new InvokerInterceptor());
wire.addInvocationChain(method, chain);
}
Modified: incubator/tuscany/java/sca/core/src/test/java/org/apache/tuscany/core/implementation/java/AsyncJavaTargetInvokerTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/core/src/test/java/org/apache/tuscany/core/implementation/java/AsyncJavaTargetInvokerTestCase.java?rev=438003&r1=438002&r2=438003&view=diff
==============================================================================
--- incubator/tuscany/java/sca/core/src/test/java/org/apache/tuscany/core/implementation/java/AsyncJavaTargetInvokerTestCase.java (original)
+++ incubator/tuscany/java/sca/core/src/test/java/org/apache/tuscany/core/implementation/java/AsyncJavaTargetInvokerTestCase.java Tue Aug 29 01:08:55 2006
@@ -29,7 +29,6 @@
import junit.framework.TestCase;
import static org.apache.tuscany.core.implementation.java.mock.MockFactory.createJavaComponent;
import org.apache.tuscany.core.implementation.java.mock.components.AsyncTarget;
-import org.apache.tuscany.core.implementation.java.AsyncMonitor;
import static org.easymock.EasyMock.createMock;
import static org.easymock.EasyMock.expectLastCall;
import static org.easymock.EasyMock.getCurrentArguments;
Modified: incubator/tuscany/java/sca/core/src/test/java/org/apache/tuscany/core/implementation/java/GetServiceByNameTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/core/src/test/java/org/apache/tuscany/core/implementation/java/GetServiceByNameTestCase.java?rev=438003&r1=438002&r2=438003&view=diff
==============================================================================
--- incubator/tuscany/java/sca/core/src/test/java/org/apache/tuscany/core/implementation/java/GetServiceByNameTestCase.java (original)
+++ incubator/tuscany/java/sca/core/src/test/java/org/apache/tuscany/core/implementation/java/GetServiceByNameTestCase.java Tue Aug 29 01:08:55 2006
@@ -21,6 +21,7 @@
import java.util.Collections;
import org.apache.tuscany.spi.component.ScopeContainer;
+import org.apache.tuscany.spi.idl.java.JavaServiceContract;
import org.apache.tuscany.spi.model.Scope;
import org.apache.tuscany.spi.wire.InboundWire;
@@ -53,7 +54,9 @@
final JavaAtomicComponent<?> component = new JavaAtomicComponent("target", configuration, null);
InboundWire wire = createMock(InboundWire.class);
- expect(wire.getBusinessInterface()).andReturn(Target.class);
+
+ JavaServiceContract contract = new JavaServiceContract(Target.class);
+ EasyMock.expect(wire.getServiceContract()).andReturn(contract).anyTimes();
expect(wire.getServiceName()).andReturn("Target");
expect(wire.getInvocationChains()).andReturn(Collections.emptyMap());
expect(wire.getCallbackReferenceName()).andReturn(null);
Modified: incubator/tuscany/java/sca/core/src/test/java/org/apache/tuscany/core/implementation/java/integration/component/OutboundWireToJavaTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/core/src/test/java/org/apache/tuscany/core/implementation/java/integration/component/OutboundWireToJavaTestCase.java?rev=438003&r1=438002&r2=438003&view=diff
==============================================================================
--- incubator/tuscany/java/sca/core/src/test/java/org/apache/tuscany/core/implementation/java/integration/component/OutboundWireToJavaTestCase.java (original)
+++ incubator/tuscany/java/sca/core/src/test/java/org/apache/tuscany/core/implementation/java/integration/component/OutboundWireToJavaTestCase.java Tue Aug 29 01:08:55 2006
@@ -25,6 +25,7 @@
import java.util.concurrent.FutureTask;
import org.apache.tuscany.spi.QualifiedName;
+import org.apache.tuscany.spi.idl.java.JavaServiceContract;
import org.apache.tuscany.spi.component.ScopeContainer;
import org.apache.tuscany.spi.component.WorkContext;
import org.apache.tuscany.spi.wire.InboundWire;
@@ -185,7 +186,8 @@
public static <T> OutboundWire<T> createOutboundWire(QualifiedName targetName, Class<T> interfaze) {
OutboundWire<T> wire = new OutboundWireImpl<T>();
- wire.setBusinessInterface(interfaze);
+ JavaServiceContract contract = new JavaServiceContract(interfaze);
+ wire.setServiceContract(contract);
wire.setTargetName(targetName);
wire.addInvocationChains(createInvocationChains(interfaze));
return wire;
Modified: incubator/tuscany/java/sca/core/src/test/java/org/apache/tuscany/core/implementation/java/mock/MockFactory.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/core/src/test/java/org/apache/tuscany/core/implementation/java/mock/MockFactory.java?rev=438003&r1=438002&r2=438003&view=diff
==============================================================================
--- incubator/tuscany/java/sca/core/src/test/java/org/apache/tuscany/core/implementation/java/mock/MockFactory.java (original)
+++ incubator/tuscany/java/sca/core/src/test/java/org/apache/tuscany/core/implementation/java/mock/MockFactory.java Tue Aug 29 01:08:55 2006
@@ -38,6 +38,7 @@
import org.apache.tuscany.spi.wire.OutboundWire;
import org.apache.tuscany.spi.wire.TargetInvoker;
import org.apache.tuscany.spi.wire.WireService;
+import org.apache.tuscany.spi.idl.java.JavaServiceContract;
import org.apache.tuscany.core.implementation.PojoConfiguration;
import org.apache.tuscany.core.implementation.java.JavaAtomicComponent;
@@ -264,7 +265,8 @@
MessageHandler headRequestHandler,
MessageHandler headResponseHandler) {
InboundWire<T> wire = new InboundWireImpl<T>();
- wire.setBusinessInterface(interfaze);
+ JavaServiceContract contract = new JavaServiceContract(interfaze);
+ wire.setServiceContract(contract);
wire.setServiceName(serviceName);
wire.addInvocationChains(
createInboundChains(interfaze, headInterceptor, headRequestHandler, headResponseHandler));
@@ -280,7 +282,8 @@
wire.setReferenceName(refName);
wire.addInvocationChains(
createOutboundChains(interfaze, headInterceptor, headRequestHandler, headResponseHandler));
- wire.setBusinessInterface(interfaze);
+ JavaServiceContract contract = new JavaServiceContract(interfaze);
+ wire.setServiceContract(contract);
return wire;
}
@@ -288,7 +291,8 @@
OutboundWire<T> wire = new OutboundWireImpl<T>();
wire.setReferenceName(refName);
wire.addInvocationChains(createOutboundChains(interfaze));
- wire.setBusinessInterface(interfaze);
+ JavaServiceContract contract = new JavaServiceContract(interfaze);
+ wire.setServiceContract(contract);
return wire;
}
Modified: incubator/tuscany/java/sca/core/src/test/java/org/apache/tuscany/core/mock/factories/MockFactory.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/core/src/test/java/org/apache/tuscany/core/mock/factories/MockFactory.java?rev=438003&r1=438002&r2=438003&view=diff
==============================================================================
--- incubator/tuscany/java/sca/core/src/test/java/org/apache/tuscany/core/mock/factories/MockFactory.java (original)
+++ incubator/tuscany/java/sca/core/src/test/java/org/apache/tuscany/core/mock/factories/MockFactory.java Tue Aug 29 01:08:55 2006
@@ -28,6 +28,7 @@
import org.osoa.sca.annotations.Init;
import org.apache.tuscany.spi.QualifiedName;
+import org.apache.tuscany.spi.idl.java.JavaServiceContract;
import org.apache.tuscany.spi.component.AtomicComponent;
import org.apache.tuscany.core.implementation.PojoConfiguration;
import org.apache.tuscany.spi.component.ScopeContainer;
@@ -154,7 +155,8 @@
public static <T> InboundWire<T> createTargetWireFactory(String serviceName, Class<T> interfaze) {
InboundWire<T> wire = new InboundWireImpl<T>();
wire.setServiceName(serviceName);
- wire.setBusinessInterface(interfaze);
+ JavaServiceContract contract = new JavaServiceContract(interfaze);
+ wire.setServiceContract(contract);
wire.addInvocationChains(createInboundChains(interfaze));
return wire;
}
Modified: incubator/tuscany/java/sca/spi/src/main/java/org/apache/tuscany/spi/extension/ReferenceExtension.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/spi/src/main/java/org/apache/tuscany/spi/extension/ReferenceExtension.java?rev=438003&r1=438002&r2=438003&view=diff
==============================================================================
--- incubator/tuscany/java/sca/spi/src/main/java/org/apache/tuscany/spi/extension/ReferenceExtension.java (original)
+++ incubator/tuscany/java/sca/spi/src/main/java/org/apache/tuscany/spi/extension/ReferenceExtension.java Tue Aug 29 01:08:55 2006
@@ -76,10 +76,6 @@
return referenceInterface;
}
- public void setInterface(Class<T> referenceInterface) {
- this.referenceInterface = referenceInterface;
- }
-
public T getServiceInstance() throws TargetException {
return wireService.createProxy(inboundWire);
}
Modified: incubator/tuscany/java/sca/spi/src/main/java/org/apache/tuscany/spi/wire/RuntimeWire.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/spi/src/main/java/org/apache/tuscany/spi/wire/RuntimeWire.java?rev=438003&r1=438002&r2=438003&view=diff
==============================================================================
--- incubator/tuscany/java/sca/spi/src/main/java/org/apache/tuscany/spi/wire/RuntimeWire.java (original)
+++ incubator/tuscany/java/sca/spi/src/main/java/org/apache/tuscany/spi/wire/RuntimeWire.java Tue Aug 29 01:08:55 2006
@@ -19,6 +19,7 @@
package org.apache.tuscany.spi.wire;
import org.apache.tuscany.spi.component.TargetException;
+import org.apache.tuscany.spi.model.ServiceContract;
/**
* The base wire type used to connect references and services
@@ -32,25 +33,14 @@
*/
T getTargetService() throws TargetException;
- /**
- * Sets the primary interface type generated proxies implement
- */
- void setBusinessInterface(Class<T> interfaze);
+ ServiceContract getServiceContract();
- /**
- * Returns the primary interface type implemented by generated proxies
- */
- Class<T> getBusinessInterface();
+ void setServiceContract(ServiceContract contract);
/**
* Adds an interface type generated proxies implement
*/
void addInterface(Class<?> claz);
-
- /**
- * Returns an array of all interfaces implemented by generated proxies
- */
- Class[] getImplementedInterfaces();
/**
* Returns true if the wire and all of its interceptors and handlers can be optimized
Modified: incubator/tuscany/java/sca/spi/src/main/java/org/apache/tuscany/spi/wire/WireService.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/spi/src/main/java/org/apache/tuscany/spi/wire/WireService.java?rev=438003&r1=438002&r2=438003&view=diff
==============================================================================
--- incubator/tuscany/java/sca/spi/src/main/java/org/apache/tuscany/spi/wire/WireService.java (original)
+++ incubator/tuscany/java/sca/spi/src/main/java/org/apache/tuscany/spi/wire/WireService.java Tue Aug 29 01:08:55 2006
@@ -29,6 +29,7 @@
import org.apache.tuscany.spi.model.ReferenceTarget;
import org.apache.tuscany.spi.model.ServiceDefinition;
import org.apache.tuscany.spi.model.BoundServiceDefinition;
+import org.apache.tuscany.spi.model.ServiceContract;
/**
* Creates proxies that implement Java interfaces and invocation handlers for fronting wires
@@ -60,7 +61,7 @@
void createWires(Component component, ComponentDefinition<?> definition);
- <T> void createWires(Reference<T> reference);
+ <T> void createWires(Reference<T> reference, ServiceContract contract);
void createWires(Service<?> service, BoundServiceDefinition<?> def);
Modified: incubator/tuscany/java/sca/spi/src/test/java/org/apache/tuscany/spi/extension/ReferenceTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/spi/src/test/java/org/apache/tuscany/spi/extension/ReferenceTestCase.java?rev=438003&r1=438002&r2=438003&view=diff
==============================================================================
--- incubator/tuscany/java/sca/spi/src/test/java/org/apache/tuscany/spi/extension/ReferenceTestCase.java (original)
+++ incubator/tuscany/java/sca/spi/src/test/java/org/apache/tuscany/spi/extension/ReferenceTestCase.java Tue Aug 29 01:08:55 2006
@@ -41,13 +41,12 @@
public class ReferenceTestCase extends TestCase {
public void testScope() throws Exception {
- TestReference ref = new TestReference();
+ TestReference ref = new TestReference<Object>(Object.class);
assertEquals(Scope.COMPOSITE, ref.getScope());
}
public void testSetGetInterface() throws Exception {
- TestReference<TestReference> ref = new TestReference<TestReference>();
- ref.setInterface(TestReference.class);
+ TestReference<TestReference> ref = new TestReference<TestReference>(TestReference.class);
assertEquals(TestReference.class, ref.getInterface());
}
@@ -72,15 +71,15 @@
replay(chain);
replay(wire);
replay(outboundWire);
- TestReference<?> ref = new TestReference();
+ TestReference<?> ref = new TestReference<Object>(Object.class);
ref.setInboundWire(wire);
ref.setOutboundWire(outboundWire);
ref.prepare();
}
private class TestReference<T> extends ReferenceExtension<T> {
- public TestReference() {
- super(null, null, null, null);
+ public TestReference(Class<T> clazz) {
+ super(null, clazz, null, null);
}
public TargetInvoker createTargetInvoker(Method operation) {
Modified: incubator/tuscany/java/sca/spi/src/test/java/org/apache/tuscany/spi/extension/ServiceExtensionTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/spi/src/test/java/org/apache/tuscany/spi/extension/ServiceExtensionTestCase.java?rev=438003&r1=438002&r2=438003&view=diff
==============================================================================
--- incubator/tuscany/java/sca/spi/src/test/java/org/apache/tuscany/spi/extension/ServiceExtensionTestCase.java (original)
+++ incubator/tuscany/java/sca/spi/src/test/java/org/apache/tuscany/spi/extension/ServiceExtensionTestCase.java Tue Aug 29 01:08:55 2006
@@ -18,12 +18,13 @@
*/
package org.apache.tuscany.spi.extension;
+import org.apache.tuscany.spi.idl.java.JavaServiceContract;
import org.apache.tuscany.spi.model.Scope;
import org.apache.tuscany.spi.wire.InboundWire;
import junit.framework.TestCase;
import static org.easymock.EasyMock.createMock;
-import static org.easymock.EasyMock.expectLastCall;
+import static org.easymock.EasyMock.expect;
import static org.easymock.EasyMock.replay;
/**
@@ -39,8 +40,8 @@
@SuppressWarnings("unchecked")
public void testSetGetInterface() throws Exception {
InboundWire wire = createMock(InboundWire.class);
- wire.getBusinessInterface();
- expectLastCall().andReturn(getClass());
+ JavaServiceContract contract = new JavaServiceContract(getClass());
+ expect(wire.getServiceContract()).andReturn(contract);
replay(wire);
ServiceExtension<?> service = new ServiceExtension(null, null, null, null);
service.setInboundWire(wire);
Modified: incubator/tuscany/java/sca/test/src/main/java/org/apache/tuscany/test/ArtifactFactory.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/test/src/main/java/org/apache/tuscany/test/ArtifactFactory.java?rev=438003&r1=438002&r2=438003&view=diff
==============================================================================
--- incubator/tuscany/java/sca/test/src/main/java/org/apache/tuscany/test/ArtifactFactory.java (original)
+++ incubator/tuscany/java/sca/test/src/main/java/org/apache/tuscany/test/ArtifactFactory.java Tue Aug 29 01:08:55 2006
@@ -36,6 +36,7 @@
import org.apache.tuscany.spi.wire.OutboundInvocationChain;
import org.apache.tuscany.spi.wire.OutboundWire;
import org.apache.tuscany.spi.wire.WireService;
+import org.apache.tuscany.spi.idl.java.JavaServiceContract;
/**
* A factory for creating runtime artifacts to facilitate testing without directly instantiating core
@@ -66,7 +67,8 @@
*/
public static <T> InboundWire<T> createInboundWire(String serviceName, Class<T> interfaze) {
InboundWire<T> wire = new InboundWireImpl<T>();
- wire.setBusinessInterface(interfaze);
+ JavaServiceContract contract = new JavaServiceContract(interfaze);
+ wire.setServiceContract(contract);
wire.setServiceName(serviceName);
wire.addInvocationChains(createInboundChains(interfaze));
return wire;
@@ -84,7 +86,8 @@
OutboundWire<T> wire = new OutboundWireImpl<T>();
wire.setReferenceName(refName);
wire.addInvocationChains(createOutboundChains(interfaze));
- wire.setBusinessInterface(interfaze);
+ JavaServiceContract contract = new JavaServiceContract(interfaze);
+ wire.setServiceContract(contract);
return wire;
}
---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-commits-help@ws.apache.org