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

borinquenkid pushed a commit to branch test/document-datamapping-core-finders
in repository https://gitbox.apache.org/repos/asf/grails-core.git

commit 0f4b0e18fb9cedd5cb4a20c078db15abcaae1d16
Author: Walter Duque de Estrada <[email protected]>
AuthorDate: Sat Aug 15 15:23:33 2026 -0500

    Fix IntelliJ warnings on ListOrderByFinder
    
    - match.find() result is intentionally ignored - isMethodMatch already
      guarantees the match succeeds before invoke() is ever called, same
      as DynamicFinder#createFinderInvocation.
    - new LinkedHashMap((Map) arguments[0]) is an unchecked copy-constructor
      call on a raw Map, needed since FinderMethod's invoke() signature is
      itself raw.
    
    Both suppressed on the enclosing invoke() method, alongside the
    existing rawtypes suppression.
    
    Co-Authored-By: Claude Sonnet 5 <[email protected]>
---
 .../datastore/gorm/finders/ListOrderByFinder.java  | 34 ++++++++++------------
 1 file changed, 15 insertions(+), 19 deletions(-)

diff --git 
a/grails-datamapping-core/src/main/groovy/org/grails/datastore/gorm/finders/ListOrderByFinder.java
 
b/grails-datamapping-core/src/main/groovy/org/grails/datastore/gorm/finders/ListOrderByFinder.java
index 2816249ddd..9c6b35e5c7 100644
--- 
a/grails-datamapping-core/src/main/groovy/org/grails/datastore/gorm/finders/ListOrderByFinder.java
+++ 
b/grails-datamapping-core/src/main/groovy/org/grails/datastore/gorm/finders/ListOrderByFinder.java
@@ -26,14 +26,12 @@ import java.util.regex.Pattern;
 import groovy.lang.Closure;
 
 import org.grails.datastore.mapping.core.Datastore;
-import org.grails.datastore.mapping.core.Session;
 import org.grails.datastore.mapping.core.SessionCallback;
 import org.grails.datastore.mapping.query.Query;
 import org.grails.datastore.mapping.reflect.NameUtils;
 
 /**
  * The "listOrderBy*" static persistent method. Allows ordered listing of 
instances based on their properties.
- *
  * eg.
  * Account.listOrderByHolder();
  * Account.listOrderByHolder(max); // max results
@@ -66,7 +64,7 @@ public class ListOrderByFinder implements FinderMethod {
     }
 
     @Override
-    @SuppressWarnings("rawtypes")
+    @SuppressWarnings({"rawtypes", "unchecked", "ResultOfMethodCallIgnored"})
     public Object invoke(final Class clazz, final String methodName, final 
Closure additionalCriteria, final Object[] arguments) {
 
         Matcher match = pattern.matcher(methodName);
@@ -75,25 +73,23 @@ public class ListOrderByFinder implements FinderMethod {
         String nameInSignature = match.group(2);
         final String propertyName = 
NameUtils.decapitalizeFirstChar(nameInSignature);
 
-        return FinderSupport.execute(datastore, new SessionCallback<>() {
-            public Object doInSession(final Session session) {
-                Query q = session.createQuery(clazz);
-                DynamicFinder.applyAdditionalCriteria(q, additionalCriteria);
+        return FinderSupport.execute(datastore, (SessionCallback<Object>) 
session -> {
+            Query q = session.createQuery(clazz);
+            DynamicFinder.applyAdditionalCriteria(q, additionalCriteria);
 
-                boolean ascending = true;
-                if (arguments.length > 0 && (arguments[0] instanceof Map)) {
-                    final Map args = new LinkedHashMap((Map) arguments[0]);
-                    final Object order = 
args.remove(DynamicFinder.ARGUMENT_ORDER);
-                    if (order != null && 
"desc".equalsIgnoreCase(order.toString())) {
-                        ascending = false;
-                    }
-                    DynamicFinder.populateArgumentsForCriteria(clazz, q, args);
+            boolean ascending = true;
+            if (arguments.length > 0 && (arguments[0] instanceof Map)) {
+                final Map args = new LinkedHashMap((Map) arguments[0]);
+                final Object order = args.remove(DynamicFinder.ARGUMENT_ORDER);
+                if (order != null && 
"desc".equalsIgnoreCase(order.toString())) {
+                    ascending = false;
                 }
-
-                q.order(ascending ? Query.Order.asc(propertyName) : 
Query.Order.desc(propertyName));
-                q.projections().distinct();
-                return q.list();
+                DynamicFinder.populateArgumentsForCriteria(clazz, q, args);
             }
+
+            q.order(ascending ? Query.Order.asc(propertyName) : 
Query.Order.desc(propertyName));
+            q.projections().distinct();
+            return q.list();
         });
     }
 

Reply via email to