From 66432d22228757057543f21f2d58b080e271ca51 Mon Sep 17 00:00:00 2001 From: marko-bekhta Date: Fri, 29 Aug 2025 21:08:43 +0200 Subject: [PATCH] HV-2135 Do not initialize the alreadyProcessedGroups unless necessary in BeanValueContext --- .../internal/engine/valuecontext/BeanValueContext.java | 1 - .../validator/internal/engine/valuecontext/ValueContext.java | 4 +++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/engine/src/main/java/org/hibernate/validator/internal/engine/valuecontext/BeanValueContext.java b/engine/src/main/java/org/hibernate/validator/internal/engine/valuecontext/BeanValueContext.java index e2c47459d..4f929bb68 100644 --- a/engine/src/main/java/org/hibernate/validator/internal/engine/valuecontext/BeanValueContext.java +++ b/engine/src/main/java/org/hibernate/validator/internal/engine/valuecontext/BeanValueContext.java @@ -41,7 +41,6 @@ public final class BeanValueContext extends ValueContext { BeanValueContext(ValueContext parentContext, ExecutableParameterNameProvider parameterNameProvider, T currentBean, BeanMetaData currentBeanMetaData, MutablePath propertyPath) { super( parentContext, parameterNameProvider, currentBean, currentBeanMetaData, propertyPath ); this.currentBeanMetaData = currentBeanMetaData; - this.alreadyProcessedGroups = new HashSet<>(); } public BeanMetaData getCurrentBeanMetaData() { diff --git a/engine/src/main/java/org/hibernate/validator/internal/engine/valuecontext/ValueContext.java b/engine/src/main/java/org/hibernate/validator/internal/engine/valuecontext/ValueContext.java index 31617f3d7..05de9d080 100644 --- a/engine/src/main/java/org/hibernate/validator/internal/engine/valuecontext/ValueContext.java +++ b/engine/src/main/java/org/hibernate/validator/internal/engine/valuecontext/ValueContext.java @@ -147,7 +147,9 @@ public final void setTypeParameter(Class containerClass, Integer typeParamete } public final void setCurrentGroup(Class currentGroup) { - this.previousGroup = this.currentGroup; + if ( this.previousGroup != this.currentGroup ) { + this.previousGroup = this.currentGroup; + } this.currentGroup = currentGroup; }