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 2013/01/20 15:20:55 UTC

svn commit: r1435846 - in /tomee/tomee/trunk: container/openejb-core/src/main/java/org/apache/openejb/config/TldScanner.java tomee/tomee-loader/src/main/java/org/apache/tomee/loader/TomEEJarScanner.java

Author: rmannibucau
Date: Sun Jan 20 14:20:55 2013
New Revision: 1435846

URL: http://svn.apache.org/viewvc?rev=1435846&view=rev
Log:
back to previous TldScanner since we don't need an index anymore in tomeescanner

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

Modified: tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/TldScanner.java
URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/TldScanner.java?rev=1435846&r1=1435845&r2=1435846&view=diff
==============================================================================
--- tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/TldScanner.java (original)
+++ tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/TldScanner.java Sun Jan 20 14:20:55 2013
@@ -28,7 +28,6 @@ import java.net.URL;
 import java.net.URLClassLoader;
 import java.util.Arrays;
 import java.util.Collections;
-import java.util.HashMap;
 import java.util.HashSet;
 import java.util.LinkedList;
 import java.util.Map;
@@ -56,17 +55,6 @@ import static org.apache.openejb.util.UR
 public class TldScanner {
 
     private static Map<ClassLoader, Set<URL>> cache = new WeakHashMap<ClassLoader, Set<URL>>();
-    private static Map<ClassLoader, Map<File, Set<URL>>> cacheByUrl = new WeakHashMap<ClassLoader, Map<File, Set<URL>>>();
-
-    public static Set<URL> scan(final ClassLoader classLoader, final File file) throws OpenEJBException {
-        scan(classLoader); // ensure init
-
-        final Map<File, Set<URL>> map = cacheByUrl.get(classLoader);
-        if (map == null || !map.containsKey(file)) {
-            return Collections.emptySet();
-        }
-        return map.get(file);
-    }
 
     public static Set<URL> scan(final ClassLoader classLoader) throws OpenEJBException {
         if (classLoader == null) return Collections.emptySet();
@@ -74,31 +62,20 @@ public class TldScanner {
         final Set<URL> urls = cache.get(classLoader);
         if (urls != null) return urls;
 
-        final Map<File, Set<URL>> result = scanClassLoaderForTagLibs(classLoader);
-        cacheByUrl.put(classLoader, result);
-
-        final Set<URL> merged = new HashSet<URL>();
-        for (Set<URL> us : result.values()) {
-            merged.addAll(us);
-        }
-        cache.put(classLoader, merged);
+        final Set<URL> result = scanClassLoaderForTagLibs(classLoader);
+        cache.put(classLoader, result);
 
-        return merged;
+        return result;
     }
 
+    public static Set<URL> scanClassLoaderForTagLibs(final ClassLoader classLoader) throws OpenEJBException {
 
-    public static Map<File, Set<URL>> scanClassLoaderForTagLibs(final ClassLoader classLoader) throws OpenEJBException {
-
-        final Map<File, Set<URL>> tldUrls = new HashMap<File, Set<URL>>();
+        final Set<URL> tldUrls = new HashSet<URL>();
 
         if (classLoader == null) return tldUrls;
         if (classLoader == Object.class.getClassLoader()) return tldUrls;
 
-        final ClassLoader parent = classLoader.getParent();
-        scan(parent);
-        if (cacheByUrl.containsKey(parent)) {
-            tldUrls.putAll(cacheByUrl.get(parent));
-        }
+        tldUrls.addAll(scan(classLoader.getParent()));
 
 
         UrlSet urlSet = new UrlSet();
@@ -125,7 +102,6 @@ public class TldScanner {
 
 
         for (URL url : urlSet.getUrls()) {
-
             if (url.getProtocol().equals("jar")) {
                 try {
                     String path = url.getPath();
@@ -151,11 +127,7 @@ public class TldScanner {
                 continue;
             }
 
-            final Set<URL> set = new HashSet<URL>();
-            set.addAll(scanForTagLibs(file));
-            if (!set.isEmpty()) {
-                tldUrls.put(file, set);
-            }
+            tldUrls.addAll(scanForTagLibs(file));
         }
 
         return tldUrls;
@@ -261,13 +233,6 @@ public class TldScanner {
         }
 
         cache.remove(loader);
-        final Map<File, Set<URL>> map = cacheByUrl.remove(loader);
-        if (map != null) {
-            for (Set<URL> set : map.values()) {
-                set.clear();
-            }
-            map.clear();
-        }
         if (loader.getParent() != TldScanner.class.getClassLoader()) { // for ears
             clean(loader.getParent());
         }

Modified: tomee/tomee/trunk/tomee/tomee-loader/src/main/java/org/apache/tomee/loader/TomEEJarScanner.java
URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/tomee/tomee-loader/src/main/java/org/apache/tomee/loader/TomEEJarScanner.java?rev=1435846&r1=1435845&r2=1435846&view=diff
==============================================================================
--- tomee/tomee/trunk/tomee/tomee-loader/src/main/java/org/apache/tomee/loader/TomEEJarScanner.java (original)
+++ tomee/tomee/trunk/tomee/tomee-loader/src/main/java/org/apache/tomee/loader/TomEEJarScanner.java Sun Jan 20 14:20:55 2013
@@ -252,31 +252,6 @@ public class TomEEJarScanner extends Sta
         return jars;
     }
 
-    /*
-    * Scan a URL for JARs with the optional extensions to look at all files
-    * and all directories.
-    */
-    private void process(final JarScannerCallback callback, final URL url) throws IOException {
-
-        if (log.isTraceEnabled()) {
-            log.trace(sm.getString("jarScan.jarUrlStart", url));
-        }
-
-        try {
-            final File file = URLs.toFile(url);
-            final Set<URL> urls = TldScanner.scan(Thread.currentThread().getContextClassLoader(), file);
-            for (URL current : urls) {
-                tldConfig(callback, current);
-            }
-        } catch (IllegalStateException e) {
-            tomcatProcess(callback, url);
-        } catch (IllegalArgumentException e) {
-            tomcatProcess(callback, url);
-        } catch (OpenEJBException e) {
-            tomcatProcess(callback, url);
-        }
-    }
-
     private static void tldLocationCache(final JarScannerCallback callback, final URL url) {
         String resource = url.toString();
         String entry = null;
@@ -312,7 +287,11 @@ public class TomEEJarScanner extends Sta
         }
     }
 
-    private void tomcatProcess(final JarScannerCallback callback, final URL url) throws IOException {
+    /*
+    * Scan a URL for JARs with the optional extensions to look at all files
+    * and all directories.
+    */
+    private void process(final JarScannerCallback callback, final URL url) throws IOException {
         final URLConnection conn = url.openConnection();
         if (conn instanceof JarURLConnection) {