You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@grails.apache.org by bo...@apache.org on 2026/08/16 01:29:15 UTC

(grails-core) 08/11: Suppress unused-parameter warnings on FindOneImplementer.findMethodToInvoke

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

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

commit 0d37929ac7bec8c5fc3933543f2ea44d536231e6
Author: Walter Duque de Estrada <wb...@mac.com>
AuthorDate: Sat Aug 15 19:55:59 2026 -0500

    Suppress unused-parameter warnings on FindOneImplementer.findMethodToInvoke
    
    Same shape as the earlier getDetachedCriteriaType/lookupById fixes:
    domainClassNode/newMethodNode are unused in the base 'find' return, but
    the method is a protected extension point on a class with real subclasses
    (FindAndDeleteImplementer, FindOneInterfaceProjectionImplementer), so the
    parameters are kept and the warning is suppressed rather than the
    signature changed.
    
    Also includes minor pre-existing IDE cleanups picked up in this pass:
    ClassHelper.VOID_TYPE.equals(x) -> == in DeleteImplementer/
    DeleteWhereImplementer, and using the already-statically-imported
    AstUtils.error instead of the fully-qualified call in FindAllByImplementer.
    
    Co-Authored-By: Claude Sonnet 5 <no...@anthropic.com>
---
 .../datastore/gorm/services/implementers/DeleteImplementer.groovy   | 6 +++---
 .../gorm/services/implementers/DeleteWhereImplementer.groovy        | 2 +-
 .../gorm/services/implementers/FindAllByImplementer.groovy          | 3 +--
 .../datastore/gorm/services/implementers/FindOneImplementer.groovy  | 5 +++++
 4 files changed, 10 insertions(+), 6 deletions(-)

diff --git a/grails-datamapping-core/src/main/groovy/org/grails/datastore/gorm/services/implementers/DeleteImplementer.groovy b/grails-datamapping-core/src/main/groovy/org/grails/datastore/gorm/services/implementers/DeleteImplementer.groovy
index 701a6858b0..e3f2da4e76 100644
--- a/grails-datamapping-core/src/main/groovy/org/grails/datastore/gorm/services/implementers/DeleteImplementer.groovy
+++ b/grails-datamapping-core/src/main/groovy/org/grails/datastore/gorm/services/implementers/DeleteImplementer.groovy
@@ -64,7 +64,7 @@ class DeleteImplementer extends AbstractDetachedCriteriaServiceImplementor imple
 
     @Override
     protected boolean isCompatibleReturnType(ClassNode domainClass, MethodNode methodNode, ClassNode returnType, String prefix) {
-        return ClassHelper.VOID_TYPE.equals(returnType) || AstUtils.isSubclassOfOrImplementsInterface(returnType, Number.name)
+        return ClassHelper.VOID_TYPE == returnType || AstUtils.isSubclassOfOrImplementsInterface(returnType, Number.name)
     }
 
     @Override
