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 3d41274  BeanStore refactoring.
3d41274 is described below

commit 3d41274354e3c37d065d6e2c048900074134c4af
Author: JamesBognar <james.bog...@salesforce.com>
AuthorDate: Sat Jan 22 17:16:52 2022 -0500

    BeanStore refactoring.
---
 .../java/org/apache/juneau/internal/DateUtils.java |  2 +-
 .../java/org/apache/juneau/reflect/ClassInfo.java  | 47 ++--------------------
 .../apache/juneau/reflection/ClassInfoTest.java    | 12 +++---
 .../apache/juneau/reflection/FieldInfoTest.java    | 28 ++++++-------
 .../apache/juneau/rest/client/RestClient_Test.java |  6 +--
 5 files changed, 28 insertions(+), 67 deletions(-)

diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/internal/DateUtils.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/internal/DateUtils.java
index a654aae..047c090 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/internal/DateUtils.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/internal/DateUtils.java
@@ -222,7 +222,7 @@ public final class DateUtils {
                if (isEmpty(pattern))
                        return DateTimeFormatter.ISO_INSTANT;
                try {
-                       FieldInfo fi = 
ClassInfo.of(DateTimeFormatter.class).getStaticPublicField(pattern);
+                       FieldInfo fi = 
ClassInfo.of(DateTimeFormatter.class).getPublicField(x -> x.isStatic() && 
x.hasName(pattern));
                        if (fi != null)
                                return (DateTimeFormatter)fi.inner().get(null);
                        return DateTimeFormatter.ofPattern(pattern);
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 45eeb83..cc52b7a 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
@@ -755,27 +755,14 @@ public final class ClassInfo {
        }
 
        /**
-        * Returns the public field with the specified name.
+        * Returns the public field that passes the specified predicate.
         *
-        * @param name The field name.
+        * @param predicate The predicate to test against.
         * @return The public field, or <jk>null</jk> if not found.
         */
-       public FieldInfo getPublicField(String name) {
+       public FieldInfo getPublicField(Predicate<FieldInfo> predicate) {
                for (FieldInfo f : _getPublicFields())
-                       if (f.getName().equals(name))
-                               return f;
-               return null;
-       }
-
-       /**
-        * Returns the declared field with the specified name.
-        *
-        * @param name The field name.
-        * @return The declared field, or <jk>null</jk> if not found.
-        */
-       public FieldInfo getDeclaredField(String name) {
-               for (FieldInfo f : _getDeclaredFields())
-                       if (f.getName().equals(name))
+                       if (predicate.test(f))
                                return f;
                return null;
        }
@@ -793,32 +780,6 @@ public final class ClassInfo {
                return null;
        }
 
-       /**
-        * Returns the static public field with the specified name.
-        *
-        * @param name The field name.
-        * @return The public field, or <jk>null</jk> if not found.
-        */
-       public FieldInfo getStaticPublicField(String name) {
-               for (FieldInfo f : _getPublicFields())
-                       if (f.isStatic() && f.getName().equals(name))
-                               return f;
-               return null;
-       }
-
-       /**
-        * Returns the static public field with the specified name.
-        *
-        * @param name The field name.
-        * @return The public field, or <jk>null</jk> if not found.
-        */
-       public Field getStaticPublicFieldInner(String name) {
-               for (FieldInfo f : _getPublicFields())
-                       if (f.isStatic() && f.getName().equals(name))
-                               return f.inner();
-               return null;
-       }
-
        private List<FieldInfo> _appendDeclaredFields(List<FieldInfo> l) {
                for (FieldInfo f : _getDeclaredFields())
                        l.add(f);
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/reflection/ClassInfoTest.java 
b/juneau-utest/src/test/java/org/apache/juneau/reflection/ClassInfoTest.java
index 62c735c..4ac4b4d 100644
--- a/juneau-utest/src/test/java/org/apache/juneau/reflection/ClassInfoTest.java
+++ b/juneau-utest/src/test/java/org/apache/juneau/reflection/ClassInfoTest.java
@@ -582,16 +582,16 @@ public class ClassInfoTest {
 
        @Test
        public void getPublicField() {
-               check("F3.a1", f3.getPublicField("a1"));
-               check(null, f3.getPublicField("a2"));
-               check(null, f3.getPublicField("a3"));
+               check("F3.a1", f3.getPublicField(x -> x.hasName("a1")));
+               check(null, f3.getPublicField(x -> x.hasName("a2")));
+               check(null, f3.getPublicField(x -> x.hasName("a3")));
        }
 
        @Test
        public void getDeclaredField() {
-               check("F3.a1", f3.getDeclaredField("a1"));
-               check("F3.a2", f3.getDeclaredField("a2"));
-               check(null, f3.getDeclaredField("a3"));
+               check("F3.a1", f3.getDeclaredField(x -> x.hasName("a1")));
+               check("F3.a2", f3.getDeclaredField(x -> x.hasName("a2")));
+               check(null, f3.getDeclaredField(x -> x.hasName("a3")));
        }
 
        
//-----------------------------------------------------------------------------------------------------------------
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/reflection/FieldInfoTest.java 
b/juneau-utest/src/test/java/org/apache/juneau/reflection/FieldInfoTest.java
index adca232..6fe1aff 100644
--- a/juneau-utest/src/test/java/org/apache/juneau/reflection/FieldInfoTest.java
+++ b/juneau-utest/src/test/java/org/apache/juneau/reflection/FieldInfoTest.java
@@ -162,14 +162,14 @@ public class FieldInfoTest {
        }
        static ClassInfo c = ClassInfo.of(C.class);
        static FieldInfo
-               c_deprecated = c.getPublicField("deprecated"),
-               c_notDeprecated = c.getPublicField("notDeprecated"),
-               c_isPublic = c.getPublicField("isPublic"),
-               c_isNotPublic = c.getDeclaredField("isNotPublic"),
-               c_isStatic = c.getPublicField("isStatic"),
-               c_isNotStatic = c.getPublicField("isNotStatic"),
-               c_isTransient = c.getPublicField("isTransient"),
-               c_isNotTransient = c.getPublicField("isNotTransient")
+               c_deprecated = c.getPublicField(x -> x.hasName("deprecated")),
+               c_notDeprecated = c.getPublicField(x -> 
x.hasName("notDeprecated")),
+               c_isPublic = c.getPublicField(x -> x.hasName("isPublic")),
+               c_isNotPublic = c.getDeclaredField(x -> 
x.hasName("isNotPublic")),
+               c_isStatic = c.getPublicField(x -> x.hasName("isStatic")),
+               c_isNotStatic = c.getPublicField(x -> x.hasName("isNotStatic")),
+               c_isTransient = c.getPublicField(x -> x.hasName("isTransient")),
+               c_isNotTransient = c.getPublicField(x -> 
x.hasName("isNotTransient"))
        ;
 
        @Test
@@ -296,10 +296,10 @@ public class FieldInfoTest {
        }
        static ClassInfo d = ClassInfo.of(D.class);
        static FieldInfo
-               d_isPublic = d.getPublicField("isPublic"),
-               d_isProtected = d.getDeclaredField("isProtected"),
-               d_isPrivate = d.getDeclaredField("isPrivate"),
-               d_isDefault = d.getDeclaredField("isDefault");
+               d_isPublic = d.getPublicField(x -> x.hasName("isPublic")),
+               d_isProtected = d.getDeclaredField(x -> 
x.hasName("isProtected")),
+               d_isPrivate = d.getDeclaredField(x -> x.hasName("isPrivate")),
+               d_isDefault = d.getDeclaredField(x -> x.hasName("isDefault"));
 
        @Test
        public void setAccessible() {
@@ -343,8 +343,8 @@ public class FieldInfoTest {
 
        static ClassInfo e = ClassInfo.of(E.class);
        static FieldInfo
-               e_a1 = e.getPublicField("a1"),
-               e_a2 = e.getDeclaredField("a2");
+               e_a1 = e.getPublicField(x -> x.hasName("a1")),
+               e_a2 = e.getDeclaredField(x -> x.hasName("a2"));
 
        @Test
        public void getType() {
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/rest/client/RestClient_Test.java 
b/juneau-utest/src/test/java/org/apache/juneau/rest/client/RestClient_Test.java
index 82f952a..3533281 100644
--- 
a/juneau-utest/src/test/java/org/apache/juneau/rest/client/RestClient_Test.java
+++ 
b/juneau-utest/src/test/java/org/apache/juneau/rest/client/RestClient_Test.java
@@ -314,9 +314,9 @@ public class RestClient_Test {
                RestClient x1 = 
RestClient.create().simpleJson().pooled().build();
                RestClient x2 = RestClient.create().simpleJson().build();
                RestClient x3 = client().pooled().build();
-               
assertEquals("PoolingHttpClientConnectionManager",ClassInfo.of(x1.httpClient).getDeclaredField("connManager").accessible().invoke(x1.httpClient).getClass().getSimpleName());
-               
assertEquals("BasicHttpClientConnectionManager",ClassInfo.of(x2.httpClient).getDeclaredField("connManager").accessible().invoke(x2.httpClient).getClass().getSimpleName());
-               
assertEquals("MockHttpClientConnectionManager",ClassInfo.of(x3.httpClient).getDeclaredField("connManager").accessible().invoke(x3.httpClient).getClass().getSimpleName());
+               
assertEquals("PoolingHttpClientConnectionManager",ClassInfo.of(x1.httpClient).getDeclaredField(x
 -> 
x.hasName("connManager")).accessible().invoke(x1.httpClient).getClass().getSimpleName());
+               
assertEquals("BasicHttpClientConnectionManager",ClassInfo.of(x2.httpClient).getDeclaredField(x
 -> 
x.hasName("connManager")).accessible().invoke(x2.httpClient).getClass().getSimpleName());
+               
assertEquals("MockHttpClientConnectionManager",ClassInfo.of(x3.httpClient).getDeclaredField(x
 -> 
x.hasName("connManager")).accessible().invoke(x3.httpClient).getClass().getSimpleName());
        }
 
        
//------------------------------------------------------------------------------------------------------------------

Reply via email to