Author: mbenson
Date: Sun Aug 11 17:01:24 2013
New Revision: 1512971

URL: http://svn.apache.org/r1512971
Log:
WeaveEnvironment will provide the classLoader used for scanning; else subclass 
searches don't work

Modified:
    
commons/sandbox/weaver/branches/normalizer/processor/src/main/java/org/apache/commons/weaver/CleanProcessor.java
    
commons/sandbox/weaver/branches/normalizer/processor/src/main/java/org/apache/commons/weaver/Finder.java
    
commons/sandbox/weaver/branches/normalizer/processor/src/main/java/org/apache/commons/weaver/WeaveProcessor.java
    
commons/sandbox/weaver/branches/normalizer/processor/src/main/java/org/apache/commons/weaver/model/WeaveEnvironment.java

Modified: 
commons/sandbox/weaver/branches/normalizer/processor/src/main/java/org/apache/commons/weaver/CleanProcessor.java
URL: 
http://svn.apache.org/viewvc/commons/sandbox/weaver/branches/normalizer/processor/src/main/java/org/apache/commons/weaver/CleanProcessor.java?rev=1512971&r1=1512970&r2=1512971&view=diff
==============================================================================
--- 
commons/sandbox/weaver/branches/normalizer/processor/src/main/java/org/apache/commons/weaver/CleanProcessor.java
 (original)
+++ 
commons/sandbox/weaver/branches/normalizer/processor/src/main/java/org/apache/commons/weaver/CleanProcessor.java
 Sun Aug 11 17:01:24 2013
@@ -85,7 +85,8 @@ public class CleanProcessor {
         final Finder finder = new Finder(new FileArchive(classLoader, target));
         for (Cleaner cleaner : CLEANERS) {
             final WeaveEnvironment env =
-                new WeaveEnvironment(classpath, target, configuration, 
Logger.getLogger(cleaner.getClass().getName()));
+                new WeaveEnvironment(classpath, target, classLoader, 
configuration, Logger.getLogger(cleaner.getClass()
+                    .getName()));
             cleaner.clean(env, finder);
         }
     }

Modified: 
commons/sandbox/weaver/branches/normalizer/processor/src/main/java/org/apache/commons/weaver/Finder.java
URL: 
http://svn.apache.org/viewvc/commons/sandbox/weaver/branches/normalizer/processor/src/main/java/org/apache/commons/weaver/Finder.java?rev=1512971&r1=1512970&r2=1512971&view=diff
==============================================================================
--- 
commons/sandbox/weaver/branches/normalizer/processor/src/main/java/org/apache/commons/weaver/Finder.java
 (original)
+++ 
commons/sandbox/weaver/branches/normalizer/processor/src/main/java/org/apache/commons/weaver/Finder.java
 Sun Aug 11 17:01:24 2013
@@ -681,10 +681,10 @@ class Finder extends AnnotationFinder im
                     // should we log something?
                     break;
             }
-            for (Class<?> supertype : request.getSupertypes()) {
-                for (Annotated<Class<?>> type : 
this.withAnnotations().findAssignableTypes(supertype)) {
-                    
result.getWeavable(type.get()).addAnnotations(type.getAnnotations());
-                }
+        }
+        for (Class<?> supertype : request.getSupertypes()) {
+            for (Annotated<Class<?>> type : 
this.withAnnotations().findAssignableTypes(supertype)) {
+                
result.getWeavable(type.get()).addAnnotations(type.getAnnotations());
             }
         }
         return inflater.inflate(result);

Modified: 
commons/sandbox/weaver/branches/normalizer/processor/src/main/java/org/apache/commons/weaver/WeaveProcessor.java
URL: 
http://svn.apache.org/viewvc/commons/sandbox/weaver/branches/normalizer/processor/src/main/java/org/apache/commons/weaver/WeaveProcessor.java?rev=1512971&r1=1512970&r2=1512971&view=diff
==============================================================================
--- 
commons/sandbox/weaver/branches/normalizer/processor/src/main/java/org/apache/commons/weaver/WeaveProcessor.java
 (original)
+++ 
commons/sandbox/weaver/branches/normalizer/processor/src/main/java/org/apache/commons/weaver/WeaveProcessor.java
 Sun Aug 11 17:01:24 2013
@@ -86,7 +86,8 @@ public class WeaveProcessor {
         final Finder finder = new Finder(new FileArchive(classLoader, target));
         for (Weaver weaver : WEAVERS) {
             final WeaveEnvironment env =
-                new WeaveEnvironment(classpath, target, configuration, 
Logger.getLogger(weaver.getClass().getName()));
+                new WeaveEnvironment(classpath, target, classLoader, 
configuration, Logger.getLogger(weaver.getClass()
+                    .getName()));
             weaver.process(env, finder);
         }
     }

Modified: 
commons/sandbox/weaver/branches/normalizer/processor/src/main/java/org/apache/commons/weaver/model/WeaveEnvironment.java
URL: 
http://svn.apache.org/viewvc/commons/sandbox/weaver/branches/normalizer/processor/src/main/java/org/apache/commons/weaver/model/WeaveEnvironment.java?rev=1512971&r1=1512970&r2=1512971&view=diff
==============================================================================
--- 
commons/sandbox/weaver/branches/normalizer/processor/src/main/java/org/apache/commons/weaver/model/WeaveEnvironment.java
 (original)
+++ 
commons/sandbox/weaver/branches/normalizer/processor/src/main/java/org/apache/commons/weaver/model/WeaveEnvironment.java
 Sun Aug 11 17:01:24 2013
@@ -38,9 +38,14 @@ public class WeaveEnvironment {
     public final List<String> classpath;
 
     /**
-     * Target where scannable/weavable classes reside.
+     * Target where weavable classes reside.
      */
     public final File target;
+    
+    /**
+     * ClassLoader containing scannable and weavable classes.
+     */
+    public final ClassLoader classLoader;
 
     /**
      * Configuration properties. By convention, any configuration property 
should start with its name, e.g.
@@ -55,13 +60,15 @@ public class WeaveEnvironment {
      * 
      * @param classpath
      * @param target
+     * @param classLoader
      * @param config
      * @param log
      */
-    public WeaveEnvironment(List<String> classpath, File target, Properties 
config, Logger log) {
+    public WeaveEnvironment(List<String> classpath, File target, ClassLoader 
classLoader, Properties config, Logger log) {
         super();
         this.classpath = 
Collections.unmodifiableList(Validate.notNull(classpath, "classpath"));
         this.target = Validate.notNull(target, "target");
+        this.classLoader = classLoader;
         this.config = (Properties) Validate.notNull(config, "config").clone();
         this.log = log;
     }


Reply via email to