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