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

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

commit bd2d1f812bf94bb7070a8f16916db56e58076e59
Author: Walter Duque de Estrada <[email protected]>
AuthorDate: Wed Mar 4 09:33:58 2026 -0600

    refactor(hibernate7): fold AbstractHibernateEventListener into 
HibernateEventListener
---
 .../grails/orm/hibernate/HibernateDatastore.java   |  6 +-
 .../listener/AbstractHibernateEventListener.java   | 76 ----------------------
 .../event/listener/HibernateEventListener.java     | 26 +++++++-
 3 files changed, 28 insertions(+), 80 deletions(-)

diff --git 
a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/HibernateDatastore.java
 
b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/HibernateDatastore.java
index 605149a7a1..94f6b27445 100644
--- 
a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/HibernateDatastore.java
+++ 
b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/HibernateDatastore.java
@@ -74,7 +74,7 @@ import org.grails.orm.hibernate.cfg.Settings;
 import org.grails.orm.hibernate.connections.HibernateConnectionSource;
 import org.grails.orm.hibernate.connections.HibernateConnectionSourceFactory;
 import org.grails.orm.hibernate.connections.HibernateConnectionSourceSettings;
-import org.grails.orm.hibernate.event.listener.AbstractHibernateEventListener;
+import org.grails.orm.hibernate.event.listener.HibernateEventListener;
 import org.grails.orm.hibernate.event.listener.HibernateEventListener;
 import org.grails.orm.hibernate.multitenancy.MultiTenantEventListener;
 import org.grails.orm.hibernate.support.ClosureEventTriggeringInterceptor;
@@ -146,7 +146,7 @@ public class HibernateDatastore extends AbstractDatastore
   protected final SchemaHandler schemaHandler;
 
   /** The event triggering interceptor. */
-  protected AbstractHibernateEventListener eventTriggeringInterceptor;
+  protected HibernateEventListener eventTriggeringInterceptor;
 
   /** The auto timestamp event listener. */
   protected AutoTimestampEventListener autoTimestampEventListener;
@@ -1073,7 +1073,7 @@ public class HibernateDatastore extends AbstractDatastore
   }
 
   /** For testing: returns the event triggering interceptor. */
