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 eae7e3946ff0bfc14c797ed6a93bbf2457870fdb
Author: Walter Duque de Estrada <[email protected]>
AuthorDate: Thu Feb 26 08:14:24 2026 -0600

    Fix PMD violations in MultiTenantEventListener
---
 grails-data-hibernate7/core/PMD.md                 |  6 ++--
 .../multitenancy/MultiTenantEventListener.java     | 38 ++++++++++------------
 2 files changed, 21 insertions(+), 23 deletions(-)

diff --git a/grails-data-hibernate7/core/PMD.md 
b/grails-data-hibernate7/core/PMD.md
index cd8e2a6940..1c59401ed4 100644
--- a/grails-data-hibernate7/core/PMD.md
+++ b/grails-data-hibernate7/core/PMD.md
@@ -239,9 +239,9 @@ 
DataflowAnomalyAnalysis,org.grails.orm.hibernate.event.listener.HibernateEventLi
 
DataflowAnomalyAnalysis,org.grails.orm.hibernate.event.listener.HibernateEventListener,164,
 
DataflowAnomalyAnalysis,org.grails.orm.hibernate.event.listener.HibernateEventListener,182,
 
CloseResource,org.grails.orm.hibernate.event.listener.HibernateEventListener,222,
-DataflowAnomalyAnalysis,org.grails.orm.hibernate.multitenancy.MultiTenantEventListener,59,
-DataflowAnomalyAnalysis,org.grails.orm.hibernate.multitenancy.MultiTenantEventListener,79,
-CompareObjectsWithEquals,org.grails.orm.hibernate.multitenancy.MultiTenantEventListener,93,
+DataflowAnomalyAnalysis,org.grails.orm.hibernate.multitenancy.MultiTenantEventListener,59,YES
+DataflowAnomalyAnalysis,org.grails.orm.hibernate.multitenancy.MultiTenantEventListener,79,YES
+CompareObjectsWithEquals,org.grails.orm.hibernate.multitenancy.MultiTenantEventListener,93,YES
 CloseResource,org.grails.orm.hibernate.proxy.HibernateProxyHandler,155,
 
DataflowAnomalyAnalysis,org.grails.orm.hibernate.query.GrailsHibernateQueryUtils,68,
 
DataflowAnomalyAnalysis,org.grails.orm.hibernate.query.GrailsHibernateQueryUtils,84,
diff --git 
a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/multitenancy/MultiTenantEventListener.java
 
b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/multitenancy/MultiTenantEventListener.java
index 0807256b2e..b7e7677261 100644
--- 
a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/multitenancy/MultiTenantEventListener.java
+++ 
b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/multitenancy/MultiTenantEventListener.java
@@ -53,34 +53,32 @@ public class MultiTenantEventListener implements 
PersistenceEventListener {
     return AbstractHibernateDatastore.class.isAssignableFrom(sourceType);
   }
 
+  @SuppressWarnings("PMD.DataflowAnomalyAnalysis")
   @Override
   public void onApplicationEvent(ApplicationEvent event) {
     if (supportsEventType(event.getClass())) {
-      Datastore hibernateDatastore = (Datastore) event.getSource();
-      if (event instanceof PreQueryEvent) {
-        PreQueryEvent preQueryEvent = (PreQueryEvent) event;
+      Datastore datastore = (Datastore) event.getSource();
+      if (event instanceof PreQueryEvent preQueryEvent) {
         Query query = preQueryEvent.getQuery();
 
         PersistentEntity entity = query.getEntity();
         if (entity.isMultiTenant()) {
-          if (hibernateDatastore == null) {
-            hibernateDatastore = 
GormEnhancer.findDatastore(entity.getJavaClass());
-          }
-          if (supportsSourceType(hibernateDatastore.getClass())) {
-            ((AbstractHibernateDatastore) 
hibernateDatastore).enableMultiTenancyFilter();
+          Datastore ds =
+              (datastore != null) ? datastore : 
GormEnhancer.findDatastore(entity.getJavaClass());
+          if (ds instanceof AbstractHibernateDatastore hibernateDatastore) {
+            hibernateDatastore.enableMultiTenancyFilter();
           }
         }
-      } else if ((event instanceof ValidationEvent)
-          || (event instanceof PreInsertEvent)
-          || (event instanceof PreUpdateEvent)) {
-        AbstractPersistenceEvent preInsertEvent = (AbstractPersistenceEvent) 
event;
-        PersistentEntity entity = preInsertEvent.getEntity();
+      } else if (event instanceof AbstractPersistenceEvent persistenceEvent
+          && (persistenceEvent instanceof ValidationEvent
+              || persistenceEvent instanceof PreInsertEvent
+              || persistenceEvent instanceof PreUpdateEvent)) {
+        PersistentEntity entity = persistenceEvent.getEntity();
         if (entity.isMultiTenant()) {
           TenantId tenantId = entity.getTenantId();
-          if (hibernateDatastore == null) {
-            hibernateDatastore = 
GormEnhancer.findDatastore(entity.getJavaClass());
-          }
-          if (supportsSourceType(hibernateDatastore.getClass())) {
+          Datastore ds =
+              (datastore != null) ? datastore : 
GormEnhancer.findDatastore(entity.getJavaClass());
+          if (ds instanceof AbstractHibernateDatastore hibernateDatastore) {
             Serializable currentId;
 
             if (hibernateDatastore instanceof MultiTenantCapableDatastore) {
@@ -90,12 +88,12 @@ public class MultiTenantEventListener implements 
PersistenceEventListener {
             }
             if (currentId != null) {
               try {
-                if (currentId == ConnectionSource.DEFAULT) {
+                if (ConnectionSource.DEFAULT.equals(currentId)) {
                   currentId =
                       (Serializable)
-                          
preInsertEvent.getEntityAccess().getProperty(tenantId.getName());
+                          
persistenceEvent.getEntityAccess().getProperty(tenantId.getName());
                 }
-                
preInsertEvent.getEntityAccess().setProperty(tenantId.getName(), currentId);
+                
persistenceEvent.getEntityAccess().setProperty(tenantId.getName(), currentId);
               } catch (Exception e) {
                 throw new TenantException(
                     "Could not assigned tenant id ["

Reply via email to