You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by mb...@apache.org on 2013/08/11 19:01:25 UTC

svn commit: r1512971 - in /commons/sandbox/weaver/branches/normalizer/processor/src/main/java/org/apache/commons/weaver: CleanProcessor.java Finder.java WeaveProcessor.java model/WeaveEnvironment.java

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;
     }