]> source.dussan.org Git - sonarqube.git/commitdiff
Fix loading of extensions which extend abstract classes
authorSimon Brandhof <simon.brandhof@gmail.com>
Thu, 23 Jun 2011 09:16:19 +0000 (11:16 +0200)
committerSimon Brandhof <simon.brandhof@gmail.com>
Thu, 23 Jun 2011 09:16:19 +0000 (11:16 +0200)
sonar-plugin-api/src/main/java/org/sonar/api/utils/AnnotationUtils.java
sonar-plugin-api/src/test/java/org/sonar/api/utils/AnnotationUtilsTest.java

index 7afb1120c945b5ff4cc9b8ebce7757b233cb735e..64c51571880c0df2e733edccba4f7564f9f9d96f 100644 (file)
  */
 package org.sonar.api.utils;
 
+import org.apache.commons.lang.ClassUtils;
+
+import java.util.List;
+
 /**
  * A utility class for annotations
  *
@@ -42,7 +46,7 @@ public final class AnnotationUtils {
     }
 
     if (result==null) {
-      Class[] interfaces = initialClass.getInterfaces();
+      List<Class> interfaces = ClassUtils.getAllInterfaces(initialClass);
       for (Class anInterface : interfaces) {
         result = (A)anInterface.getAnnotation(annotationClass);
         if (result!=null) {
index 55ff0903f1978fd3b9577d0fb692e4e02ba2a34e..4523c004e629d764a49d160cb611843585d6ad70 100644 (file)
@@ -85,6 +85,9 @@ class ChildClass extends SuperClass {
 interface AnnotatedInterface {
 }
 
-class ImplementedClass implements AnnotatedInterface {
+abstract class AbstractClass implements AnnotatedInterface {
+  
+}
+class ImplementedClass extends AbstractClass {
 
 }
\ No newline at end of file