You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@grails.apache.org by ma...@apache.org on 2025/10/28 14:08:28 UTC

(grails-core) branch cleanup-post-15150 created (now 79ab9c07b1)

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

matrei pushed a change to branch cleanup-post-15150
in repository https://gitbox.apache.org/repos/asf/grails-core.git


      at 79ab9c07b1 chore: formatting and cleanup

This branch includes the following new commits:

     new 79ab9c07b1 chore: formatting and cleanup

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.



(grails-core) 01/01: chore: formatting and cleanup

Posted by ma...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

matrei pushed a commit to branch cleanup-post-15150
in repository https://gitbox.apache.org/repos/asf/grails-core.git

commit 79ab9c07b1c43ce28efd553607203bf08fb1c2ae
Author: Mattias Reichel <ma...@gmail.com>
AuthorDate: Tue Oct 28 15:08:08 2025 +0100

    chore: formatting and cleanup
---
 .../groovy/grails/gorm/async/AsyncEntity.groovy    |   1 +
 .../schemaless/ImplementsDynamicAttributes.groovy  |  38 ++-
 .../src/main/groovy/grails/gorm/MultiTenant.groovy |   1 +
 .../grails/gorm/time/TemporalConverter.groovy      |   4 +-
 .../grails/gorm/time/ZonedDateTimeConverter.groovy |   4 +-
 .../compiler/gorm/DirtyCheckingTransformer.groovy  |   3 +-
 .../compiler/gorm/GormEntityTransformation.groovy  |   1 -
 .../org/grails/datastore/gorm/GormEntity.groovy    |   3 +-
 .../datastore/gorm/GormEntityDirtyCheckable.groovy |   4 +-
 .../grails/datastore/gorm/GormValidateable.groovy  |   2 +
 .../gorm/schemaless/DynamicAttributes.groovy       |   1 +
 .../AbstractReadOperationImplementer.groovy        |   2 -
 .../AbstractWriteOperationImplementer.groovy       |   2 -
 .../IterableInterfaceProjectionBuilder.groovy      |   2 +-
 .../transform/ServiceTransformation.groovy         |   2 +-
 .../transform/TransactionalTransform.groovy        |   3 +-
 ...tDatastoreMethodDecoratingTransformation.groovy |   7 +-
 .../AbstractMethodDecoratingTransformation.groovy  |   2 +-
 .../jakarta/services/ValidatedService.groovy       |   1 +
 .../services/MethodValidationTransformSpec.groovy  | 113 +++++----
 .../grails/gorm/time/InstantConverterSpec.groovy   |  22 +-
 .../grails/gorm/time/LocalDateConverterSpec.groovy |  27 +-
 .../gorm/time/LocalDateTimeConverterSpec.groovy    |  38 +--
 .../grails/gorm/time/LocalTimeConverterSpec.groovy |  28 ++-
 .../gorm/time/OffsetDateTimeConverterSpec.groovy   |  46 ++--
 .../gorm/time/OffsetTimeConverterSpec.groovy       |  39 +--
 .../grails/gorm/time/PeriodConverterSpec.groovy    |  21 +-
 .../gorm/time/ZonedDateTimeConverterSpec.groovy    |  45 ++--
 .../gorm/EntityWithGenericSignaturesSpec.groovy    |  84 +++----
 .../compiler/gorm/GormEntityTransformSpec.groovy   | 273 +++++++++++----------
 .../compiler/gorm/JpaEntityTransformSpec.groovy    |  63 ++---
 .../main/groovy/grails/gorm/rx/MultiTenant.groovy  |   7 +-
 .../src/main/groovy/grails/gorm/rx/RxEntity.groovy |  19 +-
 .../datastore/rx/collection/RxCollection.groovy    |   4 +-
 .../transform/DelegateAsyncTransformation.java     |   1 -
 .../gorm/async/transform/DelegateAsyncSpec.groovy  |  41 ++--
 .../mapping/dirty/checking/DirtyCheckable.groovy   |   1 +
 .../datastore/mapping/services/Service.groovy      |   1 +
 .../dirty/checking/DirtyCheckableSpec.groovy       |  34 +--
 .../services/DefaultServiceRegistrySpec.groovy     |  30 +--
 40 files changed, 524 insertions(+), 496 deletions(-)

diff --git a/grails-datamapping-async/src/main/groovy/grails/gorm/async/AsyncEntity.groovy b/grails-datamapping-async/src/main/groovy/grails/gorm/async/AsyncEntity.groovy
index 8263d9443a..f941a2f686 100644
--- a/grails-datamapping-async/src/main/groovy/grails/gorm/async/AsyncEntity.groovy
+++ b/grails-datamapping-async/src/main/groovy/grails/gorm/async/AsyncEntity.groovy
@@ -21,6 +21,7 @@ package grails.gorm.async
 
 import groovy.transform.CompileStatic
 import groovy.transform.Generated
+
 import org.grails.datastore.gorm.GormEnhancer
 import org.grails.datastore.gorm.GormEntity
 import org.grails.datastore.gorm.async.GormAsyncStaticApi
diff --git a/grails-datamapping-core-test/src/test/groovy/org/grails/datastore/gorm/schemaless/ImplementsDynamicAttributes.groovy b/grails-datamapping-core-test/src/test/groovy/org/grails/datastore/gorm/schemaless/ImplementsDynamicAttributes.groovy
index a0469bede3..447bfc02f8 100644
--- a/grails-datamapping-core-test/src/test/groovy/org/grails/datastore/gorm/schemaless/ImplementsDynamicAttributes.groovy
+++ b/grails-datamapping-core-test/src/test/groovy/org/grails/datastore/gorm/schemaless/ImplementsDynamicAttributes.groovy
@@ -18,46 +18,44 @@
  */
 package org.grails.datastore.gorm.schemaless
 
+import java.lang.reflect.Method
+
 import groovy.transform.Generated
+
 import spock.lang.Issue
 import spock.lang.Specification
 
