Reuse the DeploymentConfiguration
git-svn-id: https://svn.apache.org/repos/asf/tuscany/sca-java-2.x/trunk@1397423 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/modules/binding-rest-runtime/src/main/java/org/apache/tuscany/sca/binding/rest/provider/TuscanyRESTServlet.java b/modules/binding-rest-runtime/src/main/java/org/apache/tuscany/sca/binding/rest/provider/TuscanyRESTServlet.java
index 17756a7..3dfd917 100644
--- a/modules/binding-rest-runtime/src/main/java/org/apache/tuscany/sca/binding/rest/provider/TuscanyRESTServlet.java
+++ b/modules/binding-rest-runtime/src/main/java/org/apache/tuscany/sca/binding/rest/provider/TuscanyRESTServlet.java
@@ -132,6 +132,11 @@
public DeploymentConfiguration getDeploymentConfiguration() throws ClassNotFoundException, InstantiationException,
IllegalAccessException, IOException {
+ DeploymentConfiguration config =
+ (DeploymentConfiguration)getServletContext().getAttribute(DeploymentConfiguration.class.getName());
+ if (config != null) {
+ return config;
+ }
// setup proper classLoader to work on OSGi environment
ClassLoader cl =
@@ -141,9 +146,9 @@
"/META-INF/wink-alternate-shortcuts.properties",
"/META-INF/server/wink-providers");
- DeploymentConfiguration config = null;
try {
config = super.getDeploymentConfiguration();
+ getServletContext().setAttribute(DeploymentConfiguration.class.getName(), config);
} finally {
if (cl != null) {
// return previous classLoader
@@ -155,19 +160,19 @@
config.setFilterConfig(new FilterConfig() {
public ServletContext getServletContext() {
- return getServletContext();
+ return TuscanyRESTServlet.this.getServletContext();
}
public Enumeration getInitParameterNames() {
- return getInitParameterNames();
+ return TuscanyRESTServlet.this.getInitParameterNames();
}
- public String getInitParameter(String arg0) {
- return getInitParameter(arg0);
+ public String getInitParameter(String p) {
+ return TuscanyRESTServlet.this.getInitParameter(p);
}
public String getFilterName() {
- return getServletName();
+ return TuscanyRESTServlet.this.getServletName();
}
});