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/02/13 19:11:12 UTC
svn commit: r377444 - in /incubator/tuscany/java/sca/core/src:
main/java/org/apache/tuscany/core/builder/
main/java/org/apache/tuscany/core/builder/impl/
test/java/org/apache/tuscany/core/builder/
test/java/org/apache/tuscany/core/builder/impl/ test/ja...
Author: jmarino
Date: Mon Feb 13 10:11:11 2006
New Revision: 377444
URL: http://svn.apache.org/viewcvs?rev=377444&view=rev
Log:
early unit tests for wire builder
Added:
incubator/tuscany/java/sca/core/src/test/java/org/apache/tuscany/core/builder/
incubator/tuscany/java/sca/core/src/test/java/org/apache/tuscany/core/builder/impl/
incubator/tuscany/java/sca/core/src/test/java/org/apache/tuscany/core/builder/impl/DefaultWireBuilderTestCase.java
Removed:
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/builder/ReferenceBuilder.java
Modified:
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/builder/impl/DefaultWireBuilder.java
incubator/tuscany/java/sca/core/src/test/java/org/apache/tuscany/core/invocation/InvocationConfigurationTestCase.java
Modified: incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/builder/impl/DefaultWireBuilder.java
URL: http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/builder/impl/DefaultWireBuilder.java?rev=377444&r1=377443&r2=377444&view=diff
==============================================================================
--- incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/builder/impl/DefaultWireBuilder.java (original)
+++ incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/builder/impl/DefaultWireBuilder.java Mon Feb 13 10:11:11 2006
@@ -48,56 +48,6 @@
builders.add(builder);
}
- // public void wire(RuntimeConfiguration source, RuntimeConfiguration target, ScopeContext targetScopeContext) {
- // if (source.getSourceProxyFactories() != null) {
- // for (ProxyFactory sourceFactory : ((Map<String, ProxyFactory>) source.getSourceProxyFactories()).values()) {
- // QualifiedName targetName = sourceFactory.getProxyConfiguration().getTargetName();
- // // get the proxy chain for the target
- // ProxyFactory targetFactory = target.getTargetProxyFactory(sourceFactory.getProxyConfiguration().getTargetName()
- // .getPortName());
- // if (targetFactory != null) {
- // // if null, the target side has no interceptors or handlers
- // Map<OperationType, InvocationConfiguration> targetInvocationConfigs = targetFactory.getProxyConfiguration()
- // .getInvocationConfigurations();
- // for (InvocationConfiguration sourceInvocationConfig : sourceFactory.getProxyConfiguration()
- // .getInvocationConfigurations().values()) {
- // // match invocation chains
- // InvocationConfiguration targetInvocationConfig = targetInvocationConfigs.get(sourceInvocationConfig
- // .getOperationType());
- // // if handler is configured, add that
- // if (targetInvocationConfig.getRequestHandlers() != null) {
- // sourceInvocationConfig.addTargetRequestChannel(new
- // MessageChannelImpl(targetInvocationConfig.getRequestHandlers()));
- // sourceInvocationConfig.addTargetResponseChannel(new
- // MessageChannelImpl(targetInvocationConfig.getResponseHandlers()));
- // } else {
- // // no handlers, just connect interceptors
- // sourceInvocationConfig.addTargetInterceptor(targetInvocationConfig.getTargetInterceptor());
- // }
- // }
- // }
- // }
- // // delegate to other wire builders
- // for (WireBuilder builder : builders) {
- // builder.wire(source, target, targetScopeContext);
- // }
- // // signal that wire build process is complete
- // for (ProxyFactory sourceFactory : ((Map<String, ProxyFactory>) source.getSourceProxyFactories()).values()) {
- // QualifiedName targetName = sourceFactory.getProxyConfiguration().getTargetName();
- // // get the proxy chain for the target
- // ProxyFactory targetFactory = target.getTargetProxyFactory(sourceFactory.getProxyConfiguration().getTargetName()
- // .getPortName());
- // boolean optimizable = true;
- // for (InvocationConfiguration sourceInvocationConfig : sourceFactory.getProxyConfiguration()
- // .getInvocationConfigurations().values()) {
- // sourceInvocationConfig.build();
- // // TODO optimize if no proxy needed using NullProxyFactory
- // }
- // }
- // }
- //
- // }
-
public void wire(ProxyFactory sourceFactory, ProxyFactory targetFactory, Class targetType, boolean downScope,
ScopeContext targetScopeContext) {
QualifiedName targetName = sourceFactory.getProxyConfiguration().getTargetName();
Added: incubator/tuscany/java/sca/core/src/test/java/org/apache/tuscany/core/builder/impl/DefaultWireBuilderTestCase.java
URL: http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/core/src/test/java/org/apache/tuscany/core/builder/impl/DefaultWireBuilderTestCase.java?rev=377444&view=auto
==============================================================================
--- incubator/tuscany/java/sca/core/src/test/java/org/apache/tuscany/core/builder/impl/DefaultWireBuilderTestCase.java (added)
+++ incubator/tuscany/java/sca/core/src/test/java/org/apache/tuscany/core/builder/impl/DefaultWireBuilderTestCase.java Mon Feb 13 10:11:11 2006
@@ -0,0 +1,217 @@
+package org.apache.tuscany.core.builder.impl;
+
+import java.lang.reflect.Method;
+import java.util.HashMap;
+import java.util.Map;
+
+import junit.framework.Assert;
+import junit.framework.TestCase;
+
+import org.apache.tuscany.core.context.QualifiedName;
+import org.apache.tuscany.core.invocation.InvocationConfiguration;
+import org.apache.tuscany.core.invocation.ProxyConfiguration;
+import org.apache.tuscany.core.invocation.impl.InvokerInterceptor;
+import org.apache.tuscany.core.invocation.jdk.JDKProxyFactory;
+import org.apache.tuscany.core.invocation.mock.MockHandler;
+import org.apache.tuscany.core.invocation.mock.MockJavaOperationType;
+import org.apache.tuscany.core.invocation.mock.MockStaticInvoker;
+import org.apache.tuscany.core.invocation.mock.MockSyncInterceptor;
+import org.apache.tuscany.core.invocation.mock.SimpleTarget;
+import org.apache.tuscany.core.invocation.mock.SimpleTargetImpl;
+import org.apache.tuscany.core.invocation.spi.ProxyFactory;
+import org.apache.tuscany.core.message.Message;
+import org.apache.tuscany.core.message.MessageFactory;
+import org.apache.tuscany.core.message.impl.PojoMessageFactory;
+import org.apache.tuscany.core.message.impl.PojoMessageImpl;
+import org.apache.tuscany.model.types.OperationType;
+
+public class DefaultWireBuilderTestCase extends TestCase {
+
+ private Method hello;
+
+ private Method goodbye;
+
+ public DefaultWireBuilderTestCase() {
+ super();
+ }
+
+ public DefaultWireBuilderTestCase(String arg0) {
+ super(arg0);
+ }
+
+ public void setUp() throws Exception {
+ hello = SimpleTarget.class.getMethod("hello", new Class[] { String.class });
+ goodbye = SimpleTarget.class.getMethod("goodbye", new Class[] { String.class });
+ }
+
+ /**
+ * Tests basic wiring of a source to a target, including handlers and interceptors
+ */
+ public void testWireWithInterceptorsAndHandlers() throws Exception {
+ MessageFactory msgFactory = new PojoMessageFactory();
+ OperationType operation = new MockJavaOperationType(hello);
+
+ InvocationConfiguration source = new InvocationConfiguration(operation);
+ MockHandler sourceRequestHandler = new MockHandler();
+ MockHandler sourceResponseHandler = new MockHandler();
+ MockSyncInterceptor sourceInterceptor = new MockSyncInterceptor();
+ source.addRequestHandler(sourceRequestHandler);
+ source.addResponseHandler(sourceResponseHandler);
+ source.addSourceInterceptor(sourceInterceptor);
+
+ ProxyFactory sourceFactory = new JDKProxyFactory();
+ Map<OperationType, InvocationConfiguration> sourceInvocationConfigs = new HashMap();
+ sourceInvocationConfigs.put(operation, source);
+ ProxyConfiguration sourceConfig = new ProxyConfiguration(new QualifiedName("target/SimpleTarget"),
+ sourceInvocationConfigs, Thread.currentThread().getContextClassLoader(), null, msgFactory);
+ sourceFactory.setProxyConfiguration(sourceConfig);
+ sourceFactory.setBusinessInterface(SimpleTarget.class);
+
+ InvocationConfiguration target = new InvocationConfiguration(operation);
+ MockHandler targetRequestHandler = new MockHandler();
+ MockHandler targetResponseHandler = new MockHandler();
+ MockSyncInterceptor targetInterceptor = new MockSyncInterceptor();
+ target.addRequestHandler(targetRequestHandler);
+ target.addResponseHandler(targetResponseHandler);
+ target.addTargetInterceptor(targetInterceptor);
+ target.addTargetInterceptor(new InvokerInterceptor());
+
+ ProxyFactory targetFactory = new JDKProxyFactory();
+ Map<OperationType, InvocationConfiguration> targetInvocationConfigs = new HashMap();
+ targetInvocationConfigs.put(operation, target);
+ ProxyConfiguration targetConfig = new ProxyConfiguration(new QualifiedName("target/SimpleTarget"),
+ targetInvocationConfigs, Thread.currentThread().getContextClassLoader(), null, msgFactory);
+ targetFactory.setProxyConfiguration(targetConfig);
+ targetFactory.setBusinessInterface(SimpleTarget.class);
+
+ // connect the source to the target
+ DefaultWireBuilder builder = new DefaultWireBuilder();
+ // no need for scopes since we use a static invoker
+ builder.wire(sourceFactory, targetFactory, SimpleTarget.class, true, null);
+ source.build();
+ target.build();
+ // set a static invoker
+ MockStaticInvoker invoker = new MockStaticInvoker(hello, new SimpleTargetImpl());
+ source.setTargetInvoker(invoker);
+
+ Message msg = new PojoMessageImpl();
+ msg.setPayload("foo");
+ msg.setTargetInvoker(invoker);
+ Message response = (Message) source.getSourceInterceptor().invoke(msg);
+ Assert.assertEquals("foo", response.getPayload());
+ Assert.assertEquals(1, sourceRequestHandler.getCount());
+ Assert.assertEquals(1, sourceResponseHandler.getCount());
+ Assert.assertEquals(1, sourceInterceptor.getCount());
+ Assert.assertEquals(1, targetRequestHandler.getCount());
+ Assert.assertEquals(1, targetResponseHandler.getCount());
+ Assert.assertEquals(1, targetInterceptor.getCount());
+ }
+
+
+ public void testWireWithInterceptorsAndRequestHandlers() throws Exception {
+ MessageFactory msgFactory = new PojoMessageFactory();
+ OperationType operation = new MockJavaOperationType(hello);
+
+ InvocationConfiguration source = new InvocationConfiguration(operation);
+ MockHandler sourceRequestHandler = new MockHandler();
+ MockSyncInterceptor sourceInterceptor = new MockSyncInterceptor();
+ source.addRequestHandler(sourceRequestHandler);
+ source.addSourceInterceptor(sourceInterceptor);
+
+ ProxyFactory sourceFactory = new JDKProxyFactory();
+ Map<OperationType, InvocationConfiguration> sourceInvocationConfigs = new HashMap();
+ sourceInvocationConfigs.put(operation, source);
+ ProxyConfiguration sourceConfig = new ProxyConfiguration(new QualifiedName("target/SimpleTarget"),
+ sourceInvocationConfigs, Thread.currentThread().getContextClassLoader(), null, msgFactory);
+ sourceFactory.setProxyConfiguration(sourceConfig);
+ sourceFactory.setBusinessInterface(SimpleTarget.class);
+
+ InvocationConfiguration target = new InvocationConfiguration(operation);
+ MockHandler targetRequestHandler = new MockHandler();
+ MockSyncInterceptor targetInterceptor = new MockSyncInterceptor();
+ target.addRequestHandler(targetRequestHandler);
+ target.addTargetInterceptor(targetInterceptor);
+ target.addTargetInterceptor(new InvokerInterceptor());
+
+ ProxyFactory targetFactory = new JDKProxyFactory();
+ Map<OperationType, InvocationConfiguration> targetInvocationConfigs = new HashMap();
+ targetInvocationConfigs.put(operation, target);
+ ProxyConfiguration targetConfig = new ProxyConfiguration(new QualifiedName("target/SimpleTarget"),
+ targetInvocationConfigs, Thread.currentThread().getContextClassLoader(), null, msgFactory);
+ targetFactory.setProxyConfiguration(targetConfig);
+ targetFactory.setBusinessInterface(SimpleTarget.class);
+
+ // connect the source to the target
+ DefaultWireBuilder builder = new DefaultWireBuilder();
+ // no need for scopes since we use a static invoker
+ builder.wire(sourceFactory, targetFactory, SimpleTarget.class, true, null);
+ source.build();
+ target.build();
+ // set a static invoker
+ MockStaticInvoker invoker = new MockStaticInvoker(hello, new SimpleTargetImpl());
+ source.setTargetInvoker(invoker);
+
+ Message msg = new PojoMessageImpl();
+ msg.setPayload("foo");
+ msg.setTargetInvoker(invoker);
+ Message response = (Message) source.getSourceInterceptor().invoke(msg);
+ Assert.assertEquals("foo", response.getPayload());
+ Assert.assertEquals(1, sourceRequestHandler.getCount());
+ Assert.assertEquals(1, sourceInterceptor.getCount());
+ Assert.assertEquals(1, targetRequestHandler.getCount());
+ Assert.assertEquals(1, targetInterceptor.getCount());
+ }
+
+ public void testWireWithInterceptorsOnly() throws Exception {
+ MessageFactory msgFactory = new PojoMessageFactory();
+ OperationType operation = new MockJavaOperationType(hello);
+
+ InvocationConfiguration source = new InvocationConfiguration(operation);
+ MockSyncInterceptor sourceInterceptor = new MockSyncInterceptor();
+ source.addSourceInterceptor(sourceInterceptor);
+
+ ProxyFactory sourceFactory = new JDKProxyFactory();
+ Map<OperationType, InvocationConfiguration> sourceInvocationConfigs = new HashMap();
+ sourceInvocationConfigs.put(operation, source);
+ ProxyConfiguration sourceConfig = new ProxyConfiguration(new QualifiedName("target/SimpleTarget"),
+ sourceInvocationConfigs, Thread.currentThread().getContextClassLoader(), null, msgFactory);
+ sourceFactory.setProxyConfiguration(sourceConfig);
+ sourceFactory.setBusinessInterface(SimpleTarget.class);
+
+ InvocationConfiguration target = new InvocationConfiguration(operation);
+ MockSyncInterceptor targetInterceptor = new MockSyncInterceptor();
+ target.addTargetInterceptor(targetInterceptor);
+ target.addTargetInterceptor(new InvokerInterceptor());
+
+ ProxyFactory targetFactory = new JDKProxyFactory();
+ Map<OperationType, InvocationConfiguration> targetInvocationConfigs = new HashMap();
+ targetInvocationConfigs.put(operation, target);
+ ProxyConfiguration targetConfig = new ProxyConfiguration(new QualifiedName("target/SimpleTarget"),
+ targetInvocationConfigs, Thread.currentThread().getContextClassLoader(), null, msgFactory);
+ targetFactory.setProxyConfiguration(targetConfig);
+ targetFactory.setBusinessInterface(SimpleTarget.class);
+
+ // connect the source to the target
+ DefaultWireBuilder builder = new DefaultWireBuilder();
+ // no need for scopes since we use a static invoker
+ builder.wire(sourceFactory, targetFactory, SimpleTarget.class, true, null);
+ source.build();
+ target.build();
+ // set a static invoker
+ MockStaticInvoker invoker = new MockStaticInvoker(hello, new SimpleTargetImpl());
+ source.setTargetInvoker(invoker);
+
+ Message msg = new PojoMessageImpl();
+ msg.setPayload("foo");
+ msg.setTargetInvoker(invoker);
+ Message response = (Message) source.getSourceInterceptor().invoke(msg);
+ Assert.assertEquals("foo", response.getPayload());
+ Assert.assertEquals(1, sourceInterceptor.getCount());
+ Assert.assertEquals(1, targetInterceptor.getCount());
+ }
+
+
+ // public void testInvokeWithRequestHandlers() throws Exception {}
+ // public void testInvokeWithInterceptorsOnly() throws Exception { }
+
+}
Modified: incubator/tuscany/java/sca/core/src/test/java/org/apache/tuscany/core/invocation/InvocationConfigurationTestCase.java
URL: http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/core/src/test/java/org/apache/tuscany/core/invocation/InvocationConfigurationTestCase.java?rev=377444&r1=377443&r2=377444&view=diff
==============================================================================
--- incubator/tuscany/java/sca/core/src/test/java/org/apache/tuscany/core/invocation/InvocationConfigurationTestCase.java (original)
+++ incubator/tuscany/java/sca/core/src/test/java/org/apache/tuscany/core/invocation/InvocationConfigurationTestCase.java Mon Feb 13 10:11:11 2006
@@ -32,8 +32,8 @@
public class InvocationConfigurationTestCase extends TestCase {
-
private Method hello;
+
private Method goodbye;
public InvocationConfigurationTestCase() {
@@ -43,16 +43,16 @@
public InvocationConfigurationTestCase(String arg0) {
super(arg0);
}
-
+
public void setUp() throws Exception {
- hello = SimpleTarget.class.getMethod("hello", new Class[]{String.class});
- goodbye = SimpleTarget.class.getMethod("goodbye", new Class[]{String.class});
+ hello = SimpleTarget.class.getMethod("hello", new Class[] { String.class });
+ goodbye = SimpleTarget.class.getMethod("goodbye", new Class[] { String.class });
}
/**
* Tests basic wiring of a source to a target, including handlers and interceptors
*/
- public void testInvokeWithHandlers() throws Exception{
+ public void testInvokeWithHandlers() throws Exception {
OperationType operation = new MockJavaOperationType(hello);
InvocationConfiguration source = new InvocationConfiguration(operation);
MockHandler sourceRequestHandler = new MockHandler();
@@ -78,21 +78,21 @@
target.build();
MockStaticInvoker invoker = new MockStaticInvoker(hello, new SimpleTargetImpl());
source.setTargetInvoker(invoker);
-
+
Message msg = new PojoMessageImpl();
msg.setPayload("foo");
msg.setTargetInvoker(invoker);
Message response = (Message) source.getSourceInterceptor().invoke(msg);
- Assert.assertEquals("foo",response.getPayload());
- Assert.assertEquals(1,sourceRequestHandler.getCount());
- Assert.assertEquals(1,sourceResponseHandler.getCount());
- Assert.assertEquals(1,sourceInterceptor.getCount());
- Assert.assertEquals(1,targetRequestHandler.getCount());
- Assert.assertEquals(1,targetResponseHandler.getCount());
- Assert.assertEquals(1,targetInterceptor.getCount());
+ Assert.assertEquals("foo", response.getPayload());
+ Assert.assertEquals(1, sourceRequestHandler.getCount());
+ Assert.assertEquals(1, sourceResponseHandler.getCount());
+ Assert.assertEquals(1, sourceInterceptor.getCount());
+ Assert.assertEquals(1, targetRequestHandler.getCount());
+ Assert.assertEquals(1, targetResponseHandler.getCount());
+ Assert.assertEquals(1, targetInterceptor.getCount());
}
- public void testInvokeWithRequestHandlers() throws Exception{
+ public void testInvokeWithRequestHandlers() throws Exception {
OperationType operation = new MockJavaOperationType(hello);
InvocationConfiguration source = new InvocationConfiguration(operation);
MockHandler sourceRequestHandler = new MockHandler();
@@ -114,22 +114,22 @@
target.build();
MockStaticInvoker invoker = new MockStaticInvoker(hello, new SimpleTargetImpl());
source.setTargetInvoker(invoker);
-
+
Message msg = new PojoMessageImpl();
msg.setPayload("foo");
msg.setTargetInvoker(invoker);
Message response = (Message) source.getSourceInterceptor().invoke(msg);
- Assert.assertEquals("foo",response.getPayload());
- Assert.assertEquals(1,sourceRequestHandler.getCount());
- Assert.assertEquals(1,sourceInterceptor.getCount());
- Assert.assertEquals(1,targetRequestHandler.getCount());
- Assert.assertEquals(1,targetInterceptor.getCount());
+ Assert.assertEquals("foo", response.getPayload());
+ Assert.assertEquals(1, sourceRequestHandler.getCount());
+ Assert.assertEquals(1, sourceInterceptor.getCount());
+ Assert.assertEquals(1, targetRequestHandler.getCount());
+ Assert.assertEquals(1, targetInterceptor.getCount());
}
/**
* Tests basic wiring of a source to a target, including handlers and interceptors
*/
- public void testInvokeWithInterceptorsOnly() throws Exception{
+ public void testInvokeWithInterceptorsOnly() throws Exception {
OperationType operation = new MockJavaOperationType(hello);
InvocationConfiguration source = new InvocationConfiguration(operation);
MockSyncInterceptor sourceInterceptor = new MockSyncInterceptor();
@@ -146,18 +146,13 @@
target.build();
MockStaticInvoker invoker = new MockStaticInvoker(hello, new SimpleTargetImpl());
source.setTargetInvoker(invoker);
-
+
Message msg = new PojoMessageImpl();
msg.setPayload("foo");
msg.setTargetInvoker(invoker);
Message response = (Message) source.getSourceInterceptor().invoke(msg);
- Assert.assertEquals("foo",response.getPayload());
- Assert.assertEquals(1,sourceInterceptor.getCount());
- Assert.assertEquals(1,targetInterceptor.getCount());
-
+ Assert.assertEquals("foo", response.getPayload());
+ Assert.assertEquals(1, sourceInterceptor.getCount());
+ Assert.assertEquals(1, targetInterceptor.getCount());
}
-
-
-
}
-