You are viewing a plain text version of this content. The canonical link for it is here.
Posted to xbean-scm@geronimo.apache.org by rm...@apache.org on 2015/03/17 12:38:58 UTC
svn commit: r1667275 - in /geronimo/xbean/trunk/xbean-finder/src:
main/java/org/apache/xbean/finder/AnnotationFinder.java
test/java/org/apache/xbean/finder/ClassFinderDepthTest.java
Author: rmannibucau
Date: Tue Mar 17 11:38:58 2015
New Revision: 1667275
URL: http://svn.apache.org/r1667275
Log:
test for parent scanning when Archive is module limited
Modified:
geronimo/xbean/trunk/xbean-finder/src/main/java/org/apache/xbean/finder/AnnotationFinder.java
geronimo/xbean/trunk/xbean-finder/src/test/java/org/apache/xbean/finder/ClassFinderDepthTest.java
Modified: geronimo/xbean/trunk/xbean-finder/src/main/java/org/apache/xbean/finder/AnnotationFinder.java
URL: http://svn.apache.org/viewvc/geronimo/xbean/trunk/xbean-finder/src/main/java/org/apache/xbean/finder/AnnotationFinder.java?rev=1667275&r1=1667274&r2=1667275&view=diff
==============================================================================
--- geronimo/xbean/trunk/xbean-finder/src/main/java/org/apache/xbean/finder/AnnotationFinder.java (original)
+++ geronimo/xbean/trunk/xbean-finder/src/main/java/org/apache/xbean/finder/AnnotationFinder.java Tue Mar 17 11:38:58 2015
@@ -248,17 +248,17 @@ public class AnnotationFinder implements
linkInterfaces(classInfo);
}
-
return this;
}
public AnnotationFinder enableFindSubclasses() {
+ final boolean originalLinking = linking;
linking = ALLOW_LAZY_LINKING;
for (ClassInfo classInfo : classInfos.values().toArray(new ClassInfo[classInfos.size()])) {
linkParent(classInfo);
}
-
+ linking = originalLinking;
return this;
}
Modified: geronimo/xbean/trunk/xbean-finder/src/test/java/org/apache/xbean/finder/ClassFinderDepthTest.java
URL: http://svn.apache.org/viewvc/geronimo/xbean/trunk/xbean-finder/src/test/java/org/apache/xbean/finder/ClassFinderDepthTest.java?rev=1667275&r1=1667274&r2=1667275&view=diff
==============================================================================
--- geronimo/xbean/trunk/xbean-finder/src/test/java/org/apache/xbean/finder/ClassFinderDepthTest.java (original)
+++ geronimo/xbean/trunk/xbean-finder/src/test/java/org/apache/xbean/finder/ClassFinderDepthTest.java Tue Mar 17 11:38:58 2015
@@ -19,6 +19,8 @@ package org.apache.xbean.finder;
import junit.framework.TestCase;
import org.apache.xbean.finder.archive.ClassesArchive;
+import java.io.IOException;
+import java.io.InputStream;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
@@ -44,6 +46,8 @@ public class ClassFinderDepthTest extend
}
public static class Color<T> implements HSB<T> {
+ @Deprecated
+ private String foo;
}
public static class Red extends Color {
@@ -60,6 +64,19 @@ public class ClassFinderDepthTest extend
public static class Square extends Shape {
}
+ public void testFindParentFieldOutsideArchive() {
+ final AnnotationFinder finder = new AnnotationFinder(new ClassesArchive(Red.class) {
+ @Override
+ public InputStream getBytecode(final String className) throws IOException, ClassNotFoundException {
+ if (!className.contains("Red")) {
+ throw new ClassNotFoundException();
+ }
+ return super.getBytecode(className);
+ }
+ }).link();
+ assertEquals(1, finder.findAnnotatedFields(Deprecated.class).size());
+ }
+
public void testFindSubclassesIncomplete() throws Exception {
for (int i = 0; i < 10; i++) {
for (final AnnotationFinder finder : new AnnotationFinder[] {