From a738b52d8257db36862548b699f81292d9ea0a0d Mon Sep 17 00:00:00 2001 From: rfeng Date: Wed, 8 Sep 2010 05:55:44 +0000 Subject: Tidy up binding.rest osgi enablement git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@993613 13f79535-47bb-0310-9956-ffa450edef68 --- .../binding/rest/provider/TuscanyRESTServlet.java | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) (limited to 'sca-java-2.x/trunk/modules/binding-rest-runtime/src/main/java/org/apache/tuscany/sca/binding/rest/provider/TuscanyRESTServlet.java') diff --git a/sca-java-2.x/trunk/modules/binding-rest-runtime/src/main/java/org/apache/tuscany/sca/binding/rest/provider/TuscanyRESTServlet.java b/sca-java-2.x/trunk/modules/binding-rest-runtime/src/main/java/org/apache/tuscany/sca/binding/rest/provider/TuscanyRESTServlet.java index 3d3c4048fa..f40f69b218 100644 --- a/sca-java-2.x/trunk/modules/binding-rest-runtime/src/main/java/org/apache/tuscany/sca/binding/rest/provider/TuscanyRESTServlet.java +++ b/sca-java-2.x/trunk/modules/binding-rest-runtime/src/main/java/org/apache/tuscany/sca/binding/rest/provider/TuscanyRESTServlet.java @@ -24,6 +24,7 @@ import java.util.Enumeration; import javax.servlet.FilterConfig; import javax.servlet.ServletContext; +import javax.servlet.ServletException; import javax.ws.rs.HttpMethod; import javax.ws.rs.core.MediaType; import javax.xml.parsers.DocumentBuilderFactory; @@ -54,6 +55,21 @@ public class TuscanyRESTServlet extends RestServlet { this.registry = registry; this.resourceClass = resourceClass; } + + public void init() throws ServletException { + ClassLoader cl = + ClassLoaderContext.setContextClassLoader(Thread.currentThread().getContextClassLoader(), + registry.getServiceDiscovery(), + "/META-INF/server/wink-providers"); + try { + super.init(); + } finally { + if (cl != null) { + // return previous classLoader + Thread.currentThread().setContextClassLoader(cl); + } + } + } @Override public DeploymentConfiguration getDeploymentConfiguration() throws ClassNotFoundException, InstantiationException, @@ -65,8 +81,8 @@ public class TuscanyRESTServlet extends RestServlet { ClassLoaderContext.setContextClassLoader(Thread.currentThread().getContextClassLoader(), registry.getServiceDiscovery(), "javax.ws.rs.ext.RuntimeDelegate", - "META-INF/wink-alternate-shortcuts.properties", - "META-INF/server/wink-providers"); + "/META-INF/wink-alternate-shortcuts.properties", + "/META-INF/server/wink-providers"); DeploymentConfiguration config = null; try { -- cgit v1.2.3