You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@deltaspike.apache.org by st...@apache.org on 2012/06/14 10:34:46 UTC

[2/2] git commit: DELTASPIKE-196 move extractAnnotation to BeanUtils

DELTASPIKE-196 move extractAnnotation to BeanUtils

this might get reused in other code as well


Project: http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/commit/4279d2ba
Tree: http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/tree/4279d2ba
Diff: http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/diff/4279d2ba

Branch: refs/heads/master
Commit: 4279d2ba5f30d7b0e8aad94642096473262ae8cb
Parents: 1c63546
Author: Mark Struberg <st...@apache.org>
Authored: Thu Jun 14 09:56:28 2012 +0200
Committer: Mark Struberg <st...@apache.org>
Committed: Thu Jun 14 09:56:28 2012 +0200

----------------------------------------------------------------------
 .../spi/config/BaseConfigPropertyProducer.java     |   22 ++----------
 .../org/apache/deltaspike/core/util/BeanUtils.java |   28 +++++++++++++++
 2 files changed, 31 insertions(+), 19 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/4279d2ba/deltaspike/core/api/src/main/java/org/apache/deltaspike/core/spi/config/BaseConfigPropertyProducer.java
----------------------------------------------------------------------
diff --git a/deltaspike/core/api/src/main/java/org/apache/deltaspike/core/spi/config/BaseConfigPropertyProducer.java b/deltaspike/core/api/src/main/java/org/apache/deltaspike/core/spi/config/BaseConfigPropertyProducer.java
index f0bdfa2..c13b6bf 100644
--- a/deltaspike/core/api/src/main/java/org/apache/deltaspike/core/spi/config/BaseConfigPropertyProducer.java
+++ b/deltaspike/core/api/src/main/java/org/apache/deltaspike/core/spi/config/BaseConfigPropertyProducer.java
@@ -18,12 +18,13 @@
  */
 package org.apache.deltaspike.core.spi.config;
 
-import javax.enterprise.inject.spi.Annotated;
 import javax.enterprise.inject.spi.InjectionPoint;
+
 import java.lang.annotation.Annotation;
 
 import org.apache.deltaspike.core.api.config.ConfigResolver;
 import org.apache.deltaspike.core.api.config.annotation.ConfigProperty;
+import org.apache.deltaspike.core.util.BeanUtils;
 
 /**
  * This contains the fundamental parts for implementing own
@@ -70,23 +71,6 @@ public abstract class BaseConfigPropertyProducer
      */
     protected <T extends Annotation> T getAnnotation(InjectionPoint injectionPoint, Class<T> targetType)
     {
-        Annotated annotated = injectionPoint.getAnnotated();
-
-        T result = annotated.getAnnotation(targetType);
-
-        if (result == null)
-        {
-            for (Annotation annotation : annotated.getAnnotations())
-            {
-                result = annotation.annotationType().getAnnotation(targetType);
-
-                if (result != null)
-                {
-                    break;
-                }
-            }
-        }
-
-        return result;
+        return BeanUtils.extractAnnotation(injectionPoint.getAnnotated(), targetType);
     }
 }

http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/4279d2ba/deltaspike/core/api/src/main/java/org/apache/deltaspike/core/util/BeanUtils.java
----------------------------------------------------------------------
diff --git a/deltaspike/core/api/src/main/java/org/apache/deltaspike/core/util/BeanUtils.java b/deltaspike/core/api/src/main/java/org/apache/deltaspike/core/util/BeanUtils.java
index b890b43..bf7c0a4 100644
--- a/deltaspike/core/api/src/main/java/org/apache/deltaspike/core/util/BeanUtils.java
+++ b/deltaspike/core/api/src/main/java/org/apache/deltaspike/core/util/BeanUtils.java
@@ -21,6 +21,7 @@ package org.apache.deltaspike.core.util;
 import org.apache.deltaspike.core.util.metadata.builder.ImmutableInjectionPoint;
 
 import javax.enterprise.inject.Typed;
+import javax.enterprise.inject.spi.Annotated;
 import javax.enterprise.inject.spi.AnnotatedMethod;
 import javax.enterprise.inject.spi.AnnotatedParameter;
 import javax.enterprise.inject.spi.Bean;
@@ -93,6 +94,33 @@ public abstract class BeanUtils
     }
 
     /**
+     * @param annotated element to search in
+     * @param targetType target type to search for
+     * @param <T> type of the Annotation which get searched
+     * @return annotation instance extracted from the annotated member
+     */
+    public static <T extends Annotation> T extractAnnotation(Annotated annotated, Class<T> targetType)
+    {
+        T result = annotated.getAnnotation(targetType);
+
+        if (result == null)
+        {
+            for (Annotation annotation : annotated.getAnnotations())
+            {
+                result = annotation.annotationType().getAnnotation(targetType);
+
+                if (result != null)
+                {
+                    break;
+                }
+            }
+        }
+
+        return result;
+    }
+
+
+    /**
      * Given a method, and the bean on which the method is declared, create a
      * collection of injection points representing the parameters of the method.
      *