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 10:23:16 UTC

svn commit: r409819 - 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 01:23:15 2006
New Revision: 409819

URL: http://svn.apache.org/viewvc?rev=409819&view=rev
Log:
initial support for spring start/stop

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/SpringCompositeBuilder.java
    incubator/tuscany/sandbox/jboynes/sca/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/SpringCompositeContext.java
    incubator/tuscany/sandbox/jboynes/sca/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/SpringImplementation.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/SpringCompositeBuilderTestCase.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=409819&r1=409818&r2=409819&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 01:23:15 2006
@@ -19,10 +19,10 @@
 public class SpringComponentTypeLoader implements ComponentTypeLoader<SpringImplementation> {
 
     public void load(SpringImplementation implementation, DeploymentContext deploymentContext) {
-        DefaultListableBeanFactory beanFactory = new DefaultListableBeanFactory();
+        Resource resource = null; //FIXME
         CompositeComponentType componentType = new CompositeComponentType();
+        DefaultListableBeanFactory beanFactory = new DefaultListableBeanFactory();
         XmlBeanDefinitionReader reader = new SCABeanDefinitionReader(beanFactory, componentType);
-        Resource resource = null; //FIXME
         reader.loadBeanDefinitions(resource);
         GenericApplicationContext ctx = new GenericApplicationContext(beanFactory);
         ctx.refresh();

Modified: incubator/tuscany/sandbox/jboynes/sca/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/SpringCompositeBuilder.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/sca/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/SpringCompositeBuilder.java?rev=409819&r1=409818&r2=409819&view=diff
==============================================================================
--- incubator/tuscany/sandbox/jboynes/sca/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/SpringCompositeBuilder.java (original)
+++ incubator/tuscany/sandbox/jboynes/sca/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/SpringCompositeBuilder.java Sat May 27 01:23:15 2006
@@ -16,7 +16,7 @@
 import org.apache.tuscany.spi.model.Service;
 import org.apache.tuscany.spi.wire.SourceInvocationChain;
 import org.apache.tuscany.spi.wire.SourceWire;
-import org.springframework.context.ConfigurableApplicationContext;
+import org.springframework.context.support.GenericApplicationContext;
 
 /**
  * Creates a {@link SpringCompositeContext} from an assembly model
@@ -29,7 +29,7 @@
     public ComponentContext build(CompositeContext parent, Component<SpringImplementation> component,
                                   DeploymentContext deploymentContext) throws BuilderConfigException {
         String name = component.getName();
-        ConfigurableApplicationContext applicationContext = component.getImplementation().getApplicationContext();
+        GenericApplicationContext applicationContext = component.getImplementation().getApplicationContext();
         SpringCompositeContext context = new SpringCompositeContext(name, applicationContext, parent);
         CompositeComponentType componentType = component.getImplementation().getComponentType();
         for (Service service : componentType.getServices().values()) {

Modified: incubator/tuscany/sandbox/jboynes/sca/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/SpringCompositeContext.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/sca/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/SpringCompositeContext.java?rev=409819&r1=409818&r2=409819&view=diff
==============================================================================
--- incubator/tuscany/sandbox/jboynes/sca/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/SpringCompositeContext.java (original)
+++ incubator/tuscany/sandbox/jboynes/sca/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/SpringCompositeContext.java Sat May 27 01:23:15 2006
@@ -22,6 +22,7 @@
 import org.springframework.context.ConfigurableApplicationContext;
 import org.springframework.context.MessageSourceResolvable;
 import org.springframework.context.NoSuchMessageException;
+import org.springframework.context.support.GenericApplicationContext;
 import org.springframework.core.io.Resource;
 
 /**
@@ -31,7 +32,7 @@
  */
 public class SpringCompositeContext extends CompositeContextExtension {
     private static final String[] EMPTY_ARRAY = new String[0];
-    private ConfigurableApplicationContext springContext;
+    private GenericApplicationContext springContext;
     private SCAApplicationContext scaApplicationContext;
 
     /**
@@ -41,7 +42,7 @@
      * @param springContext the pre-instantiated Spring applicaiton context
      * @param parent        the SCA composite parent
      */
-    public SpringCompositeContext(String name, ConfigurableApplicationContext springContext, CompositeContext parent) {
+    public SpringCompositeContext(String name, GenericApplicationContext springContext, CompositeContext parent) {
         super(name, parent);
         scaApplicationContext = new SCAApplicationContext();
         springContext.setParent(scaApplicationContext);
@@ -53,12 +54,23 @@
     }
 
     public void setScopeContext(ScopeContext scopeContext) {
-
+        // not needed
     }
 
     public ConfigurableApplicationContext getApplicationContext() {
         return springContext;
     }
+
+    public void start() {
+        super.start();
+        springContext.start();
+    }
+
+    public void stop() {
+        super.stop();
+        springContext.stop();
+    }
+
 
     /**
      * An inner class is required to act as the Spring application context parent as opposed to implementing

Modified: incubator/tuscany/sandbox/jboynes/sca/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/SpringImplementation.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/sca/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/SpringImplementation.java?rev=409819&r1=409818&r2=409819&view=diff
==============================================================================
--- incubator/tuscany/sandbox/jboynes/sca/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/SpringImplementation.java (original)
+++ incubator/tuscany/sandbox/jboynes/sca/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/SpringImplementation.java Sat May 27 01:23:15 2006
@@ -2,7 +2,7 @@
 
 import org.apache.tuscany.spi.model.CompositeComponentType;
 import org.apache.tuscany.spi.model.Implementation;
-import org.springframework.context.ConfigurableApplicationContext;
+import org.springframework.context.support.GenericApplicationContext;
 
 /**
  * @version $$Rev$$ $$Date$$
@@ -10,7 +10,7 @@
 public class SpringImplementation extends Implementation<CompositeComponentType> {
 
     private String location;
-    private ConfigurableApplicationContext applicationContext;
+    private GenericApplicationContext applicationContext;
 
     public SpringImplementation() {
     }
@@ -33,11 +33,11 @@
         this.location = location;
     }
 
-    public ConfigurableApplicationContext getApplicationContext() {
+    public GenericApplicationContext getApplicationContext() {
         return applicationContext;
     }
 
-    public void setApplicationContext(ConfigurableApplicationContext applicationContext) {
+    public void setApplicationContext(GenericApplicationContext applicationContext) {
         this.applicationContext = applicationContext;
     }
 }

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=409819&r1=409818&r2=409819&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 01:23:15 2006
@@ -9,7 +9,7 @@
 import org.springframework.context.ApplicationContext;
 
 /**
- * Dispatches an operation on a Spring bean
+ * Dispatches to an operation on a Spring bean
  *
  * @version $$Rev$$ $$Date$$
  */
@@ -55,7 +55,9 @@
 
 
     public SpringInvoker clone() throws CloneNotSupportedException {
-        return (SpringInvoker) super.clone();
+        SpringInvoker invoker = (SpringInvoker) super.clone();
+        invoker.bean = null;
+        return invoker;
     }
 
 

Modified: incubator/tuscany/sandbox/jboynes/sca/containers/container.spring/src/test/java/org/apache/tuscany/container/spring/SpringCompositeBuilderTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/sca/containers/container.spring/src/test/java/org/apache/tuscany/container/spring/SpringCompositeBuilderTestCase.java?rev=409819&r1=409818&r2=409819&view=diff
==============================================================================
--- incubator/tuscany/sandbox/jboynes/sca/containers/container.spring/src/test/java/org/apache/tuscany/container/spring/SpringCompositeBuilderTestCase.java (original)
+++ incubator/tuscany/sandbox/jboynes/sca/containers/container.spring/src/test/java/org/apache/tuscany/container/spring/SpringCompositeBuilderTestCase.java Sat May 27 01:23:15 2006
@@ -20,7 +20,7 @@
 import org.jmock.MockObjectTestCase;
 import org.springframework.beans.factory.config.BeanDefinition;
 import org.springframework.beans.factory.support.RootBeanDefinition;
-import org.springframework.context.ConfigurableApplicationContext;
+import org.springframework.context.support.GenericApplicationContext;
 import org.springframework.context.support.StaticApplicationContext;
 
 /**
@@ -47,7 +47,7 @@
         assertEquals("foo", bean.echo("foo"));
     }
 
-    private ConfigurableApplicationContext createSpringContext() {
+    private GenericApplicationContext createSpringContext() {
         StaticApplicationContext beanFactory = new StaticApplicationContext();
         BeanDefinition definition = new RootBeanDefinition(TestBeanImpl.class);
         beanFactory.registerBeanDefinition("foo", definition);

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=409819&r1=409818&r2=409819&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 01:23:15 2006
@@ -2,24 +2,21 @@
 
 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;
-import org.springframework.context.support.StaticApplicationContext;
+import org.jmock.MockObjectTestCase;
+import org.springframework.context.support.GenericApplicationContext;
 
 /**
  * Verifies a simple invocation on a Spring bean
- * 
+ *
  * @version $$Rev$$ $$Date$$
  */
 public class SpringInvocationTestCase extends MockObjectTestCase {
 
     public void testSpringInvocation() throws Exception {
-        Mock mock = mock(ConfigurableApplicationContext.class);
+        Mock mock = mock(GenericApplicationContext.class);
         mock.expects(atLeastOnce()).method("getBean").will(returnValue(new TestBeanImpl()));
-        ConfigurableApplicationContext ctx = (ConfigurableApplicationContext)mock.proxy();
+        GenericApplicationContext ctx = (GenericApplicationContext) mock.proxy();
         SpringInvoker invoker = new SpringInvoker("foo", TestBean.class.getMethod("echo", String.class), ctx);
         assertEquals("foo", invoker.invokeTarget(new String[]{"foo"}));
     }



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