-import java.lang.reflect.Method
-
-
 class DynamicDomainSpec extends Specification {
 
-    @Issue("GDM-769")
-    void "Test a domain with dynamic attributes doesn't try to set readonly properties"() {
+    @Issue('GDM-769')
+    void 'test a domain with dynamic attributes does not try to set readonly properties'() {
         given:
-        DynamicEntity entity = new DynamicEntity()
+        def entity = new DynamicEntity()
 
         when:
-        entity.putAt("foo", 123)
-        entity.putAt("name", "Sally")
+        entity.putAt('foo', 123)
+        entity.putAt('name', 'Sally')
 
         then:
-        entity.foo == "foo"
-        entity.name == "Sally"
-        entity.getAt("foo") == "foo"
-        !entity.attributes().containsKey("name")
+        entity.foo == 'foo'
+        entity.name == 'Sally'
+        entity.getAt('foo') == 'foo'
+        !entity.attributes().containsKey('name')
         entity.attributes().foo == 123
     }
 
-    void "test that all DynamicAttributes trait methods are marked as Generated"() {
-        expect: "all DynamicAttributes methods are marked as Generated on implementation class"
-        DynamicAttributes.getMethods().each { Method traitMethod ->
-            assert DynamicEntity.class.getMethod(traitMethod.name, traitMethod.parameterTypes).isAnnotationPresent(Generated)
+    void 'test that all DynamicAttributes trait methods are marked as Generated'() {
+
+        expect: 'all DynamicAttributes methods are marked as Generated on implementation class'
+        DynamicAttributes.methods.each { Method traitMethod ->
+            assert DynamicEntity.getMethod(traitMethod.name, traitMethod.parameterTypes).isAnnotationPresent(Generated)
         }
     }
 }
 
 class DynamicEntity implements DynamicAttributes {
-
     String name
-
     String getFoo() {
-        "foo"
+        'foo'
     }
-
 }
diff --git a/grails-datamapping-core/src/main/groovy/grails/gorm/MultiTenant.groovy b/grails-datamapping-core/src/main/groovy/grails/gorm/MultiTenant.groovy
index 4e93062bc6..7f429caca1 100644
--- a/grails-datamapping-core/src/main/groovy/grails/gorm/MultiTenant.groovy
+++ b/grails-datamapping-core/src/main/groovy/grails/gorm/MultiTenant.groovy
@@ -21,6 +21,7 @@ package grails.gorm
 
 import groovy.transform.CompileStatic
 import groovy.transform.Generated
+
 import grails.gorm.api.GormAllOperations
 import org.grails.datastore.gorm.GormEnhancer
 import org.grails.datastore.mapping.core.connections.ConnectionSource
diff --git a/grails-datamapping-core/src/main/groovy/grails/gorm/time/TemporalConverter.groovy b/grails-datamapping-core/src/main/groovy/grails/gorm/time/TemporalConverter.groovy
index be4092e6af..8f26fba149 100644
--- a/grails-datamapping-core/src/main/groovy/grails/gorm/time/TemporalConverter.groovy
+++ b/grails-datamapping-core/src/main/groovy/grails/gorm/time/TemporalConverter.groovy
@@ -19,12 +19,12 @@
 
 package grails.gorm.time
 
-import groovy.transform.Generated
-
 import java.time.Instant
 import java.time.ZoneId
 import java.time.ZoneOffset
 
+import groovy.transform.Generated
+
 trait TemporalConverter<T> {
 
     abstract Long convert(T value)
diff --git a/grails-datamapping-core/src/main/groovy/grails/gorm/time/ZonedDateTimeConverter.groovy b/grails-datamapping-core/src/main/groovy/grails/gorm/time/ZonedDateTimeConverter.groovy
index 8e6b4fa65f..70fb9946ab 100644
--- a/grails-datamapping-core/src/main/groovy/grails/gorm/time/ZonedDateTimeConverter.groovy
+++ b/grails-datamapping-core/src/main/groovy/grails/gorm/time/ZonedDateTimeConverter.groovy
@@ -33,14 +33,14 @@ import groovy.transform.Generated
 @CompileStatic
 trait ZonedDateTimeConverter implements TemporalConverter<ZonedDateTime> {
 
-    @Generated
     @Override
+    @Generated
     Long convert(ZonedDateTime value) {
         value.toInstant().toEpochMilli()
     }
 
-    @Generated
     @Override
+    @Generated
     ZonedDateTime convert(Long value) {
         ZonedDateTime.ofInstant(Instant.ofEpochMilli(value), systemOffset)
     }
diff --git a/grails-datamapping-core/src/main/groovy/org/grails/compiler/gorm/DirtyCheckingTransformer.groovy b/grails-datamapping-core/src/main/groovy/org/grails/compiler/gorm/DirtyCheckingTransformer.groovy
index cad27db9b5..cae27a0f4c 100644
--- a/grails-datamapping-core/src/main/groovy/org/grails/compiler/gorm/DirtyCheckingTransformer.groovy
+++ b/grails-datamapping-core/src/main/groovy/org/grails/compiler/gorm/DirtyCheckingTransformer.groovy
@@ -56,6 +56,7 @@ import org.grails.datastore.mapping.reflect.ReflectionUtils
 import static java.lang.reflect.Modifier.PUBLIC
 import static java.lang.reflect.Modifier.isFinal
 import static java.lang.reflect.Modifier.isTransient
+import static org.apache.groovy.ast.tools.AnnotatedNodeUtils.markAsGenerated
 import static org.codehaus.groovy.ast.tools.GeneralUtils.args
 import static org.codehaus.groovy.ast.tools.GeneralUtils.assignS
 import static org.codehaus.groovy.ast.tools.GeneralUtils.block
@@ -72,7 +73,6 @@ import static org.grails.datastore.mapping.reflect.AstUtils.ZERO_PARAMETERS
 import static org.grails.datastore.mapping.reflect.AstUtils.addAnnotationIfNecessary
 import static org.grails.datastore.mapping.reflect.AstUtils.hasAnnotation
 import static org.grails.datastore.mapping.reflect.AstUtils.isDomainClass
-import static org.apache.groovy.ast.tools.AnnotatedNodeUtils.markAsGenerated
 
 /**
  *
@@ -218,7 +218,6 @@ class DirtyCheckingTransformer implements CompilationUnitAware {
                                     null,
                                     GeneralUtils.returnS(GeneralUtils.varX(propertyField))
                             )
-
                             markAsGenerated(classNode, getIdMethod)
                             classNode.addMethod(getIdMethod)
                             getIdMethod.addAnnotation(GormEntityTransformation.JPA_TRANSIENT_ANNOTATION_NODE)
diff --git a/grails-datamapping-core/src/main/groovy/org/grails/compiler/gorm/GormEntityTransformation.groovy b/grails-datamapping-core/src/main/groovy/org/grails/compiler/gorm/GormEntityTransformation.groovy
index d20647c2b5..121cc89575 100644
--- a/grails-datamapping-core/src/main/groovy/org/grails/compiler/gorm/GormEntityTransformation.groovy
+++ b/grails-datamapping-core/src/main/groovy/org/grails/compiler/gorm/GormEntityTransformation.groovy
@@ -350,7 +350,6 @@ class GormEntityTransformation extends AbstractASTTransformation implements Comp
                                             }
                                             methodBody.addStatement(returnS(createNamedQueryCall))
                                             MethodNode newMethod = new MethodNode(methodName, Modifier.PUBLIC | Modifier.STATIC, queryOperationsClassNode, newParams, null, methodBody)
-
                                             markAsGenerated(thisClassNode, newMethod)
                                             thisClassNode.addMethod(newMethod)
 
diff --git a/grails-datamapping-core/src/main/groovy/org/grails/datastore/gorm/GormEntity.groovy b/grails-datamapping-core/src/main/groovy/org/grails/datastore/gorm/GormEntity.groovy
index f0ceb2b4e8..8bdba0199a 100644
--- a/grails-datamapping-core/src/main/groovy/org/grails/datastore/gorm/GormEntity.groovy
+++ b/grails-datamapping-core/src/main/groovy/org/grails/datastore/gorm/GormEntity.groovy
@@ -21,6 +21,7 @@ package org.grails.datastore.gorm
 import groovy.transform.CompileDynamic
 import groovy.transform.CompileStatic
 import groovy.transform.Generated
+
 import jakarta.persistence.Transient
 
 import org.springframework.transaction.TransactionDefinition
@@ -58,8 +59,8 @@ trait GormEntity<D> implements GormValidateable, DirtyCheckable, GormEntityApi<D
      * @param name The property name
      * @return The property value
      */
-    @CompileDynamic
     @Generated
+    @CompileDynamic
     def propertyMissing(String name) {
         GormEnhancer.findInstanceApi(getClass()).propertyMissing(this, name)
     }
diff --git a/grails-datamapping-core/src/main/groovy/org/grails/datastore/gorm/GormEntityDirtyCheckable.groovy b/grails-datamapping-core/src/main/groovy/org/grails/datastore/gorm/GormEntityDirtyCheckable.groovy
index 9b5edc66e0..8d09901092 100644
--- a/grails-datamapping-core/src/main/groovy/org/grails/datastore/gorm/GormEntityDirtyCheckable.groovy
+++ b/grails-datamapping-core/src/main/groovy/org/grails/datastore/gorm/GormEntityDirtyCheckable.groovy
@@ -19,9 +19,8 @@
 package org.grails.datastore.gorm
 
 import groovy.transform.CompileStatic
+import groovy.transform.Generated
 
-import jakarta.annotation.Generated
-import groovy.transform.Generated as GroovyGenerated
 import org.grails.datastore.mapping.config.Property
 import org.grails.datastore.mapping.dirty.checking.DirtyCheckable
 import org.grails.datastore.mapping.model.PersistentEntity
@@ -39,7 +38,6 @@ trait GormEntityDirtyCheckable extends DirtyCheckable {
 
     @Override
     @Generated
-    @GroovyGenerated
     boolean hasChanged(String propertyName) {
         PersistentEntity entity = currentGormInstanceApi().persistentEntity
 
diff --git a/grails-datamapping-core/src/main/groovy/org/grails/datastore/gorm/GormValidateable.groovy b/grails-datamapping-core/src/main/groovy/org/grails/datastore/gorm/GormValidateable.groovy
index 2baf26e05e..6b6be5e917 100644
--- a/grails-datamapping-core/src/main/groovy/org/grails/datastore/gorm/GormValidateable.groovy
+++ b/grails-datamapping-core/src/main/groovy/org/grails/datastore/gorm/GormValidateable.groovy
@@ -20,6 +20,7 @@ package org.grails.datastore.gorm
 
 import groovy.transform.CompileStatic
 import groovy.transform.Generated
+
 import jakarta.persistence.Transient
 
 import org.springframework.validation.Errors
@@ -38,6 +39,7 @@ trait GormValidateable {
 
     @Transient
     private transient boolean skipValidate = false
+
     /**
      * The validation errors object
      */
diff --git a/grails-datamapping-core/src/main/groovy/org/grails/datastore/gorm/schemaless/DynamicAttributes.groovy b/grails-datamapping-core/src/main/groovy/org/grails/datastore/gorm/schemaless/DynamicAttributes.groovy
index 2003abc726..84240b5547 100644
--- a/grails-datamapping-core/src/main/groovy/org/grails/datastore/gorm/schemaless/DynamicAttributes.groovy
+++ b/grails-datamapping-core/src/main/groovy/org/grails/datastore/gorm/schemaless/DynamicAttributes.groovy
@@ -21,6 +21,7 @@ package org.grails.datastore.gorm.schemaless
 
 import groovy.transform.CompileStatic
 import groovy.transform.Generated
+
 import org.grails.datastore.mapping.dirty.checking.DirtyCheckable
 
 /**
diff --git a/grails-datamapping-core/src/main/groovy/org/grails/datastore/gorm/services/implementers/AbstractReadOperationImplementer.groovy b/grails-datamapping-core/src/main/groovy/org/grails/datastore/gorm/services/implementers/AbstractReadOperationImplementer.groovy
index 08cf9aeffe..bbfbb3a6b5 100644
--- a/grails-datamapping-core/src/main/groovy/org/grails/datastore/gorm/services/implementers/AbstractReadOperationImplementer.groovy
+++ b/grails-datamapping-core/src/main/groovy/org/grails/datastore/gorm/services/implementers/AbstractReadOperationImplementer.groovy
@@ -66,9 +66,7 @@ abstract class AbstractReadOperationImplementer extends AbstractServiceImplement
             domainClassNode = domainClassFromSignature
         }
         doImplement(domainClassNode, abstractMethodNode, newMethodNode, targetClassNode)
-
         markAsGenerated(targetClassNode, newMethodNode)
-
         abstractMethodNode.putNodeMetaData(IMPLEMENTED, Boolean.TRUE)
     }
 
diff --git a/grails-datamapping-core/src/main/groovy/org/grails/datastore/gorm/services/implementers/AbstractWriteOperationImplementer.groovy b/grails-datamapping-core/src/main/groovy/org/grails/datastore/gorm/services/implementers/AbstractWriteOperationImplementer.groovy
index a08205afb3..882c1c3274 100644
--- a/grails-datamapping-core/src/main/groovy/org/grails/datastore/gorm/services/implementers/AbstractWriteOperationImplementer.groovy
+++ b/grails-datamapping-core/src/main/groovy/org/grails/datastore/gorm/services/implementers/AbstractWriteOperationImplementer.groovy
@@ -57,9 +57,7 @@ abstract class AbstractWriteOperationImplementer extends AbstractServiceImplemen
         }
 
         doImplement(domainClassNode, abstractMethodNode, newMethodNode, targetClassNode)
-
         markAsGenerated(targetClassNode, newMethodNode)
-
         abstractMethodNode.putNodeMetaData(IMPLEMENTED, Boolean.TRUE)
     }
 
diff --git a/grails-datamapping-core/src/main/groovy/org/grails/datastore/gorm/services/implementers/IterableInterfaceProjectionBuilder.groovy b/grails-datamapping-core/src/main/groovy/org/grails/datastore/gorm/services/implementers/IterableInterfaceProjectionBuilder.groovy
index 000c71283f..78bda7209a 100644
--- a/grails-datamapping-core/src/main/groovy/org/grails/datastore/gorm/services/implementers/IterableInterfaceProjectionBuilder.groovy
+++ b/grails-datamapping-core/src/main/groovy/org/grails/datastore/gorm/services/implementers/IterableInterfaceProjectionBuilder.groovy
@@ -65,8 +65,8 @@ trait IterableInterfaceProjectionBuilder extends InterfaceProjectionBuilder {
      * @param returnType
      * @return True if it is
      */
-    @Generated
     @Override
+    @Generated
     boolean isInterfaceProjection(ClassNode domainClass, MethodNode methodNode, ClassNode returnType) {
         if (AstUtils.isSubclassOfOrImplementsInterface(returnType, Iterable.name) || returnType.isArray()) {
             ClassNode genericType = AstGenericsUtils.resolveSingleGenericType(returnType)
diff --git a/grails-datamapping-core/src/main/groovy/org/grails/datastore/gorm/services/transform/ServiceTransformation.groovy b/grails-datamapping-core/src/main/groovy/org/grails/datastore/gorm/services/transform/ServiceTransformation.groovy
index b0808d594b..ce8c338fd2 100644
--- a/grails-datamapping-core/src/main/groovy/org/grails/datastore/gorm/services/transform/ServiceTransformation.groovy
+++ b/grails-datamapping-core/src/main/groovy/org/grails/datastore/gorm/services/transform/ServiceTransformation.groovy
@@ -88,6 +88,7 @@ import org.grails.datastore.gorm.validation.jakarta.services.implementers.Method
 import org.grails.datastore.mapping.core.Datastore
 import org.grails.datastore.mapping.core.order.OrderedComparator
 
+import static org.apache.groovy.ast.tools.AnnotatedNodeUtils.markAsGenerated
 import static org.codehaus.groovy.ast.tools.GeneralUtils.assignS
 import static org.codehaus.groovy.ast.tools.GeneralUtils.assignX
 import static org.codehaus.groovy.ast.tools.GeneralUtils.block
@@ -108,7 +109,6 @@ import static org.grails.datastore.mapping.reflect.AstUtils.error
 import static org.grails.datastore.mapping.reflect.AstUtils.findAllUnimplementedAbstractMethods
 import static org.grails.datastore.mapping.reflect.AstUtils.findAnnotation
 import static org.grails.datastore.mapping.reflect.AstUtils.hasAnnotation
-import static org.apache.groovy.ast.tools.AnnotatedNodeUtils.markAsGenerated
 import static org.grails.datastore.mapping.reflect.AstUtils.warning
 
 /**
diff --git a/grails-datamapping-core/src/main/groovy/org/grails/datastore/gorm/transactions/transform/TransactionalTransform.groovy b/grails-datamapping-core/src/main/groovy/org/grails/datastore/gorm/transactions/transform/TransactionalTransform.groovy
index a4fcbaa100..050d12ca46 100644
--- a/grails-datamapping-core/src/main/groovy/org/grails/datastore/gorm/transactions/transform/TransactionalTransform.groovy
+++ b/grails-datamapping-core/src/main/groovy/org/grails/datastore/gorm/transactions/transform/TransactionalTransform.groovy
@@ -55,6 +55,7 @@ import org.grails.datastore.mapping.multitenancy.MultiTenantCapableDatastore
 import org.grails.datastore.mapping.transactions.CustomizableRollbackTransactionAttribute
 import org.grails.datastore.mapping.transactions.TransactionCapableDatastore
 
+import static org.apache.groovy.ast.tools.AnnotatedNodeUtils.markAsGenerated
 import static org.codehaus.groovy.ast.ClassHelper.CLASS_Type
 import static org.codehaus.groovy.ast.ClassHelper.STRING_TYPE
 import static org.codehaus.groovy.ast.ClassHelper.VOID_TYPE
@@ -86,7 +87,6 @@ import static org.grails.datastore.mapping.reflect.AstUtils.findAnnotation
 import static org.grails.datastore.mapping.reflect.AstUtils.hasOrInheritsProperty
 import static org.grails.datastore.mapping.reflect.AstUtils.implementsInterface
 import static org.grails.datastore.mapping.reflect.AstUtils.isSubclassOf
-import static org.apache.groovy.ast.tools.AnnotatedNodeUtils.markAsGenerated
 import static org.grails.datastore.mapping.reflect.AstUtils.nonGeneric
 import static org.grails.datastore.mapping.reflect.AstUtils.varThis
 
@@ -339,7 +339,6 @@ class TransactionalTransform extends AbstractDatastoreMethodDecoratingTransforma
                             parameters,
                             null,
                             setterBody)
-
                     markAsGenerated(declaringClassNode, setterNode)
                 }
             }
diff --git a/grails-datamapping-core/src/main/groovy/org/grails/datastore/gorm/transform/AbstractDatastoreMethodDecoratingTransformation.groovy b/grails-datamapping-core/src/main/groovy/org/grails/datastore/gorm/transform/AbstractDatastoreMethodDecoratingTransformation.groovy
index 1dcd715cad..7bfa704ea0 100644
--- a/grails-datamapping-core/src/main/groovy/org/grails/datastore/gorm/transform/AbstractDatastoreMethodDecoratingTransformation.groovy
+++ b/grails-datamapping-core/src/main/groovy/org/grails/datastore/gorm/transform/AbstractDatastoreMethodDecoratingTransformation.groovy
@@ -41,6 +41,7 @@ import org.grails.datastore.gorm.internal.RuntimeSupport
 import org.grails.datastore.mapping.core.Datastore
 import org.grails.datastore.mapping.core.connections.MultipleConnectionSourceCapableDatastore
 
+import static org.apache.groovy.ast.tools.AnnotatedNodeUtils.markAsGenerated
 import static org.codehaus.groovy.ast.ClassHelper.STRING_TYPE
 import static org.codehaus.groovy.ast.ClassHelper.VOID_TYPE
 import static org.codehaus.groovy.ast.ClassHelper.make
@@ -61,7 +62,6 @@ import static org.grails.datastore.mapping.reflect.AstUtils.ZERO_PARAMETERS
 import static org.grails.datastore.mapping.reflect.AstUtils.addAnnotationOrGetExisting
 import static org.grails.datastore.mapping.reflect.AstUtils.implementsInterface
 import static org.grails.datastore.mapping.reflect.AstUtils.isSpockTest
-import static org.apache.groovy.ast.tools.AnnotatedNodeUtils.markAsGenerated
 
 /**
  * An abstract implementation for transformations that decorate a method invocation such that
@@ -208,17 +208,14 @@ abstract class AbstractDatastoreMethodDecoratingTransformation extends AbstractM
                                     returnS(datastoreFieldVar),
                                     returnS(datastoreLookupDefaultCall))
                     )
-
                     markAsGenerated(declaringClassNode, mn)
+
                     if (!isSpockTest) {
                         compileMethodStatically(source, mn)
                     }
-
                 }
             }
-
         }
-
     }
 
     protected void weaveSetTargetDatastoreBody(SourceUnit source, AnnotationNode annotationNode, ClassNode declaringClassNode, Expression datastoreVar, BlockStatement setTargetDatastoreBody) {
diff --git a/grails-datamapping-core/src/main/groovy/org/grails/datastore/gorm/transform/AbstractMethodDecoratingTransformation.groovy b/grails-datamapping-core/src/main/groovy/org/grails/datastore/gorm/transform/AbstractMethodDecoratingTransformation.groovy
index 16f608bbdb..9141abb453 100644
--- a/grails-datamapping-core/src/main/groovy/org/grails/datastore/gorm/transform/AbstractMethodDecoratingTransformation.groovy
+++ b/grails-datamapping-core/src/main/groovy/org/grails/datastore/gorm/transform/AbstractMethodDecoratingTransformation.groovy
@@ -47,6 +47,7 @@ import jakarta.annotation.PreDestroy
 
 import org.grails.datastore.mapping.reflect.NameUtils
 
+import static org.apache.groovy.ast.tools.AnnotatedNodeUtils.markAsGenerated
 import static org.codehaus.groovy.ast.ClassHelper.VOID_TYPE
 import static org.codehaus.groovy.ast.tools.GeneralUtils.args
 import static org.codehaus.groovy.ast.tools.GeneralUtils.block
@@ -56,7 +57,6 @@ import static org.codehaus.groovy.ast.tools.GeneralUtils.closureX
 import static org.codehaus.groovy.ast.tools.GeneralUtils.returnS
 import static org.codehaus.groovy.ast.tools.GeneralUtils.stmt
 import static org.codehaus.groovy.ast.tools.GeneralUtils.varX
-import static org.apache.groovy.ast.tools.AnnotatedNodeUtils.markAsGenerated
 import static org.grails.datastore.gorm.transform.AstMethodDispatchUtils.paramsForArgs
 import static org.grails.datastore.mapping.reflect.AstUtils.COMPILE_STATIC_TYPE
 import static org.grails.datastore.mapping.reflect.AstUtils.EMPTY_CLASS_ARRAY
diff --git a/grails-datamapping-core/src/main/groovy/org/grails/datastore/gorm/validation/jakarta/services/ValidatedService.groovy b/grails-datamapping-core/src/main/groovy/org/grails/datastore/gorm/validation/jakarta/services/ValidatedService.groovy
index 16d5f29e91..10e7232f21 100644
--- a/grails-datamapping-core/src/main/groovy/org/grails/datastore/gorm/validation/jakarta/services/ValidatedService.groovy
+++ b/grails-datamapping-core/src/main/groovy/org/grails/datastore/gorm/validation/jakarta/services/ValidatedService.groovy
@@ -23,6 +23,7 @@ import java.lang.reflect.Method
 
 import groovy.transform.CompileStatic
 import groovy.transform.Generated
+
 import jakarta.validation.Configuration
 import jakarta.validation.ConstraintViolation
 import jakarta.validation.ConstraintViolationException
diff --git a/grails-datamapping-core/src/test/groovy/grails/gorm/services/MethodValidationTransformSpec.groovy b/grails-datamapping-core/src/test/groovy/grails/gorm/services/MethodValidationTransformSpec.groovy
index c4cb871f9c..001de02cf6 100644
--- a/grails-datamapping-core/src/test/groovy/grails/gorm/services/MethodValidationTransformSpec.groovy
+++ b/grails-datamapping-core/src/test/groovy/grails/gorm/services/MethodValidationTransformSpec.groovy
@@ -18,100 +18,97 @@
  */
 package grails.gorm.services
 
-import groovy.transform.Generated
+import java.lang.reflect.Method
 
-import grails.gorm.annotation.Entity
-import grails.validation.ValidationException
-import jakarta.validation.constraints.NotNull
-import org.grails.datastore.gorm.validation.jakarta.services.ValidatedService
-import spock.lang.Specification
+import groovy.transform.Generated
 
 import jakarta.validation.ConstraintViolationException
 import jakarta.validation.ParameterNameProvider
-import java.lang.reflect.Method
+import jakarta.validation.constraints.NotNull
 
-/**
- * Created by graemerocher on 14/02/2017.
- */
-class MethodValidationTransformSpec extends Specification {
+import spock.lang.Specification
 
-    void "test simple validated property"() {
-        when:"The service transform is applied to an interface it can't implement"
-        Class service = new GroovyClassLoader().parseClass('''
-import grails.gorm.services.*
 import grails.gorm.annotation.Entity
-import jakarta.validation.constraints.*
-
-@Service(Foo)
-interface MyService {
+import grails.validation.ValidationException
+import org.grails.datastore.gorm.validation.jakarta.services.ValidatedService
 
-    @grails.gorm.transactions.NotTransactional
-    Foo find(@NotNull String title) throws jakarta.validation.ConstraintViolationException
-    
-    @grails.gorm.transactions.NotTransactional
-    Foo findAgain(@NotNull @NotBlank String title)
-}
-@Entity
-class Foo {
-    String title
-}
+class MethodValidationTransformSpec extends Specification {
 
-''')
+    void 'test simple validated property'() {
+
+        when: 'the service transform is applied to an interface it cannot implement'
+        def serviceClass = new GroovyClassLoader().parseClass('''
+            import grails.gorm.services.*
+            import grails.gorm.annotation.Entity
+            import jakarta.validation.constraints.*
+            
+            @Service(Foo)
+            interface MyService {
+            
+                @grails.gorm.transactions.NotTransactional
+                Foo find(@NotNull String title) throws jakarta.validation.ConstraintViolationException
+                
+                @grails.gorm.transactions.NotTransactional
+                Foo findAgain(@NotNull @NotBlank String title)
+            }
+            @Entity
+            class Foo {
+                String title
+            }
+        ''')
 
         then:
-        service.isInterface()
-        println service.classLoader.loadedClasses
+        serviceClass.isInterface()
 
-        when:"the impl is obtained"
-        Class impl = service.classLoader.loadClass("\$MyServiceImplementation")
+        when: 'the impl is obtained'
+        def implClass = serviceClass.classLoader.loadClass('$MyServiceImplementation')
 
-        then:"The impl is valid"
-        org.grails.datastore.mapping.services.Service.isAssignableFrom(impl)
-        ValidatedService.isAssignableFrom(impl)
+        then: 'the impl is valid'
+        org.grails.datastore.mapping.services.Service.isAssignableFrom(implClass)
+        ValidatedService.isAssignableFrom(implClass)
 
-        and: "All implemented Trait methods are marked as Generated"
-        ValidatedService.getMethods().each { Method traitMethod ->
-            assert impl.getMethod(traitMethod.name, traitMethod.parameterTypes).isAnnotationPresent(Generated)
+        and: 'all implemented Trait methods are marked as Generated'
+        ValidatedService.methods.each { Method traitMethod ->
+            assert implClass.getMethod(traitMethod.name, traitMethod.parameterTypes).isAnnotationPresent(Generated)
         }
 
-        when:"The parameter data is obtained"
-        ParameterNameProvider parameterNameProvider = service.classLoader.loadClass("\$MyServiceImplementation\$ParameterNameProvider").newInstance()
-        def instance = impl.newInstance()
+        when: 'the parameter data is obtained'
+        def parameterNameProvider = (ParameterNameProvider) serviceClass.classLoader.loadClass('$MyServiceImplementation$ParameterNameProvider').newInstance()
+        def instance = implClass.newInstance()
 
-        then:"It is correct"
+        then: 'it is correct'
         parameterNameProvider != null
-        parameterNameProvider.getParameterNames(impl.getMethod("find", String)) == ["title"]
+        parameterNameProvider.getParameterNames(implClass.getMethod('find', String)) == ['title']
         instance.parameterNameProvider != null
-        instance.parameterNameProvider.getParameterNames(impl.getMethod("find", String)) == ["title"]
+        instance.parameterNameProvider.getParameterNames(implClass.getMethod('find', String)) == ['title']
         instance.validatorFactory != null
 
-
         when:
         instance.find(null)
 
         then:
-        def e = thrown( ConstraintViolationException)
-        e.constraintViolations.size() == 1
-        e.constraintViolations.first().messageTemplate == '{jakarta.validation.constraints.NotNull.message}'
-        e.constraintViolations.first().propertyPath.toString() == 'find.title'
+        def constraintViolationException = thrown(ConstraintViolationException)
+        constraintViolationException.constraintViolations.size() == 1
+        constraintViolationException.constraintViolations.first().messageTemplate == '{jakarta.validation.constraints.NotNull.message}'
+        constraintViolationException.constraintViolations.first().propertyPath.toString() == 'find.title'
 
         when:
-        instance.findAgain("")
+        instance.findAgain('')
 
         then:
-        def e2 = thrown( ValidationException )
-        e2.message
-        e2.errors.hasErrors()
-        e2.errors.hasFieldErrors('title')
-        e2.errors.getFieldValue('title') == ""
+        def validationException =  thrown(ValidationException)
+        validationException.message
+        validationException.errors.hasErrors()
+        validationException.errors.hasFieldErrors('title')
+        validationException.errors.getFieldValue('title') == ''
     }
 }
 
 @Service(Foo)
 interface MyService {
-
     Foo find(@NotNull String title)
 }
+
 @Entity
 class Foo {
     String title
diff --git a/grails-datamapping-core/src/test/groovy/grails/gorm/time/InstantConverterSpec.groovy b/grails-datamapping-core/src/test/groovy/grails/gorm/time/InstantConverterSpec.groovy
index 3ccd2f0421..20729af85d 100644
--- a/grails-datamapping-core/src/test/groovy/grails/gorm/time/InstantConverterSpec.groovy
+++ b/grails-datamapping-core/src/test/groovy/grails/gorm/time/InstantConverterSpec.groovy
@@ -18,13 +18,14 @@
  */
 package grails.gorm.time
 
-import spock.lang.Shared
-import groovy.transform.Generated
-import spock.lang.Specification
-
 import java.lang.reflect.Method
 import java.time.Instant
 
+import groovy.transform.Generated
+
+import spock.lang.Shared
+import spock.lang.Specification
+
 class InstantConverterSpec extends Specification implements InstantConverter {
 
     @Shared
@@ -34,20 +35,21 @@ class InstantConverterSpec extends Specification implements InstantConverter {
         instant = Instant.ofEpochMilli(100)
     }
 
-    void "test convert to long"() {
+    void 'test convert to long'() {
         expect:
         convert(instant) == 100L
     }
 
-    void "test convert from long"() {
+    void 'test convert from long'() {
         expect:
         convert(100L) == instant
     }
 
-    void "test that all InstantConverter trait methods are marked as Generated"() {
-        expect: "all InstantConverter methods are marked as Generated on implementation class"
-        InstantConverter.getMethods().each { Method traitMethod ->
-            assert InstantConverterSpec.class.getMethod(traitMethod.name, traitMethod.parameterTypes).isAnnotationPresent(Generated)
+    void 'test that all InstantConverter trait methods are marked as Generated'() {
+
+        expect: 'all InstantConverter methods are marked as Generated on implementation class'
+        InstantConverter.methods.each { Method traitMethod ->
+            assert InstantConverterSpec.getMethod(traitMethod.name, traitMethod.parameterTypes).isAnnotationPresent(Generated)
         }
     }
 }
diff --git a/grails-datamapping-core/src/test/groovy/grails/gorm/time/LocalDateConverterSpec.groovy b/grails-datamapping-core/src/test/groovy/grails/gorm/time/LocalDateConverterSpec.groovy
index 538fbb2489..b1ba813714 100644
--- a/grails-datamapping-core/src/test/groovy/grails/gorm/time/LocalDateConverterSpec.groovy
+++ b/grails-datamapping-core/src/test/groovy/grails/gorm/time/LocalDateConverterSpec.groovy
@@ -18,13 +18,13 @@
  */
 package grails.gorm.time
 
-import spock.lang.Shared
-import spock.lang.Specification
+import java.lang.reflect.Method
+import java.time.LocalDate
 
 import groovy.transform.Generated
 
-import java.lang.reflect.Method
-import java.time.LocalDate
+import spock.lang.Shared
+import spock.lang.Specification
 
 class LocalDateConverterSpec extends Specification implements LocalDateConverter {
 
@@ -35,25 +35,26 @@ class LocalDateConverterSpec extends Specification implements LocalDateConverter
         localDate = LocalDate.of(1941, 1, 5)
     }
 
-    void "test convert to long"() {
+    void 'test convert to long'() {
         expect:
         convert(localDate) == -914803200000L
     }
 
-    void "test convert from long"() {
+    void 'test convert from long'() {
         expect:
         convert(-914803200000L) == localDate
     }
 
-    void "test that all LocalDateConverter/TemporalConverter trait methods are marked as Generated"() {
-        expect: "all LocalDateConverter methods are marked as Generated on implementation class"
-        LocalDateConverter.getMethods().each { Method traitMethod ->
-            assert LocalDateConverterSpec.class.getMethod(traitMethod.name, traitMethod.parameterTypes).isAnnotationPresent(Generated)
+    void 'test that all LocalDateConverter/TemporalConverter trait methods are marked as Generated'() {
+
+        expect: 'all LocalDateConverter methods are marked as Generated on implementation class'
+        LocalDateConverter.methods.each { Method traitMethod ->
+            assert LocalDateConverterSpec.getMethod(traitMethod.name, traitMethod.parameterTypes).isAnnotationPresent(Generated)
         }
 
-        and: "all TemporalConverter methods are marked as Generated on implementation class"
-        TemporalConverter.getMethods().each { Method traitMethod ->
-            assert LocalDateConverterSpec.class.getMethod(traitMethod.name, traitMethod.parameterTypes).isAnnotationPresent(Generated)
+        and: 'all TemporalConverter methods are marked as Generated on implementation class'
+        TemporalConverter.methods.each { Method traitMethod ->
+            assert LocalDateConverterSpec.getMethod(traitMethod.name, traitMethod.parameterTypes).isAnnotationPresent(Generated)
         }
     }
 }
diff --git a/grails-datamapping-core/src/test/groovy/grails/gorm/time/LocalDateTimeConverterSpec.groovy b/grails-datamapping-core/src/test/groovy/grails/gorm/time/LocalDateTimeConverterSpec.groovy
index a9521589ac..c209612fcb 100644
--- a/grails-datamapping-core/src/test/groovy/grails/gorm/time/LocalDateTimeConverterSpec.groovy
+++ b/grails-datamapping-core/src/test/groovy/grails/gorm/time/LocalDateTimeConverterSpec.groovy
@@ -18,47 +18,49 @@
  */
 package grails.gorm.time
 
-import spock.lang.Shared
-import spock.lang.Specification
-
-import groovy.transform.Generated
-
 import java.lang.reflect.Method
 import java.time.LocalDate
 import java.time.LocalDateTime
 import java.time.LocalTime
 
+import groovy.transform.Generated
+
+import spock.lang.Shared
+import spock.lang.Specification
+
 class LocalDateTimeConverterSpec extends Specification implements LocalDateTimeConverter {
 
     @Shared
     LocalDateTime localDateTime
 
     void setupSpec() {
-        TimeZone.default = TimeZone.getTimeZone("America/Los_Angeles")
-        LocalTime localTime = LocalTime.of(6,5,4,3)
-        LocalDate localDate = LocalDate.of(1941, 1, 5)
-        localDateTime = LocalDateTime.of(localDate, localTime)
+        TimeZone.default = TimeZone.getTimeZone('America/Los_Angeles')
+        localDateTime = LocalDateTime.of(
+                LocalDate.of(1941, 1, 5),
+                LocalTime.of(6,5,4,3)
+        )
     }
 
-    void "test convert to long"() {
+    void 'test convert to long'() {
         expect:
         convert(localDateTime) == -914781296000L
     }
 
-    void "test convert from long"() {
+    void 'test convert from long'() {
         expect:
         convert(-914781296000L) == localDateTime.withNano(0)
     }
 
-    void "test that all LocalDateTimeConverter/TemporalConverter trait methods are marked as Generated"() {
-        expect: "all LocalDateTimeConverter methods are marked as Generated on implementation class"
-        LocalDateTimeConverter.getMethods().each { Method traitMethod ->
-            assert LocalDateTimeConverterSpec.class.getMethod(traitMethod.name, traitMethod.parameterTypes).isAnnotationPresent(Generated)
+    void 'test that all LocalDateTimeConverter/TemporalConverter trait methods are marked as Generated'() {
+
+        expect: 'all LocalDateTimeConverter methods are marked as Generated on implementation class'
+        LocalDateTimeConverter.methods.each { Method traitMethod ->
+            assert LocalDateTimeConverterSpec.getMethod(traitMethod.name, traitMethod.parameterTypes).isAnnotationPresent(Generated)
         }
 
-        and: "all TemporalConverter methods are marked as Generated on implementation class"
-        TemporalConverter.getMethods().each { Method traitMethod ->
-            assert LocalDateTimeConverterSpec.class.getMethod(traitMethod.name, traitMethod.parameterTypes).isAnnotationPresent(Generated)
+        and: 'all TemporalConverter methods are marked as Generated on implementation class'
+        TemporalConverter.methods.each { Method traitMethod ->
+            assert LocalDateTimeConverterSpec.getMethod(traitMethod.name, traitMethod.parameterTypes).isAnnotationPresent(Generated)
         }
     }
 }
diff --git a/grails-datamapping-core/src/test/groovy/grails/gorm/time/LocalTimeConverterSpec.groovy b/grails-datamapping-core/src/test/groovy/grails/gorm/time/LocalTimeConverterSpec.groovy
index 282f20801d..33a6755bb2 100644
--- a/grails-datamapping-core/src/test/groovy/grails/gorm/time/LocalTimeConverterSpec.groovy
+++ b/grails-datamapping-core/src/test/groovy/grails/gorm/time/LocalTimeConverterSpec.groovy
@@ -18,13 +18,14 @@
  */
 package grails.gorm.time
 
-import spock.lang.Shared
-import spock.lang.Specification
-import groovy.transform.Generated
-
 import java.lang.reflect.Method
 import java.time.LocalTime
 
+import groovy.transform.Generated
+
+import spock.lang.Shared
+import spock.lang.Specification
+
 class LocalTimeConverterSpec extends Specification implements LocalTimeConverter {
 
     @Shared
@@ -34,25 +35,26 @@ class LocalTimeConverterSpec extends Specification implements LocalTimeConverter
         localTime = LocalTime.of(6,5,4,3)
     }
 
-    void "test convert to long"() {
+    void 'test convert to long'() {
         expect:
         convert(localTime) == 21904000000003L
     }
 
-    void "test convert from long"() {
+    void 'test convert from long'() {
         expect:
         convert(21904000000003L) == localTime
     }
 
-    void "test that all LocalTimeConverter/TemporalConverter trait methods are marked as Generated"() {
-        expect: "all LocalTimeConverter methods are marked as Generated on implementation class"
-        LocalTimeConverter.getMethods().each { Method traitMethod ->
-            assert LocalTimeConverterSpec.class.getMethod(traitMethod.name, traitMethod.parameterTypes).isAnnotationPresent(Generated)
+    void 'test that all LocalTimeConverter/TemporalConverter trait methods are marked as Generated'() {
+
+        expect: 'all LocalTimeConverter methods are marked as Generated on implementation class'
+        LocalTimeConverter.methods.each { Method traitMethod ->
+            assert LocalTimeConverterSpec.getMethod(traitMethod.name, traitMethod.parameterTypes).isAnnotationPresent(Generated)
         }
 
-        and: "all TemporalConverter methods are marked as Generated on implementation class"
-        TemporalConverter.getMethods().each { Method traitMethod ->
-            assert LocalTimeConverterSpec.class.getMethod(traitMethod.name, traitMethod.parameterTypes).isAnnotationPresent(Generated)
+        and: 'all TemporalConverter methods are marked as Generated on implementation class'
+        TemporalConverter.methods.each { Method traitMethod ->
+            assert LocalTimeConverterSpec.getMethod(traitMethod.name, traitMethod.parameterTypes).isAnnotationPresent(Generated)
         }
     }
 }
diff --git a/grails-datamapping-core/src/test/groovy/grails/gorm/time/OffsetDateTimeConverterSpec.groovy b/grails-datamapping-core/src/test/groovy/grails/gorm/time/OffsetDateTimeConverterSpec.groovy
index afc47bea35..c08a69bf18 100644
--- a/grails-datamapping-core/src/test/groovy/grails/gorm/time/OffsetDateTimeConverterSpec.groovy
+++ b/grails-datamapping-core/src/test/groovy/grails/gorm/time/OffsetDateTimeConverterSpec.groovy
@@ -18,13 +18,17 @@
  */
 package grails.gorm.time
 
-import spock.lang.Shared
-import spock.lang.Specification
+import java.lang.reflect.Method
+import java.time.LocalDate
+import java.time.LocalDateTime
+import java.time.LocalTime
+import java.time.OffsetDateTime
+import java.time.ZoneOffset
 
 import groovy.transform.Generated
 
-import java.lang.reflect.Method
-import java.time.*
+import spock.lang.Shared
+import spock.lang.Specification
 
 class OffsetDateTimeConverterSpec extends Specification implements OffsetDateTimeConverter {
 
@@ -32,36 +36,40 @@ class OffsetDateTimeConverterSpec extends Specification implements OffsetDateTim
     OffsetDateTime offsetDateTime
 
     void setupSpec() {
-        TimeZone.default = TimeZone.getTimeZone("America/Los_Angeles")
-        LocalTime localTime = LocalTime.of(6,5,4,3)
-        LocalDate localDate = LocalDate.of(1941, 1, 5)
-        LocalDateTime localDateTime = LocalDateTime.of(localDate, localTime)
-        offsetDateTime = OffsetDateTime.of(localDateTime, ZoneOffset.ofHours(-6))
+        TimeZone.default = TimeZone.getTimeZone('America/Los_Angeles')
+        offsetDateTime = OffsetDateTime.of(
+                LocalDateTime.of(
+                        LocalDate.of(1941, 1, 5),
+                        LocalTime.of(6,5,4,3)
+                ),
+                ZoneOffset.ofHours(-6)
+        )
     }
 
-    void "test convert to long"() {
+    void 'test convert to long'() {
         expect:
         convert(offsetDateTime) == -914759696000L
     }
 
-    void "test convert from long"() {
+    void 'test convert from long'() {
         given:
-        OffsetDateTime converted = convert(-914759696000L)
+        def converted = convert(-914759696000L)
 
         expect:
         converted == offsetDateTime.withNano(0).withOffsetSameInstant(ZoneOffset.ofHours(-7)) ||
                 converted == offsetDateTime.withNano(0).withOffsetSameInstant(ZoneOffset.ofHours(-8))
     }
 
-    void "test that all OffsetDateTimeConverter/TemporalConverter trait methods are marked as Generated"() {
-        expect: "all OffsetDateTimeConverter methods are marked as Generated on implementation class"
-        OffsetDateTimeConverter.getMethods().each { Method traitMethod ->
-            assert OffsetDateTimeConverterSpec.class.getMethod(traitMethod.name, traitMethod.parameterTypes).isAnnotationPresent(Generated)
+    void 'test that all OffsetDateTimeConverter/TemporalConverter trait methods are marked as Generated'() {
+
+        expect: 'all OffsetDateTimeConverter methods are marked as Generated on implementation class'
+        OffsetDateTimeConverter.methods.each { Method traitMethod ->
+            assert OffsetDateTimeConverterSpec.getMethod(traitMethod.name, traitMethod.parameterTypes).isAnnotationPresent(Generated)
         }
 
-        and: "all TemporalConverter methods are marked as Generated on implementation class"
-        TemporalConverter.getMethods().each { Method traitMethod ->
-            assert OffsetDateTimeConverterSpec.class.getMethod(traitMethod.name, traitMethod.parameterTypes).isAnnotationPresent(Generated)
+        and: 'all TemporalConverter methods are marked as Generated on implementation class'
+        TemporalConverter.methods.each { Method traitMethod ->
+            assert OffsetDateTimeConverterSpec.getMethod(traitMethod.name, traitMethod.parameterTypes).isAnnotationPresent(Generated)
         }
     }
 }
diff --git a/grails-datamapping-core/src/test/groovy/grails/gorm/time/OffsetTimeConverterSpec.groovy b/grails-datamapping-core/src/test/groovy/grails/gorm/time/OffsetTimeConverterSpec.groovy
index 372f5dc9e3..83acef8cb3 100644
--- a/grails-datamapping-core/src/test/groovy/grails/gorm/time/OffsetTimeConverterSpec.groovy
+++ b/grails-datamapping-core/src/test/groovy/grails/gorm/time/OffsetTimeConverterSpec.groovy
@@ -18,50 +18,53 @@
  */
 package grails.gorm.time
 
-import spock.lang.Shared
-import spock.lang.Specification
-
-import groovy.transform.Generated
-
 import java.lang.reflect.Method
 import java.time.LocalTime
 import java.time.OffsetTime
 import java.time.ZoneOffset
 
+import groovy.transform.Generated
+
+import spock.lang.Shared
+import spock.lang.Specification
+
 class OffsetTimeConverterSpec extends Specification implements OffsetTimeConverter {
 
     @Shared
     OffsetTime offsetTime
 
     void setupSpec() {
-        TimeZone.default = TimeZone.getTimeZone("America/Los_Angeles")
-        LocalTime localTime = LocalTime.of(6,5,4,3)
-        offsetTime = OffsetTime.of(localTime, ZoneOffset.ofHours(-6))
+        TimeZone.default = TimeZone.getTimeZone('America/Los_Angeles')
+        offsetTime = OffsetTime.of(
+                LocalTime.of(6,5,4,3),
+                ZoneOffset.ofHours(-6)
+        )
     }
 
-    void "test convert to long"() {
+    void 'test convert to long'() {
         expect:
         convert(offsetTime) == 43504000000003L
     }
 
-    void "test convert from long"() {
+    void 'test convert from long'() {
         given:
-        OffsetTime converted = convert(43504000000003L)
+        def converted = convert(43504000000003L)
 
         expect:
         converted == offsetTime.withOffsetSameInstant(ZoneOffset.ofHours(-7)) ||
                 converted == offsetTime.withOffsetSameInstant(ZoneOffset.ofHours(-8))
     }
 
-    void "test that all OffsetTimeConverter/TemporalConverter trait methods are marked as Generated"() {
-        expect: "all OffsetTimeConverter methods are marked as Generated on implementation class"
-        OffsetTimeConverter.getMethods().each { Method traitMethod ->
-            assert OffsetTimeConverterSpec.class.getMethod(traitMethod.name, traitMethod.parameterTypes).isAnnotationPresent(Generated)
+    void 'test that all OffsetTimeConverter/TemporalConverter trait methods are marked as Generated'() {
+
+        expect: 'all OffsetTimeConverter methods are marked as Generated on implementation class'
+        OffsetTimeConverter.methods.each { Method traitMethod ->
+            assert OffsetTimeConverterSpec.getMethod(traitMethod.name, traitMethod.parameterTypes).isAnnotationPresent(Generated)
         }
 
-        and: "all TemporalConverter methods are marked as Generated on implementation class"
-        TemporalConverter.getMethods().each { Method traitMethod ->
-            assert OffsetTimeConverterSpec.class.getMethod(traitMethod.name, traitMethod.parameterTypes).isAnnotationPresent(Generated)
+        and: 'all TemporalConverter methods are marked as Generated on implementation class'
+        TemporalConverter.methods.each { Method traitMethod ->
+            assert OffsetTimeConverterSpec.getMethod(traitMethod.name, traitMethod.parameterTypes).isAnnotationPresent(Generated)
         }
     }
 }
diff --git a/grails-datamapping-core/src/test/groovy/grails/gorm/time/PeriodConverterSpec.groovy b/grails-datamapping-core/src/test/groovy/grails/gorm/time/PeriodConverterSpec.groovy
index cdb1fb5776..64051e9764 100644
--- a/grails-datamapping-core/src/test/groovy/grails/gorm/time/PeriodConverterSpec.groovy
+++ b/grails-datamapping-core/src/test/groovy/grails/gorm/time/PeriodConverterSpec.groovy
@@ -18,13 +18,13 @@
  */
 package grails.gorm.time
 
-import spock.lang.Shared
-import spock.lang.Specification
+import java.lang.reflect.Method
+import java.time.Period
 
 import groovy.transform.Generated
 
-import java.lang.reflect.Method
-import java.time.Period
+import spock.lang.Shared
+import spock.lang.Specification
 
 class PeriodConverterSpec extends Specification implements PeriodConverter {
 
@@ -35,20 +35,21 @@ class PeriodConverterSpec extends Specification implements PeriodConverter {
         period = Period.of(1941, 1, 5)
     }
 
-    void "test convert to long"() {
+    void 'test convert to long'() {
         expect:
         convert(period) == 'P1941Y1M5D'
     }
 
-    void "test convert from long"() {
+    void 'test convert from long'() {
         expect:
         convert('P1941Y1M5D') == period
     }
 
-    void "test that all PeriodConverter trait methods are marked as Generated"() {
-        expect: "all PeriodConverter methods are marked as Generated on implementation class"
-        PeriodConverter.getMethods().each { Method traitMethod ->
-            assert PeriodConverterSpec.class.getMethod(traitMethod.name, traitMethod.parameterTypes).isAnnotationPresent(Generated)
+    void 'test that all PeriodConverter trait methods are marked as Generated'() {
+
+        expect: 'all PeriodConverter methods are marked as Generated on implementation class'
+        PeriodConverter.methods.each { Method traitMethod ->
+            assert PeriodConverterSpec.getMethod(traitMethod.name, traitMethod.parameterTypes).isAnnotationPresent(Generated)
         }
     }
 }
diff --git a/grails-datamapping-core/src/test/groovy/grails/gorm/time/ZonedDateTimeConverterSpec.groovy b/grails-datamapping-core/src/test/groovy/grails/gorm/time/ZonedDateTimeConverterSpec.groovy
index 9f19b9fc7d..bb3dd5e5c4 100644
--- a/grails-datamapping-core/src/test/groovy/grails/gorm/time/ZonedDateTimeConverterSpec.groovy
+++ b/grails-datamapping-core/src/test/groovy/grails/gorm/time/ZonedDateTimeConverterSpec.groovy
@@ -18,13 +18,17 @@
  */
 package grails.gorm.time
 
-import spock.lang.Shared
-import spock.lang.Specification
+import java.lang.reflect.Method
+import java.time.LocalDate
+import java.time.LocalDateTime
+import java.time.LocalTime
+import java.time.ZoneOffset
+import java.time.ZonedDateTime
 
 import groovy.transform.Generated
 
-import java.lang.reflect.Method
-import java.time.*
+import spock.lang.Shared
+import spock.lang.Specification
 
 class ZonedDateTimeConverterSpec extends Specification implements ZonedDateTimeConverter {
 
@@ -33,34 +37,39 @@ class ZonedDateTimeConverterSpec extends Specification implements ZonedDateTimeC
 
     void setupSpec() {
         TimeZone.default = TimeZone.getTimeZone("America/Los_Angeles")
-        LocalTime localTime = LocalTime.of(6,5,4,3)
-        LocalDate localDate = LocalDate.of(1941, 1, 5)
-        LocalDateTime localDateTime = LocalDateTime.of(localDate, localTime)
-        zonedDateTime = ZonedDateTime.of(localDateTime, ZoneOffset.ofHours(-6))
+        zonedDateTime = ZonedDateTime.of(
+                LocalDateTime.of(
+                        LocalDate.of(1941, 1, 5),
+                        LocalTime.of(6,5,4,3)
+                ),
+                ZoneOffset.ofHours(-6)
+        )
     }
 
-    void "test convert to long"() {
+    void 'test convert to long'() {
         expect:
         convert(zonedDateTime) == -914759696000L
     }
 
-    void "test convert from long"() {
+    void 'test convert from long'() {
         given:
         ZonedDateTime converted = convert(-914759696000L)
 
         expect:
-        converted == zonedDateTime.withNano(0).withZoneSameInstant(ZoneOffset.ofHours(-7)) || converted == zonedDateTime.withNano(0).withZoneSameInstant(ZoneOffset.ofHours(-8))
+        converted == zonedDateTime.withNano(0).withZoneSameInstant(ZoneOffset.ofHours(-7)) ||
+                converted == zonedDateTime.withNano(0).withZoneSameInstant(ZoneOffset.ofHours(-8))
     }
 
-    void "test that all ZonedDateTimeConverter/TemporalConverter trait methods are marked as Generated"() {
-        expect: "all ZonedDateTimeConverter methods are marked as Generated on implementation class"
-        ZonedDateTimeConverter.getMethods().each { Method traitMethod ->
-            assert ZonedDateTimeConverterSpec.class.getMethod(traitMethod.name, traitMethod.parameterTypes).isAnnotationPresent(Generated)
+    void 'test that all ZonedDateTimeConverter/TemporalConverter trait methods are marked as Generated'() {
+
+        expect: 'all ZonedDateTimeConverter methods are marked as Generated on implementation class'
+        ZonedDateTimeConverter.methods.each { Method traitMethod ->
+            assert ZonedDateTimeConverterSpec.getMethod(traitMethod.name, traitMethod.parameterTypes).isAnnotationPresent(Generated)
         }
 
-        and: "all TemporalConverter methods are marked as Generated on implementation class"
-        TemporalConverter.getMethods().each { Method traitMethod ->
-            assert ZonedDateTimeConverterSpec.class.getMethod(traitMethod.name, traitMethod.parameterTypes).isAnnotationPresent(Generated)
+        and: 'all TemporalConverter methods are marked as Generated on implementation class'
+        TemporalConverter.methods.each { Method traitMethod ->
+            assert ZonedDateTimeConverterSpec.getMethod(traitMethod.name, traitMethod.parameterTypes).isAnnotationPresent(Generated)
         }
     }
 }
diff --git a/grails-datamapping-core/src/test/groovy/org/grails/compiler/gorm/EntityWithGenericSignaturesSpec.groovy b/grails-datamapping-core/src/test/groovy/org/grails/compiler/gorm/EntityWithGenericSignaturesSpec.groovy
index 5fd385470a..157ab85faf 100644
--- a/grails-datamapping-core/src/test/groovy/org/grails/compiler/gorm/EntityWithGenericSignaturesSpec.groovy
+++ b/grails-datamapping-core/src/test/groovy/org/grails/compiler/gorm/EntityWithGenericSignaturesSpec.groovy
@@ -19,61 +19,55 @@
 package org.grails.compiler.gorm
 
 import groovy.transform.Generated
-import org.grails.datastore.mapping.keyvalue.mapping.config.KeyValueMappingContext
-import org.grails.datastore.mapping.keyvalue.mapping.config.KeyValuePersistentEntity
-import org.grails.datastore.mapping.model.MappingContext
-import org.grails.datastore.mapping.model.PersistentEntity
-import spock.lang.Specification
-
-/**
- * Created by graemerocher on 16/09/2016.
- */
-class EntityWithGenericSignaturesSpec extends Specification {
-
-    void "Test compile entity with generic signatures"() {
-
-        when:"An entity with generic signatures is compiled"
-        def gcl = new GroovyClassLoader()
-        Class cls = gcl.parseClass('''
-package test
 
-import grails.gorm.annotation.Entity
-import grails.gorm.dirty.checking.DirtyCheck
+import spock.lang.Specification
 
-@Entity
-class Widget<SettingType extends WidgetSetting> {
-    SettingType setting
+import org.grails.datastore.mapping.keyvalue.mapping.config.KeyValueMappingContext
 
-}
+class EntityWithGenericSignaturesSpec extends Specification {
 
-@Entity
-abstract class WidgetSetting {
-     String name
-}
+    void 'test compile entity with generic signatures'() {
 
-@Entity
-class HotWidgetSetting extends WidgetSetting {
-    Integer temperature
-}
-''')
+        when: 'an entity with generic signatures is compiled'
+        def cls = new GroovyClassLoader().parseClass('''
+            package test
+            
+            import grails.gorm.annotation.Entity
+            import grails.gorm.dirty.checking.DirtyCheck
+            
+            @Entity
+            class Widget<SettingType extends WidgetSetting> {
+                SettingType setting
+            
+            }
+            
+            @Entity
+            abstract class WidgetSetting {
+                 String name
+            }
+            
+            @Entity
+            class HotWidgetSetting extends WidgetSetting {
+                Integer temperature
+            }
+        ''')
 
-        then:"The entity is compiled correctly"
+        then: 'the entity is compiled correctly'
         cls.name == 'test.Widget'
-        cls.getMethod("getSetting").returnType.name == 'test.WidgetSetting'
+        cls.getMethod('getSetting').returnType.name == 'test.WidgetSetting'
 
 
-        when:"A mapping context is created"
-        MappingContext mappingContext = new KeyValueMappingContext("test")
-        PersistentEntity entity = mappingContext.addPersistentEntity(cls)
+        when: 'a mapping context is created'
+        def mappingContext = new KeyValueMappingContext('test')
+        def entity = mappingContext.addPersistentEntity(cls)
 
-        then:"The entity is has a setting property"
-        entity.getPropertyByName("setting")
-        entity.getPropertyByName("setting")
-        entity.getPropertyByName("setting").type.name == 'test.WidgetSetting'
+        then: 'the entity has a setting property'
+        entity.getPropertyByName('setting')
+        entity.getPropertyByName('setting').type.name == 'test.WidgetSetting'
 
-        and: "generated methods are marked as Generated"
-        cls.getMethod("getSetting").isAnnotationPresent(Generated)
-        cls.getMethod("getId").isAnnotationPresent(Generated)
-        cls.getMethod("getVersion").isAnnotationPresent(Generated)
+        and: 'generated methods are marked as Generated'
+        cls.getMethod('getSetting').isAnnotationPresent(Generated)
+        cls.getMethod('getId').isAnnotationPresent(Generated)
+        cls.getMethod('getVersion').isAnnotationPresent(Generated)
     }
 }
diff --git a/grails-datamapping-core/src/test/groovy/org/grails/compiler/gorm/GormEntityTransformSpec.groovy b/grails-datamapping-core/src/test/groovy/org/grails/compiler/gorm/GormEntityTransformSpec.groovy
index 2f6b97e797..3e1d65cfdd 100644
--- a/grails-datamapping-core/src/test/groovy/org/grails/compiler/gorm/GormEntityTransformSpec.groovy
+++ b/grails-datamapping-core/src/test/groovy/org/grails/compiler/gorm/GormEntityTransformSpec.groovy
@@ -18,48 +18,48 @@
  */
 package org.grails.compiler.gorm
 
-import grails.gorm.annotation.Entity
+import java.lang.reflect.Method
+
 import groovy.transform.Generated
 import org.codehaus.groovy.ast.ClassNode
+
+import spock.lang.Specification
+
+import grails.gorm.annotation.Entity
 import org.grails.datastore.gorm.GormEntity
 import org.grails.datastore.gorm.GormValidateable
 import org.grails.datastore.mapping.dirty.checking.DirtyCheckable
-import spock.lang.Specification
-
-import java.lang.reflect.Method
 
 /**
  * @author graemerocher
  */
 class GormEntityTransformSpec extends Specification{
 
-
-    void "test parse named queries"() {
-        def classLoader = new GroovyClassLoader()
+    void 'test parse named queries'() {
         when:
-        Class bookClass = classLoader.parseClass('''
-import grails.gorm.annotation.Entity
-@Entity
-class Book {
-    String title
-
-    static namedQueries = {
-        startsWithA {->
-            like 'title', 'A%'
-        }
-        
-        startsWithB {
-            like 'title', 'B%'
-        }
-        
-        startsWithLetter { String letter ->
-            like 'title', letter
-        }
-    }
-}
-
-
-''')
+        def bookClass = new GroovyClassLoader().parseClass('''
+            import grails.gorm.annotation.Entity
+
+            @Entity
+            class Book {
+            
+                String title
+            
+                static namedQueries = {
+                    startsWithA { ->
+                        like('title', 'A%')
+                    }
+                    
+                    startsWithB {
+                        like('title', 'B%')
+                    }
+                    
+                    startsWithLetter { String letter ->
+                        like('title', letter)
+                    }
+                }
+            }
+        ''')
 
         then:
         new ClassNode(bookClass).methods
@@ -68,7 +68,7 @@ class Book {
         bookClass.getMethod('getStartsWithB')
         bookClass.getMethod('startsWithB')
 
-        and: "they are all marked as Generated"
+        and: 'they are all marked as Generated'
         bookClass.getMethod('getStartsWithA').isAnnotationPresent(Generated)
         bookClass.getMethod('startsWithA').isAnnotationPresent(Generated)
         bookClass.getMethod('getStartsWithB').isAnnotationPresent(Generated)
@@ -76,107 +76,109 @@ class Book {
         bookClass.getMethod('startsWithLetter', String).isAnnotationPresent(Generated)
     }
 
-    void "test parse withTransaction usage in spock"() {
-            def classLoader = new GroovyClassLoader()
-            when:
-            Class bookClass = classLoader.parseClass('''
-import grails.gorm.annotation.Entity
-@Entity
-class Book {
-    String title
-
-    static constraints = {
-        title validator: { val ->
-            val.asBoolean()
-        }
-    }
-}
-
-
-''')
-            Class spockClass = classLoader.parseClass('''
-class HibernateSpecSpec extends spock.lang.Specification {
-
-    void setupSpec() {
-        Book.withTransaction {
-            new Book(title: "The Stand").save(flush:true)
-        }
-    }
-    void "test hibernate spec"() {
-        expect:
-        Book.count() == 1
-        !new Book().validate()
-        !new Book(title: "").validate()
-    }
-}
-
-''')
-
-        then:"The classes are valid"
+    void 'test parse withTransaction usage in spock'() {
+        when:
+        def classLoader = new GroovyClassLoader()
+        def bookClass = classLoader.parseClass('''
+            import grails.gorm.annotation.Entity
+            
+            @Entity
+            class Book {
+
+                String title
+            
+                static constraints = {
+                    title(validator: { val ->
+                        val.asBoolean()
+                    })
+                }
+            }
+        ''')
+        def spockClass = classLoader.parseClass('''
+            class HibernateSpecSpec extends spock.lang.Specification {
+            
+                void setupSpec() {
+                    Book.withTransaction {
+                        new Book(title: 'The Stand').save(flush: true)
+                    }
+                }
+            
+                void 'test hibernate spec'() {
+                    expect:
+                    Book.count() == 1
+                    !new Book().validate()
+                    !new Book(title: '').validate()
+                }
+            }
+        ''')
+
+        then: 'the classes are valid'
         new ClassNode(bookClass).methods
         new ClassNode(spockClass).methods
-
     }
 
-    void "Test parse abstract GORM entity with getters and setters"() {
+    void 'test parse abstract GORM entity with getters and setters'() {
         when:
         def cls = new GroovyClassLoader().parseClass('''
-import grails.gorm.annotation.Entity
-
-@Entity
-abstract class AbstractDomain {
-
-    abstract String getStringValue()
-    abstract void setStringValue(String value)
-
-}
-
-
-''')
-        then:"It is a valid class"
+            import grails.gorm.annotation.Entity
+            
+            @Entity
+            abstract class AbstractDomain {
+            
+                abstract String getStringValue()
+                abstract void setStringValue(String value)
+            
+            }
+        ''')
+
+        then: 'it is a valid class'
         new ClassNode(cls).methods
     }
 
-    void "Test parse GORM entity with single char properties"() {
-        when:"A gorm entity is parsed"
-        def cls = new GroovyClassLoader().parseClass('''
-import grails.gorm.annotation.Entity
-
-@Entity
-class Person {
-    String firstName
-    String lastName
-}
-
-@Entity
-class PersonLink {
-    Person a
-    Person b
+    void 'test parse GORM entity with single char properties'() {
 
-    String toString() {
-        "$a -> $b"
-    }
-}
-''')
-        then:"It is a valid class"
+        when: 'a gorm entity is parsed'
+        def cls = new GroovyClassLoader().parseClass('''
+            import grails.gorm.annotation.Entity
+            
+            @Entity
+            class Person {
+                String firstName
+                String lastName
+            }
+            
+            @Entity
+            class PersonLink {
+                Person a
+                Person b
+
+                String toString() {
+                    "$a -> $b"
+                }
+            }
+        ''')
+
+        then: 'it is a valid class'
         new ClassNode(cls).methods
     }
 
-    void "Test parse GORM entity"() {
-        when:"A gorm entity is parsed"
-        def cls = new GroovyClassLoader().parseClass('''
-import grails.gorm.annotation.Entity
+    void 'test parse GORM entity'() {
 
-@Entity
-class Foo {
-    String name
-}
-''')
-        then:"It is a valid class"
+        when: 'a gorm entity is parsed'
+        def cls = new GroovyClassLoader().parseClass('''
+            import grails.gorm.annotation.Entity
+            
+            @Entity
+            class Foo {
+                String name
+            }
+        ''')
+
+        then: 'it is a valid class'
         new ClassNode(cls).methods
     }
 
-    void "Test GORM entity transformation implements"() {
+    void 'test GORM entity transformation implements'() {
         expect:
         GormEntity.isAssignableFrom(Book)
         GormValidateable.isAssignableFrom(Book)
@@ -184,53 +186,57 @@ class Foo {
         Book.getAnnotation(Entity)
         new Author().respondsTo('addToBooks', Book)
         new Book().hasProperty('authorId')
-
         Author.getDeclaredMethod('addToBooks', Object).isAnnotationPresent(Generated)
         Author.getDeclaredMethod('removeFromBooks', Object).isAnnotationPresent(Generated)
         Author.getDeclaredMethod('setBooks', Set).isAnnotationPresent(Generated)
         Author.getDeclaredMethod('getBooks').isAnnotationPresent(Generated)
-
         Book.getDeclaredMethod('getAuthorId').isAnnotationPresent(Generated)
     }
 
-    void "Test property/method missing"() {
-
+    void 'test property/method missing'() {
         when:
         Book.foo()
+
         then:
-        thrown IllegalStateException
+        thrown(IllegalStateException)
+
         when:
-        def var = Book.bar
+        Book.bar
+
         then:
         Book.getDeclaredMethod('$static_propertyMissing', String)
         Book.getDeclaredMethod('$static_propertyMissing', String).isAnnotationPresent(Generated)
-        thrown MissingPropertyException
+        thrown(MissingPropertyException)
+
         when:
         Book.bar = 'blah'
+
         then:
         Book.getDeclaredMethod('$static_propertyMissing', String, Object)
         Book.getDeclaredMethod('$static_propertyMissing', String, Object).isAnnotationPresent(Generated)
-        thrown MissingPropertyException
+        thrown(MissingPropertyException)
     }
 
-    void "test that all GormEntity/GormValidateable trait methods are marked as Generated"() {
-        expect: "all GormEntity methods are marked as Generated on implementation class"
-        GormEntity.getMethods().each { Method traitMethod ->
-            assert Book.class.getMethod(traitMethod.name, traitMethod.parameterTypes).isAnnotationPresent(Generated)
+    void 'test that all GormEntity/GormValidateable trait methods are marked as Generated'() {
+
+        expect: 'all GormEntity methods are marked as Generated on implementation class'
+        GormEntity.methods.each { Method traitMethod ->
+            assert Book.getMethod(traitMethod.name, traitMethod.parameterTypes).isAnnotationPresent(Generated)
         }
 
-        and: "all GormValidateable methods are marked as Generated on implementation class"
-        GormValidateable.getMethods().each { Method traitMethod ->
-            assert Book.class.getMethod(traitMethod.name, traitMethod.parameterTypes).isAnnotationPresent(Generated)
+        and: 'all GormValidateable methods are marked as Generated on implementation class'
+        GormValidateable.methods.each { Method traitMethod ->
+            assert Book.getMethod(traitMethod.name, traitMethod.parameterTypes).isAnnotationPresent(Generated)
         }
     }
 
-    void "test that all DirtyCheckingTransformer added methods are marked as Generated"() {
-        expect: "added getId and getVersion methods are marked"
+    void 'test that all DirtyCheckingTransformer added methods are marked as Generated'() {
+
+        expect: 'added getId and getVersion methods are marked'
         Book.getMethod('getId').isAnnotationPresent(Generated)
         Book.getMethod('getVersion').isAnnotationPresent(Generated)
 
-        and: "getter and setter methods are marked"
+        and: 'getter and setter methods are marked'
         Book.getMethod('getTitle').isAnnotationPresent(Generated)
         Book.getMethod('setTitle', String).isAnnotationPresent(Generated)
         Book.getMethod('getAuthor').isAnnotationPresent(Generated)
@@ -241,7 +247,6 @@ class Foo {
 @Entity
 class Book {
     String title
-
     static belongsTo = [author:Author]
 }
 
diff --git a/grails-datamapping-core/src/test/groovy/org/grails/compiler/gorm/JpaEntityTransformSpec.groovy b/grails-datamapping-core/src/test/groovy/org/grails/compiler/gorm/JpaEntityTransformSpec.groovy
index 897bfd6345..2c693d43b5 100644
--- a/grails-datamapping-core/src/test/groovy/org/grails/compiler/gorm/JpaEntityTransformSpec.groovy
+++ b/grails-datamapping-core/src/test/groovy/org/grails/compiler/gorm/JpaEntityTransformSpec.groovy
@@ -19,52 +19,53 @@
 package org.grails.compiler.gorm
 
 import groovy.transform.Generated
-import org.grails.datastore.gorm.GormEntity
-import org.grails.datastore.mapping.model.config.GormProperties
-import org.grails.datastore.mapping.reflect.ClassPropertyFetcher
-import org.springframework.validation.annotation.Validated
-import spock.lang.Specification
 
 import jakarta.persistence.Transient
 
+import spock.lang.Specification
+
+import org.springframework.validation.annotation.Validated
+
+import org.grails.datastore.gorm.GormEntity
+import org.grails.datastore.mapping.model.config.GormProperties
+import org.grails.datastore.mapping.reflect.ClassPropertyFetcher
 
-/**
- * Created by graemerocher on 22/12/16.
- */
 class JpaEntityTransformSpec extends Specification {
 
-    void "test the JPA entity transform the entity correctly"() {
+    void 'test the JPA entity transform the entity correctly'() {
         given:
-        GroovyClassLoader gcl = new GroovyClassLoader()
-        Class customerClass = gcl.parseClass('''
-import jakarta.persistence.*
-import jakarta.validation.constraints.Digits
-@Entity
-class Customer {
+        def customerClass = new GroovyClassLoader().parseClass('''
+            import jakarta.persistence.*
+            import jakarta.validation.constraints.Digits
 
-    @Id
-    @GeneratedValue(strategy=GenerationType.AUTO)
-    Long myId
-    @Digits
-    String firstName;
-    String lastName;
-    
-    @jakarta.persistence.OneToMany
-    Set<Customer> related
+            @Entity
+            class Customer {
 
-}
+                @Id
+                @GeneratedValue(strategy=GenerationType.AUTO)
+                Long myId
 
-''')
-        ClassPropertyFetcher cpf = ClassPropertyFetcher.forClass(customerClass)
-        def instance = customerClass.newInstance()
+                @Digits
+                String firstName
+
+                String lastName
+
+                @jakarta.persistence.OneToMany
+                Set<Customer> related
+
+            }
+        ''')
+        def cpf = ClassPropertyFetcher.forClass(customerClass)
+        def instance = customerClass.getDeclaredConstructor().newInstance()
         instance.myId = 1L
+
         expect:
         instance.id == 1L
         GormEntity.isAssignableFrom(customerClass)
         customerClass.getAnnotation(Validated)
-        customerClass.getDeclaredMethod("getId").returnType == Long
-        customerClass.getDeclaredMethod("getId").getAnnotation(Transient)
-        customerClass.getDeclaredMethod("getId").isAnnotationPresent(Generated)
+        customerClass.getDeclaredMethod('getId').returnType == Long
+        customerClass.getDeclaredMethod('getId').getAnnotation(Transient)
+        customerClass.getDeclaredMethod('getId').isAnnotationPresent(Generated)
         cpf.getPropertyDescriptor(GormProperties.IDENTITY)
         customerClass.getDeclaredMethod('addToRelated', Object)
         customerClass.getDeclaredMethod('addToRelated', Object).isAnnotationPresent(Generated)
diff --git a/grails-datamapping-rx/src/main/groovy/grails/gorm/rx/MultiTenant.groovy b/grails-datamapping-rx/src/main/groovy/grails/gorm/rx/MultiTenant.groovy
index 1bc2181bd9..77429be4ee 100644
--- a/grails-datamapping-rx/src/main/groovy/grails/gorm/rx/MultiTenant.groovy
+++ b/grails-datamapping-rx/src/main/groovy/grails/gorm/rx/MultiTenant.groovy
@@ -19,11 +19,11 @@
 
 package grails.gorm.rx
 
-import grails.gorm.api.GormAllOperations
-import grails.gorm.rx.api.RxGormAllOperations
 import groovy.transform.CompileStatic
 import groovy.transform.Generated
-import org.grails.datastore.gorm.GormEnhancer
+
+import grails.gorm.api.GormAllOperations
+import grails.gorm.rx.api.RxGormAllOperations
 import org.grails.datastore.mapping.core.connections.ConnectionSource
 import org.grails.gorm.rx.api.RxGormEnhancer
 
@@ -35,6 +35,7 @@ import org.grails.gorm.rx.api.RxGormEnhancer
  */
 @CompileStatic
 trait MultiTenant<D> extends RxEntity<D> {
+
     /**
      * Execute the closure with the given tenantId
      *
diff --git a/grails-datamapping-rx/src/main/groovy/grails/gorm/rx/RxEntity.groovy b/grails-datamapping-rx/src/main/groovy/grails/gorm/rx/RxEntity.groovy
index e5c572fd50..96bb1c6713 100644
--- a/grails-datamapping-rx/src/main/groovy/grails/gorm/rx/RxEntity.groovy
+++ b/grails-datamapping-rx/src/main/groovy/grails/gorm/rx/RxEntity.groovy
@@ -19,13 +19,15 @@
 
 package grails.gorm.rx
 
+import groovy.transform.CompileStatic
+import groovy.transform.Generated
+
+import rx.Subscriber
+
 import grails.gorm.rx.api.RxGormAllOperations
-import grails.gorm.rx.api.RxGormInstanceOperations
 import grails.gorm.rx.api.RxGormOperations
 import grails.gorm.rx.api.RxGormStaticOperations
 import grails.gorm.rx.proxy.ObservableProxy
-import groovy.transform.CompileStatic
-import groovy.transform.Generated
 import org.grails.datastore.gorm.GormValidateable
 import org.grails.datastore.gorm.finders.FinderMethod
 import org.grails.datastore.mapping.dirty.checking.DirtyCheckable
@@ -41,8 +43,6 @@ import org.grails.datastore.mapping.validation.ValidationException
 import org.grails.gorm.rx.api.RxGormEnhancer
 import org.grails.gorm.rx.api.RxGormInstanceApi
 import org.grails.gorm.rx.api.RxGormStaticApi
-import rx.Observable
-import rx.Subscriber
 
 /**
  * Represents a reactive GORM entity
@@ -54,26 +54,27 @@ import rx.Subscriber
  */
 @CompileStatic
 trait RxEntity<D> implements RxGormOperations<D>, GormValidateable, DirtyCheckable, Serializable {
-    @Generated
+
     @Override
+    @Generated
     boolean validate(Map arguments) {
         RxGormEnhancer.findValidationApi((Class<D>)getClass()).validate((D)this, arguments)
     }
 
-    @Generated
     @Override
+    @Generated
     boolean validate(List fields) {
         RxGormEnhancer.findValidationApi((Class<D>)getClass()).validate((D)this, fields)
     }
 
-    @Generated
     @Override
+    @Generated
     boolean validate() {
         RxGormEnhancer.findValidationApi((Class<D>)getClass()).validate((D)this)
     }
 
-    @Generated
     @Override
+    @Generated
     Observable<D> insert(Map arguments = Collections.emptyMap()) {
         return doSave(arguments, true)
     }
diff --git a/grails-datamapping-rx/src/main/groovy/org/grails/datastore/rx/collection/RxCollection.groovy b/grails-datamapping-rx/src/main/groovy/org/grails/datastore/rx/collection/RxCollection.groovy
index 4a9dbb631e..08dc2bef28 100644
--- a/grails-datamapping-rx/src/main/groovy/org/grails/datastore/rx/collection/RxCollection.groovy
+++ b/grails-datamapping-rx/src/main/groovy/org/grails/datastore/rx/collection/RxCollection.groovy
@@ -18,13 +18,15 @@
  */
 package org.grails.datastore.rx.collection
 
-import grails.gorm.rx.collection.ObservableCollection
 import groovy.transform.CompileStatic
 import groovy.transform.Generated
+
 import rx.Observable
 import rx.Subscriber
 import rx.Subscription
 
+import grails.gorm.rx.collection.ObservableCollection
+
 /**
  * A trait that can be implemented by collection types to make them observable
  *
diff --git a/grails-datastore-async/src/main/groovy/org/grails/datastore/gorm/async/transform/DelegateAsyncTransformation.java b/grails-datastore-async/src/main/groovy/org/grails/datastore/gorm/async/transform/DelegateAsyncTransformation.java
index 1d2083a1ac..11e20dbad3 100644
--- a/grails-datastore-async/src/main/groovy/org/grails/datastore/gorm/async/transform/DelegateAsyncTransformation.java
+++ b/grails-datastore-async/src/main/groovy/org/grails/datastore/gorm/async/transform/DelegateAsyncTransformation.java
@@ -164,7 +164,6 @@ public class DelegateAsyncTransformation implements ASTTransformation, Transform
                     MethodCallExpression delegateMethodCall = new MethodCallExpression(new VariableExpression(fieldName), candidate.getName(), arguments);
                     promiseBody.addStatement(new ExpressionStatement(delegateMethodCall));
                     MethodNode newMethodNode = new MethodNode(candidate.getName(), Modifier.PUBLIC, promiseNode, parameters, null, methodBody);
-
                     markAsGenerated(classNode, newMethodNode);
                     classNode.addMethod(newMethodNode);
                 }
diff --git a/grails-datastore-async/src/test/groovy/org/grails/datastore/gorm/async/transform/DelegateAsyncSpec.groovy b/grails-datastore-async/src/test/groovy/org/grails/datastore/gorm/async/transform/DelegateAsyncSpec.groovy
index e88b657f78..2347da7cf0 100644
--- a/grails-datastore-async/src/test/groovy/org/grails/datastore/gorm/async/transform/DelegateAsyncSpec.groovy
+++ b/grails-datastore-async/src/test/groovy/org/grails/datastore/gorm/async/transform/DelegateAsyncSpec.groovy
@@ -18,40 +18,41 @@
  */
 package org.grails.datastore.gorm.async.transform
 
-import grails.async.Promise
+import java.lang.reflect.Method
+
 import groovy.transform.Generated
 import org.codehaus.groovy.ast.ClassNode
+
 import spock.lang.Specification
 
-import java.lang.reflect.Method
+import grails.async.Promise
 
 /**
  * Created by graemerocher on 01/07/16.
  */
 class DelegateAsyncSpec extends Specification {
 
-    void "Test DelegateAsync with parameterized return types"() {
-        given:"a class with parameterized return types"
-        GroovyClassLoader gcl = new GroovyClassLoader()
-        def cls = gcl.parseClass('''
-import org.grails.datastore.gorm.async.transform.*
-class Bar<D>{
-    @DelegateAsync Foo<D> foo
-}
-interface Foo<D> {
-    public <T> T  withTransaction(Closure<T> callable)
-}
-
-
-''')
-        expect:"The method is retrieved"
+    void 'test DelegateAsync with parameterized return types'() {
+
+        given: 'a class with parameterized return types'
+        def cls = new GroovyClassLoader().parseClass('''
+            import org.grails.datastore.gorm.async.transform.*
+            class Bar<D> {
+                @DelegateAsync Foo<D> foo
+            }
+            
+            interface Foo<D> {
+                public <T> T  withTransaction(Closure<T> callable)
+            }
+        ''')
+
+        expect: 'the method is retrieved'
         new ClassNode(cls).methods
 
-        Method method = cls.getMethod("withTransaction", Closure)
-        Promise.isAssignableFrom( method.returnType )
+        def method = cls.getMethod('withTransaction', Closure)
+        Promise.isAssignableFrom(method.returnType)
 
         and: 'marked as Generated'
         method.isAnnotationPresent(Generated)
     }
-
 }
diff --git a/grails-datastore-core/src/main/groovy/org/grails/datastore/mapping/dirty/checking/DirtyCheckable.groovy b/grails-datastore-core/src/main/groovy/org/grails/datastore/mapping/dirty/checking/DirtyCheckable.groovy
index 5b4fffcbca..e0cbccbbf4 100644
--- a/grails-datastore-core/src/main/groovy/org/grails/datastore/mapping/dirty/checking/DirtyCheckable.groovy
+++ b/grails-datastore-core/src/main/groovy/org/grails/datastore/mapping/dirty/checking/DirtyCheckable.groovy
@@ -21,6 +21,7 @@ package org.grails.datastore.mapping.dirty.checking
 
 import groovy.transform.CompileStatic
 import groovy.transform.Generated
+
 import jakarta.persistence.Transient
 
 import org.grails.datastore.mapping.proxy.EntityProxy
diff --git a/grails-datastore-core/src/main/groovy/org/grails/datastore/mapping/services/Service.groovy b/grails-datastore-core/src/main/groovy/org/grails/datastore/mapping/services/Service.groovy
index 969299ec89..337718115b 100644
--- a/grails-datastore-core/src/main/groovy/org/grails/datastore/mapping/services/Service.groovy
+++ b/grails-datastore-core/src/main/groovy/org/grails/datastore/mapping/services/Service.groovy
@@ -19,6 +19,7 @@
 package org.grails.datastore.mapping.services
 
 import groovy.transform.Generated
+
 import org.grails.datastore.mapping.core.Datastore
 
 /**
diff --git a/grails-datastore-core/src/test/groovy/org/grails/datastore/mapping/dirty/checking/DirtyCheckableSpec.groovy b/grails-datastore-core/src/test/groovy/org/grails/datastore/mapping/dirty/checking/DirtyCheckableSpec.groovy
index e1cc92e860..656ca41c89 100644
--- a/grails-datastore-core/src/test/groovy/org/grails/datastore/mapping/dirty/checking/DirtyCheckableSpec.groovy
+++ b/grails-datastore-core/src/test/groovy/org/grails/datastore/mapping/dirty/checking/DirtyCheckableSpec.groovy
@@ -18,17 +18,19 @@
  */
 package org.grails.datastore.mapping.dirty.checking
 
-import groovy.transform.Sortable
+import java.lang.reflect.Method
+
 import groovy.transform.Generated
+import groovy.transform.Sortable
+
 import spock.lang.Issue
 import spock.lang.Specification
 
-import java.lang.reflect.Method
-
 class DirtyCheckableSpec extends Specification {
 
     @Issue('https://github.com/apache/grails-data-mapping/issues/1231')
     def 'setting a field that implements Comparable dirty checks properly'() {
+
         given: 'a person'
         def person = new Person(name: 'John Doe')
 
@@ -55,35 +57,37 @@ class DirtyCheckableSpec extends Specification {
     }
 
     def 'setting a field that is a boolean dirty checks properly'() {
+
         given: 'a class with a boolean property'
         def animal = new Animal()
         animal.trackChanges()
 
-        when:"A boolean property is changed"
+        when: 'a boolean property is changed'
         animal.barks = true
-        animal.markDirty("barks", true, false)
+        animal.markDirty('barks', true, false)
 
-        then:"the property changed"
+        then: 'the property changed'
         animal.barks
         animal.hasChanged()
-        animal.hasChanged("barks")
+        animal.hasChanged('barks')
 
-        when:"it is set to false"
+        when: 'it is set to false'
         animal.trackChanges() // reset
         animal.barks = false
-        animal.markDirty("barks", false, true)
+        animal.markDirty('barks', false, true)
 
-        then:"the property changed"
+        then: 'the property changed'
         !animal.barks
         animal.hasChanged()
-        animal.hasChanged("barks")
+        animal.hasChanged('barks')
 
     }
 
-    void "test that all DirtyCheckable trait methods are marked as Generated"() {
-        expect: "all DirtyCheckable methods are marked as Generated on implementation class"
-        DirtyCheckable.getMethods().each { Method traitMethod ->
-            assert Animal.class.getMethod(traitMethod.name, traitMethod.parameterTypes).isAnnotationPresent(Generated)
+    void 'test that all DirtyCheckable trait methods are marked as Generated'() {
+
+        expect: 'all DirtyCheckable methods are marked as Generated on implementation class'
+        DirtyCheckable.methods.each { Method traitMethod ->
+            assert Animal.getMethod(traitMethod.name, traitMethod.parameterTypes).isAnnotationPresent(Generated)
         }
     }
 }
diff --git a/grails-datastore-core/src/test/groovy/org/grails/datastore/mapping/services/DefaultServiceRegistrySpec.groovy b/grails-datastore-core/src/test/groovy/org/grails/datastore/mapping/services/DefaultServiceRegistrySpec.groovy
index 83e9feeb2d..16f6864bc3 100644
--- a/grails-datastore-core/src/test/groovy/org/grails/datastore/mapping/services/DefaultServiceRegistrySpec.groovy
+++ b/grails-datastore-core/src/test/groovy/org/grails/datastore/mapping/services/DefaultServiceRegistrySpec.groovy
@@ -18,24 +18,23 @@
  */
 package org.grails.datastore.mapping.services
 
+import java.lang.reflect.Method
+
 import groovy.transform.Generated
-import org.grails.datastore.mapping.core.Datastore
-import org.grails.datastore.mapping.dirty.checking.DirtyCheckable
+
 import spock.lang.Specification
 
-import java.lang.reflect.Method
+import org.grails.datastore.mapping.core.Datastore
 
-/**
- * Created by graemerocher on 11/01/2017.
- */
 class DefaultServiceRegistrySpec extends Specification {
 
-    void "test load services into service registry"() {
+    void 'test load services into service registry'() {
         given:
-        ServiceRegistry reg = new DefaultServiceRegistry(Mock(Datastore))
+        def reg = new DefaultServiceRegistry(Mock(Datastore))
         reg.initialize()
-        ServiceRegistry reg2 = new DefaultServiceRegistry(Mock(Datastore))
+        def reg2 = new DefaultServiceRegistry(Mock(Datastore))
         reg2.initialize()
+
         expect:
         reg.getService(TestService) != null
         reg.getService(TestService).datastore != null
@@ -45,14 +44,15 @@ class DefaultServiceRegistrySpec extends Specification {
         reg.getService(TestService).datastore != reg2.getService(TestService).datastore
     }
 
-    void "test that all Service trait methods are marked as Generated"() {
-        expect: "all Service methods are marked as Generated on implementation class"
-        Service.getMethods().each { Method traitMethod ->
-            assert TestService.class.getMethod(traitMethod.name, traitMethod.parameterTypes).isAnnotationPresent(Generated)
+    void 'test that all Service trait methods are marked as Generated'() {
+
+        expect: 'all Service methods are marked as Generated on implementation class'
+        Service.methods.each { Method traitMethod ->
+            assert TestService.getMethod(traitMethod.name, traitMethod.parameterTypes).isAnnotationPresent(Generated)
         }
     }
 }
 
-class TestService implements Service, ITestService {
-}
+class TestService implements Service, ITestService {}
+
 interface ITestService {}