You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openwebbeans.apache.org by rm...@apache.org on 2016/10/22 19:39:53 UTC

svn commit: r1766228 - in /openwebbeans/microwave/trunk/microwave-core/src/main/java/org/apache: catalina/startup/MicrowaveContextConfig.java microwave/io/IO.java

Author: rmannibucau
Date: Sat Oct 22 19:39:53 2016
New Revision: 1766228

URL: http://svn.apache.org/viewvc?rev=1766228&view=rev
Log:
final fix for scanning

Modified:
    openwebbeans/microwave/trunk/microwave-core/src/main/java/org/apache/catalina/startup/MicrowaveContextConfig.java
    openwebbeans/microwave/trunk/microwave-core/src/main/java/org/apache/microwave/io/IO.java

Modified: openwebbeans/microwave/trunk/microwave-core/src/main/java/org/apache/catalina/startup/MicrowaveContextConfig.java
URL: http://svn.apache.org/viewvc/openwebbeans/microwave/trunk/microwave-core/src/main/java/org/apache/catalina/startup/MicrowaveContextConfig.java?rev=1766228&r1=1766227&r2=1766228&view=diff
==============================================================================
--- openwebbeans/microwave/trunk/microwave-core/src/main/java/org/apache/catalina/startup/MicrowaveContextConfig.java (original)
+++ openwebbeans/microwave/trunk/microwave-core/src/main/java/org/apache/catalina/startup/MicrowaveContextConfig.java Sat Oct 22 19:39:53 2016
@@ -94,8 +94,9 @@ public class MicrowaveContextConfig exte
     protected void processAnnotationsWebResource(final WebResource webResource, final WebXml fragment,
                                                  final boolean handlesTypesOnly,
                                                  final Map<String, JavaClassCacheEntry> javaClassCache) {
-        if (configuration.isTomcatScanning()) { // TODO: use our finder
-            super.processAnnotationsWebResource(webResource, fragment, handlesTypesOnly, javaClassCache);
+        if (configuration.isTomcatScanning()) {
+            webClasses.keySet().stream().filter(k -> k.endsWith("/WEB-INF/classes"))
+                    .forEach(k -> processClasses(fragment, handlesTypesOnly, javaClassCache, k));
         }
     }
 
@@ -105,18 +106,7 @@ public class MicrowaveContextConfig exte
         if (!configuration.isTomcatScanning()) {
             return;
         }
-
-        final Collection<Class<?>> classes = webClasses.remove(url.toExternalForm());
-        if (classes != null && !classes.isEmpty()) {
-            final ClassLoader loader = Thread.currentThread().getContextClassLoader();
-            classes.forEach(c -> {
-                try (final InputStream stream = loader.getResourceAsStream(c.getName().replace('.', '/') + ".class")) {
-                    super.processAnnotationsStream(stream, fragment, handlesTypesOnly, javaClassCache);
-                } catch (final IOException e) {
-                    new LogFacade(MicrowaveContextConfig.class.getName()).error("Can't parse " + c);
-                }
-            });
-        }
+        processClasses(fragment, handlesTypesOnly, javaClassCache, url.toExternalForm());
     }
 
     @Override
@@ -154,4 +144,19 @@ public class MicrowaveContextConfig exte
             ok = false;
         }
     }
+
+    private void processClasses(final WebXml fragment, final boolean handlesTypesOnly,
+                                final Map<String, JavaClassCacheEntry> javaClassCache, final String key) {
+        final Collection<Class<?>> classes = webClasses.remove(key);
+        if (classes != null && !classes.isEmpty()) {
+            final ClassLoader loader = Thread.currentThread().getContextClassLoader();
+            classes.forEach(c -> {
+                try (final InputStream stream = loader.getResourceAsStream(c.getName().replace('.', '/') + ".class")) {
+                    super.processAnnotationsStream(stream, fragment, handlesTypesOnly, javaClassCache);
+                } catch (final IOException e) {
+                    new LogFacade(MicrowaveContextConfig.class.getName()).error("Can't parse " + c);
+                }
+            });
+        }
+    }
 }

Modified: openwebbeans/microwave/trunk/microwave-core/src/main/java/org/apache/microwave/io/IO.java
URL: http://svn.apache.org/viewvc/openwebbeans/microwave/trunk/microwave-core/src/main/java/org/apache/microwave/io/IO.java?rev=1766228&r1=1766227&r2=1766228&view=diff
==============================================================================
--- openwebbeans/microwave/trunk/microwave-core/src/main/java/org/apache/microwave/io/IO.java (original)
+++ openwebbeans/microwave/trunk/microwave-core/src/main/java/org/apache/microwave/io/IO.java Sat Oct 22 19:39:53 2016
@@ -48,7 +48,7 @@ public final class IO {
                     if (f.isFile()) {
                         retryDelete(f);
                     } else {
-                        retryDelete(f);
+                        delete(f);
                     }
                 });
         retryDelete(dir);