You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by rm...@apache.org on 2014/08/08 00:15:43 UTC

svn commit: r1616605 - in /tomee/tomee/trunk/tomee: tomee-catalina/src/main/java/org/apache/tomee/catalina/TomcatWebAppBuilder.java tomee-webaccess/pom.xml

Author: rmannibucau
Date: Thu Aug  7 22:15:42 2014
New Revision: 1616605

URL: http://svn.apache.org/r1616605
Log:
ensuring we read context.xml as close as tomcat as possible + use right servlet api in tomee-webaccess - todo: put the right one in G

Modified:
    tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomcatWebAppBuilder.java
    tomee/tomee/trunk/tomee/tomee-webaccess/pom.xml

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=1616605&r1=1616604&r2=1616605&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 Aug  7 22:15:42 2014
@@ -45,9 +45,7 @@ import org.apache.catalina.loader.Webapp
 import org.apache.catalina.session.StandardManager;
 import org.apache.catalina.startup.Constants;
 import org.apache.catalina.startup.ContextConfig;
-import org.apache.catalina.startup.ContextRuleSet;
 import org.apache.catalina.startup.HostConfig;
-import org.apache.catalina.startup.NamingRuleSet;
 import org.apache.catalina.users.MemoryUserDatabase;
 import org.apache.catalina.webresources.DirResourceSet;
 import org.apache.naming.ContextAccessController;
@@ -112,7 +110,6 @@ import org.apache.tomcat.util.descriptor
 import org.apache.tomcat.util.descriptor.web.FilterDef;
 import org.apache.tomcat.util.descriptor.web.FilterMap;
 import org.apache.tomcat.util.descriptor.web.ResourceBase;
-import org.apache.tomcat.util.digester.Digester;
 import org.apache.tomcat.util.scan.StandardJarScanFilter;
 import org.apache.tomee.catalina.cluster.ClusterObserver;
 import org.apache.tomee.catalina.cluster.TomEEClusterListener;
@@ -187,8 +184,6 @@ public class TomcatWebAppBuilder impleme
      */
     private static final Logger logger = Logger.getInstance(LogCategory.OPENEJB.createChild("tomcat"), "org.apache.openejb.util.resources");
 
-    private static final Digester CONTEXT_DIGESTER = createDigester();
-
     public static final String DEFAULT_J2EE_SERVER = "Apache TomEE";
     public static final String OPENEJB_WEBAPP_MODULE_ID = "openejb.webapp.moduleId";
     public static final String TOMEE_EAT_EXCEPTION_PROP = "tomee.eat-exception";
@@ -404,25 +399,6 @@ public class TomcatWebAppBuilder impleme
         }
     }
 
-    private static synchronized Digester createDigester() {
-        if (CONTEXT_DIGESTER != null) {
-            return CONTEXT_DIGESTER;
-        }
-
-        final Map<Class<?>, List<String>> fakeAttributes = new HashMap<>();
-        final List<String> attrs = new ArrayList<>();
-        attrs.add("className");
-        fakeAttributes.put(Object.class, attrs);
-
-        final Digester digester = new Digester();
-        digester.setValidating(false);
-        digester.setRulesValidation(false);
-        digester.setFakeAttributes(fakeAttributes);
-        digester.addRuleSet(new ContextRuleSet(""));
-        digester.addRuleSet(new NamingRuleSet("Context/"));
-        return digester;
-    }
-
     //
     // OpenEJB WebAppBuilder
     //
@@ -458,27 +434,7 @@ public class TomcatWebAppBuilder impleme
             }
 
             StandardContext standardContext;
-            if (contextXml != null) {
-                synchronized (CONTEXT_DIGESTER) {
-                    ClassLoader loader = null;
-                    if (classLoader != null) {
-                        loader = CONTEXT_DIGESTER.getClassLoader();
-                        CONTEXT_DIGESTER.setClassLoader(classLoader);
-                    }
-                    try {
-                        standardContext = (StandardContext) CONTEXT_DIGESTER.parse(contextXml);
-                        standardContext.setConfigFile(contextXmlUrl);
-                    } catch (final Exception e) {
-                        logger.error("can't parse context xml for webapp " + webApp.path, e);
-                        standardContext = new StandardContext();
-                    } finally {
-                        CONTEXT_DIGESTER.reset();
-                        if (classLoader != null) {
-                            CONTEXT_DIGESTER.setClassLoader(loader);
-                        }
-                    }
-                }
-            } else {
+            {
                 final Host host = hosts.getDefault();
                 if (StandardHost.class.isInstance(host)) {
                     try {
@@ -491,6 +447,9 @@ public class TomcatWebAppBuilder impleme
                     standardContext = new StandardContext();
                 }
             }
+            if (contextXml != null) {
+                standardContext.setConfigFile(contextXmlUrl);
+            }
 
             if (standardContext.getPath() != null) {
                 webApp.contextRoot = standardContext.getPath();

Modified: tomee/tomee/trunk/tomee/tomee-webaccess/pom.xml
URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/tomee/tomee-webaccess/pom.xml?rev=1616605&r1=1616604&r2=1616605&view=diff
==============================================================================
--- tomee/tomee/trunk/tomee/tomee-webaccess/pom.xml (original)
+++ tomee/tomee/trunk/tomee/tomee-webaccess/pom.xml Thu Aug  7 22:15:42 2014
@@ -54,6 +54,12 @@
   </dependencyManagement>
   <dependencies>
     <dependency>
+      <groupId>org.apache.tomcat</groupId>
+      <artifactId>tomcat-servlet-api</artifactId>
+      <version>${tomcat.version}</version>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
       <groupId>junit</groupId>
       <artifactId>junit</artifactId>
       <version>${junit.version}</version>
@@ -194,6 +200,7 @@
       <groupId>org.apache.openejb</groupId>
       <artifactId>javaee-api</artifactId>
       <version>${javaee-api.version}</version>
+      <classifier>tomcat</classifier>
       <scope>provided</scope>
     </dependency>
     <dependency>