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

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

commit ada4f05255c135416ec4ec3aa7f360a24f17af40
Author: Walter Duque de Estrada <[email protected]>
AuthorDate: Sat Mar 7 12:43:43 2026 -0600

    hibernate7: more Codenarc
---
 .../org/grails/orm/hibernate/cfg/Identity.groovy   |  1 +
 .../grails/orm/hibernate/cfg/InstanceProxy.groovy  |  5 +--
 .../hibernate/HibernateMappingBuilder.groovy       | 31 ++++++++--------
 .../hibernate/support/HibernateRuntimeUtils.groovy | 41 +++++++++++++---------
 .../mapping/HibernateMappingBuilderTests.groovy    | 11 ++++++
 5 files changed, 55 insertions(+), 34 deletions(-)

diff --git 
a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/Identity.groovy
 
b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/Identity.groovy
index 45039669ce..c4607aef98 100644
--- 
a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/Identity.groovy
+++ 
b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/Identity.groovy
@@ -35,6 +35,7 @@ import 
org.grails.orm.hibernate.cfg.domainbinding.generator.GrailsSequenceGenera
 @CompileStatic
 @Builder(builderStrategy = SimpleStrategy, prefix = '')
 class Identity extends Property implements HibernateIdentity {
+
     /**
      * The generator to use
      */
diff --git 
a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/InstanceProxy.groovy
 
b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/InstanceProxy.groovy
index 5a544c0795..b7c9d0ec10 100644
--- 
a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/InstanceProxy.groovy
+++ 
b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/InstanceProxy.groovy
@@ -22,6 +22,7 @@ import org.grails.orm.hibernate.HibernateGormValidationApi
 
 @CompileStatic
 class InstanceProxy {
+
     protected instance
     protected HibernateGormValidationApi validateApi
     protected HibernateGormInstanceApi instanceApi
@@ -43,10 +44,10 @@ class InstanceProxy {
 
     def invokeMethod(String name, args) {
         if (validateMethods.contains(name)) {
-            validateApi.invokeMethod(name, prependToArray(instance, 
(Object[])args))
+            validateApi.invokeMethod(name, prependToArray(instance, (Object[]) 
args))
         }
         else {
-            instanceApi.invokeMethod(name, prependToArray(instance, 
(Object[])args))
+            instanceApi.invokeMethod(name, prependToArray(instance, (Object[]) 
args))
         }
     }
 
diff --git 
a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/hibernate/HibernateMappingBuilder.groovy
 
b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/hibernate/HibernateMappingBuilder.groovy
index f97273b707..1ecfed48dd 100644
--- 
a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/hibernate/HibernateMappingBuilder.groovy
+++ 
b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/hibernate/HibernateMappingBuilder.groovy
@@ -161,7 +161,7 @@ class HibernateMappingBuilder implements 
MappingConfigurationBuilder<Mapping, Pr
     }
 
     void order(String direction) {
-        if ("desc".equalsIgnoreCase(direction) || 
"asc".equalsIgnoreCase(direction)) {
+        if ('desc'.equalsIgnoreCase(direction) || 
'asc'.equalsIgnoreCase(direction)) {
             SortConfig sc = (SortConfig) mapping.getSort()
             sc.direction = direction
         }
@@ -269,7 +269,7 @@ class HibernateMappingBuilder implements 
MappingConfigurationBuilder<Mapping, Pr
             }
         }
         if (!args.composite && args) {
-            handlePropertyInternal("id", args, null)
+            handlePropertyInternal('id', args, null)
         }
     }
 
@@ -322,6 +322,7 @@ class HibernateMappingBuilder implements 
MappingConfigurationBuilder<Mapping, Pr
         Object orderVal = namedArgs.order
         if (orderVal != null) property.order = orderVal.toString()
         if (namedArgs.batchSize instanceof Integer) property.batchSize = 
(Integer) namedArgs.batchSize
+        if (namedArgs.batchSize instanceof Integer) property.batchSize = 
(Integer) namedArgs.batchSize
         if (namedArgs.ignoreNotFound instanceof Boolean) 
property.ignoreNotFound = (Boolean) namedArgs.ignoreNotFound
         if (namedArgs.params instanceof Map) {
             Properties typeProps = new Properties()
@@ -345,8 +346,8 @@ class HibernateMappingBuilder implements 
MappingConfigurationBuilder<Mapping, Pr
 
         if (namedArgs.fetch) {
             String fetchStr = namedArgs.fetch.toString()
-            if (fetchStr.equalsIgnoreCase("join")) property.fetch = 
FetchMode.JOIN
-            else if (fetchStr.equalsIgnoreCase("select")) property.fetch = 
FetchMode.SELECT
+            if (fetchStr.equalsIgnoreCase('join')) property.fetch = 
FetchMode.JOIN
+            else if (fetchStr.equalsIgnoreCase('select')) property.fetch = 
FetchMode.SELECT
             else property.fetch = FetchMode.DEFAULT
         }
 
@@ -358,27 +359,27 @@ class HibernateMappingBuilder implements 
MappingConfigurationBuilder<Mapping, Pr
             ColumnConfig cc = property.columns ? property.columns[0] : new 
ColumnConfig()
             if (!property.columns) property.columns << cc
 
-            Object colVal = namedArgs["column"]
+            Object colVal = namedArgs['column']
             if (colVal) cc.name = colVal.toString()
-            Object sqlTypeVal = namedArgs["sqlType"]
+            Object sqlTypeVal = namedArgs['sqlType']
             if (sqlTypeVal) cc.sqlType = sqlTypeVal.toString()
-            Object enumTypeVal = namedArgs["enumType"]
+            Object enumTypeVal = namedArgs['enumType']
             if (enumTypeVal) cc.enumType = enumTypeVal.toString()
-            Object indexVal = namedArgs["index"]
+            Object indexVal = namedArgs['index']
             if (indexVal) cc.index = indexVal.toString()
-            Object ccUniqueVal = namedArgs["unique"]
+            Object ccUniqueVal = namedArgs['unique']
             if (ccUniqueVal) cc.unique = ccUniqueVal instanceof Boolean ? 
(Boolean) ccUniqueVal : ccUniqueVal
-            Object readVal = namedArgs["read"]
+            Object readVal = namedArgs['read']
             if (readVal) cc.read = readVal.toString()
-            Object writeVal = namedArgs["write"]
+            Object writeVal = namedArgs['write']
             if (writeVal) cc.write = writeVal.toString()
             Object defaultVal = namedArgs.defaultValue
             if (defaultVal) cc.defaultValue = defaultVal.toString()
             Object commentVal = namedArgs.comment
             if (commentVal) cc.comment = commentVal.toString()
-            if (namedArgs["length"] instanceof Integer) cc.length = (int) 
(Integer) namedArgs["length"]
-            if (namedArgs["precision"] instanceof Integer) cc.precision = 
(int) (Integer) namedArgs["precision"]
-            if (namedArgs["scale"] instanceof Integer) cc.scale = (int) 
(Integer) namedArgs["scale"]
+            if (namedArgs['length'] instanceof Integer) cc.length = (int) 
(Integer) namedArgs['length']
+            if (namedArgs['precision'] instanceof Integer) cc.precision = 
(int) (Integer) namedArgs['precision']
+            if (namedArgs['scale'] instanceof Integer) cc.scale = (int) 
(Integer) namedArgs['scale']
 
             Object joinTableVal = namedArgs.joinTable
             if (joinTableVal instanceof String) {
@@ -493,4 +494,4 @@ class HibernateMappingBuilder implements 
MappingConfigurationBuilder<Mapping, Pr
             handlePropertyInternal(name, namedArgs, sub)
         }
     }
-}
\ No newline at end of file
+}
diff --git 
a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/support/HibernateRuntimeUtils.groovy
 
