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

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

commit fd8f3ba117d48c64f908a9a189fe0243ec5e3738
Author: Walter Duque de Estrada <[email protected]>
AuthorDate: Sat Feb 14 16:52:25 2026 -0600

    Refactor second pass classes to remove GrailsDomainBinder dependency
    
    - Remove GrailsDomainBinder and CollectionBinder from ListSecondPass, 
MapSecondPass, and SetSecondPass constructors and fields.
    - Remove grailsDomainBinder from CollectionBinder and update its 
constructor.
    - Update second pass instantiations in CollectionBinder.
    - Update GrailsDomainBinder and unit tests to reflect these changes.
---
 .../org/grails/orm/hibernate/cfg/GrailsDomainBinder.java   |  1 -
 .../cfg/domainbinding/binder/CollectionBinder.java         | 14 +++++---------
 .../cfg/domainbinding/secondpass/ListSecondPass.java       |  8 +-------
 .../cfg/domainbinding/secondpass/MapSecondPass.java        |  8 +-------
 .../cfg/domainbinding/secondpass/SetSecondPass.java        | 10 +---------
 .../cfg/domainbinding/CollectionBinderSpec.groovy          |  1 -
 .../domainbinding/CollectionSecondPassBinderSpec.groovy    |  1 -
 .../cfg/domainbinding/GrailsPropertyBinderSpec.groovy      |  1 -
 .../cfg/domainbinding/ListSecondPassBinderSpec.groovy      |  1 -
 .../cfg/domainbinding/MapSecondPassBinderSpec.groovy       |  1 -
 10 files changed, 8 insertions(+), 38 deletions(-)

diff --git 
a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/GrailsDomainBinder.java
 
