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()); } //------------------------------------------------------------------------------------------------------------------