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)

Reply via email to