b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/support/HibernateRuntimeUtils.groovy
index 7c6b39223a..89ae922716 100644
--- 
a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/support/HibernateRuntimeUtils.groovy
+++ 
b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/support/HibernateRuntimeUtils.groovy
@@ -17,6 +17,7 @@ import 
org.grails.datastore.mapping.model.config.GormProperties
 import org.grails.datastore.mapping.model.types.Association
 import org.grails.datastore.mapping.model.types.OneToOne
 import org.grails.datastore.mapping.validation.ValidationErrors
+
 /**
  * Utility methods used at runtime by the GORM for Hibernate implementation
  *
@@ -26,14 +27,15 @@ import 
org.grails.datastore.mapping.validation.ValidationErrors
 @CompileStatic
 class HibernateRuntimeUtils {
 
-    private static final String DYNAMIC_FILTER_ENABLER = "dynamicFilterEnabler"
+    private static final String DYNAMIC_FILTER_ENABLER = 'dynamicFilterEnabler'
 
-    @SuppressWarnings("rawtypes")
+    @SuppressWarnings('rawtypes')
     static void enableDynamicFilterEnablerIfPresent(SessionFactory 
sessionFactory, Session session) {
         if (sessionFactory != null && session != null) {
             final Set definedFilterNames = 
sessionFactory.getDefinedFilterNames()
-            if (definedFilterNames != null && 
definedFilterNames.contains(DYNAMIC_FILTER_ENABLER))
+            if (definedFilterNames != null && 
definedFilterNames.contains(DYNAMIC_FILTER_ENABLER)) {
                 session.enableFilter(DYNAMIC_FILTER_ENABLER) // work around 
for HHH-2624
+            }
         }
     }
 
@@ -52,11 +54,11 @@ class HibernateRuntimeUtils {
 
         def errors = new ValidationErrors(target)
 
-        Errors originalErrors = isGormValidateable ? 
((GormValidateable)target).getErrors() : (Errors) metaClass.getProperty(target, 
GormProperties.ERRORS)
+        Errors originalErrors = isGormValidateable ? ((GormValidateable) 
target).getErrors() : (Errors) metaClass.getProperty(target, 
GormProperties.ERRORS)
         // Copy binding failures and any existing object-level errors
         for (Object o in originalErrors.allErrors) {
             if (o instanceof FieldError) {
-                FieldError fe = (FieldError)o
+                FieldError fe = (FieldError) o
                 if (fe.isBindingFailure()) {
                     errors.addError(new FieldError(fe.getObjectName(),
                             fe.field,
@@ -66,13 +68,14 @@ class HibernateRuntimeUtils {
                             fe.arguments,
                             fe.defaultMessage))
                 }
-            } else {
+            }
+            else {
                 errors.addError((ObjectError) o)
             }
         }
 
-        if(isGormValidateable) {
-            ((GormValidateable)target).setErrors(errors)
+        if (isGormValidateable) {
+            ((GormValidateable) target).setErrors(errors)
         }
         else {
             metaClass.setProperty(target, GormProperties.ERRORS, errors)
@@ -82,21 +85,19 @@ class HibernateRuntimeUtils {
 
     static void autoAssociateBidirectionalOneToOnes(PersistentEntity entity, 
Object target) {
         def mappingContext = entity.mappingContext
-        for (Association association :  entity.associations) {
+        for (Association association : entity.associations) {
             if (!(association instanceof OneToOne) || 
!association.bidirectional || !association.owningSide) {
                 continue
             }
 
             def propertyName = association.name
 
-
             def otherSide = association.inverseSide
 
             if (otherSide == null) {
                 continue
             }
 
-
             def entityReflector = mappingContext.getEntityReflector(entity)
             Object inverseObject = entityReflector.getProperty(target, 
propertyName)
             if (inverseObject == null) {
@@ -125,22 +126,28 @@ class HibernateRuntimeUtils {
                 if (value instanceof Number && (targetType == Long || 
targetType == Integer)) {
                     if (targetType == Long) {
                         value = ((Number) value).toLong()
-                    } else {
+                    }
+                    else {
                         value = ((Number) value).toInteger()
                     }
-                } else if (value instanceof String && 
Number.isAssignableFrom(targetType)) {
+                }
+                else if (value instanceof String && 
Number.isAssignableFrom(targetType)) {
                     String strValue = value.trim()
                     if (targetType == Long) {
                         value = Long.parseLong(strValue)
-                    } else if (targetType == Integer) {
+                    }
+                    else if (targetType == Integer) {
                         value = Integer.parseInt(strValue)
-                    } else {
+                    }
+                    else {
                         value = StringGroovyMethods.asType(strValue, 
targetType as Class<Object>)
                     }
-                } else {
+                }
+                else {
                     value = conversionService.convert(value, targetType)
                 }
-            } catch (ignored) {
+            }
+            catch (ignored) {
                 // ignore
             }
         }
diff --git 
a/grails-data-hibernate7/core/src/test/groovy/grails/gorm/hibernate/mapping/HibernateMappingBuilderTests.groovy
 
b/grails-data-hibernate7/core/src/test/groovy/grails/gorm/hibernate/mapping/HibernateMappingBuilderTests.groovy
index 3e6b9129d9..2e34e104fa 100644
--- 
a/grails-data-hibernate7/core/src/test/groovy/grails/gorm/hibernate/mapping/HibernateMappingBuilderTests.groovy
+++ 
b/grails-data-hibernate7/core/src/test/groovy/grails/gorm/hibernate/mapping/HibernateMappingBuilderTests.groovy
@@ -430,6 +430,17 @@ class HibernateMappingBuilderTests {
         assertFalse mapping.tablePerHierarchy
     }
 
+    @Test
+    void testTablePerConcreteClass() {
+        def builder = new HibernateMappingBuilder("Foo")
+        def mapping = builder.evaluate {
+            tablePerConcreteClass true
+        }
+
+        assertTrue mapping.tablePerConcreteClass
+        assertFalse mapping.tablePerHierarchy
+    }
+
     @Test
     void testAutoTimeStamp() {
         def builder = new HibernateMappingBuilder("Foo")

Reply via email to