This is an automated email from the ASF dual-hosted git repository.

jamesbognar pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/juneau.git


The following commit(s) were added to refs/heads/master by this push:
     new 04d21fb  JUNEAU-197
04d21fb is described below

commit 04d21fbfabf6102448a0b64954dbd28ce62d6ffd
Author: JamesBognar <[email protected]>
AuthorDate: Mon Mar 9 10:14:14 2020 -0400

    JUNEAU-197
    
    @BeanConfig(bpi) does not override @Bean(bpi)
---
 .../main/java/org/apache/juneau/BeanContext.java   | 10 +++----
 .../src/main/java/org/apache/juneau/ClassMeta.java |  6 ++--
 .../main/java/org/apache/juneau/MetaProvider.java  |  9 ------
 .../java/org/apache/juneau/reflect/ClassInfo.java  | 32 ++++++++++++----------
 4 files changed, 25 insertions(+), 32 deletions(-)

diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanContext.java 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanContext.java
index f150967..53fb413 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanContext.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanContext.java
@@ -3291,11 +3291,11 @@ public class BeanContext extends Context implements 
MetaProvider {
                return (List<A>)aa;
        }
 
-       @Override
-       public <A extends Annotation> A getDeclaredAnnotation(Class<A> a, 
Class<?> c) {
-               List<A> aa = getDeclaredAnnotations(a, c);
-               return aa.isEmpty() ? null : aa.get(0);
-       }
+//     @Override
+//     public <A extends Annotation> A getDeclaredAnnotation(Class<A> a, 
Class<?> c) {
+//             List<A> aa = getDeclaredAnnotations(a, c);
+//             return aa.isEmpty() ? null : aa.get(0);
+//     }
 
        /**
         * Finds the specified declared annotation on the specified class.
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/ClassMeta.java 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/ClassMeta.java
index 69dd88b..2e68f3d 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/ClassMeta.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/ClassMeta.java
@@ -2059,9 +2059,9 @@ public final class ClassMeta<T> implements Type {
         * @param a The annotation to retrieve.
         * @return The specified annotation, or <jk>null</jk> if the class does 
not have the specified annotation.
         */
-       public <A extends Annotation> A getDeclaredAnnotation(Class<A> a) {
-               return info.getDeclaredAnnotation(a, beanContext == null ? 
BeanContext.DEFAULT : beanContext);
-       }
+//     public <A extends Annotation> A getDeclaredAnnotation(Class<A> a) {
+//             return info.getDeclaredAnnotation(a, beanContext == null ? 
BeanContext.DEFAULT : beanContext);
+//     }
 
        /**
         * Returns all annotations of the specified type defined on the 
specified class or parent classes/interfaces in parent-to-child order.
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/MetaProvider.java 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/MetaProvider.java
index 2f9b878..65339f3 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/MetaProvider.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/MetaProvider.java
@@ -68,12 +68,6 @@ public interface MetaProvider {
                }
 
                @Override
-               public <A extends Annotation> A getDeclaredAnnotation(Class<A> 
a, Class<?> c) {
-                       List<A> l = getAnnotations(a, c);
-                       return l.isEmpty() ? null : l.get(0);
-               }
-
-               @Override
                public <A extends Annotation> A getAnnotation(Class<A> a, 
Method m) {
                        List<A> l = getAnnotations(a, m);
                        return l.isEmpty() ? null : l.get(0);
@@ -112,9 +106,6 @@ public interface MetaProvider {
         */
        <A extends Annotation> List<A> getDeclaredAnnotations(Class<A> a, 
Class<?> c);
 
-       // TEMPORARY
-       <A extends Annotation> A getDeclaredAnnotation(Class<A> a, Class<?> c);
-
        /**
         * Finds the specified annotation on the specified method.
         *
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/reflect/ClassInfo.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/reflect/ClassInfo.java
index 488c011..7b03f78 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/reflect/ClassInfo.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/reflect/ClassInfo.java
@@ -949,7 +949,7 @@ public final class ClassInfo {
                }
                return allFields;
        }
-       
+
        private FieldInfo[] _getAllFieldsParentFirst() {
                if (allFieldsParentFirst == null) {
                        List<FieldInfo> l = new ArrayList<>();
@@ -1038,9 +1038,9 @@ public final class ClassInfo {
         * @param mp The meta provider for looking up annotations on reflection 
objects (classes, methods, fields, constructors).
         * @return The annotation, or <jk>null</jk> if not found.
         */
-       public <T extends Annotation> T getDeclaredAnnotation(Class<T> a, 
MetaProvider mp) {
-               return mp.getDeclaredAnnotation(a, c);
-       }
+//     public <T extends Annotation> T getDeclaredAnnotation(Class<T> a, 
MetaProvider mp) {
+//             return mp.getDeclaredAnnotation(a, c);
+//     }
 
        /**
         * Returns the specified annotation only if it's been declared on the 
package of this class.
@@ -1199,9 +1199,11 @@ public final class ClassInfo {
        public <T extends Annotation> List<T> appendAnnotations(List<T> l, 
Class<T> a, MetaProvider mp) {
                addIfNotNull(l, getPackageAnnotation(a));
                for (ClassInfo ci : getInterfacesParentFirst())
-                       addIfNotNull(l, mp.getDeclaredAnnotation(a, 
ci.inner()));
+                       for (T t : mp.getDeclaredAnnotations(a, ci.inner()))
+                               l.add(t);
                for (ClassInfo ci : getParentsParentFirst())
-                       addIfNotNull(l, mp.getDeclaredAnnotation(a, 
ci.inner()));
+                       for (T t : mp.getDeclaredAnnotations(a, ci.inner()))
+                               l.add(t);
                return l;
        }
 
@@ -1275,21 +1277,21 @@ public final class ClassInfo {
                if (a == null)
                        return null;
 
-               T t2 = mp.getDeclaredAnnotation(a, c);
-               if (t2 != null)
-                       return t2;
+               for (T t : mp.getDeclaredAnnotations(a, c))
+                       return t;
 
+               T t;
                ClassInfo sci = getParent();
                if (sci != null) {
-                       t2 = sci.getLastAnnotation(a, mp);
-                       if (t2 != null)
-                               return t2;
+                       t = sci.getLastAnnotation(a, mp);
+                       if (t != null)
+                               return t;
                }
 
                for (ClassInfo c2 : getInterfacesChildFirst()) {
-                       t2 = c2.getLastAnnotation(a, mp);
-                       if (t2 != null)
-                               return t2;
+                       t = c2.getLastAnnotation(a, mp);
+                       if (t != null)
+                               return t;
                }
 
                return null;

Reply via email to