b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/GrailsDomainBinder.java
index c17485f379..3d35c5a9cc 100644
--- 
a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/GrailsDomainBinder.java
+++ 
b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/GrailsDomainBinder.java
@@ -208,7 +208,6 @@ public class GrailsDomainBinder
 
         CollectionBinder collectionBinder = new CollectionBinder(
                 metadataBuildingContext,
-                this,
                 namingStrategy,
                 jdbcEnvironment,
                 simpleValueBinder,
diff --git 
a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/binder/CollectionBinder.java
 
b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/binder/CollectionBinder.java
index 7fdd21fd7a..88624ae4ed 100644
--- 
a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/binder/CollectionBinder.java
+++ 
b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/binder/CollectionBinder.java
@@ -2,7 +2,6 @@ package org.grails.orm.hibernate.cfg.domainbinding.binder;
 
 import jakarta.annotation.Nonnull;
 
-import org.grails.orm.hibernate.cfg.GrailsDomainBinder;
 import org.grails.orm.hibernate.cfg.GrailsHibernateUtil;
 import org.grails.orm.hibernate.cfg.GrailsHibernatePersistentProperty;
 import 
org.grails.orm.hibernate.cfg.domainbinding.hibernate.HibernateOneToManyProperty;
@@ -40,7 +39,6 @@ public class CollectionBinder {
     private static final Logger LOG = 
LoggerFactory.getLogger(CollectionBinder.class);
 
     private final MetadataBuildingContext metadataBuildingContext;
-    public final GrailsDomainBinder grailsDomainBinder;
     private final PersistentEntityNamingStrategy namingStrategy;
     private final ListSecondPassBinder listSecondPassBinder;
     private final CollectionSecondPassBinder collectionSecondPassBinder;
@@ -48,7 +46,6 @@ public class CollectionBinder {
 
     public CollectionBinder(
             MetadataBuildingContext metadataBuildingContext,
-            GrailsDomainBinder grailsDomainBinder,
             PersistentEntityNamingStrategy namingStrategy,
             JdbcEnvironment jdbcEnvironment,
             SimpleValueBinder simpleValueBinder,
@@ -57,7 +54,6 @@ public class CollectionBinder {
             CompositeIdentifierToManyToOneBinder 
compositeIdentifierToManyToOneBinder,
             SimpleValueColumnFetcher simpleValueColumnFetcher) {
         this.metadataBuildingContext = metadataBuildingContext;
-        this.grailsDomainBinder = grailsDomainBinder;
         this.namingStrategy = namingStrategy;
         this.collectionSecondPassBinder = new CollectionSecondPassBinder(
                 metadataBuildingContext,
@@ -73,8 +69,8 @@ public class CollectionBinder {
         this.mapSecondPassBinder = new 
MapSecondPassBinder(metadataBuildingContext, namingStrategy, 
collectionSecondPassBinder);
     }
 
-    public CollectionBinder(MetadataBuildingContext metadataBuildingContext, 
GrailsDomainBinder grailsDomainBinder, PersistentEntityNamingStrategy 
namingStrategy, JdbcEnvironment jdbcEnvironment) {
-        this(metadataBuildingContext, grailsDomainBinder, namingStrategy, 
jdbcEnvironment,
+    public CollectionBinder(MetadataBuildingContext metadataBuildingContext, 
PersistentEntityNamingStrategy namingStrategy, JdbcEnvironment jdbcEnvironment) 
{
+        this(metadataBuildingContext, namingStrategy, jdbcEnvironment,
                 new SimpleValueBinder(namingStrategy, jdbcEnvironment),
                 new EnumTypeBinder(),
                 new ManyToOneBinder(namingStrategy, jdbcEnvironment),
@@ -137,13 +133,13 @@ public class CollectionBinder {
 
         // set up second pass
        if (collection instanceof org.hibernate.mapping.List) {
-            mappings.addSecondPass(new ListSecondPass(grailsDomainBinder, 
this, listSecondPassBinder, property, mappings, collection, 
sessionFactoryBeanName));
+            mappings.addSecondPass(new ListSecondPass(listSecondPassBinder, 
property, mappings, collection, sessionFactoryBeanName));
         }
         else if (collection instanceof org.hibernate.mapping.Map) {
-            mappings.addSecondPass(new MapSecondPass(grailsDomainBinder, this, 
mapSecondPassBinder, property, mappings, collection, sessionFactoryBeanName));
+            mappings.addSecondPass(new MapSecondPass(mapSecondPassBinder, 
property, mappings, collection, sessionFactoryBeanName));
         }
         else { // Collection -> Bag
-            mappings.addSecondPass(new SetSecondPass(grailsDomainBinder, 
this,collectionSecondPassBinder,  property, mappings, collection, 
sessionFactoryBeanName));
+            mappings.addSecondPass(new 
SetSecondPass(collectionSecondPassBinder,  property, mappings, collection, 
sessionFactoryBeanName));
         }
     }
 
diff --git 
a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/secondpass/ListSecondPass.java
 
b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/secondpass/ListSecondPass.java
index 761cf4b1b7..ba6ad08a45 100644
--- 
a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/secondpass/ListSecondPass.java
+++ 
b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/secondpass/ListSecondPass.java
@@ -9,26 +9,20 @@ import org.hibernate.MappingException;
 import org.hibernate.boot.spi.InFlightMetadataCollector;
 import org.hibernate.mapping.Collection;
 
-import org.grails.orm.hibernate.cfg.GrailsDomainBinder;
 import 
org.grails.orm.hibernate.cfg.domainbinding.hibernate.HibernateToManyProperty;
-import org.grails.orm.hibernate.cfg.domainbinding.binder.CollectionBinder;
 
 public class ListSecondPass implements org.hibernate.boot.spi.SecondPass, 
GrailsSecondPass {
     @Serial
     private static final long serialVersionUID = -3024674993774205193L;
 
-    protected final GrailsDomainBinder grailsDomainBinder;
-    protected final CollectionBinder collectionBinder;
     private final ListSecondPassBinder listSecondPassBinder;
     protected final HibernateToManyProperty property;
     protected final @Nonnull InFlightMetadataCollector mappings;
     protected final Collection collection;
     protected final String sessionFactoryBeanName;
 
-    public ListSecondPass(GrailsDomainBinder grailsDomainBinder, 
CollectionBinder collectionBinder, ListSecondPassBinder listSecondPassBinder, 
HibernateToManyProperty property, @Nonnull InFlightMetadataCollector mappings,
+    public ListSecondPass(ListSecondPassBinder listSecondPassBinder, 
HibernateToManyProperty property, @Nonnull InFlightMetadataCollector mappings,
                           Collection coll, String sessionFactoryBeanName) {
-        this.grailsDomainBinder = grailsDomainBinder;
-        this.collectionBinder = collectionBinder;
         this.listSecondPassBinder = listSecondPassBinder;
         this.property = property;
         this.mappings = mappings;
diff --git 
a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/secondpass/MapSecondPass.java
 
b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/secondpass/MapSecondPass.java
index c0ead55dd0..d6e1a987de 100644
--- 
a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/secondpass/MapSecondPass.java
+++ 
b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/secondpass/MapSecondPass.java
@@ -9,26 +9,20 @@ import org.hibernate.MappingException;
 import org.hibernate.boot.spi.InFlightMetadataCollector;
 import org.hibernate.mapping.Collection;
 
-import org.grails.orm.hibernate.cfg.GrailsDomainBinder;
 import 
org.grails.orm.hibernate.cfg.domainbinding.hibernate.HibernateToManyProperty;
-import org.grails.orm.hibernate.cfg.domainbinding.binder.CollectionBinder;
 
 public class MapSecondPass implements org.hibernate.boot.spi.SecondPass, 
GrailsSecondPass {
     @Serial
     private static final long serialVersionUID = -3244991685626409031L;
 
-    protected final GrailsDomainBinder grailsDomainBinder;
-    protected final CollectionBinder collectionBinder;
     private final MapSecondPassBinder mapSecondPassBinder;
     protected final HibernateToManyProperty property;
     protected final @Nonnull InFlightMetadataCollector mappings;
     protected final Collection collection;
     protected final String sessionFactoryBeanName;
 
-    public MapSecondPass(GrailsDomainBinder grailsDomainBinder, 
CollectionBinder collectionBinder, MapSecondPassBinder mapSecondPassBinder, 
HibernateToManyProperty property, @Nonnull InFlightMetadataCollector mappings,
+    public MapSecondPass(MapSecondPassBinder mapSecondPassBinder, 
HibernateToManyProperty property, @Nonnull InFlightMetadataCollector mappings,
                          Collection coll, String sessionFactoryBeanName) {
-        this.grailsDomainBinder = grailsDomainBinder;
-        this.collectionBinder = collectionBinder;
         this.mapSecondPassBinder = mapSecondPassBinder;
         this.property = property;
         this.mappings = mappings;
diff --git 
a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/secondpass/SetSecondPass.java
 
b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/secondpass/SetSecondPass.java
index a1e1b38d74..09cc80dfbc 100644
--- 
a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/secondpass/SetSecondPass.java
+++ 
b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/secondpass/SetSecondPass.java
@@ -8,9 +8,7 @@ import org.hibernate.MappingException;
 import org.hibernate.boot.spi.InFlightMetadataCollector;
 import org.hibernate.mapping.Collection;
 
-import org.grails.orm.hibernate.cfg.GrailsDomainBinder;
 import 
org.grails.orm.hibernate.cfg.domainbinding.hibernate.HibernateToManyProperty;
-import org.grails.orm.hibernate.cfg.domainbinding.binder.CollectionBinder;
 
 /**
  * Second pass class for grails relationships. This is required as all
@@ -23,23 +21,17 @@ public class SetSecondPass implements 
org.hibernate.boot.spi.SecondPass, GrailsS
 
     private static final long serialVersionUID = -5540526942092611348L;
 
-    protected final GrailsDomainBinder grailsDomainBinder;
-    protected final CollectionBinder collectionBinder;
     private final CollectionSecondPassBinder collectionSecondPassBinder;
     protected final HibernateToManyProperty property;
     protected final @Nonnull InFlightMetadataCollector mappings;
     protected final Collection collection;
     protected final String sessionFactoryBeanName;
 
-    public SetSecondPass(GrailsDomainBinder grailsDomainBinder,
-                         CollectionBinder collectionBinder,
-                         CollectionSecondPassBinder collectionSecondPassBinder,
+    public SetSecondPass(CollectionSecondPassBinder collectionSecondPassBinder,
                          HibernateToManyProperty property,
                          @Nonnull InFlightMetadataCollector mappings,
                          Collection coll,
                          String sessionFactoryBeanName) {
-        this.grailsDomainBinder = grailsDomainBinder;
-        this.collectionBinder = collectionBinder;
         this.collectionSecondPassBinder = collectionSecondPassBinder;
         this.property = property;
         this.mappings = mappings;
diff --git 
a/grails-data-hibernate7/core/src/test/groovy/org/grails/orm/hibernate/cfg/domainbinding/CollectionBinderSpec.groovy
 
b/grails-data-hibernate7/core/src/test/groovy/org/grails/orm/hibernate/cfg/domainbinding/CollectionBinderSpec.groovy
index 49e798674e..84aaf1f6be 100644
--- 
a/grails-data-hibernate7/core/src/test/groovy/org/grails/orm/hibernate/cfg/domainbinding/CollectionBinderSpec.groovy
+++ 
b/grails-data-hibernate7/core/src/test/groovy/org/grails/orm/hibernate/cfg/domainbinding/CollectionBinderSpec.groovy
@@ -62,7 +62,6 @@ class CollectionBinderSpec extends HibernateGormDatastoreSpec 
{
 
         CollectionBinder collectionBinder = new CollectionBinder(
                 metadataBuildingContext,
-                binder,
                 namingStrategy,
                 jdbcEnvironment,
                 simpleValueBinder,
diff --git 
a/grails-data-hibernate7/core/src/test/groovy/org/grails/orm/hibernate/cfg/domainbinding/CollectionSecondPassBinderSpec.groovy
 
b/grails-data-hibernate7/core/src/test/groovy/org/grails/orm/hibernate/cfg/domainbinding/CollectionSecondPassBinderSpec.groovy
index b9ad7a642f..2bf547279e 100644
--- 
a/grails-data-hibernate7/core/src/test/groovy/org/grails/orm/hibernate/cfg/domainbinding/CollectionSecondPassBinderSpec.groovy
+++ 
b/grails-data-hibernate7/core/src/test/groovy/org/grails/orm/hibernate/cfg/domainbinding/CollectionSecondPassBinderSpec.groovy
@@ -64,7 +64,6 @@ class CollectionSecondPassBinderSpec extends 
HibernateGormDatastoreSpec {
 
         CollectionBinder collectionBinder = new CollectionBinder(
                 metadataBuildingContext,
-                binder,
                 namingStrategy,
                 jdbcEnvironment,
                 simpleValueBinder,
diff --git 
a/grails-data-hibernate7/core/src/test/groovy/org/grails/orm/hibernate/cfg/domainbinding/GrailsPropertyBinderSpec.groovy
 
b/grails-data-hibernate7/core/src/test/groovy/org/grails/orm/hibernate/cfg/domainbinding/GrailsPropertyBinderSpec.groovy
index 63b2def531..e90f4c1a0b 100644
--- 
a/grails-data-hibernate7/core/src/test/groovy/org/grails/orm/hibernate/cfg/domainbinding/GrailsPropertyBinderSpec.groovy
+++ 
b/grails-data-hibernate7/core/src/test/groovy/org/grails/orm/hibernate/cfg/domainbinding/GrailsPropertyBinderSpec.groovy
@@ -68,7 +68,6 @@ class GrailsPropertyBinderSpec extends 
HibernateGormDatastoreSpec {
 
         CollectionBinder collectionBinder = new CollectionBinder(
                 metadataBuildingContext,
-                binder,
                 namingStrategy,
                 jdbcEnvironment,
                 simpleValueBinder,
diff --git 
a/grails-data-hibernate7/core/src/test/groovy/org/grails/orm/hibernate/cfg/domainbinding/ListSecondPassBinderSpec.groovy
 
b/grails-data-hibernate7/core/src/test/groovy/org/grails/orm/hibernate/cfg/domainbinding/ListSecondPassBinderSpec.groovy
index a850f89cc0..1270d45e57 100644
--- 
a/grails-data-hibernate7/core/src/test/groovy/org/grails/orm/hibernate/cfg/domainbinding/ListSecondPassBinderSpec.groovy
+++ 
b/grails-data-hibernate7/core/src/test/groovy/org/grails/orm/hibernate/cfg/domainbinding/ListSecondPassBinderSpec.groovy
@@ -66,7 +66,6 @@ class ListSecondPassBinderSpec extends 
HibernateGormDatastoreSpec {
 
         CollectionBinder collectionBinder = new CollectionBinder(
                 metadataBuildingContext,
-                binder,
                 namingStrategy,
                 jdbcEnvironment,
                 simpleValueBinder,
diff --git 
a/grails-data-hibernate7/core/src/test/groovy/org/grails/orm/hibernate/cfg/domainbinding/MapSecondPassBinderSpec.groovy
 
b/grails-data-hibernate7/core/src/test/groovy/org/grails/orm/hibernate/cfg/domainbinding/MapSecondPassBinderSpec.groovy
index 5803d6508c..e07ffd467f 100644
--- 
a/grails-data-hibernate7/core/src/test/groovy/org/grails/orm/hibernate/cfg/domainbinding/MapSecondPassBinderSpec.groovy
+++ 
b/grails-data-hibernate7/core/src/test/groovy/org/grails/orm/hibernate/cfg/domainbinding/MapSecondPassBinderSpec.groovy
@@ -66,7 +66,6 @@ class MapSecondPassBinderSpec extends 
HibernateGormDatastoreSpec {
 
         CollectionBinder collectionBinder = new CollectionBinder(
                 metadataBuildingContext,
-                binder,
                 namingStrategy,
                 jdbcEnvironment,
                 simpleValueBinder,

Reply via email to