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 dj...@apache.org on 2011/01/28 03:13:40 UTC

svn commit: r1064425 - in /geronimo/xbean/trunk: xbean-bundleutils/src/main/java/org/apache/xbean/osgi/bundle/util/ xbean-finder/src/main/java/org/apache/xbean/finder/ xbean-finder/src/test/java/org/apache/xbean/finder/

Author: djencks
Date: Fri Jan 28 02:13:40 2011
New Revision: 1064425

URL: http://svn.apache.org/viewvc?rev=1064425&view=rev
Log:
XBEAN-162 genericize usage of Class

Modified:
    geronimo/xbean/trunk/xbean-bundleutils/src/main/java/org/apache/xbean/osgi/bundle/util/BundleClassFinder.java
    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/ClassFinder.java
    geronimo/xbean/trunk/xbean-finder/src/main/java/org/apache/xbean/finder/ResourceFinder.java
    geronimo/xbean/trunk/xbean-finder/src/test/java/org/apache/xbean/finder/ClassFinderDepthTest.java
    geronimo/xbean/trunk/xbean-finder/src/test/java/org/apache/xbean/finder/ClassFinderTest.java
    geronimo/xbean/trunk/xbean-finder/src/test/java/org/apache/xbean/finder/ResourceFinderTest.java

Modified: geronimo/xbean/trunk/xbean-bundleutils/src/main/java/org/apache/xbean/osgi/bundle/util/BundleClassFinder.java
URL: http://svn.apache.org/viewvc/geronimo/xbean/trunk/xbean-bundleutils/src/main/java/org/apache/xbean/osgi/bundle/util/BundleClassFinder.java?rev=1064425&r1=1064424&r2=1064425&view=diff
==============================================================================
--- geronimo/xbean/trunk/xbean-bundleutils/src/main/java/org/apache/xbean/osgi/bundle/util/BundleClassFinder.java (original)
+++ geronimo/xbean/trunk/xbean-bundleutils/src/main/java/org/apache/xbean/osgi/bundle/util/BundleClassFinder.java Fri Jan 28 02:13:40 2011
@@ -81,8 +81,8 @@ public class BundleClassFinder {
         this.discoveryFilter = discoveryFilter;
     }
 
