[jboss-cvs] JBossAS SVN: r57693 - in projects/aop/trunk/aop/src: main/org/jboss/aop/annotation test/org/jboss/test/aop/instanceofannotated
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Tue Oct 17 12:50:24 EDT 2006
Author: kabir.khan at jboss.com
Date: 2006-10-17 12:50:20 -0400 (Tue, 17 Oct 2006)
New Revision: 57693
Modified:
projects/aop/trunk/aop/src/main/org/jboss/aop/annotation/PortableAnnotationElement.java
projects/aop/trunk/aop/src/test/org/jboss/test/aop/instanceofannotated/AnnotatedSuperClass.java
projects/aop/trunk/aop/src/test/org/jboss/test/aop/instanceofannotated/Annotation.java
projects/aop/trunk/aop/src/test/org/jboss/test/aop/instanceofannotated/Introduced.java
projects/aop/trunk/aop/src/test/org/jboss/test/aop/instanceofannotated/IntroducedPOJO.java
projects/aop/trunk/aop/src/test/org/jboss/test/aop/instanceofannotated/Type.java
Log:
[JBAOP-254] Fix one of the failing tests
Modified: projects/aop/trunk/aop/src/main/org/jboss/aop/annotation/PortableAnnotationElement.java
===================================================================
--- projects/aop/trunk/aop/src/main/org/jboss/aop/annotation/PortableAnnotationElement.java 2006-10-17 15:30:53 UTC (rev 57692)
+++ projects/aop/trunk/aop/src/main/org/jboss/aop/annotation/PortableAnnotationElement.java 2006-10-17 16:50:20 UTC (rev 57693)
@@ -214,21 +214,38 @@
public static boolean isAnyAnnotationPresent(CtClass clazz, String annotation) throws Exception
{
- if (clazz == CtClass.voidType) return false;
- ClassFile cf = clazz.getClassFile2();
- AnnotationsAttribute visible = (AnnotationsAttribute) cf.getAttribute(AnnotationsAttribute.visibleTag);
- if (visible != null)
+ try
{
- if (visible.getAnnotation(annotation) != null) return true;
+ if (clazz == CtClass.voidType) return false;
+
+ CtClass theClass = clazz;
+ while(theClass.isArray())
+ {
+ theClass = theClass.getComponentType();
+ }
+
+ if (theClass.isPrimitive()) return false;
+
+ ClassFile cf = theClass.getClassFile2();
+ AnnotationsAttribute visible = (AnnotationsAttribute) cf.getAttribute(AnnotationsAttribute.visibleTag);
+ if (visible != null)
+ {
+ if (visible.getAnnotation(annotation) != null) return true;
+ }
+
+ AnnotationsAttribute invisible = (AnnotationsAttribute) cf.getAttribute(AnnotationsAttribute.invisibleTag);
+ if (invisible != null)
+ {
+ if (invisible.getAnnotation(annotation) != null) return true;
+ }
+
+ return false;
}
-
- AnnotationsAttribute invisible = (AnnotationsAttribute) cf.getAttribute(AnnotationsAttribute.invisibleTag);
- if (invisible != null)
+ catch (RuntimeException e)
{
- if (invisible.getAnnotation(annotation) != null) return true;
+ String name = (clazz != null) ? clazz.getName() : null;
+ throw new RuntimeException("Error looking for " + annotation + " in " + clazz.getName(), e);
}
-
- return false;
}
public static boolean isAnyAnnotationPresent(Class clazz, String annotation) throws Exception
Modified: projects/aop/trunk/aop/src/test/org/jboss/test/aop/instanceofannotated/AnnotatedSuperClass.java
===================================================================
--- projects/aop/trunk/aop/src/test/org/jboss/test/aop/instanceofannotated/AnnotatedSuperClass.java 2006-10-17 15:30:53 UTC (rev 57692)
+++ projects/aop/trunk/aop/src/test/org/jboss/test/aop/instanceofannotated/AnnotatedSuperClass.java 2006-10-17 16:50:20 UTC (rev 57693)
@@ -25,8 +25,8 @@
*
* @author <a href="mailto:kabir.khan at jboss.org">Kabir Khan</a>
* @version $Revision$
- * @@org.jboss.test.aop.instanceofannotated.ClassAnnotation
*/
+ at ClassAnnotation
public class AnnotatedSuperClass
{
public int superClassMethod()
Modified: projects/aop/trunk/aop/src/test/org/jboss/test/aop/instanceofannotated/Annotation.java
===================================================================
--- projects/aop/trunk/aop/src/test/org/jboss/test/aop/instanceofannotated/Annotation.java 2006-10-17 15:30:53 UTC (rev 57692)
+++ projects/aop/trunk/aop/src/test/org/jboss/test/aop/instanceofannotated/Annotation.java 2006-10-17 16:50:20 UTC (rev 57693)
@@ -21,12 +21,18 @@
*/
package org.jboss.test.aop.instanceofannotated;
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
/**
*
* @author <a href="mailto:kabir.khan at jboss.org">Kabir Khan</a>
* @version $Revision$
*/
-public interface Annotation
+ at Target({ElementType.TYPE})@Retention(RetentionPolicy.RUNTIME)
+public @interface Annotation
{
}
Modified: projects/aop/trunk/aop/src/test/org/jboss/test/aop/instanceofannotated/Introduced.java
===================================================================
--- projects/aop/trunk/aop/src/test/org/jboss/test/aop/instanceofannotated/Introduced.java 2006-10-17 15:30:53 UTC (rev 57692)
+++ projects/aop/trunk/aop/src/test/org/jboss/test/aop/instanceofannotated/Introduced.java 2006-10-17 16:50:20 UTC (rev 57693)
@@ -31,7 +31,7 @@
* @author <a href="mailto:kabir.khan at jboss.org">Kabir Khan</a>
* @version $Revision$
*/
- at Target({ElementType.TYPE})@Retention(RetentionPolicy.RUNTIME)
+ at Target({ElementType.TYPE, ElementType.CONSTRUCTOR}) @Retention(RetentionPolicy.RUNTIME)
public @interface Introduced
{
}
Modified: projects/aop/trunk/aop/src/test/org/jboss/test/aop/instanceofannotated/IntroducedPOJO.java
===================================================================
--- projects/aop/trunk/aop/src/test/org/jboss/test/aop/instanceofannotated/IntroducedPOJO.java 2006-10-17 15:30:53 UTC (rev 57692)
+++ projects/aop/trunk/aop/src/test/org/jboss/test/aop/instanceofannotated/IntroducedPOJO.java 2006-10-17 16:50:20 UTC (rev 57693)
@@ -25,8 +25,8 @@
*
* @author <a href="mailto:kabir.khan at jboss.org">Kabir Khan</a>
* @version $Revision$
- * @@org.jboss.test.aop.instanceofannotated.Annotation
*/
+ at Annotation
public class IntroducedPOJO
{
public Type field;
Modified: projects/aop/trunk/aop/src/test/org/jboss/test/aop/instanceofannotated/Type.java
===================================================================
--- projects/aop/trunk/aop/src/test/org/jboss/test/aop/instanceofannotated/Type.java 2006-10-17 15:30:53 UTC (rev 57692)
+++ projects/aop/trunk/aop/src/test/org/jboss/test/aop/instanceofannotated/Type.java 2006-10-17 16:50:20 UTC (rev 57693)
@@ -25,8 +25,8 @@
*
* @author <a href="mailto:kabir.khan at jboss.org">Kabir Khan</a>
* @version $Revision$
- * @@org.jboss.test.aop.instanceofannotated.TypeAnnotation
*/
+ at TypeAnnotation
public class Type extends SuperType
{
public Type(int i)
More information about the jboss-cvs-commits
mailing list