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.
*