[jboss-cvs] JBossAS SVN: r93347 - projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/aop/annotation.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Thu Sep 10 05:53:30 EDT 2009


Author: wolfc
Date: 2009-09-10 05:53:29 -0400 (Thu, 10 Sep 2009)
New Revision: 93347

Modified:
   projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/aop/annotation/CachingAnnotationRepository.java
Log:
EJBTHREE-1914: fixed initializing class annotations

Modified: projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/aop/annotation/CachingAnnotationRepository.java
===================================================================
--- projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/aop/annotation/CachingAnnotationRepository.java	2009-09-10 09:44:08 UTC (rev 93346)
+++ projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/aop/annotation/CachingAnnotationRepository.java	2009-09-10 09:53:29 UTC (rev 93347)
@@ -21,12 +21,14 @@
  */
 package org.jboss.ejb3.aop.annotation;
 
+import java.lang.annotation.Annotation;
 import java.lang.reflect.Member;
 import java.util.Map;
 import java.util.concurrent.ConcurrentHashMap;
 
 import javassist.CtMember;
 
+import org.jboss.annotation.factory.AnnotationCreator;
 import org.jboss.aop.annotation.AnnotationRepository;
 import org.jboss.logging.Logger;
 
@@ -99,7 +101,7 @@
    @Override
    public void addClassAnnotation(String annotation, String value)
    {
-      delegate.addClassAnnotation(annotation, value);
+      addClassAnnotation(loadClass(annotation), initAnnotation(value));
    }
    
    @Override
@@ -178,6 +180,23 @@
    {
       return hasClassAnnotation(loadClass(annotation));
    }
+
+   // See AnnotationRepositoryToMetaData.initAnnotation
+   protected Annotation initAnnotation(String annotationValue)
+   {
+      try
+      {
+         return (Annotation) AnnotationCreator.createAnnotation(annotationValue, classLoader);
+      }
+      catch (RuntimeException e)
+      {
+         throw e;
+      }
+      catch (Exception e)
+      {
+         throw new RuntimeException("Error creating annotation: " + annotationValue, e);
+      }
+   }
    
    @Override
    public boolean isDisabled(Class annotation)




More information about the jboss-cvs-commits mailing list