Camel CDI: fix compatibility with CDI 2.0

Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/c1a3820d
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/c1a3820d
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/c1a3820d

Branch: refs/heads/master
Commit: c1a3820d9a8561f831309fc76ecdd3786f791a54
Parents: 7b4feda
Author: Antonin Stefanutti <anto...@stefanutti.fr>
Authored: Tue Dec 27 21:55:34 2016 +0100
Committer: Antonin Stefanutti <anto...@stefanutti.fr>
Committed: Tue Dec 27 22:04:35 2016 +0100

----------------------------------------------------------------------
 .../org/apache/camel/cdi/AnnotatedDelegate.java  | 19 ++++++++++---------
 .../org/apache/camel/cdi/SyntheticAnnotated.java | 15 +++++++++------
 2 files changed, 19 insertions(+), 15 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/c1a3820d/components/camel-cdi/src/main/java/org/apache/camel/cdi/AnnotatedDelegate.java
----------------------------------------------------------------------
diff --git 
a/components/camel-cdi/src/main/java/org/apache/camel/cdi/AnnotatedDelegate.java
 
b/components/camel-cdi/src/main/java/org/apache/camel/cdi/AnnotatedDelegate.java
index 53f3d0e..25f83ed 100644
--- 
a/components/camel-cdi/src/main/java/org/apache/camel/cdi/AnnotatedDelegate.java
+++ 
b/components/camel-cdi/src/main/java/org/apache/camel/cdi/AnnotatedDelegate.java
@@ -20,6 +20,8 @@ import java.lang.annotation.Annotation;
 import java.lang.reflect.Type;
 import java.util.HashSet;
 import java.util.Set;
+import static java.util.stream.Collectors.toSet;
+
 import javax.enterprise.inject.spi.Annotated;
 
 import static org.apache.camel.cdi.CdiSpiHelper.isAnnotationType;
@@ -40,46 +42,45 @@ class AnnotatedDelegate implements Annotated {
         this.annotations = delegate.getAnnotations();
     }
 
-    @Override
     public <T extends Annotation> T getAnnotation(Class<T> type) {
         return annotations.stream()
             .filter(isAnnotationType(type))
-            .findAny()
+            .findFirst()
             .map(type::cast)
             .orElse(null);
     }
 
-    @Override
+    public <T extends Annotation> Set<T> getAnnotations(Class<T> type) {
+        return annotations.stream()
+            .filter(isAnnotationType(type))
+            .map(type::cast)
+            .collect(toSet());
+    }
+
     public Set<Annotation> getAnnotations() {
         return annotations;
     }
 
-    @Override
     public Type getBaseType() {
         return delegate.getBaseType();
     }
 
-    @Override
     public Set<Type> getTypeClosure() {
         return delegate.getTypeClosure();
     }
 
-    @Override
     public boolean isAnnotationPresent(Class<? extends Annotation> type) {
         return annotations.stream().anyMatch(isAnnotationType(type));
     }
 
-    @Override
     public String toString() {
         return delegate.toString();
     }
     
-    @Override
     public int hashCode() {
         return delegate.hashCode();
     }
     
-    @Override
     public boolean equals(Object object) {
         return delegate.equals(object);
     }

http://git-wip-us.apache.org/repos/asf/camel/blob/c1a3820d/components/camel-cdi/src/main/java/org/apache/camel/cdi/SyntheticAnnotated.java
----------------------------------------------------------------------
diff --git 
a/components/camel-cdi/src/main/java/org/apache/camel/cdi/SyntheticAnnotated.java
 
b/components/camel-cdi/src/main/java/org/apache/camel/cdi/SyntheticAnnotated.java
index 0faafde..9afa412 100644
--- 
a/components/camel-cdi/src/main/java/org/apache/camel/cdi/SyntheticAnnotated.java
+++ 
b/components/camel-cdi/src/main/java/org/apache/camel/cdi/SyntheticAnnotated.java
@@ -24,6 +24,7 @@ import java.util.Set;
 
 import static java.util.Arrays.asList;
 import static java.util.Collections.unmodifiableSet;
+import static java.util.stream.Collectors.toSet;
 
 import javax.enterprise.inject.spi.Annotated;
 
@@ -52,31 +53,33 @@ final class SyntheticAnnotated implements Annotated {
         annotations.add(annotation);
     }
 
-    @Override
     public Type getBaseType() {
         return type;
     }
 
-    @Override
     public Set<Type> getTypeClosure() {
         return unmodifiableSet(types);
     }
 
-    @Override
     public Set<Annotation> getAnnotations() {
         return unmodifiableSet(annotations);
     }
 
-    @Override
     public <T extends Annotation> T getAnnotation(Class<T> type) {
         return annotations.stream()
             .filter(isAnnotationType(type))
-            .findAny()
+            .findFirst()
             .map(type::cast)
             .orElse(null);
     }
 
-    @Override
+    public <T extends Annotation> Set<T> getAnnotations(Class<T> type) {
+        return annotations.stream()
+            .filter(isAnnotationType(type))
+            .map(type::cast)
+            .collect(toSet());
+    }
+
     public boolean isAnnotationPresent(Class<? extends Annotation> type) {
         return annotations.stream().anyMatch(isAnnotationType(type));
     }

Reply via email to