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/05/27 09:35:10 UTC

svn commit: r409816 - in /incubator/tuscany/sandbox/jboynes/sca/containers/container.spring/src: main/java/org/apache/tuscany/container/spring/ test/java/org/apache/tuscany/container/spring/

Author: jmarino
Date: Sat May 27 00:35:09 2006
New Revision: 409816

URL: http://svn.apache.org/viewvc?rev=409816&view=rev
Log:
spring testcase refactors

Added:
    incubator/tuscany/sandbox/jboynes/sca/containers/container.spring/src/test/java/org/apache/tuscany/container/spring/ReferenceInvocationTestCase.java
      - copied, changed from r409812, incubator/tuscany/sandbox/jboynes/sca/containers/container.spring/src/test/java/org/apache/tuscany/container/spring/SpringReferenceTestCase.java
    incubator/tuscany/sandbox/jboynes/sca/containers/container.spring/src/test/java/org/apache/tuscany/container/spring/ServiceInvocationTestCase.java
Removed:
    incubator/tuscany/sandbox/jboynes/sca/containers/container.spring/src/test/java/org/apache/tuscany/container/spring/SpringReferenceTestCase.java
Modified:
    incubator/tuscany/sandbox/jboynes/sca/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/SpringComponentTypeLoader.java
    incubator/tuscany/sandbox/jboynes/sca/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/SpringInvoker.java
    incubator/tuscany/sandbox/jboynes/sca/containers/container.spring/src/test/java/org/apache/tuscany/container/spring/SpringInvocationTestCase.java

Modified: incubator/tuscany/sandbox/jboynes/sca/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/SpringComponentTypeLoader.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/sca/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/SpringComponentTypeLoader.java?rev=409816&r1=409815&r2=409816&view=diff
==============================================================================
--- incubator/tuscany/sandbox/jboynes/sca/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/SpringComponentTypeLoader.java (original)
+++ incubator/tuscany/sandbox/jboynes/sca/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/SpringComponentTypeLoader.java Sat May 27 00:35:09 2006
@@ -3,6 +3,7 @@
 import org.apache.tuscany.spi.deployer.DeploymentContext;
 import org.apache.tuscany.spi.loader.ComponentTypeLoader;
 import org.apache.tuscany.spi.model.CompositeComponentType;
+import org.apache.tuscany.container.spring.config.SCABeanDefinitionReader;
 import org.springframework.beans.factory.support.DefaultListableBeanFactory;
 import org.springframework.beans.factory.xml.XmlBeanDefinitionReader;
 import org.springframework.context.support.GenericApplicationContext;

