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 db...@apache.org on 2011/06/01 00:23:13 UTC
svn commit: r1129943 - in /geronimo/xbean/trunk/xbean-finder/src:
main/java/org/apache/xbean/finder/ test/java/org/apache/xbean/finder/
Author: dblevins
Date: Tue May 31 22:23:12 2011
New Revision: 1129943
URL: http://svn.apache.org/viewvc?rev=1129943&view=rev
Log:
Worked around issues with XBEAN-143 by temporarily disabling some of the code.
XBEAN-175: List annotated class names
Modified:
geronimo/xbean/trunk/xbean-finder/src/main/java/org/apache/xbean/finder/AbstractFinder.java
geronimo/xbean/trunk/xbean-finder/src/main/java/org/apache/xbean/finder/AnnotationFinder.java
geronimo/xbean/trunk/xbean-finder/src/main/java/org/apache/xbean/finder/IAnnotationFinder.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/AbstractFinder.java
URL: http://svn.apache.org/viewvc/geronimo/xbean/trunk/xbean-finder/src/main/java/org/apache/xbean/finder/AbstractFinder.java?rev=1129943&r1=1129942&r2=1129943&view=diff
==============================================================================
--- geronimo/xbean/trunk/xbean-finder/src/main/java/org/apache/xbean/finder/AbstractFinder.java (original)
+++ geronimo/xbean/trunk/xbean-finder/src/main/java/org/apache/xbean/finder/AbstractFinder.java Tue May 31 22:23:12 2011
@@ -57,6 +57,10 @@ public abstract class AbstractFinder imp
protected abstract Class<?> loadClass(String fixedName) throws ClassNotFoundException;
+ public List<String> getAnnotatedClassNames() {
+ return new ArrayList<String>(classInfos.keySet());
+ }
+
/**
* The link() method must be called to successfully use the findSubclasses and findImplementations methods
* @return
@@ -908,14 +912,14 @@ public abstract class AbstractFinder imp
} else {
ClassInfo classInfo = new ClassInfo(javaName(name), javaName(superName));
- if (signature == null) {
+// if (signature == null) {
for (String interfce : interfaces) {
classInfo.getInterfaces().add(javaName(interfce));
}
- } else {
- // the class uses generics
- new SignatureReader(signature).accept(new GenericAwareInfoBuildingVisitor(GenericAwareInfoBuildingVisitor.TYPE.CLASS, classInfo));
- }
+// } else {
+// // the class uses generics
+// new SignatureReader(signature).accept(new GenericAwareInfoBuildingVisitor(GenericAwareInfoBuildingVisitor.TYPE.CLASS, classInfo));
+// }
info = classInfo;
classInfos.put(classInfo.getName(), classInfo);
}
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=1129943&r1=1129942&r2=1129943&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 May 31 22:23:12 2011
@@ -86,6 +86,9 @@ public class AnnotationFinder implements
}
}
+ public List<String> getAnnotatedClassNames() {
+ return new ArrayList<String>(classInfos.keySet());
+ }
/**
* The link() method must be called to successfully use the findSubclasses and findImplementations methods
@@ -1266,14 +1269,14 @@ public class AnnotationFinder implements
ClassInfo classInfo = new ClassInfo(javaName(name), javaName(superName));
- if (signature == null) {
+// if (signature == null) {
for (String interfce : interfaces) {
classInfo.getInterfaces().add(javaName(interfce));
}
- } else {
- // the class uses generics
- new SignatureReader(signature).accept(new GenericAwareInfoBuildingVisitor(GenericAwareInfoBuildingVisitor.TYPE.CLASS, classInfo));
- }
+// } else {
+// // the class uses generics
+// new SignatureReader(signature).accept(new GenericAwareInfoBuildingVisitor(GenericAwareInfoBuildingVisitor.TYPE.CLASS, classInfo));
+// }
info = classInfo;
classInfos.put(classInfo.getName(), classInfo);
Modified: geronimo/xbean/trunk/xbean-finder/src/main/java/org/apache/xbean/finder/IAnnotationFinder.java
URL: http://svn.apache.org/viewvc/geronimo/xbean/trunk/xbean-finder/src/main/java/org/apache/xbean/finder/IAnnotationFinder.java?rev=1129943&r1=1129942&r2=1129943&view=diff
==============================================================================
--- geronimo/xbean/trunk/xbean-finder/src/main/java/org/apache/xbean/finder/IAnnotationFinder.java (original)
+++ geronimo/xbean/trunk/xbean-finder/src/main/java/org/apache/xbean/finder/IAnnotationFinder.java Tue May 31 22:23:12 2011
@@ -54,4 +54,6 @@ public interface IAnnotationFinder {
List<Annotated<Field>> findMetaAnnotatedFields(Class<? extends Annotation> annotation);
List<Annotated<Class<?>>> findMetaAnnotatedClasses(Class<? extends Annotation> annotation);
+
+ List<String> getAnnotatedClassNames();
}
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=1129943&r1=1129942&r2=1129943&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 May 31 22:23:12 2011
@@ -23,6 +23,7 @@ import java.util.ArrayList;
import java.util.List;
import junit.framework.TestCase;
+import org.apache.xbean.finder.archive.ClassesArchive;
/**
* @version $Rev$ $Date$
@@ -30,7 +31,7 @@ import junit.framework.TestCase;
public class ClassFinderDepthTest extends TestCase {
- public static interface Hue {
+ public static interface Hue<T> {
}
public static interface Saturation {
@@ -39,10 +40,10 @@ public class ClassFinderDepthTest extend
public static interface Brightness {
}
- public static interface HSB extends Hue, Saturation, Brightness {
+ public static interface HSB<T> extends Hue<T>, Saturation, Brightness {
}
- public static class Color implements HSB {
+ public static class Color<T> implements HSB<T> {
}
public static class Red extends Color {
@@ -60,7 +61,7 @@ public class ClassFinderDepthTest extend
}
public void testFindSubclassesIncomplete() throws Exception {
- final AbstractFinder finder = new ClassFinder(Crimson.class, Square.class).link();
+ final AnnotationFinder finder = new AnnotationFinder(new ClassesArchive(Crimson.class, Square.class)).link();
assertSubclasses(finder, Color.class, Red.class, Crimson.class);
assertSubclasses(finder, Red.class, Crimson.class);
@@ -71,13 +72,14 @@ public class ClassFinderDepthTest extend
}
public void testFindImplementations() throws Exception {
- final AbstractFinder finder = new ClassFinder(Crimson.class, Square.class).link();
+ final AnnotationFinder finder = new AnnotationFinder(new ClassesArchive(Crimson.class, Square.class)).link();
assertImplementations(finder, HSB.class, Color.class, Red.class, Crimson.class);
assertImplementations(finder, Hue.class, HSB.class, Color.class, Red.class, Crimson.class);
+ assertImplementations(finder, Saturation.class, HSB.class, Color.class, Red.class, Crimson.class);
}
- private void assertSubclasses(AbstractFinder finder, Class<?> clazz, Class... subclasses) {
+ private void assertSubclasses(AnnotationFinder finder, Class<?> clazz, Class... subclasses) {
final List<Class<?>> classes = new ArrayList(finder.findSubclasses(clazz));
for (Class subclass : subclasses) {
@@ -86,7 +88,7 @@ public class ClassFinderDepthTest extend
assertSize(classes, subclasses.length);
}
- private void assertImplementations(AbstractFinder finder, Class<?> clazz, Class... implementations) {
+ private void assertImplementations(AnnotationFinder finder, Class<?> clazz, Class... implementations) {
final List<Class<?>> classes = new ArrayList(finder.findImplementations(clazz));
for (Class subclass : implementations) {