Author: rmannibucau
Date: Thu Feb 8 09:43:56 2018
New Revision: 1823541
URL: http://svn.apache.org/viewvc?rev=1823541&view=rev
Log:
AnnotatedTypeWrapper signature changed in OWB, fixing
Modified:
openwebbeans/meecrowave/trunk/meecrowave-core/src/main/java/org/apache/meecrowave/openwebbeans/MeecrowaveExtension.java
Modified:
openwebbeans/meecrowave/trunk/meecrowave-core/src/main/java/org/apache/meecrowave/openwebbeans/MeecrowaveExtension.java
URL:
http://svn.apache.org/viewvc/openwebbeans/meecrowave/trunk/meecrowave-core/src/main/java/org/apache/meecrowave/openwebbeans/MeecrowaveExtension.java?rev=1823541&r1=1823540&r2=1823541&view=diff
==============================================================================
---
openwebbeans/meecrowave/trunk/meecrowave-core/src/main/java/org/apache/meecrowave/openwebbeans/MeecrowaveExtension.java
(original)
+++
openwebbeans/meecrowave/trunk/meecrowave-core/src/main/java/org/apache/meecrowave/openwebbeans/MeecrowaveExtension.java
Thu Feb 8 09:43:56 2018
@@ -18,9 +18,10 @@
*/
package org.apache.meecrowave.openwebbeans;
-import org.apache.meecrowave.cxf.JAXRSFieldInjectionInterceptor;
-import org.apache.meecrowave.cxf.MeecrowaveBus;
-import org.apache.webbeans.container.AnnotatedTypeWrapper;
+import java.lang.annotation.Annotation;
+import java.util.HashSet;
+import java.util.Set;
+import java.util.stream.Stream;
import javax.enterprise.event.Observes;
import javax.enterprise.inject.spi.AnnotatedType;
@@ -29,12 +30,14 @@ import javax.enterprise.inject.spi.Befor
import javax.enterprise.inject.spi.Extension;
import javax.enterprise.inject.spi.ProcessAnnotatedType;
import javax.ws.rs.Path;
-import java.lang.annotation.Annotation;
-import java.util.HashSet;
-import java.util.Set;
-import java.util.stream.Stream;
+
+import org.apache.meecrowave.cxf.JAXRSFieldInjectionInterceptor;
+import org.apache.meecrowave.cxf.MeecrowaveBus;
+import org.apache.webbeans.container.AnnotatedTypeWrapper;
+import org.apache.webbeans.portable.AnnotatedElementFactory;
public class MeecrowaveExtension implements Extension {
+
void addBeansFromJava(@Observes final BeforeBeanDiscovery bbd, final
BeanManager bm) {
// stream not really needed but here for the pattern in case we need
other beans
Stream.of(MeecrowaveBus.class).forEach(type ->
bbd.addAnnotatedType(bm.createAnnotatedType(type)));
@@ -49,10 +52,13 @@ public class MeecrowaveExtension impleme
}
private static class JAXRSFIeldInjectionAT<T> extends
AnnotatedTypeWrapper<T> {
+
private final Set<Annotation> annotations;
private JAXRSFIeldInjectionAT(final Extension extension, final
AnnotatedType<T> original) {
- super(extension, original);
+ super(extension, original,
+ AnnotatedTypeWrapper.class.isInstance(original) ?
AnnotatedTypeWrapper.class.cast(original).getId()
+ : getDefaultId(extension, original));
this.annotations = new HashSet<>(original.getAnnotations().size()
+ 1);
this.annotations.addAll(original.getAnnotations());
this.annotations.add(JAXRSFieldInjectionInterceptor.Binding.INSTANCE);
@@ -65,12 +71,18 @@ public class MeecrowaveExtension impleme
@Override
public <T1 extends Annotation> T1 getAnnotation(final Class<T1>
t1Class) {
- return t1Class == JAXRSFieldInjectionInterceptor.Binding.class ?
t1Class.cast(JAXRSFieldInjectionInterceptor.Binding.INSTANCE) :
super.getAnnotation(t1Class);
+ return t1Class == JAXRSFieldInjectionInterceptor.Binding.class
+ ?
t1Class.cast(JAXRSFieldInjectionInterceptor.Binding.INSTANCE)
+ : super.getAnnotation(t1Class);
}
@Override
public boolean isAnnotationPresent(final Class<? extends Annotation>
aClass) {
return JAXRSFieldInjectionInterceptor.Binding.class == aClass ||
super.isAnnotationPresent(aClass);
}
+
+ private static <T> String getDefaultId(final Extension extension,
final AnnotatedType<T> original) {
+ return extension.getClass().getName() + original +
AnnotatedElementFactory.OWB_DEFAULT_KEY;
+ }
}
}