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 b43d53289db67fd7be9d8eeb9920364e5c021ef0 Author: Walter Duque de Estrada <[email protected]> AuthorDate: Thu Feb 26 23:36:12 2026 -0600 Fix PMD issues in HibernatePersistentProperty --- grails-data-hibernate7/PMD.md | 6 +++--- .../cfg/domainbinding/hibernate/HibernatePersistentProperty.java | 9 +++++---- .../hibernate/cfg/GrailsHibernatePersistentPropertySpec.groovy | 2 +- 3 files changed, 9 insertions(+), 8 deletions(-) diff --git a/grails-data-hibernate7/PMD.md b/grails-data-hibernate7/PMD.md index cea17fd2b7..a26df0089d 100644 --- a/grails-data-hibernate7/PMD.md +++ b/grails-data-hibernate7/PMD.md @@ -54,9 +54,9 @@ ReturnEmptyCollectionRatherThanNull,org.grails.orm.hibernate.cfg.domainbinding.h DataflowAnomalyAnalysis,org.grails.orm.hibernate.cfg.domainbinding.hibernate.HibernatePersistentEntity,79,YES NullAssignment,org.grails.orm.hibernate.cfg.domainbinding.hibernate.HibernatePersistentEntity,82,YES DataflowAnomalyAnalysis,org.grails.orm.hibernate.cfg.domainbinding.hibernate.HibernatePersistentEntity,82,YES -DataflowAnomalyAnalysis,org.grails.orm.hibernate.cfg.domainbinding.hibernate.HibernatePersistentProperty,113, -EmptyCatchBlock,org.grails.orm.hibernate.cfg.domainbinding.hibernate.HibernatePersistentProperty,120, -ReturnEmptyCollectionRatherThanNull,org.grails.orm.hibernate.cfg.domainbinding.hibernate.HibernatePersistentProperty,198, +DataflowAnomalyAnalysis,org.grails.orm.hibernate.cfg.domainbinding.hibernate.HibernatePersistentProperty,113,YES +EmptyCatchBlock,org.grails.orm.hibernate.cfg.domainbinding.hibernate.HibernatePersistentProperty,120,YES +ReturnEmptyCollectionRatherThanNull,org.grails.orm.hibernate.cfg.domainbinding.hibernate.HibernatePersistentProperty,198,YES DataflowAnomalyAnalysis,org.grails.orm.hibernate.cfg.domainbinding.secondpass.CollectionSecondPassBinder,94, DataflowAnomalyAnalysis,org.grails.orm.hibernate.cfg.domainbinding.secondpass.CollectionWithJoinTableBinder,96, NonSerializableClass,org.grails.orm.hibernate.cfg.domainbinding.secondpass.ListSecondPass,32, diff --git a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/hibernate/HibernatePersistentProperty.java b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/hibernate/HibernatePersistentProperty.java index 62a5f25ca0..aadca583b7 100644 --- a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/hibernate/HibernatePersistentProperty.java +++ b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/hibernate/HibernatePersistentProperty.java @@ -102,6 +102,7 @@ public interface HibernatePersistentProperty extends PersistentProperty<Property return getOwner() instanceof GrailsHibernatePersistentEntity ghpe ? ghpe : null; } + @SuppressWarnings("PMD.DataflowAnomalyAnalysis") default Class<?> getUserType() { PropertyConfig config = getMappedForm(); if (config == null) return null; @@ -113,8 +114,8 @@ public interface HibernatePersistentProperty extends PersistentProperty<Property String typeName = typeObj.toString(); try { userType = Class.forName(typeName, true, Thread.currentThread().getContextClassLoader()); - } catch (ClassNotFoundException e) { - + } catch (ClassNotFoundException ignored) { + // ignore } } return userType; @@ -189,9 +190,9 @@ public interface HibernatePersistentProperty extends PersistentProperty<Property if (getTypeName(simpleValue) != null) { return Optional.ofNullable(getTypeProperty(simpleValue).getMappedForm()) .map(PropertyConfig::getTypeParams) - .orElse(null); + .orElse(new java.util.Properties()); } - return null; + return new java.util.Properties(); } /** diff --git a/grails-data-hibernate7/core/src/test/groovy/org/grails/orm/hibernate/cfg/GrailsHibernatePersistentPropertySpec.groovy b/grails-data-hibernate7/core/src/test/groovy/org/grails/orm/hibernate/cfg/GrailsHibernatePersistentPropertySpec.groovy index 448af1ced4..ed651ee9bb 100644 --- a/grails-data-hibernate7/core/src/test/groovy/org/grails/orm/hibernate/cfg/GrailsHibernatePersistentPropertySpec.groovy +++ b/grails-data-hibernate7/core/src/test/groovy/org/grails/orm/hibernate/cfg/GrailsHibernatePersistentPropertySpec.groovy @@ -168,7 +168,7 @@ class GrailsHibernatePersistentPropertySpec extends HibernateGormDatastoreSpec { expect: property.getTypeName(sv) == "string" - property.getTypeParameters(sv) == null // No type params in TestEntityWithTypeName + property.getTypeParameters(sv).isEmpty() // No type params in TestEntityWithTypeName } void "test getTypeName(SimpleValue) with fallback"() {
