9
9
import static org .hibernate .validator .internal .engine .ValidatorFactoryConfigurationHelper .determineAllowMultipleCascadedValidationOnReturnValues ;
10
10
import static org .hibernate .validator .internal .engine .ValidatorFactoryConfigurationHelper .determineAllowOverridingMethodAlterParameterConstraint ;
11
11
import static org .hibernate .validator .internal .engine .ValidatorFactoryConfigurationHelper .determineAllowParallelMethodsDefineParameterConstraints ;
12
- import static org .hibernate .validator .internal .engine .ValidatorFactoryConfigurationHelper .determineConstraintExpressionLanguageFeatureLevel ;
13
- import static org .hibernate .validator .internal .engine .ValidatorFactoryConfigurationHelper .determineCustomViolationExpressionLanguageFeatureLevel ;
14
12
import static org .hibernate .validator .internal .engine .ValidatorFactoryConfigurationHelper .determineBeanMetaDataClassNormalizer ;
13
+ import static org .hibernate .validator .internal .engine .ValidatorFactoryConfigurationHelper .determineConstraintExpressionLanguageFeatureLevel ;
15
14
import static org .hibernate .validator .internal .engine .ValidatorFactoryConfigurationHelper .determineConstraintMappings ;
16
15
import static org .hibernate .validator .internal .engine .ValidatorFactoryConfigurationHelper .determineConstraintValidatorPayload ;
16
+ import static org .hibernate .validator .internal .engine .ValidatorFactoryConfigurationHelper .determineCustomViolationExpressionLanguageFeatureLevel ;
17
17
import static org .hibernate .validator .internal .engine .ValidatorFactoryConfigurationHelper .determineExternalClassLoader ;
18
18
import static org .hibernate .validator .internal .engine .ValidatorFactoryConfigurationHelper .determineFailFast ;
19
19
import static org .hibernate .validator .internal .engine .ValidatorFactoryConfigurationHelper .determineScriptEvaluatorFactory ;
44
44
import org .hibernate .validator .PredefinedScopeHibernateValidatorFactory ;
45
45
import org .hibernate .validator .internal .cfg .context .DefaultConstraintMapping ;
46
46
import org .hibernate .validator .internal .engine .constraintvalidation .ConstraintValidatorManager ;
47
+ import org .hibernate .validator .internal .engine .constraintvalidation .HibernateConstraintValidatorInitializationContextImpl ;
47
48
import org .hibernate .validator .internal .engine .constraintvalidation .PredefinedScopeConstraintValidatorManagerImpl ;
48
49
import org .hibernate .validator .internal .engine .groups .ValidationOrderGenerator ;
50
+ import org .hibernate .validator .internal .engine .tracking .PredefinedScopeProcessedBeansTrackingStrategy ;
49
51
import org .hibernate .validator .internal .engine .valueextraction .ValueExtractorManager ;
50
52
import org .hibernate .validator .internal .metadata .PredefinedScopeBeanMetaDataManager ;
51
53
import org .hibernate .validator .internal .metadata .core .ConstraintHelper ;
@@ -112,23 +114,16 @@ public PredefinedScopeValidatorFactoryImpl(ConfigurationState configurationState
112
114
determineAllowParallelMethodsDefineParameterConstraints ( hibernateSpecificConfig , properties )
113
115
).build ();
114
116
115
- this .validatorFactoryScopedContext = new ValidatorFactoryScopedContext (
116
- configurationState .getMessageInterpolator (),
117
- configurationState .getTraversableResolver (),
118
- new ExecutableParameterNameProvider ( configurationState .getParameterNameProvider () ),
119
- configurationState .getClockProvider (),
120
- determineTemporalValidationTolerance ( configurationState , properties ),
121
- determineScriptEvaluatorFactory ( configurationState , properties , externalClassLoader ),
122
- determineFailFast ( hibernateSpecificConfig , properties ),
123
- determineTraversableResolverResultCacheEnabled ( hibernateSpecificConfig , properties ),
124
- determineConstraintValidatorPayload ( hibernateSpecificConfig ),
125
- determineConstraintExpressionLanguageFeatureLevel ( hibernateSpecificConfig , properties ),
126
- determineCustomViolationExpressionLanguageFeatureLevel ( hibernateSpecificConfig , properties )
127
- );
117
+ ExecutableParameterNameProvider parameterNameProvider = new ExecutableParameterNameProvider ( configurationState .getParameterNameProvider () );
118
+ ScriptEvaluatorFactory scriptEvaluatorFactory = determineScriptEvaluatorFactory ( configurationState , properties , externalClassLoader );
119
+ Duration temporalValidationTolerance = determineTemporalValidationTolerance ( configurationState , properties );
120
+
121
+ HibernateConstraintValidatorInitializationContextImpl constraintValidatorInitializationContext = new HibernateConstraintValidatorInitializationContextImpl (
122
+ scriptEvaluatorFactory , configurationState .getClockProvider (), temporalValidationTolerance );
128
123
129
124
this .constraintValidatorManager = new PredefinedScopeConstraintValidatorManagerImpl (
130
125
configurationState .getConstraintValidatorFactory (),
131
- this . validatorFactoryScopedContext . getConstraintValidatorInitializationContext ()
126
+ constraintValidatorInitializationContext
132
127
);
133
128
134
129
this .validationOrderGenerator = new ValidationOrderGenerator ();
@@ -171,7 +166,7 @@ public PredefinedScopeValidatorFactoryImpl(ConfigurationState configurationState
171
166
this .beanMetaDataManager = new PredefinedScopeBeanMetaDataManager (
172
167
constraintCreationContext ,
173
168
executableHelper ,
174
- validatorFactoryScopedContext . getParameterNameProvider () ,
169
+ parameterNameProvider ,
175
170
javaBeanHelper ,
176
171
validationOrderGenerator ,
177
172
buildMetaDataProviders ( constraintCreationContext , xmlMetaDataProvider , constraintMappings ),
@@ -180,6 +175,23 @@ public PredefinedScopeValidatorFactoryImpl(ConfigurationState configurationState
180
175
hibernateSpecificConfig .getBeanClassesToInitialize ()
181
176
);
182
177
178
+ this .validatorFactoryScopedContext = new ValidatorFactoryScopedContext (
179
+ configurationState .getMessageInterpolator (),
180
+ configurationState .getTraversableResolver (),
181
+ parameterNameProvider ,
182
+ configurationState .getClockProvider (),
183
+ temporalValidationTolerance ,
184
+ scriptEvaluatorFactory ,
185
+ determineFailFast ( hibernateSpecificConfig , properties ),
186
+ determineTraversableResolverResultCacheEnabled ( hibernateSpecificConfig , properties ),
187
+ determineConstraintValidatorPayload ( hibernateSpecificConfig ),
188
+ determineConstraintExpressionLanguageFeatureLevel ( hibernateSpecificConfig , properties ),
189
+ determineCustomViolationExpressionLanguageFeatureLevel ( hibernateSpecificConfig , properties ),
190
+ ( hibernateSpecificConfig != null && hibernateSpecificConfig .getProcessedBeansTrackingStrategy () != null )
191
+ ? hibernateSpecificConfig .getProcessedBeansTrackingStrategy ()
192
+ : new PredefinedScopeProcessedBeansTrackingStrategy ( beanMetaDataManager ),
193
+ constraintValidatorInitializationContext );
194
+
183
195
if ( LOG .isDebugEnabled () ) {
184
196
logValidatorFactoryScopedConfiguration ( validatorFactoryScopedContext );
185
197
}
0 commit comments