-  public AbstractHibernateEventListener getEventTriggeringInterceptor() {
+  public HibernateEventListener getEventTriggeringInterceptor() {
     return eventTriggeringInterceptor;
   }
 
diff --git 
a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/event/listener/AbstractHibernateEventListener.java
 
b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/event/listener/AbstractHibernateEventListener.java
deleted file mode 100644
index 5007ac3ff4..0000000000
--- 
a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/event/listener/AbstractHibernateEventListener.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *    https://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package org.grails.orm.hibernate.event.listener;
-
-import java.util.List;
-import java.util.concurrent.ConcurrentHashMap;
-import java.util.concurrent.ConcurrentMap;
-import org.grails.datastore.mapping.engine.event.AbstractPersistenceEvent;
-import 
org.grails.datastore.mapping.engine.event.AbstractPersistenceEventListener;
-import org.grails.orm.hibernate.HibernateDatastore;
-import org.grails.orm.hibernate.connections.HibernateConnectionSourceSettings;
-import org.grails.orm.hibernate.support.SoftKey;
-import org.springframework.context.ApplicationEvent;
-
-/**
- * Invokes closure events on domain entities such as beforeInsert, 
beforeUpdate and beforeDelete.
- *
- * @author Graeme Rocher
- * @author Lari Hotari
- * @author Burt Beckwith
- * @since 2.0
- */
-public abstract class AbstractHibernateEventListener extends 
AbstractPersistenceEventListener {
-
-  /** The cached should trigger. */
-  protected final transient ConcurrentMap<SoftKey<Class<?>>, Boolean> 
cachedShouldTrigger =
-      new ConcurrentHashMap<SoftKey<Class<?>>, Boolean>();
-
-  /** The fail on error. */
-  protected final boolean failOnError;
-
-  /** The fail on error packages. */
-  protected final List<?> failOnErrorPackages;
-
-  /** Creates a new {@link AbstractHibernateEventListener} instance. */
-  protected AbstractHibernateEventListener(HibernateDatastore datastore) {
-    super(datastore);
-    HibernateConnectionSourceSettings settings =
-        
datastore.getConnectionSources().getDefaultConnectionSource().getSettings();
-    this.failOnError = settings.isFailOnError();
-    this.failOnErrorPackages = settings.getFailOnErrorPackages();
-  }
-
-  /**
-   * {@inheritDoc}
-   *
-   * @see 
org.springframework.context.event.SmartApplicationListener#supportsEventType(
-   *     java.lang.Class)
-   */
-  public boolean supportsEventType(Class<? extends ApplicationEvent> 
eventType) {
-    return AbstractPersistenceEvent.class.isAssignableFrom(eventType);
-  }
-
-  /**
-   * @return The hibernate datastore
-   */
-  protected HibernateDatastore getDatastore() {
-    return (HibernateDatastore) this.datastore;
-  }
-}
diff --git 
a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/event/listener/HibernateEventListener.java
 
b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/event/listener/HibernateEventListener.java
index bbd3005b67..bee8eb02e5 100644
--- 
a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/event/listener/HibernateEventListener.java
+++ 
b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/event/listener/HibernateEventListener.java
@@ -19,15 +19,18 @@
 package org.grails.orm.hibernate.event.listener;
 
 import grails.gorm.MultiTenant;
+import java.util.List;
 import java.util.Optional;
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.ConcurrentMap;
 import org.grails.datastore.gorm.timestamp.DefaultTimestampProvider;
 import org.grails.datastore.gorm.timestamp.TimestampProvider;
 import org.grails.datastore.mapping.engine.event.AbstractPersistenceEvent;
+import 
org.grails.datastore.mapping.engine.event.AbstractPersistenceEventListener;
 import org.grails.datastore.mapping.engine.event.ValidationEvent;
 import org.grails.datastore.mapping.model.PersistentEntity;
 import org.grails.orm.hibernate.HibernateDatastore;
+import org.grails.orm.hibernate.connections.HibernateConnectionSourceSettings;
 import org.grails.orm.hibernate.support.ClosureEventListener;
 import org.grails.orm.hibernate.support.SoftKey;
 import org.hibernate.Hibernate;
@@ -44,13 +47,34 @@ import org.springframework.context.ApplicationEvent;
  * @since 2.0
  */
 @SuppressWarnings({"PMD.CloseResource", "PMD.DataflowAnomalyAnalysis"})
-public class HibernateEventListener extends AbstractHibernateEventListener {
+public class HibernateEventListener extends AbstractPersistenceEventListener {
+
+  /** The cached should trigger. */
+  protected final transient ConcurrentMap<SoftKey<Class<?>>, Boolean> 
cachedShouldTrigger =
+      new ConcurrentHashMap<SoftKey<Class<?>>, Boolean>();
+
+  /** The fail on error. */
+  protected final boolean failOnError;
+
+  /** The fail on error packages. */
+  protected final List<?> failOnErrorPackages;
 
   protected transient ConcurrentMap<SoftKey<Class<?>>, ClosureEventListener> 
eventListeners =
       new ConcurrentHashMap<>();
 
   public HibernateEventListener(HibernateDatastore datastore) {
     super(datastore);
+    HibernateConnectionSourceSettings settings =
+        
datastore.getConnectionSources().getDefaultConnectionSource().getSettings();
+    this.failOnError = settings.isFailOnError();
+    this.failOnErrorPackages = settings.getFailOnErrorPackages();
+  }
+
+  /**
+   * @return The hibernate datastore
+   */
+  protected HibernateDatastore getDatastore() {
+    return (HibernateDatastore) this.datastore;
   }
 
   @Override

Reply via email to