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());
     }
-
-    
-
 }
-