@@ -79,7 +79,7 @@ class DeleteImplementer extends AbstractDetachedCriteriaServiceImplementor imple
 
     @Override
     void implementById(ClassNode domainClassNode, MethodNode abstractMethodNode, MethodNode newMethodNode, ClassNode targetClassNode, BlockStatement body, Expression byIdLookup) {
-        boolean isVoidReturnType = ClassHelper.VOID_TYPE.equals(newMethodNode.returnType)
+        boolean isVoidReturnType = ClassHelper.VOID_TYPE == newMethodNode.returnType
         VariableExpression obj = varX('$obj')
         Expression connectionId = findConnectionId(abstractMethodNode)
         Statement deleteStatement
@@ -115,7 +115,7 @@ class DeleteImplementer extends AbstractDetachedCriteriaServiceImplementor imple
     void implementWithQuery(ClassNode domainClassNode, MethodNode abstractMethodNode, MethodNode newMethodNode, ClassNode targetClassNode, BlockStatement body, VariableExpression detachedCriteriaVar, Expression queryArgs) {
 
         MethodCallExpression deleteCall = callX(detachedCriteriaVar, 'deleteAll')
-        boolean isVoidReturnType = ClassHelper.VOID_TYPE.equals(newMethodNode.returnType)
+        boolean isVoidReturnType = ClassHelper.VOID_TYPE == newMethodNode.returnType
 
         body.addStatements([
                 // return query.deleteAll()
diff --git a/grails-datamapping-core/src/main/groovy/org/grails/datastore/gorm/services/implementers/DeleteWhereImplementer.groovy b/grails-datamapping-core/src/main/groovy/org/grails/datastore/gorm/services/implementers/DeleteWhereImplementer.groovy
index bb7e3b9b0d..c0c19258b8 100644
--- a/grails-datamapping-core/src/main/groovy/org/grails/datastore/gorm/services/implementers/DeleteWhereImplementer.groovy
+++ b/grails-datamapping-core/src/main/groovy/org/grails/datastore/gorm/services/implementers/DeleteWhereImplementer.groovy
@@ -58,7 +58,7 @@ class DeleteWhereImplementer extends AbstractWhereImplementer {
 
     @Override
     protected boolean isCompatibleReturnType(ClassNode domainClass, MethodNode methodNode, ClassNode returnType, String prefix) {
-        return ClassHelper.VOID_TYPE.equals(returnType) || AstUtils.isSubclassOfOrImplementsInterface(returnType, Number.name)
+        return ClassHelper.VOID_TYPE == returnType || AstUtils.isSubclassOfOrImplementsInterface(returnType, Number.name)
     }
 
     @Override
diff --git a/grails-datamapping-core/src/main/groovy/org/grails/datastore/gorm/services/implementers/FindAllByImplementer.groovy b/grails-datamapping-core/src/main/groovy/org/grails/datastore/gorm/services/implementers/FindAllByImplementer.groovy
index 2d4e0212e6..dd80fafeda 100644
--- a/grails-datamapping-core/src/main/groovy/org/grails/datastore/gorm/services/implementers/FindAllByImplementer.groovy
+++ b/grails-datamapping-core/src/main/groovy/org/grails/datastore/gorm/services/implementers/FindAllByImplementer.groovy
@@ -36,7 +36,6 @@ import org.grails.datastore.gorm.finders.DynamicFinder
 import org.grails.datastore.gorm.finders.MatchSpec
 import org.grails.datastore.gorm.services.transform.ServiceTransformation
 import org.grails.datastore.mapping.core.Ordered
-import org.grails.datastore.mapping.reflect.AstUtils
 
 import static org.codehaus.groovy.ast.ClassHelper.MAP_TYPE
 import static org.codehaus.groovy.ast.tools.GeneralUtils.args
@@ -109,7 +108,7 @@ class FindAllByImplementer extends AbstractArrayOrIterableResultImplementer impl
         }
 
         if (matchSpec == null) {
-            AstUtils.error(abstractMethodNode.declaringClass.module.context, abstractMethodNode, ServiceTransformation.NO_IMPLEMENTATIONS_MESSAGE)
+            error(abstractMethodNode.declaringClass.module.context, abstractMethodNode, ServiceTransformation.NO_IMPLEMENTATIONS_MESSAGE)
         }
         else {
             // validate the properties
diff --git a/grails-datamapping-core/src/main/groovy/org/grails/datastore/gorm/services/implementers/FindOneImplementer.groovy b/grails-datamapping-core/src/main/groovy/org/grails/datastore/gorm/services/implementers/FindOneImplementer.groovy
index 8a4aadf96a..1734421aa9 100644
--- a/grails-datamapping-core/src/main/groovy/org/grails/datastore/gorm/services/implementers/FindOneImplementer.groovy
+++ b/grails-datamapping-core/src/main/groovy/org/grails/datastore/gorm/services/implementers/FindOneImplementer.groovy
@@ -75,6 +75,11 @@ class FindOneImplementer extends AbstractDetachedCriteriaServiceImplementor impl
         )
     }
 
+    // domainClassNode/newMethodNode are unused here, but kept so subclasses
+    // (e.g. FindAndDeleteImplementer, FindOneInterfaceProjectionImplementer) can
+    // override this as a polymorphic extension point and vary the query method
+    // by domain class/method
+    @SuppressWarnings('unused')
     protected String findMethodToInvoke(ClassNode domainClassNode, MethodNode newMethodNode) {
         'find'
     }