summaryrefslogtreecommitdiffstats
path: root/sca-java-2.x/trunk/modules
diff options
context:
space:
mode:
Diffstat (limited to 'sca-java-2.x/trunk/modules')
-rw-r--r--sca-java-2.x/trunk/modules/host-webapp/src/main/java/org/apache/tuscany/sca/host/webapp/TuscanyServlet.java3
-rw-r--r--sca-java-2.x/trunk/modules/host-webapp/src/main/java/org/apache/tuscany/sca/host/webapp/WebAppHelper.java17
-rw-r--r--sca-java-2.x/trunk/modules/implementation-spring-runtime/src/main/java/org/apache/tuscany/sca/implementation/spring/provider/SpringImplementationProvider.java15
-rw-r--r--sca-java-2.x/trunk/modules/implementation-spring-runtime/src/main/java/org/apache/tuscany/sca/implementation/spring/provider/SpringImplementationProviderFactory.java8
-rw-r--r--sca-java-2.x/trunk/modules/implementation-spring-runtime/src/main/java/org/apache/tuscany/sca/implementation/spring/provider/SpringImplementationWrapper.java6
-rw-r--r--sca-java-2.x/trunk/modules/implementation-spring-webapp/src/main/java/org/apache/tuscany/sca/host/webapp/spring/TuscanyDispatcherServlet.java3
-rw-r--r--sca-java-2.x/trunk/modules/implementation-spring-webapp/src/main/java/org/apache/tuscany/sca/implementation/spring/webapp/SpringWebApplicationContextAccessor.java4
-rw-r--r--sca-java-2.x/trunk/modules/node-api/src/main/java/org/apache/tuscany/sca/node/configuration/impl/NodeConfigurationImpl.java12
-rw-r--r--sca-java-2.x/trunk/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/NodeFactoryImpl.java7
9 files changed, 51 insertions, 24 deletions
diff --git a/sca-java-2.x/trunk/modules/host-webapp/src/main/java/org/apache/tuscany/sca/host/webapp/TuscanyServlet.java b/sca-java-2.x/trunk/modules/host-webapp/src/main/java/org/apache/tuscany/sca/host/webapp/TuscanyServlet.java
index e8c8d941ff..d20019372e 100644
--- a/sca-java-2.x/trunk/modules/host-webapp/src/main/java/org/apache/tuscany/sca/host/webapp/TuscanyServlet.java
+++ b/sca-java-2.x/trunk/modules/host-webapp/src/main/java/org/apache/tuscany/sca/host/webapp/TuscanyServlet.java
@@ -46,7 +46,8 @@ public class TuscanyServlet extends HttpServlet {
public void init(ServletConfig config) throws ServletException {
try {
super.init(config);
- WebAppHelper.init(WebAppHelper.getConfigurator(this));
+ configurator = WebAppHelper.getConfigurator(this);
+ WebAppHelper.init(configurator);
} catch (Throwable e) {
logger.log(Level.SEVERE, e.getMessage(), e);
configurator.getServletContext().log(e.getMessage(), e);
diff --git a/sca-java-2.x/trunk/modules/host-webapp/src/main/java/org/apache/tuscany/sca/host/webapp/WebAppHelper.java b/sca-java-2.x/trunk/modules/host-webapp/src/main/java/org/apache/tuscany/sca/host/webapp/WebAppHelper.java
index 41503f1cac..cfd034002d 100644
--- a/sca-java-2.x/trunk/modules/host-webapp/src/main/java/org/apache/tuscany/sca/host/webapp/WebAppHelper.java
+++ b/sca-java-2.x/trunk/modules/host-webapp/src/main/java/org/apache/tuscany/sca/host/webapp/WebAppHelper.java
@@ -196,7 +196,10 @@ public class WebAppHelper {
}
public static void stop(WebContextConfigurator configurator) {
- Node node = (Node)configurator.getAttribute(SCA_NODE_ATTRIBUTE);
+ Node node = null;
+ if (configurator != null) {
+ node = (Node)configurator.getAttribute(SCA_NODE_ATTRIBUTE);
+ }
if (node != null) {
node.stop();
configurator.setAttribute(SCA_NODE_ATTRIBUTE, null);
@@ -234,11 +237,6 @@ public class WebAppHelper {
configuration = factory.loadConfiguration(url.openStream(), url);
} else {
configuration = factory.createNodeConfiguration();
-
- configuration.setAttribute(ServletContext.class.getName(), servletContext);
- if(configurator instanceof ServletConfigurator) {
- configuration.setAttribute(Servlet.class.getName(), ((ServletConfigurator) configurator).servlet);
- }
boolean explicitContributions = false;
Enumeration<String> names = configurator.getInitParameterNames();
@@ -322,6 +320,10 @@ public class WebAppHelper {
}
}
}
+ configuration.setAttribute(ServletContext.class.getName(), servletContext);
+ if(configurator instanceof ServletConfigurator) {
+ configuration.setAttribute(Servlet.class.getName(), ((ServletConfigurator) configurator).servlet);
+ }
return configuration;
}
@@ -428,11 +430,14 @@ public class WebAppHelper {
public String getInitParameter(String name) {
String value = config.getInitParameter(name);
+ return value;
+ /*
if (value == null) {
return config.getServletContext().getInitParameter(name);
} else {
return value;
}
+ */
}
public Enumeration<String> getInitParameterNames() {
diff --git a/sca-java-2.x/trunk/modules/implementation-spring-runtime/src/main/java/org/apache/tuscany/sca/implementation/spring/provider/SpringImplementationProvider.java b/sca-java-2.x/trunk/modules/implementation-spring-runtime/src/main/java/org/apache/tuscany/sca/implementation/spring/provider/SpringImplementationProvider.java
index db7831322a..b9b993c609 100644
--- a/sca-java-2.x/trunk/modules/implementation-spring-runtime/src/main/java/org/apache/tuscany/sca/implementation/spring/provider/SpringImplementationProvider.java
+++ b/sca-java-2.x/trunk/modules/implementation-spring-runtime/src/main/java/org/apache/tuscany/sca/implementation/spring/provider/SpringImplementationProvider.java
@@ -20,6 +20,7 @@ package org.apache.tuscany.sca.implementation.spring.provider;
import org.apache.tuscany.sca.context.PropertyValueFactory;
import org.apache.tuscany.sca.core.invocation.ProxyFactory;
+import org.apache.tuscany.sca.implementation.spring.context.SpringApplicationContextAccessor;
import org.apache.tuscany.sca.implementation.spring.context.SpringContextWrapper;
import org.apache.tuscany.sca.interfacedef.Operation;
import org.apache.tuscany.sca.invocation.Invoker;
@@ -34,6 +35,8 @@ import org.springframework.context.ApplicationContext;
*/
public class SpringImplementationProvider implements ImplementationProvider {
private RuntimeComponent component;
+ private SpringImplementationWrapper implementation;
+ private SpringApplicationContextAccessor contextAccessor;
// A Spring application context object
private SpringContextWrapper springContext;
@@ -46,13 +49,13 @@ public class SpringImplementationProvider implements ImplementationProvider {
*/
public SpringImplementationProvider(RuntimeComponent component,
SpringImplementationWrapper implementation,
- ApplicationContext parentApplicationContext,
ProxyFactory proxyService,
- PropertyValueFactory propertyValueObjectFactory) {
+ PropertyValueFactory propertyValueObjectFactory,
+ SpringApplicationContextAccessor contextAccessor) {
super();
this.component = component;
-
- springContext = new SpringContextWrapper(implementation, implementation.getResource());
+ this.implementation = implementation;
+ this.contextAccessor = contextAccessor;
} // end constructor
@@ -68,6 +71,10 @@ public class SpringImplementationProvider implements ImplementationProvider {
* Start this Spring implementation instance
*/
public void start() {
+ ApplicationContext parentApplicationContext =
+ (contextAccessor == null) ? null : contextAccessor.getParentApplicationContext(component);
+ implementation.setParentApplicationContext(parentApplicationContext);
+ springContext = new SpringContextWrapper(implementation, implementation.getResource());
springContext.start();
}
diff --git a/sca-java-2.x/trunk/modules/implementation-spring-runtime/src/main/java/org/apache/tuscany/sca/implementation/spring/provider/SpringImplementationProviderFactory.java b/sca-java-2.x/trunk/modules/implementation-spring-runtime/src/main/java/org/apache/tuscany/sca/implementation/spring/provider/SpringImplementationProviderFactory.java
index ad395323c5..14105890b9 100644
--- a/sca-java-2.x/trunk/modules/implementation-spring-runtime/src/main/java/org/apache/tuscany/sca/implementation/spring/provider/SpringImplementationProviderFactory.java
+++ b/sca-java-2.x/trunk/modules/implementation-spring-runtime/src/main/java/org/apache/tuscany/sca/implementation/spring/provider/SpringImplementationProviderFactory.java
@@ -28,7 +28,6 @@ import org.apache.tuscany.sca.implementation.spring.context.SpringApplicationCon
import org.apache.tuscany.sca.provider.ImplementationProvider;
import org.apache.tuscany.sca.provider.ImplementationProviderFactory;
import org.apache.tuscany.sca.runtime.RuntimeComponent;
-import org.springframework.context.ApplicationContext;
/**
* ImplementationProviderFactory for Spring implementation type
@@ -61,11 +60,10 @@ public class SpringImplementationProviderFactory implements ImplementationProvid
*/
public ImplementationProvider createImplementationProvider(RuntimeComponent component,
SpringImplementation implementation) {
- ApplicationContext parentApplicationContext =
- (contextAccessor != null) ? contextAccessor.getParentApplicationContext(component) : null;
+
SpringImplementationWrapper tie =
- new SpringImplementationWrapper(implementation, parentApplicationContext, component, propertyFactory);
- return new SpringImplementationProvider(component, tie, parentApplicationContext, proxyFactory, propertyFactory);
+ new SpringImplementationWrapper(implementation, component, propertyFactory);
+ return new SpringImplementationProvider(component, tie, proxyFactory, propertyFactory, contextAccessor);
}
/**
diff --git a/sca-java-2.x/trunk/modules/implementation-spring-runtime/src/main/java/org/apache/tuscany/sca/implementation/spring/provider/SpringImplementationWrapper.java b/sca-java-2.x/trunk/modules/implementation-spring-runtime/src/main/java/org/apache/tuscany/sca/implementation/spring/provider/SpringImplementationWrapper.java
index e5593f5eaa..c3c125ff90 100644
--- a/sca-java-2.x/trunk/modules/implementation-spring-runtime/src/main/java/org/apache/tuscany/sca/implementation/spring/provider/SpringImplementationWrapper.java
+++ b/sca-java-2.x/trunk/modules/implementation-spring-runtime/src/main/java/org/apache/tuscany/sca/implementation/spring/provider/SpringImplementationWrapper.java
@@ -42,13 +42,11 @@ public class SpringImplementationWrapper {
private PropertyValueFactory propertyFactory;
public SpringImplementationWrapper(SpringImplementation implementation,
- ApplicationContext parentApplicationContext,
RuntimeComponent component,
PropertyValueFactory propertyFactory) {
this.implementation = implementation;
this.component = component;
this.propertyFactory = propertyFactory;
- this.parentApplicationContext = parentApplicationContext;
}
public String getURI() {
@@ -155,4 +153,8 @@ public class SpringImplementationWrapper {
return parentApplicationContext;
}
+ public void setParentApplicationContext(ApplicationContext parentApplicationContext) {
+ this.parentApplicationContext = parentApplicationContext;
+ }
+
}
diff --git a/sca-java-2.x/trunk/modules/implementation-spring-webapp/src/main/java/org/apache/tuscany/sca/host/webapp/spring/TuscanyDispatcherServlet.java b/sca-java-2.x/trunk/modules/implementation-spring-webapp/src/main/java/org/apache/tuscany/sca/host/webapp/spring/TuscanyDispatcherServlet.java
index 4a615b9a3a..e15840f613 100644
--- a/sca-java-2.x/trunk/modules/implementation-spring-webapp/src/main/java/org/apache/tuscany/sca/host/webapp/spring/TuscanyDispatcherServlet.java
+++ b/sca-java-2.x/trunk/modules/implementation-spring-webapp/src/main/java/org/apache/tuscany/sca/host/webapp/spring/TuscanyDispatcherServlet.java
@@ -48,7 +48,8 @@ public class TuscanyDispatcherServlet extends DispatcherServlet {
public void init(ServletConfig config) throws ServletException {
try {
super.init(config);
- WebAppHelper.init(WebAppHelper.getConfigurator(this));
+ configurator = WebAppHelper.getConfigurator(this);
+ WebAppHelper.init(configurator);
} catch (Throwable e) {
logger.log(Level.SEVERE, e.getMessage(), e);
configurator.getServletContext().log(e.getMessage(), e);
diff --git a/sca-java-2.x/trunk/modules/implementation-spring-webapp/src/main/java/org/apache/tuscany/sca/implementation/spring/webapp/SpringWebApplicationContextAccessor.java b/sca-java-2.x/trunk/modules/implementation-spring-webapp/src/main/java/org/apache/tuscany/sca/implementation/spring/webapp/SpringWebApplicationContextAccessor.java
index d9596e3ecf..d94494fbe0 100644
--- a/sca-java-2.x/trunk/modules/implementation-spring-webapp/src/main/java/org/apache/tuscany/sca/implementation/spring/webapp/SpringWebApplicationContextAccessor.java
+++ b/sca-java-2.x/trunk/modules/implementation-spring-webapp/src/main/java/org/apache/tuscany/sca/implementation/spring/webapp/SpringWebApplicationContextAccessor.java
@@ -42,8 +42,10 @@ public class SpringWebApplicationContextAccessor implements SpringApplicationCon
ApplicationContext context = null;
Servlet servlet = component.getComponentContext().getCompositeContext().getAttribute(Servlet.class.getName());
if (servlet instanceof FrameworkServlet) {
- context = ((FrameworkServlet)servlet).getWebApplicationContext();
+ FrameworkServlet frameworkServlet = (FrameworkServlet)servlet;
+ context = frameworkServlet.getWebApplicationContext();
if (context != null) {
+ log.info("Spring application context is found for servlet: " + frameworkServlet.getServletName());
return context;
}
}
diff --git a/sca-java-2.x/trunk/modules/node-api/src/main/java/org/apache/tuscany/sca/node/configuration/impl/NodeConfigurationImpl.java b/sca-java-2.x/trunk/modules/node-api/src/main/java/org/apache/tuscany/sca/node/configuration/impl/NodeConfigurationImpl.java
index f3853fc4bf..97fbb5b950 100644
--- a/sca-java-2.x/trunk/modules/node-api/src/main/java/org/apache/tuscany/sca/node/configuration/impl/NodeConfigurationImpl.java
+++ b/sca-java-2.x/trunk/modules/node-api/src/main/java/org/apache/tuscany/sca/node/configuration/impl/NodeConfigurationImpl.java
@@ -117,11 +117,19 @@ public class NodeConfigurationImpl implements NodeConfiguration {
}
public NodeConfiguration addContribution(String contributionURI, URL location) {
- return addContribution(contributionURI, location.toString());
+ String url = null;
+ if (location != null) {
+ url = location.toString();
+ }
+ return addContribution(contributionURI, url);
}
public NodeConfiguration addContribution(URI contributionURI, URL location) {
- return addContribution(contributionURI.toString(), location.toString());
+ String url = null;
+ if (location != null) {
+ url = location.toString();
+ }
+ return addContribution(contributionURI.toString(), url);
}
public NodeConfiguration addContribution(URL... locations) {
diff --git a/sca-java-2.x/trunk/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/NodeFactoryImpl.java b/sca-java-2.x/trunk/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/NodeFactoryImpl.java
index 0ff1a87fe9..2d46a8659b 100644
--- a/sca-java-2.x/trunk/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/NodeFactoryImpl.java
+++ b/sca-java-2.x/trunk/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/NodeFactoryImpl.java
@@ -336,10 +336,13 @@ public class NodeFactoryImpl extends NodeFactory {
URI contributionURI = createURI(contrib.getURI());
URI uri = createURI(contrib.getLocation());
- if (uri.getScheme() == null) {
+ if (uri != null && uri.getScheme() == null) {
uri = new File(contrib.getLocation()).toURI();
}
- URL contributionURL = uri.toURL();
+ URL contributionURL = null;
+ if (uri != null) {
+ contributionURL = uri.toURL();
+ }
// Load the contribution
logger.log(quietLogging? Level.FINE : Level.INFO, "Loading contribution: " + contributionURL);