-    public List<Class> loadClasses(Set<String> classes) {
-        List<Class> loadedClasses = new ArrayList<Class>(classes.size());
+    public List<Class<?>> loadClasses(Set<String> classes) {
+        List<Class<?>> loadedClasses = new ArrayList<Class<?>>(classes.size());
         for (String clazz : classes) {
             try {
                 loadedClasses.add(bundle.loadClass(clazz));

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=1064425&r1=1064424&r2=1064425&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 Fri Jan 28 02:13:40 2011
@@ -31,7 +31,6 @@ import java.net.URL;
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.HashMap;
-import java.util.LinkedList;
 import java.util.List;
 import java.util.Map;
 
@@ -190,9 +189,9 @@ public abstract class AbstractFinder {
         return packages;
     }
 
-    public List<Class> findAnnotatedClasses(Class<? extends Annotation> annotation) {
+    public List<Class<?>> findAnnotatedClasses(Class<? extends Annotation> annotation) {
         classesNotLoaded.clear();
-        List<Class> classes = new ArrayList<Class>();
+        List<Class<?>> classes = new ArrayList<Class<?>>();
         List<Info> infos = getAnnotationInfos(annotation.getName());
         for (Info info : infos) {
             if (info instanceof ClassInfo) {
@@ -217,9 +216,9 @@ public abstract class AbstractFinder {
      * @param annotation
      * @return list of directly or indirectly (inherited) annotated classes
      */
-    public List<Class> findInheritedAnnotatedClasses(Class<? extends Annotation> annotation) {
+    public List<Class<?>> findInheritedAnnotatedClasses(Class<? extends Annotation> annotation) {
         classesNotLoaded.clear();
-        List<Class> classes = new ArrayList<Class>();
+        List<Class<?>> classes = new ArrayList<Class<?>>();
         List<Info> infos = getAnnotationInfos(annotation.getName());
         for (Info info : infos) {
             try {
@@ -356,9 +355,9 @@ public abstract class AbstractFinder {
         return fields;
     }
 
-    public List<Class> findClassesInPackage(String packageName, boolean recursive) {
+    public List<Class<?>> findClassesInPackage(String packageName, boolean recursive) {
         classesNotLoaded.clear();
-        List<Class> classes = new ArrayList<Class>();
+        List<Class<?>> classes = new ArrayList<Class<?>>();
         for (ClassInfo classInfo : classInfos.values()) {
             try {
                 if (recursive && classInfo.getPackageName().startsWith(packageName)){
@@ -381,26 +380,25 @@ public abstract class AbstractFinder {
         final ClassInfo classInfo = classInfos.get(clazz.getName());
 
         List<Class<? extends T>> found = new ArrayList<Class<? extends T>>();
-        List<Class<? extends T>> found2 = new LinkedList<Class<? extends T>>();
 
         if (classInfo == null) return found;
 
-        findSubclasses(classInfo, found);
+        findSubclasses(classInfo, found, clazz);
 
         return found;
     }
 
-    private <T> void findSubclasses(ClassInfo classInfo, List<Class<? extends T>> found) {
+    private <T> void findSubclasses(ClassInfo classInfo, List<Class<? extends T>> found, Class<T> clazz) {
 
         for (ClassInfo subclassInfo : classInfo.subclassInfos) {
 
             try {
-                found.add(subclassInfo.get());
+                found.add(subclassInfo.get().asSubclass(clazz));
             } catch (ClassNotFoundException e) {
                 classesNotLoaded.add(subclassInfo.getName());
             }
 
-            findSubclasses(subclassInfo, found);
+            findSubclasses(subclassInfo, found, clazz);
         }
     }
 
@@ -418,9 +416,9 @@ public abstract class AbstractFinder {
 
                     if (clazz.isAssignableFrom(classInfo.get())) {
 
-                        classes.add(classInfo.get());
+                        classes.add(classInfo.get().asSubclass(clazz));
 
-                        classes.addAll(_findSubclasses(classInfo.get()));
+                        classes.addAll(_findSubclasses(classInfo.get().asSubclass(clazz)));
                     }
                 }
 
@@ -505,6 +503,14 @@ public abstract class AbstractFinder {
     }
 
     protected void readClassDef(String className) {
+        int pos = className.indexOf("<");
+        if (pos > -1) {
+            className = className.substring(0, pos);
+        }
+        pos = className.indexOf(">");
+        if (pos > -1) {
+            className = className.substring(0, pos);
+        }
         if (!className.endsWith(".class")) {
             className = className.replace('.', '/') + ".class";
         }
@@ -717,7 +723,7 @@ public abstract class AbstractFinder {
             return superType;
         }
 
-        public Class get() throws ClassNotFoundException {
+        public Class<?> get() throws ClassNotFoundException {
             if (clazz != null) return clazz;
             try {
                 String fixedName = name.replaceFirst("<.*>", "");

Modified: geronimo/xbean/trunk/xbean-finder/src/main/java/org/apache/xbean/finder/ClassFinder.java
URL: http://svn.apache.org/viewvc/geronimo/xbean/trunk/xbean-finder/src/main/java/org/apache/xbean/finder/ClassFinder.java?rev=1064425&r1=1064424&r2=1064425&view=diff
==============================================================================
--- geronimo/xbean/trunk/xbean-finder/src/main/java/org/apache/xbean/finder/ClassFinder.java (original)
+++ geronimo/xbean/trunk/xbean-finder/src/main/java/org/apache/xbean/finder/ClassFinder.java Fri Jan 28 02:13:40 2011
@@ -19,9 +19,6 @@ package org.apache.xbean.finder;
 import java.io.File;
 import java.io.IOException;
 import java.io.InputStream;
-import java.lang.reflect.Constructor;
-import java.lang.reflect.Field;
-import java.lang.reflect.Method;
 import java.net.JarURLConnection;
 import java.net.URL;
 import java.net.URLDecoder;
@@ -126,13 +123,13 @@ public class ClassFinder extends Abstrac
         }
     }
 
-    public ClassFinder(Class... classes){
+    public ClassFinder(Class<?>... classes){
         this(Arrays.asList(classes));
     }
 
-    public ClassFinder(List<Class> classes){
+    public ClassFinder(List<Class<?>> classes){
         this.classLoader = null;
-        for (Class clazz : classes) {
+        for (Class<?> clazz : classes) {
             try {
                 readClassDef(clazz);
             } catch (NoClassDefFoundError e) {

Modified: geronimo/xbean/trunk/xbean-finder/src/main/java/org/apache/xbean/finder/ResourceFinder.java
URL: http://svn.apache.org/viewvc/geronimo/xbean/trunk/xbean-finder/src/main/java/org/apache/xbean/finder/ResourceFinder.java?rev=1064425&r1=1064424&r2=1064425&view=diff
==============================================================================
--- geronimo/xbean/trunk/xbean-finder/src/main/java/org/apache/xbean/finder/ResourceFinder.java (original)
+++ geronimo/xbean/trunk/xbean-finder/src/main/java/org/apache/xbean/finder/ResourceFinder.java Fri Jan 28 02:13:40 2011
@@ -312,9 +312,9 @@ public class ResourceFinder {
      * @throws IOException
      * @throws ClassNotFoundException
      */
-    public Class findClass(String uri) throws IOException, ClassNotFoundException {
+    public Class<?> findClass(String uri) throws IOException, ClassNotFoundException {
         String className = findString(uri);
-        return (Class) classLoader.loadClass(className);
+        return classLoader.loadClass(className);
     }
 
     /**
@@ -328,11 +328,11 @@ public class ResourceFinder {
      * @throws IOException
      * @throws ClassNotFoundException
      */
-    public List<Class> findAllClasses(String uri) throws IOException, ClassNotFoundException {
-        List<Class> classes = new ArrayList<Class>();
+    public List<Class<?>> findAllClasses(String uri) throws IOException, ClassNotFoundException {
+        List<Class<?>> classes = new ArrayList<Class<?>>();
         List<String> strings = findAllStrings(uri);
         for (String className : strings) {
-            Class clazz = classLoader.loadClass(className);
+            Class<?> clazz = classLoader.loadClass(className);
             classes.add(clazz);
         }
         return classes;
@@ -349,13 +349,13 @@ public class ResourceFinder {
      * @return
      * @throws IOException if classLoader.getResources throws an exception
      */
-    public List<Class> findAvailableClasses(String uri) throws IOException {
+    public List<Class<?>> findAvailableClasses(String uri) throws IOException {
         resourcesNotLoaded.clear();
-        List<Class> classes = new ArrayList<Class>();
+        List<Class<?>> classes = new ArrayList<Class<?>>();
         List<String> strings = findAvailableStrings(uri);
         for (String className : strings) {
             try {
-                Class clazz = classLoader.loadClass(className);
+                Class<?> clazz = classLoader.loadClass(className);
                 classes.add(clazz);
             } catch (Exception notAvailable) {
                 resourcesNotLoaded.add(className);
@@ -387,14 +387,13 @@ public class ResourceFinder {
      * @throws IOException
      * @throws ClassNotFoundException
      */
-    public Map<String, Class> mapAllClasses(String uri) throws IOException, ClassNotFoundException {
-        Map<String, Class> classes = new HashMap<String, Class>();
+    public Map<String, Class<?>> mapAllClasses(String uri) throws IOException, ClassNotFoundException {
+        Map<String, Class<?>> classes = new HashMap<String, Class<?>>();
         Map<String, String> map = mapAllStrings(uri);
-        for (Iterator iterator = map.entrySet().iterator(); iterator.hasNext();) {
-            Map.Entry entry = (Map.Entry) iterator.next();
-            String string = (String) entry.getKey();
-            String className = (String) entry.getValue();
-            Class clazz = classLoader.loadClass(className);
+        for (Map.Entry<String, String> entry : map.entrySet()) {
+            String string = entry.getKey();
+            String className = entry.getValue();
+            Class<?> clazz = classLoader.loadClass(className);
             classes.put(string, clazz);
         }
         return classes;
@@ -423,16 +422,15 @@ public class ResourceFinder {
      * @return
      * @throws IOException if classLoader.getResources throws an exception
      */
-    public Map<String, Class> mapAvailableClasses(String uri) throws IOException {
+    public Map<String, Class<?>> mapAvailableClasses(String uri) throws IOException {
         resourcesNotLoaded.clear();
-        Map<String, Class> classes = new HashMap<String, Class>();
+        Map<String, Class<?>> classes = new HashMap<String, Class<?>>();
         Map<String, String> map = mapAvailableStrings(uri);
-        for (Iterator iterator = map.entrySet().iterator(); iterator.hasNext();) {
-            Map.Entry entry = (Map.Entry) iterator.next();
-            String string = (String) entry.getKey();
-            String className = (String) entry.getValue();
+        for (Map.Entry<String, String> entry : map.entrySet()) {
+            String string = entry.getKey();
+            String className = entry.getValue();
             try {
-                Class clazz = classLoader.loadClass(className);
+                Class<?> clazz = classLoader.loadClass(className);
                 classes.put(string, clazz);
             } catch (Exception notAvailable) {
                 resourcesNotLoaded.add(className);
@@ -468,9 +466,9 @@ public class ResourceFinder {
      * @throws ClassNotFoundException if the class found is not loadable
      * @throws ClassCastException     if the class found is not assignable to the specified superclass or interface
      */
-    public Class findImplementation(Class interfase) throws IOException, ClassNotFoundException {
+    public Class<?> findImplementation(Class<?> interfase) throws IOException, ClassNotFoundException {
         String className = findString(interfase.getName());
-        Class impl = classLoader.loadClass(className);
+        Class<?> impl = classLoader.loadClass(className);
         if (!interfase.isAssignableFrom(impl)) {
             throw new ClassCastException("Class not of type: " + interfase.getName());
         }
@@ -502,14 +500,11 @@ public class ResourceFinder {
      * @throws ClassNotFoundException if the class found is not loadable
      * @throws ClassCastException     if the class found is not assignable to the specified superclass or interface
      */
-    public List<Class> findAllImplementations(Class interfase) throws IOException, ClassNotFoundException {
-        List<Class> implementations = new ArrayList<Class>();
+    public <T> List<Class<? extends T>> findAllImplementations(Class<T> interfase) throws IOException, ClassNotFoundException {
+        List<Class<? extends T>> implementations = new ArrayList<Class<? extends T>>();
         List<String> strings = findAllStrings(interfase.getName());
         for (String className : strings) {
-            Class impl = classLoader.loadClass(className);
-            if (!interfase.isAssignableFrom(impl)) {
-                throw new ClassCastException("Class not of type: " + interfase.getName());
-            }
+            Class<? extends T> impl = classLoader.loadClass(className).asSubclass(interfase);
             implementations.add(impl);
         }
         return implementations;
@@ -538,15 +533,15 @@ public class ResourceFinder {
      * @return
      * @throws IOException if classLoader.getResources throws an exception
      */
-    public List<Class> findAvailableImplementations(Class interfase) throws IOException {
+    public <T> List<Class<? extends T>> findAvailableImplementations(Class<T> interfase) throws IOException {
         resourcesNotLoaded.clear();
-        List<Class> implementations = new ArrayList<Class>();
+        List<Class<? extends T>> implementations = new ArrayList<Class<? extends T>>();
         List<String> strings = findAvailableStrings(interfase.getName());
         for (String className : strings) {
             try {
-                Class impl = classLoader.loadClass(className);
+                Class<?> impl = classLoader.loadClass(className);
                 if (interfase.isAssignableFrom(impl)) {
-                    implementations.add(impl);
+                    implementations.add(impl.asSubclass(interfase));
                 } else {
                     resourcesNotLoaded.add(className);
                 }
@@ -582,17 +577,13 @@ public class ResourceFinder {
      * @throws ClassNotFoundException if the class found is not loadable
      * @throws ClassCastException     if the class found is not assignable to the specified superclass or interface
      */
-    public Map<String, Class> mapAllImplementations(Class interfase) throws IOException, ClassNotFoundException {
-        Map<String, Class> implementations = new HashMap<String, Class>();
+    public <T> Map<String, Class<? extends T>> mapAllImplementations(Class<T> interfase) throws IOException, ClassNotFoundException {
+        Map<String, Class<? extends T>> implementations = new HashMap<String, Class<? extends T>>();
         Map<String, String> map = mapAllStrings(interfase.getName());
-        for (Iterator iterator = map.entrySet().iterator(); iterator.hasNext();) {
-            Map.Entry entry = (Map.Entry) iterator.next();
-            String string = (String) entry.getKey();
-            String className = (String) entry.getValue();
-            Class impl = classLoader.loadClass(className);
-            if (!interfase.isAssignableFrom(impl)) {
-                throw new ClassCastException("Class not of type: " + interfase.getName());
-            }
+        for (Map.Entry<String, String> entry : map.entrySet()) {
+            String string = entry.getKey();
+            String className = entry.getValue();
+            Class<? extends T> impl = classLoader.loadClass(className).asSubclass(interfase);
             implementations.put(string, impl);
         }
         return implementations;
@@ -621,18 +612,17 @@ public class ResourceFinder {
      * @return
      * @throws IOException if classLoader.getResources throws an exception
      */
-    public Map<String, Class> mapAvailableImplementations(Class interfase) throws IOException {
+    public <T> Map<String, Class<? extends T>> mapAvailableImplementations(Class<T> interfase) throws IOException {
         resourcesNotLoaded.clear();
-        Map<String, Class> implementations = new HashMap<String, Class>();
+        Map<String, Class<? extends T>> implementations = new HashMap<String, Class<? extends T>>();
         Map<String, String> map = mapAvailableStrings(interfase.getName());
-        for (Iterator iterator = map.entrySet().iterator(); iterator.hasNext();) {
-            Map.Entry entry = (Map.Entry) iterator.next();
-            String string = (String) entry.getKey();
-            String className = (String) entry.getValue();
+        for (Map.Entry<String, String> entry : map.entrySet()) {
+            String string = entry.getKey();
+            String className = entry.getValue();
             try {
-                Class impl = classLoader.loadClass(className);
+                Class<?> impl = classLoader.loadClass(className);
                 if (interfase.isAssignableFrom(impl)) {
-                    implementations.put(string, impl);
+                    implementations.put(string, impl.asSubclass(interfase));
                 } else {
                     resourcesNotLoaded.add(className);
                 }

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=1064425&r1=1064424&r2=1064425&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 Fri Jan 28 02:13:40 2011
@@ -16,11 +16,14 @@
  */
 package org.apache.xbean.finder;
 
-import junit.framework.TestCase;
-
+import java.io.File;
+import java.net.URL;
+import java.net.URLClassLoader;
 import java.util.ArrayList;
 import java.util.List;
 
+import junit.framework.TestCase;
+
 /**
  * @version $Rev$ $Date$
  */
@@ -73,6 +76,14 @@ public class ClassFinderDepthTest extend
         assertImplementations(finder, HSB.class, Color.class, Red.class, Crimson.class);
         assertImplementations(finder, Hue.class, HSB.class, Color.class, Red.class, Crimson.class);
     }
+    
+    public void testAnnotationImpl() throws Exception {
+        URL url1 = new File("/Users/david/.m2/repository/org/apache/geronimo/specs/geronimo-jcdi_1.0_spec/1.0/geronimo-jcdi_1.0_spec-1.0.jar").toURI().toURL();
+        URL url2 = new File("/Users/david/.m2/repository/org/jboss/jsr299/tck/jsr299-tck-impl/1.0.4.CR1/jsr299-tck-impl-1.0.4.CR1.jar").toURI().toURL();
+
+        ClassLoader parent = getClass().getClassLoader();
+        final AbstractFinder finder = new ClassFinder(new URLClassLoader(new URL[] {url1, url2}, parent)).link();
+    }
 
     private void assertSubclasses(AbstractFinder finder, Class<?> clazz, Class... subclasses) {
         final List<Class<?>> classes = new ArrayList(finder.findSubclasses(clazz));

Modified: geronimo/xbean/trunk/xbean-finder/src/test/java/org/apache/xbean/finder/ClassFinderTest.java
URL: http://svn.apache.org/viewvc/geronimo/xbean/trunk/xbean-finder/src/test/java/org/apache/xbean/finder/ClassFinderTest.java?rev=1064425&r1=1064424&r2=1064425&view=diff
==============================================================================
--- geronimo/xbean/trunk/xbean-finder/src/test/java/org/apache/xbean/finder/ClassFinderTest.java (original)
+++ geronimo/xbean/trunk/xbean-finder/src/test/java/org/apache/xbean/finder/ClassFinderTest.java Fri Jan 28 02:13:40 2011
@@ -16,22 +16,34 @@
  */
 package org.apache.xbean.finder;
 
+import java.lang.reflect.Constructor;
+import java.lang.reflect.Field;
+import java.lang.reflect.Method;
+import java.util.Arrays;
+import java.util.List;
+
 import junit.framework.TestCase;
+import org.acme.bar.AnnType;
+import org.acme.bar.Construct;
+import org.acme.bar.FullyAnnotated;
 import org.acme.bar.Get;
 import org.acme.bar.ParamA;
-import org.acme.bar.Construct;
 import org.acme.bar.Type;
-import org.acme.bar.AnnType;
-import org.acme.bar.FullyAnnotated;
-import org.acme.foo.*;
-
-import java.lang.reflect.Method;
-import java.lang.reflect.Constructor;
-import java.lang.reflect.Field;
-import java.net.URL;
-import java.util.Collections;
-import java.util.List;
-import java.util.Arrays;
+import org.acme.foo.Blue;
+import org.acme.foo.Color;
+import org.acme.foo.Deployable;
+import org.acme.foo.FamilyHalloween;
+import org.acme.foo.FunnyFamilyHalloween;
+import org.acme.foo.GenericHoliday;
+import org.acme.foo.Green;
+import org.acme.foo.Halloween;
+import org.acme.foo.Holiday;
+import org.acme.foo.Primary;
+import org.acme.foo.Property;
+import org.acme.foo.Red;
+import org.acme.foo.StringGenericHoliday;
+import org.acme.foo.Thanksgiving;
+import org.acme.foo.ValentinesDay;
 
 /**
  * @author David Blevins
@@ -66,7 +78,7 @@ public class ClassFinderTest extends Tes
     public void testFindAnnotatedClasses() throws Exception {
 
         Class[] expected = {Halloween.class, Thanksgiving.class, ValentinesDay.class, GenericHoliday.class};
-        List<Class> actual = classFinder.findAnnotatedClasses(Holiday.class);
+        List<Class<?>> actual = classFinder.findAnnotatedClasses(Holiday.class);
 
         assertNotNull(actual);
         assertEquals(expected.length, actual.size());
@@ -95,7 +107,7 @@ public class ClassFinderTest extends Tes
 
     public void testFindInheritedAnnotatedClassesInherited() throws Exception {
         Class[] expected = {FunnyFamilyHalloween.class, FamilyHalloween.class, Halloween.class, Thanksgiving.class, ValentinesDay.class, GenericHoliday.class, StringGenericHoliday.class};
-        List<Class> actual = classFinder.findInheritedAnnotatedClasses(Holiday.class);
+        List<Class<?>> actual = classFinder.findInheritedAnnotatedClasses(Holiday.class);
 
         assertNotNull(actual);
         assertEquals(expected.length, actual.size());
@@ -155,11 +167,11 @@ public class ClassFinderTest extends Tes
         testFindAnnotatedPackages();
     }
     public void testFindClassesInPackage() throws Exception{
-    	List<Class> classesInPackage = classFinder.findClassesInPackage("org.acme.foo", false);
-    	Class[] classesArray = {Blue.class, Blue.Navy.class, Blue.Sky.class, Green.class, Green.Emerald.class, Red.class,
+    	List<Class<?>> classesInPackage = classFinder.findClassesInPackage("org.acme.foo", false);
+    	Class<?>[] classesArray = {Blue.class, Blue.Navy.class, Blue.Sky.class, Green.class, Green.Emerald.class, Red.class,
                 Red.CandyApple.class, Red.Pink.class, Halloween.class, Holiday.class, Deployable.class, Primary.class,
                 Property.class, Thanksgiving.class, ValentinesDay.class};
-    	List<Class> classes = Arrays.asList(classesArray);
+    	List<Class<?>> classes = Arrays.asList(classesArray);
     	assertEquals(true, classesInPackage.containsAll(classes));
     }
 }

Modified: geronimo/xbean/trunk/xbean-finder/src/test/java/org/apache/xbean/finder/ResourceFinderTest.java
URL: http://svn.apache.org/viewvc/geronimo/xbean/trunk/xbean-finder/src/test/java/org/apache/xbean/finder/ResourceFinderTest.java?rev=1064425&r1=1064424&r2=1064425&view=diff
==============================================================================
--- geronimo/xbean/trunk/xbean-finder/src/test/java/org/apache/xbean/finder/ResourceFinderTest.java (original)
+++ geronimo/xbean/trunk/xbean-finder/src/test/java/org/apache/xbean/finder/ResourceFinderTest.java Fri Jan 28 02:13:40 2011
@@ -19,6 +19,13 @@ package org.apache.xbean.finder;
 /**
  * @version $Rev$ $Date$
  */
+
+import java.net.URL;
+import java.util.List;
+import java.util.Map;
+import java.util.Properties;
+import java.util.Set;
+
 import junit.framework.TestCase;
 import org.acme.BarUrlHandler;
 import org.acme.FooUrlHandler;
@@ -29,13 +36,6 @@ import org.acme.javaURLContextFactory;
 import org.acme.kernelURLContextFactory;
 import org.acme.ldapURLContextFactory;
 
-import java.net.URL;
-import java.util.List;
-import java.util.Map;
-import java.util.Properties;
-import java.util.Set;
-import java.util.ArrayList;
-
 public class ResourceFinderTest extends TestCase {
     ResourceFinder resourceFinder = new ResourceFinder("META-INF/");
 
@@ -84,7 +84,7 @@ public class ResourceFinderTest extends 
     }
 
     public void testFindAllStrings() throws Exception {
-        List<String> manifests = null;
+        List<String> manifests;
         try {
             manifests = resourceFinder.findAllStrings("MANIFEST.MF");
         } catch (Exception thisIsLegal) {
@@ -155,7 +155,7 @@ public class ResourceFinderTest extends 
     }
 
     public void testFindAllClasses() throws Exception {
-        List<Class> classes = resourceFinder.findAllClasses("java.io.Serializable");
+        List<Class<?>> classes = resourceFinder.findAllClasses("java.io.Serializable");
         assertEquals("size", 1, classes.size());
         assertEquals(One.class, classes.get(0));
 
@@ -170,7 +170,7 @@ public class ResourceFinderTest extends 
     }
 
     public void testFindAvailableClasses() throws Exception {
-        List<Class> classes = resourceFinder.findAvailableClasses("java.io.Serializable");
+        List<Class<?>> classes = resourceFinder.findAvailableClasses("java.io.Serializable");
         assertEquals("size", 1, classes.size());
         assertEquals(One.class, classes.get(0));
 
@@ -179,7 +179,7 @@ public class ResourceFinderTest extends 
     }
 
     public void testMapAllClasses() throws Exception {
-        Map<String, Class> resourcesMap = resourceFinder.mapAllClasses("serializables");
+        Map<String, Class<?>> resourcesMap = resourceFinder.mapAllClasses("serializables");
 
         assertEquals("map size", 3, resourcesMap.size());
         assertTrue("map contains key 'one'", resourcesMap.containsKey("one"));
@@ -202,7 +202,7 @@ public class ResourceFinderTest extends 
     }
 
     public void testMapAvailableClasses() throws Exception {
-        Map<String, Class> resourcesMap = resourceFinder.mapAvailableClasses("externalizables");
+        Map<String, Class<?>> resourcesMap = resourceFinder.mapAvailableClasses("externalizables");
 
         assertEquals("map size", 2, resourcesMap.size());
         assertTrue("map contains key 'one'", resourcesMap.containsKey("one"));
@@ -233,7 +233,7 @@ public class ResourceFinderTest extends 
     }
 
     public void testFindAllImplementations() throws Exception {
-        List<Class> classes = resourceFinder.findAllImplementations(java.io.Serializable.class);
+        List<Class<? extends java.io.Serializable>> classes = resourceFinder.findAllImplementations(java.io.Serializable.class);
         assertEquals("size", 1, classes.size());
         assertEquals(One.class, classes.get(0));
 
@@ -247,7 +247,7 @@ public class ResourceFinderTest extends 
     }
 
     public void testMapAllImplementations() throws Exception {
-        Map<String, Class> resourcesMap = resourceFinder.mapAllImplementations(javax.naming.spi.ObjectFactory.class);
+        Map<String, Class<? extends javax.naming.spi.ObjectFactory>> resourcesMap = resourceFinder.mapAllImplementations(javax.naming.spi.ObjectFactory.class);
 
         assertEquals("map size", 3, resourcesMap.size());
         assertTrue("map contains key 'java'", resourcesMap.containsKey("java"));
@@ -270,7 +270,7 @@ public class ResourceFinderTest extends 
     }
 
     public void testMapAvailableImplementations() throws Exception {
-        Map<String, Class> resourcesMap = resourceFinder.mapAvailableImplementations(java.net.URLStreamHandler.class);
+        Map<String, Class<? extends java.net.URLStreamHandler>> resourcesMap = resourceFinder.mapAvailableImplementations(java.net.URLStreamHandler.class);
 
         assertEquals("map size", 2, resourcesMap.size());
         assertTrue("map contains key 'bar'", resourcesMap.containsKey("bar"));