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

borinquenkid pushed a commit to branch 8.0.x-hibernate7
in repository https://gitbox.apache.org/repos/asf/grails-core.git

commit da141f246005d80984e0c346cc00c1db61133c9e
Author: Walter Duque de Estrada <[email protected]>
AuthorDate: Thu Feb 26 09:35:07 2026 -0600

    Fix PMD violations in HibernateQuery
---
 grails-data-hibernate7/core/PMD.md                 |  8 ++--
 .../grails/orm/hibernate/query/HibernateQuery.java | 46 +++++++++++-----------
 2 files changed, 27 insertions(+), 27 deletions(-)

diff --git a/grails-data-hibernate7/core/PMD.md 
b/grails-data-hibernate7/core/PMD.md
index 6b8601906f..c640ce10dd 100644
--- a/grails-data-hibernate7/core/PMD.md
+++ b/grails-data-hibernate7/core/PMD.md
@@ -256,10 +256,10 @@ 
DataflowAnomalyAnalysis,org.grails.orm.hibernate.query.GrailsHibernateQueryUtils
 
DataflowAnomalyAnalysis,org.grails.orm.hibernate.query.GrailsHibernateQueryUtils,252,YES
 AvoidDuplicateLiterals,org.grails.orm.hibernate.query.HibernateHqlQuery,67,YES
 AvoidDuplicateLiterals,org.grails.orm.hibernate.query.HibernateHqlQuery,84,YES
-DataflowAnomalyAnalysis,org.grails.orm.hibernate.query.HibernateQuery,336,
-DataflowAnomalyAnalysis,org.grails.orm.hibernate.query.HibernateQuery,336,
-CloneMethodReturnTypeMustMatchClassName,org.grails.orm.hibernate.query.HibernateQuery,630,
-CloneThrowsCloneNotSupportedException,org.grails.orm.hibernate.query.HibernateQuery,630,
+DataflowAnomalyAnalysis,org.grails.orm.hibernate.query.HibernateQuery,336,YES
+DataflowAnomalyAnalysis,org.grails.orm.hibernate.query.HibernateQuery,336,YES
+CloneMethodReturnTypeMustMatchClassName,org.grails.orm.hibernate.query.HibernateQuery,630,YES
+CloneThrowsCloneNotSupportedException,org.grails.orm.hibernate.query.HibernateQuery,630,YES
 
UseLocaleWithCaseConversions,org.grails.orm.hibernate.query.HqlQueryContext,101,
 AvoidDuplicateLiterals,org.grails.orm.hibernate.query.HqlQueryContext,102,
 AvoidDuplicateLiterals,org.grails.orm.hibernate.query.HqlQueryContext,105,
diff --git 
a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/query/HibernateQuery.java
 
b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/query/HibernateQuery.java
index ac14d48058..381a3c4b53 100644
--- 
a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/query/HibernateQuery.java
+++ 
b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/query/HibernateQuery.java
@@ -332,22 +332,20 @@ public class HibernateQuery extends Query {
             + "]. Property is not an association!");
   }
 
+  @SuppressWarnings("PMD.DataflowAnomalyAnalysis")
   private CriteriaAndAlias getOrCreateAlias(String associationName, String 
alias) {
-    CriteriaAndAlias subCriteria = null;
     String associationPath = getAssociationPath(associationName);
-    if (alias == null) {
-      alias = generateAlias(associationName);
-    }
+    String effectiveAlias = (alias == null) ? generateAlias(associationName) : 
alias;
 
     if (createdAssociationPaths.containsKey(associationPath)) {
-      subCriteria = createdAssociationPaths.get(associationPath);
+      return createdAssociationPaths.get(associationPath);
     } else {
       CriteriaQuery criteriaQuery = 
getCriteriaBuilder().createQuery(entity.getJavaClass());
-      subCriteria = new CriteriaAndAlias(criteriaQuery, alias, 
associationPath);
+      CriteriaAndAlias subCriteria = new CriteriaAndAlias(criteriaQuery, 
effectiveAlias, associationPath);
       createdAssociationPaths.put(associationPath, subCriteria);
-      createdAssociationPaths.put(alias, subCriteria);
+      createdAssociationPaths.put(effectiveAlias, subCriteria);
+      return subCriteria;
     }
-    return subCriteria;
   }
 
   @Override
@@ -627,23 +625,25 @@ public class HibernateQuery extends Query {
   }
 
   @Override
-  public Object clone() {
+  @SuppressWarnings("PMD.CloneThrowsCloneNotSupportedException")
+  public HibernateQuery clone() {
     final HibernateSession hibernateSession = (HibernateSession) getSession();
     final GrailsHibernateTemplate hibernateTemplate =
         (GrailsHibernateTemplate) hibernateSession.getNativeInterface();
-    return hibernateTemplate.execute(
-        (GrailsHibernateTemplate.HibernateCallback<Object>)
-            session -> {
-              HibernateQuery hibernateQuery = new 
HibernateQuery(hibernateSession, entity);
-              if (this.max != null && this.max > 0) {
-                hibernateQuery.max(this.max);
-              }
-              if (this.offset != null && this.offset > 0) {
-                hibernateQuery.offset(this.offset);
-              }
-              
hibernateQuery.setDetachedCriteria(this.detachedCriteria.clone());
-
-              return hibernateQuery;
-            });
+    return (HibernateQuery)
+        hibernateTemplate.execute(
+            (GrailsHibernateTemplate.HibernateCallback<Object>)
+                session -> {
+                  HibernateQuery hibernateQuery = new 
HibernateQuery(hibernateSession, entity);
+                  if (this.max != null && this.max > 0) {
+                    hibernateQuery.max(this.max);
+                  }
+                  if (this.offset != null && this.offset > 0) {
+                    hibernateQuery.offset(this.offset);
+                  }
+                  
hibernateQuery.setDetachedCriteria(this.detachedCriteria.clone());
+
+                  return hibernateQuery;
+                });
   }
 }

Reply via email to