Modified: incubator/tuscany/sandbox/jboynes/sca/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/SpringInvoker.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/sca/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/SpringInvoker.java?rev=409816&r1=409815&r2=409816&view=diff
==============================================================================
--- incubator/tuscany/sandbox/jboynes/sca/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/SpringInvoker.java (original)
+++ incubator/tuscany/sandbox/jboynes/sca/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/SpringInvoker.java Sat May 27 00:35:09 2006
@@ -15,7 +15,7 @@
  */
 public class SpringInvoker implements TargetInvoker {
     private ApplicationContext springContext;
-    private boolean cacheable;
+    private boolean cacheable = true; // default to true since Spring handles resolution
     private String beanName;
     private Method method;
     private Object bean;
@@ -30,7 +30,6 @@
         if (bean == null) {
             try {
                 bean = springContext.getBean(beanName);
-                // TODO find a way to get AOP chain instead of proxy
             } catch (BeansException e) {
                 throw new TargetException(e);
             }
@@ -58,4 +57,6 @@
     public SpringInvoker clone() throws CloneNotSupportedException {
         return (SpringInvoker) super.clone();
     }
+
+
 }

Copied: incubator/tuscany/sandbox/jboynes/sca/containers/container.spring/src/test/java/org/apache/tuscany/container/spring/ReferenceInvocationTestCase.java (from r409812, incubator/tuscany/sandbox/jboynes/sca/containers/container.spring/src/test/java/org/apache/tuscany/container/spring/SpringReferenceTestCase.java)
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/sca/containers/container.spring/src/test/java/org/apache/tuscany/container/spring/ReferenceInvocationTestCase.java?p2=incubator/tuscany/sandbox/jboynes/sca/containers/container.spring/src/test/java/org/apache/tuscany/container/spring/ReferenceInvocationTestCase.java&p1=incubator/tuscany/sandbox/jboynes/sca/containers/container.spring/src/test/java/org/apache/tuscany/container/spring/SpringReferenceTestCase.java&r1=409812&r2=409816&rev=409816&view=diff
==============================================================================
--- incubator/tuscany/sandbox/jboynes/sca/containers/container.spring/src/test/java/org/apache/tuscany/container/spring/SpringReferenceTestCase.java (original)
+++ incubator/tuscany/sandbox/jboynes/sca/containers/container.spring/src/test/java/org/apache/tuscany/container/spring/ReferenceInvocationTestCase.java Sat May 27 00:35:09 2006
@@ -13,16 +13,13 @@
 import org.springframework.context.support.StaticApplicationContext;
 
 /**
+ * Verifies wiring from a Spring bean to an SCA composite reference
+ *
  * @version $$Rev$$ $$Date$$
  */
-public class SpringReferenceTestCase extends MockObjectTestCase {
+public class ReferenceInvocationTestCase extends MockObjectTestCase {
 
-    /**
-     * Verifies wiring from a Spring bean to an SCA composite reference
-     *
-     * @throws Exception
-     */
-    public void testReferenceInvocation() throws Exception {
+    public void testInvocation() throws Exception {
         ConfigurableApplicationContext ctx = createSpringContext();
         SpringCompositeContext parent = new SpringCompositeContext("spring", ctx, null);
         parent.start();

Added: incubator/tuscany/sandbox/jboynes/sca/containers/container.spring/src/test/java/org/apache/tuscany/container/spring/ServiceInvocationTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/sca/containers/container.spring/src/test/java/org/apache/tuscany/container/spring/ServiceInvocationTestCase.java?rev=409816&view=auto
==============================================================================
--- incubator/tuscany/sandbox/jboynes/sca/containers/container.spring/src/test/java/org/apache/tuscany/container/spring/ServiceInvocationTestCase.java (added)
+++ incubator/tuscany/sandbox/jboynes/sca/containers/container.spring/src/test/java/org/apache/tuscany/container/spring/ServiceInvocationTestCase.java Sat May 27 00:35:09 2006
@@ -0,0 +1,44 @@
+package org.apache.tuscany.container.spring;
+
+import junit.framework.TestCase;
+import org.apache.tuscany.container.spring.mock.TestBean;
+import org.apache.tuscany.container.spring.mock.TestBeanImpl;
+import org.apache.tuscany.spi.context.ServiceContext;
+import org.apache.tuscany.spi.extension.ServiceContextExtension;
+import org.apache.tuscany.spi.wire.SourceInvocationChain;
+import org.apache.tuscany.spi.wire.SourceWire;
+import org.apache.tuscany.test.ArtifactFactory;
+import org.springframework.beans.factory.config.BeanDefinition;
+import org.springframework.beans.factory.support.RootBeanDefinition;
+import org.springframework.context.ConfigurableApplicationContext;
+import org.springframework.context.support.StaticApplicationContext;
+
+/**
+ * Tests a simple invocation through a service to a Spring bean
+ *
+ * @version $$Rev$$ $$Date$$
+ */
+public class ServiceInvocationTestCase extends TestCase {
+
+    public void testInvocation() {
+        SpringCompositeContext context = new SpringCompositeContext("parent", createSpringContext(), null);
+        context.start();
+        SourceWire<TestBean> wire = ArtifactFactory.createSourceWire("fooService", TestBean.class);
+        for (SourceInvocationChain chain : wire.getInvocationChains().values()) {
+            chain.setTargetInvoker(context.createTargetInvoker("foo", chain.getMethod()));
+        }
+        ServiceContext<TestBean> serviceContext = new ServiceContextExtension<TestBean>("fooService", wire, context);
+        serviceContext.setSourceWire(wire);
+        context.registerContext(serviceContext);
+        assertEquals("bar", ((TestBean) context.getContext("fooService").getService()).echo("bar"));
+    }
+
+
+    private ConfigurableApplicationContext createSpringContext() {
+        StaticApplicationContext beanFactory = new StaticApplicationContext();
+        BeanDefinition definition = new RootBeanDefinition(TestBeanImpl.class);
+        beanFactory.registerBeanDefinition("foo", definition);
+        return beanFactory;
+    }
+
+}

Modified: incubator/tuscany/sandbox/jboynes/sca/containers/container.spring/src/test/java/org/apache/tuscany/container/spring/SpringInvocationTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/sca/containers/container.spring/src/test/java/org/apache/tuscany/container/spring/SpringInvocationTestCase.java?rev=409816&r1=409815&r2=409816&view=diff
==============================================================================
--- incubator/tuscany/sandbox/jboynes/sca/containers/container.spring/src/test/java/org/apache/tuscany/container/spring/SpringInvocationTestCase.java (original)
+++ incubator/tuscany/sandbox/jboynes/sca/containers/container.spring/src/test/java/org/apache/tuscany/container/spring/SpringInvocationTestCase.java Sat May 27 00:35:09 2006
@@ -3,6 +3,7 @@
 import org.apache.tuscany.container.spring.mock.TestBean;
 import org.apache.tuscany.container.spring.mock.TestBeanImpl;
 import org.jmock.MockObjectTestCase;
+import org.jmock.Mock;
 import org.springframework.beans.factory.config.BeanDefinition;
 import org.springframework.beans.factory.support.RootBeanDefinition;
 import org.springframework.context.ConfigurableApplicationContext;
@@ -16,15 +17,11 @@
 public class SpringInvocationTestCase extends MockObjectTestCase {
 
     public void testSpringInvocation() throws Exception {
-        ConfigurableApplicationContext ctx = createSpringContext();
+        Mock mock = mock(ConfigurableApplicationContext.class);
+        mock.expects(atLeastOnce()).method("getBean").will(returnValue(new TestBeanImpl()));
+        ConfigurableApplicationContext ctx = (ConfigurableApplicationContext)mock.proxy();
         SpringInvoker invoker = new SpringInvoker("foo", TestBean.class.getMethod("echo", String.class), ctx);
         assertEquals("foo", invoker.invokeTarget(new String[]{"foo"}));
     }
 
-    private ConfigurableApplicationContext createSpringContext() {
-        StaticApplicationContext beanFactory = new StaticApplicationContext();
-        BeanDefinition definition = new RootBeanDefinition(TestBeanImpl.class);
-        beanFactory.registerBeanDefinition("foo", definition);
-        return beanFactory;
-    }
 }



---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-commits-help@ws.apache.org