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/05/28 18:42:14 UTC

svn commit: r1598068 - /tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/QuickContextXmlParser.java

Author: rmannibucau
Date: Wed May 28 16:42:13 2014
New Revision: 1598068

URL: http://svn.apache.org/r1598068
Log:
TOMEE-1225 optimizing QuickContextXmlParser + ensuring it works with placeholders (since we parse it ourself tomcat didn't replace them)

Modified:
    tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/QuickContextXmlParser.java

Modified: tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/QuickContextXmlParser.java
URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/QuickContextXmlParser.java?rev=1598068&r1=1598067&r2=1598068&view=diff
==============================================================================
--- tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/QuickContextXmlParser.java (original)
+++ tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/QuickContextXmlParser.java Wed May 28 16:42:13 2014
@@ -17,10 +17,9 @@
 
 package org.apache.openejb.config;
 
-import org.apache.openejb.core.ParentClassLoaderFinder;
 import org.apache.openejb.loader.Files;
-import org.apache.openejb.util.reflection.Reflections;
-import org.apache.xbean.finder.ClassLoaders;
+import org.apache.openejb.loader.ProvisioningUtil;
+import org.apache.openejb.util.PropertyPlaceHolderHelper;
 import org.xml.sax.Attributes;
 import org.xml.sax.SAXException;
 import org.xml.sax.helpers.DefaultHandler;
@@ -36,17 +35,16 @@ import java.util.StringTokenizer;
 
 public class QuickContextXmlParser extends DefaultHandler {
     private static final SAXParserFactory FACTORY = SAXParserFactory.newInstance();
+
     static {
         FACTORY.setNamespaceAware(true);
         FACTORY.setValidating(false);
     }
 
     private String virtualClasspath = "";
-    private Collection<URL> urls;
 
     @Override
-    public void startElement(final String uri, final String localName,
-                             final String qName, final Attributes attributes) throws SAXException {
+    public void startElement(final String uri, final String localName, final String qName, final Attributes attributes) throws SAXException {
         if ("Loader".equalsIgnoreCase(localName)) {
             final String className = attributes.getValue("className");
             if (className != null) {
@@ -55,26 +53,6 @@ public class QuickContextXmlParser exten
                     virtualClasspath = attributes.getValue("virtualClasspath");
                 }
             }
-
-            final String loaderClass = attributes.getValue("loaderClass");
-            if (loaderClass != null) {
-                try {
-                    final ClassLoader parent = ParentClassLoaderFinder.Helper.get();
-
-                    // create a fake loader
-                    final Object loader = parent.loadClass("org.apache.catalina.loader.WebappLoader").newInstance();
-                    Reflections.set(loader, "loaderClass", loaderClass);
-                    Reflections.set(loader, "parentClassLoader", parent);
-
-                    // get the loader
-                    final ClassLoader instance = ClassLoader.class.cast(Reflections.invokeByReflection(loader, "createClassLoader", new Class<?>[0], null));
-                    if (instance != null) {
-                        urls = ClassLoaders.findUrls(instance);
-                    }
-                } catch (final Exception e) {
-                    // no-op
-                }
-            }
         }
     }
 
@@ -89,14 +67,10 @@ public class QuickContextXmlParser exten
                     continue;
                 }
 
-                set.addAll(Files.listJars(token));
+                set.addAll(Files.listJars(ProvisioningUtil.realLocation(PropertyPlaceHolderHelper.simpleValue(token))));
             }
         }
 
-        if (urls != null) {
-            set.addAll(urls);
-        }
-
         return set;
     }