[SPR-3635] [SPR-5039] [SPR-5813] JMX annotation inheritance fixed

git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@1852 50f2f4bb-b051-0410-bef5-90022cba6387
This commit is contained in:
Rob Harrop
2009-09-08 21:37:02 +00:00
parent 54f08aeb88
commit b98d52b16b
10 changed files with 177 additions and 11 deletions
@@ -188,6 +188,22 @@ public class AnnotationUtilsTests {
assertEquals(Ordered.LOWEST_PRECEDENCE, AnnotationUtils.getDefaultValue(Order.class));
}
@Test
public void testFindAnnotationFromInterface() throws Exception {
Method method = ImplementsInterfaceWithAnnotatedMethod.class.getMethod("foo");
Order order = findAnnotation(method, Order.class);
assertNotNull(order);
}
@Test
public void testFindAnnotationFromInterfaceOnSuper() throws Exception {
Method method = SubOfImplementsInterfaceWithAnnotatedMethod.class.getMethod("foo");
Order order = findAnnotation(method, Order.class);
assertNotNull(order);
}
public static interface AnnotatedInterface {
@Order(0)
@@ -286,6 +302,25 @@ public class AnnotationUtilsTests {
public static class SubNonInheritedAnnotationClass extends NonInheritedAnnotationClass {
}
public static interface InterfaceWithAnnotatedMethod {
@Order
void foo();
}
public static class ImplementsInterfaceWithAnnotatedMethod implements InterfaceWithAnnotatedMethod {
public void foo() {
}
}
public static class SubOfImplementsInterfaceWithAnnotatedMethod extends ImplementsInterfaceWithAnnotatedMethod {
public void foo() {
}
}
}
@Retention(RetentionPolicy.RUNTIME)