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/02/27 02:21:54 UTC
(grails-core) 13/48: Fix PMD violations in HibernateQuery
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 <wb...@mac.com>
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;
+ });
}
}