Author: rmannibucau
Date: Thu Jul 18 08:48:10 2013
New Revision: 1504391
URL: http://svn.apache.org/r1504391
Log:
TOMEE-1006 handling custom rest servlets
Modified:
tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/OpenEJBContextConfig.java
tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomcatWebAppBuilder.java
Modified:
tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/OpenEJBContextConfig.java
URL:
http://svn.apache.org/viewvc/tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/OpenEJBContextConfig.java?rev=1504391&r1=1504390&r2=1504391&view=diff
==============================================================================
---
tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/OpenEJBContextConfig.java
(original)
+++
tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/OpenEJBContextConfig.java
Thu Jul 18 08:48:10 2013
@@ -58,6 +58,7 @@ import org.apache.tomee.common.ResourceF
import org.apache.tomee.loader.TomcatHelper;
import javax.servlet.ServletContainerInitializer;
+import javax.servlet.http.HttpServlet;
import javax.ws.rs.core.Application;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
@@ -180,9 +181,16 @@ public class OpenEJBContextConfig extend
}
// cleanup
- for (String clazz : webAppInfo.restApplications) {
+ for (final String clazz : webAppInfo.restApplications) {
final Container child = mappedChildren.get(clazz);
- if (child != null) {
+ try { // remove only "fake" servlets to let users use their
own stuff
+ final String servletClass =
StandardWrapper.class.cast(child).getServletClass();
+ if (child != null &&
("org.apache.openejb.server.rest.OpenEJBRestServlet".equals(servletClass) ||
!HttpServlet.class.isAssignableFrom(info.loader().loadClass(servletClass)))) {
+ context.removeChild(child);
+ }
+ } catch (final NoClassDefFoundError e) {
+ context.removeChild(child);
+ } catch (final ClassNotFoundException e) {
context.removeChild(child);
}
}
Modified:
tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomcatWebAppBuilder.java
URL:
http://svn.apache.org/viewvc/tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomcatWebAppBuilder.java?rev=1504391&r1=1504390&r2=1504391&view=diff
==============================================================================
---
tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomcatWebAppBuilder.java
(original)
+++
tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomcatWebAppBuilder.java
Thu Jul 18 08:48:10 2013
@@ -905,6 +905,13 @@ public class TomcatWebAppBuilder impleme
return null;
}
+ public ClassLoader loader() {
+ if (standardContext != null && standardContext.getLoader() !=
null) {
+ return standardContext.getLoader().getClassLoader();
+ }
+ return null;
+ }
+
@Override
public String toString() {
if (standardContext == null) return super.toString();