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 660790e85bfad28ae0c2b5c6c40ef938698135e4 Author: Walter B Duque de Estrada <[email protected]> AuthorDate: Fri Jan 30 19:14:05 2026 -0600 nonnull PersistentProperty --- .../org/grails/orm/hibernate/cfg/GrailsDomainBinder.java | 14 ++++++++++---- .../hibernate/cfg/domainbinding/NamingStrategyWrapper.java | 2 +- .../domainbinding/PersistentPropertyToPropertyConfig.java | 2 +- .../orm/hibernate/cfg/domainbinding/SimpleValueBinder.java | 6 +++--- .../orm/hibernate/cfg/domainbinding/TypeNameProvider.java | 5 +++-- 5 files changed, 18 insertions(+), 11 deletions(-) diff --git a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/GrailsDomainBinder.java b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/GrailsDomainBinder.java index f25c7a1a40..f01014bc05 100644 --- a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/GrailsDomainBinder.java +++ b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/GrailsDomainBinder.java @@ -92,6 +92,7 @@ import java.util.HashSet; import java.util.Iterator; import java.util.List; import java.util.Map; +import java.util.Objects; import java.util.Set; import java.util.Optional; import java.util.StringTokenizer; @@ -1495,6 +1496,7 @@ public class GrailsDomainBinder table.setComment(gormMapping.getComment()); final List<PersistentProperty> persistentProperties = domainClass.getPersistentProperties() .stream() + .filter(Objects::nonNull) .filter(persistentProperty -> persistentProperty.getMappedForm() != null) .filter(persistentProperty -> !persistentProperty.isCompositeIdProperty()) .filter(persistentProperty -> !persistentProperty.isIdentityProperty()) @@ -1510,7 +1512,12 @@ public class GrailsDomainBinder new NaturalIdentifierBinder().bindNaturalIdentifier(gormMapping, persistentClass); } - private void bindProperty(PersistentClass persistentClass, @NonNull InFlightMetadataCollector mappings, String sessionFactoryBeanName, PersistentProperty<?> currentGrailsProp, Table table, Mapping gormMapping) { + private void bindProperty(PersistentClass persistentClass + , @NonNull InFlightMetadataCollector mappings + , String sessionFactoryBeanName + , @Nonnull PersistentProperty<?> currentGrailsProp + , Table table + , Mapping gormMapping) { if (LOG.isDebugEnabled()) { LOG.debug("[GrailsDomainBinder] Binding persistent property [" + currentGrailsProp.getName() + "]"); } @@ -1643,15 +1650,14 @@ public class GrailsDomainBinder return userType; } - private String getIndexColumnType(PersistentProperty property, String defaultType) { + private String getIndexColumnType(@Nonnull PersistentProperty property, String defaultType) { PropertyConfig pc = new PersistentPropertyToPropertyConfig().toPropertyConfig(property); if (pc.getIndexColumn() != null && pc.getIndexColumn().getType() != null) { Mapping mapping = null; - GrailsHibernatePersistentEntity domainClass = (GrailsHibernatePersistentEntity) property.getOwner(); - if (domainClass != null) { + if (property.getOwner() instanceof GrailsHibernatePersistentEntity domainClass) { mapping = domainClass.getMappedForm(); } diff --git a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/NamingStrategyWrapper.java b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/NamingStrategyWrapper.java index 3f829c8f99..1f3130ea18 100644 --- a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/NamingStrategyWrapper.java +++ b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/NamingStrategyWrapper.java @@ -62,7 +62,7 @@ public class NamingStrategyWrapper implements PersistentEntityNamingStrategy { @Override public String resolveForeignKeyForPropertyDomainClass(PersistentProperty property) { - return Optional.ofNullable(property) + return Optional.of(property) .map(PersistentProperty::getOwner) .map(PersistentEntity::getJavaClass) .map(Class::getSimpleName) diff --git a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/PersistentPropertyToPropertyConfig.java b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/PersistentPropertyToPropertyConfig.java index 187137e030..4382c989d4 100644 --- a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/PersistentPropertyToPropertyConfig.java +++ b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/PersistentPropertyToPropertyConfig.java @@ -10,7 +10,7 @@ import jakarta.annotation.Nonnull; public class PersistentPropertyToPropertyConfig { @Nonnull public PropertyConfig toPropertyConfig(PersistentProperty persistentProperty) { - return Optional.ofNullable(persistentProperty) + return Optional.of(persistentProperty) .map(PersistentProperty::getMappedForm) .map(PropertyConfig.class::cast) .orElseThrow(() -> new MappingException("No PropertyConfig found for property")); diff --git a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/SimpleValueBinder.java b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/SimpleValueBinder.java index 5ce103c5d8..1e1cfb4847 100644 --- a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/SimpleValueBinder.java +++ b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/SimpleValueBinder.java @@ -67,15 +67,15 @@ public class SimpleValueBinder { */ public void bindSimpleValue( - PersistentProperty property + @jakarta.annotation.Nonnull PersistentProperty property , PersistentProperty parentProperty , SimpleValue simpleValue , String path ) { PropertyConfig propertyConfig = persistentPropertyToPropertyConfig.toPropertyConfig(property); Mapping mapping = null; - if (property.getOwner() instanceof GrailsHibernatePersistentEntity) { - mapping = ((GrailsHibernatePersistentEntity) property.getOwner()).getMappedForm(); + if (property.getOwner() instanceof GrailsHibernatePersistentEntity persistentEntity) { + mapping = persistentEntity.getMappedForm(); } final String typeName = typeNameProvider.getTypeName(property, mapping); if (typeName == null) { diff --git a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/TypeNameProvider.java b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/TypeNameProvider.java index 4ff3ce94da..ce7900fb83 100644 --- a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/TypeNameProvider.java +++ b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/TypeNameProvider.java @@ -5,13 +5,14 @@ import org.grails.datastore.mapping.model.PersistentProperty; import org.grails.orm.hibernate.cfg.Mapping; import org.grails.orm.hibernate.cfg.PropertyConfig; +import static java.util.Optional.of; import static java.util.Optional.ofNullable; public class TypeNameProvider { - public String getTypeName( PersistentProperty property + public String getTypeName(@jakarta.annotation.Nonnull PersistentProperty property , @NotNull Mapping mapping) { - return ofNullable(property) + return of(property) .map(PersistentProperty::getMappedForm) .map(PropertyConfig.class::cast) .map(PropertyConfig::getType)
