diff options
Diffstat (limited to 'sca-java-2.x/trunk/modules/implementation-spring')
-rw-r--r-- | sca-java-2.x/trunk/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/invocation/SpringApplicationContextAccessor.java (renamed from sca-java-2.x/trunk/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/invocation/SpringApplicationContextHelper.java) | 27 | ||||
-rw-r--r-- | sca-java-2.x/trunk/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/invocation/SpringImplementationProviderFactory.java | 13 |
2 files changed, 13 insertions, 27 deletions
diff --git a/sca-java-2.x/trunk/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/invocation/SpringApplicationContextHelper.java b/sca-java-2.x/trunk/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/invocation/SpringApplicationContextAccessor.java index f1a1d7e1e7..3cdeb332b2 100644 --- a/sca-java-2.x/trunk/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/invocation/SpringApplicationContextHelper.java +++ b/sca-java-2.x/trunk/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/invocation/SpringApplicationContextAccessor.java @@ -19,38 +19,21 @@ package org.apache.tuscany.sca.implementation.spring.invocation; -import org.apache.tuscany.sca.core.ExtensionPointRegistry; -import org.apache.tuscany.sca.core.UtilityExtensionPoint; - /** * A utility to receive the parent Spring application context */ -public class SpringApplicationContextHelper { - private Object parentApplicationContext; - - public SpringApplicationContextHelper(ExtensionPointRegistry registry) { - } - - public static SpringApplicationContextHelper getInstance(ExtensionPointRegistry registry) { - UtilityExtensionPoint utilities = registry.getExtensionPoint(UtilityExtensionPoint.class); - return utilities.getUtility(SpringApplicationContextHelper.class); - } - +public interface SpringApplicationContextAccessor { /** * Get the parent Spring application context for the hosting environment. This will be used as the parent * application context for implementation.spring components - * @return + * @return The parent application context */ - public Object getParentApplicationContext() { - return parentApplicationContext; - } + Object getParentApplicationContext(); /** * Set the root Spring application context. This is particually useful for Spring web integration where Spring * creates WebApplicationContext and keeps it in the ServletContext - * @param parentApplicationContext + * @param parentApplicationContext The parent application context */ - public void setParentApplicationContext(Object parentApplicationContext) { - this.parentApplicationContext = parentApplicationContext; - } + void setParentApplicationContext(Object parentApplicationContext); } diff --git a/sca-java-2.x/trunk/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/invocation/SpringImplementationProviderFactory.java b/sca-java-2.x/trunk/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/invocation/SpringImplementationProviderFactory.java index 46d49dbe1a..24533368ff 100644 --- a/sca-java-2.x/trunk/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/invocation/SpringImplementationProviderFactory.java +++ b/sca-java-2.x/trunk/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/invocation/SpringImplementationProviderFactory.java @@ -36,7 +36,7 @@ import org.apache.tuscany.sca.runtime.RuntimeComponent; public class SpringImplementationProviderFactory implements ImplementationProviderFactory<SpringImplementation> { private ProxyFactory proxyFactory; private PropertyValueFactory propertyFactory; - private SpringApplicationContextHelper contextHelper; + private SpringApplicationContextAccessor contextAccessor; /** * Simple constructor @@ -44,9 +44,10 @@ public class SpringImplementationProviderFactory implements ImplementationProvid */ public SpringImplementationProviderFactory(ExtensionPointRegistry registry) { super(); - contextHelper = SpringApplicationContextHelper.getInstance(registry); + UtilityExtensionPoint utilities = registry.getExtensionPoint(UtilityExtensionPoint.class); + contextAccessor = utilities.getUtility(SpringApplicationContextAccessor.class); proxyFactory = ExtensibleProxyFactory.getInstance(registry); - propertyFactory = registry.getExtensionPoint(UtilityExtensionPoint.class).getUtility(PropertyValueFactory.class); + propertyFactory = utilities.getUtility(PropertyValueFactory.class); } /** @@ -58,8 +59,10 @@ public class SpringImplementationProviderFactory implements ImplementationProvid */ public ImplementationProvider createImplementationProvider(RuntimeComponent component, SpringImplementation implementation) { - Object parentApplicationContext = contextHelper.getParentApplicationContext(); - return new SpringImplementationProvider(component, implementation, parentApplicationContext, proxyFactory, propertyFactory); + Object parentApplicationContext = + (contextAccessor != null) ? contextAccessor.getParentApplicationContext() : null; + return new SpringImplementationProvider(component, implementation, parentApplicationContext, proxyFactory, + propertyFactory); } /** |