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