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 43ec86f4c9 Utility class modernization
43ec86f4c9 is described below

commit 43ec86f4c929a1a95ace52a1ea2816c71ceb925c
Author: James Bognar <[email protected]>
AuthorDate: Thu Nov 6 11:35:40 2025 -0500

    Utility class modernization
---
 .../rest/client/remote/RemoteOperationMeta.java    | 160 +++++++++++++--------
 1 file changed, 98 insertions(+), 62 deletions(-)

diff --git 
a/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/remote/RemoteOperationMeta.java
 
b/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/remote/RemoteOperationMeta.java
index 3795a7670c..3b990a2bbd 100644
--- 
a/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/remote/RemoteOperationMeta.java
+++ 
b/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/remote/RemoteOperationMeta.java
@@ -17,6 +17,7 @@
 package org.apache.juneau.rest.client.remote;
 
 import static org.apache.juneau.common.utils.CollectionUtils.*;
+import static org.apache.juneau.common.utils.PredicateUtils.*;
 import static org.apache.juneau.common.utils.StringUtils.*;
 import static org.apache.juneau.common.utils.Utils.*;
 import static org.apache.juneau.http.remote.RemoteUtils.*;
@@ -144,103 +145,138 @@ public class RemoteOperationMeta {
                // These handle both individual annotations and repeated 
annotation arrays
 
                private void processContentDefaults(MethodInfo mi) {
-                       mi.getAnnotationList().forEach(Content.class, null, x 
-> {
-                               Content c = x.inner();
-                               String def = c.def();
-                               if (isNotEmpty(def)) {
-                                       contentDefault = def;
-                               }
-                       });
-                       
mi.getAnnotationList().forEach(ContentAnnotation.Array.class, null, x -> {
-                               for (var c : x.inner().value()) {
+                       rstream(mi.getAllAnnotationInfos())
+                               .map(x -> x.cast(Content.class))
+                               .filter(notNull())
+                               .map(AnnotationInfo::inner)
+                               .forEach(c -> {
                                        String def = c.def();
                                        if (isNotEmpty(def)) {
                                                contentDefault = def;
                                        }
-                               }
-                       });
+                               });
+                       rstream(mi.getAllAnnotationInfos())
+                               .map(x -> x.cast(ContentAnnotation.Array.class))
+                               .filter(notNull())
+                               .map(AnnotationInfo::inner)
+                               .forEach(x -> {
+                                       for (var c : x.value()) {
+                                               String def = c.def();
+                                               if (isNotEmpty(def)) {
+                                                       contentDefault = def;
+                                               }
+                                       }
+                               });
                }
 
                private static void processFormDataDefaults(MethodInfo mi, 
Map<String,String> defaults) {
-                       mi.getAnnotationList().forEach(FormData.class, null, x 
-> {
-                               FormData fd = x.inner();
-                               String name = firstNonEmpty(fd.name(), 
fd.value());
-                               String def = fd.def();
-                               if (isNotEmpty(name) && isNotEmpty(def)) {
-                                       defaults.put(name, def);
-                               }
-                       });
-                       
mi.getAnnotationList().forEach(FormDataAnnotation.Array.class, null, x -> {
-                               for (var fd : x.inner().value()) {
+                       rstream(mi.getAllAnnotationInfos())
+                               .map(x -> x.cast(FormData.class))
+                               .filter(notNull())
+                               .map(AnnotationInfo::inner)
+                               .forEach(fd -> {
                                        String name = firstNonEmpty(fd.name(), 
fd.value());
                                        String def = fd.def();
                                        if (isNotEmpty(name) && 
isNotEmpty(def)) {
                                                defaults.put(name, def);
                                        }
-                               }
-                       });
+                               });
+                       rstream(mi.getAllAnnotationInfos())
+                               .map(x -> 
x.cast(FormDataAnnotation.Array.class))
+                               .filter(notNull())
+                               .map(AnnotationInfo::inner)
+                               .forEach(x -> {
+                                       for (var fd : x.value()) {
+                                               String name = 
firstNonEmpty(fd.name(), fd.value());
+                                               String def = fd.def();
+                                               if (isNotEmpty(name) && 
isNotEmpty(def)) {
+                                                       defaults.put(name, def);
+                                               }
+                                       }
+                               });
                }
 
                private static void processHeaderDefaults(MethodInfo mi, 
Map<String,String> defaults) {
                        // Check for individual @Header annotations
-                       mi.getAnnotationList().forEach(Header.class, null, x -> 
{
-                               Header h = x.inner();
-                               String name = firstNonEmpty(h.name(), 
h.value());
-                               String def = h.def();
-                               if (isNotEmpty(name) && isNotEmpty(def)) {
-                                       defaults.put(name, def);
-                               }
-                       });
-                       // Check for @Header.Array (repeated annotations)
-                       
mi.getAnnotationList().forEach(HeaderAnnotation.Array.class, null, x -> {
-                               for (var h : x.inner().value()) {
+                       rstream(mi.getAllAnnotationInfos())
+                               .map(x -> x.cast(Header.class))
+                               .filter(notNull())
+                               .map(AnnotationInfo::inner)
+                               .forEach(h -> {
                                        String name = firstNonEmpty(h.name(), 
h.value());
                                        String def = h.def();
                                        if (isNotEmpty(name) && 
isNotEmpty(def)) {
                                                defaults.put(name, def);
                                        }
-                               }
-                       });
+                               });
+                       // Check for @Header.Array (repeated annotations)
+                       rstream(mi.getAllAnnotationInfos())
+                               .map(x -> x.cast(HeaderAnnotation.Array.class))
+                               .filter(notNull())
+                               .map(AnnotationInfo::inner)
+                               .forEach(x -> {
+                                       for (var h : x.value()) {
+                                               String name = 
firstNonEmpty(h.name(), h.value());
+                                               String def = h.def();
+                                               if (isNotEmpty(name) && 
isNotEmpty(def)) {
+                                                       defaults.put(name, def);
+                                               }
+                                       }
+                               });
                }
-
+       
                private static void processPathDefaults(MethodInfo mi, 
Map<String,String> defaults) {
-                       mi.getAnnotationList().forEach(Path.class, null, x -> {
-                               Path p = x.inner();
-                               String name = firstNonEmpty(p.name(), 
p.value());
-                               String def = p.def();
-                               if (isNotEmpty(name) && isNotEmpty(def)) {
-                                       defaults.put(name, def);
-                               }
-                       });
-                       
mi.getAnnotationList().forEach(PathAnnotation.Array.class, null, x -> {
-                               for (var p : x.inner().value()) {
+                       rstream(mi.getAllAnnotationInfos())
+                               .map(x -> x.cast(Path.class))
+                               .filter(notNull())
+                               .map(AnnotationInfo::inner)
+                               .forEach(p -> {
                                        String name = firstNonEmpty(p.name(), 
p.value());
                                        String def = p.def();
                                        if (isNotEmpty(name) && 
isNotEmpty(def)) {
                                                defaults.put(name, def);
                                        }
-                               }
-                       });
+                               });
+                       rstream(mi.getAllAnnotationInfos())
+                               .map(x -> x.cast(PathAnnotation.Array.class))
+                               .filter(notNull())
+                               .map(AnnotationInfo::inner)
+                               .forEach(x -> {
+                                       for (var p : x.value()) {
+                                               String name = 
firstNonEmpty(p.name(), p.value());
+                                               String def = p.def();
+                                               if (isNotEmpty(name) && 
isNotEmpty(def)) {
+                                                       defaults.put(name, def);
+                                               }
+                                       }
+                               });
                }
-
+       
                private static void processQueryDefaults(MethodInfo mi, 
Map<String,String> defaults) {
-                       mi.getAnnotationList().forEach(Query.class, null, x -> {
-                               Query q = x.inner();
-                               String name = firstNonEmpty(q.name(), 
q.value());
-                               String def = q.def();
-                               if (isNotEmpty(name) && isNotEmpty(def)) {
-                                       defaults.put(name, def);
-                               }
-                       });
-                       
mi.getAnnotationList().forEach(QueryAnnotation.Array.class, null, x -> {
-                               for (var q : x.inner().value()) {
+                       rstream(mi.getAllAnnotationInfos())
+                               .map(x -> x.cast(Query.class))
+                               .filter(notNull())
+                               .map(AnnotationInfo::inner)
+                               .forEach(q -> {
                                        String name = firstNonEmpty(q.name(), 
q.value());
                                        String def = q.def();
                                        if (isNotEmpty(name) && 
isNotEmpty(def)) {
                                                defaults.put(name, def);
                                        }
-                               }
-                       });
+                               });
+                       rstream(mi.getAllAnnotationInfos())
+                               .map(x -> x.cast(QueryAnnotation.Array.class))
+                               .filter(notNull())
+                               .map(AnnotationInfo::inner)
+                               .forEach(x -> {
+                                       for (var q : x.value()) {
+                                               String name = 
firstNonEmpty(q.name(), q.value());
+                                               String def = q.def();
+                                               if (isNotEmpty(name) && 
isNotEmpty(def)) {
+                                                       defaults.put(name, def);
+                                               }
+                                       }
+                               });
                }
        }
 

Reply via email to