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 ;
46
46
import org .hibernate .validator .PredefinedScopeHibernateValidatorFactory ;
47
47
import org .hibernate .validator .internal .cfg .context .DefaultConstraintMapping ;
48
48
import org .hibernate .validator .internal .engine .constraintvalidation .ConstraintValidatorManager ;
49
+ import org .hibernate .validator .internal .engine .constraintvalidation .HibernateConstraintValidatorInitializationContextImpl ;
49
50
import org .hibernate .validator .internal .engine .constraintvalidation .PredefinedScopeConstraintValidatorManagerImpl ;
50
51
import org .hibernate .validator .internal .engine .groups .ValidationOrderGenerator ;
52
+ import org .hibernate .validator .internal .engine .tracking .PredefinedScopeProcessedBeansTrackingStrategy ;
51
53
import org .hibernate .validator .internal .engine .valueextraction .ValueExtractorManager ;
52
54
import org .hibernate .validator .internal .metadata .PredefinedScopeBeanMetaDataManager ;
53
55
import org .hibernate .validator .internal .metadata .core .ConstraintHelper ;
@@ -118,24 +120,16 @@ public PredefinedScopeValidatorFactoryImpl(ConfigurationState configurationState
118
120
determineAllowParallelMethodsDefineParameterConstraints ( hibernateSpecificConfig , properties )
119
121
).build ();
120
122
121
- this .validatorFactoryScopedContext = new ValidatorFactoryScopedContext (
122
- configurationState .getMessageInterpolator (),
123
- configurationState .getTraversableResolver (),
124
- new ExecutableParameterNameProvider ( configurationState .getParameterNameProvider () ),
125
- configurationState .getClockProvider (),
126
- determineTemporalValidationTolerance ( configurationState , properties ),
127
- determineScriptEvaluatorFactory ( configurationState , properties , externalClassLoader ),
128
- determineFailFast ( hibernateSpecificConfig , properties ),
129
- determineTraversableResolverResultCacheEnabled ( hibernateSpecificConfig , properties ),
130
- determineConstraintValidatorPayload ( hibernateSpecificConfig ),
131
- determineConstraintExpressionLanguageFeatureLevel ( hibernateSpecificConfig , properties ),
132
- determineCustomViolationExpressionLanguageFeatureLevel ( hibernateSpecificConfig , properties ),
133
- determineShowValidatedValuesInTraceLogs ( hibernateSpecificConfig , properties )
134
- );
123
+ ExecutableParameterNameProvider parameterNameProvider = new ExecutableParameterNameProvider ( configurationState .getParameterNameProvider () );
124
+ ScriptEvaluatorFactory scriptEvaluatorFactory = determineScriptEvaluatorFactory ( configurationState , properties , externalClassLoader );
125
+ Duration temporalValidationTolerance = determineTemporalValidationTolerance ( configurationState , properties );
126
+
127
+ HibernateConstraintValidatorInitializationContextImpl constraintValidatorInitializationContext = new HibernateConstraintValidatorInitializationContextImpl (
128
+ scriptEvaluatorFactory , configurationState .getClockProvider (), temporalValidationTolerance );
135
129
136
130
this .constraintValidatorManager = new PredefinedScopeConstraintValidatorManagerImpl (
137
131
configurationState .getConstraintValidatorFactory (),
138
- this . validatorFactoryScopedContext . getConstraintValidatorInitializationContext ()
132
+ constraintValidatorInitializationContext
139
133
);
140
134
141
135
this .validationOrderGenerator = new ValidationOrderGenerator ();
@@ -197,7 +191,7 @@ public PredefinedScopeValidatorFactoryImpl(ConfigurationState configurationState
197
191
this .beanMetaDataManager = new PredefinedScopeBeanMetaDataManager (
198
192
constraintCreationContext ,
199
193
executableHelper ,
200
- validatorFactoryScopedContext . getParameterNameProvider () ,
194
+ parameterNameProvider ,
201
195
javaBeanHelper ,
202
196
validationOrderGenerator ,
203
197
buildMetaDataProviders ( constraintCreationContext , xmlMetaDataProvider , constraintMappings ),
@@ -206,6 +200,24 @@ public PredefinedScopeValidatorFactoryImpl(ConfigurationState configurationState
206
200
hibernateSpecificConfig .getBeanClassesToInitialize ()
207
201
);
208
202
203
+ this .validatorFactoryScopedContext = new ValidatorFactoryScopedContext (
204
+ configurationState .getMessageInterpolator (),
205
+ configurationState .getTraversableResolver (),
206
+ parameterNameProvider ,
207
+ configurationState .getClockProvider (),
208
+ temporalValidationTolerance ,
209
+ scriptEvaluatorFactory ,
210
+ determineFailFast ( hibernateSpecificConfig , properties ),
211
+ determineTraversableResolverResultCacheEnabled ( hibernateSpecificConfig , properties ),
212
+ determineShowValidatedValuesInTraceLogs ( hibernateSpecificConfig , properties ),
213
+ determineConstraintValidatorPayload ( hibernateSpecificConfig ),
214
+ determineConstraintExpressionLanguageFeatureLevel ( hibernateSpecificConfig , properties ),
215
+ determineCustomViolationExpressionLanguageFeatureLevel ( hibernateSpecificConfig , properties ),
216
+ ( hibernateSpecificConfig != null && hibernateSpecificConfig .getProcessedBeansTrackingStrategy () != null )
217
+ ? hibernateSpecificConfig .getProcessedBeansTrackingStrategy ()
218
+ : new PredefinedScopeProcessedBeansTrackingStrategy ( beanMetaDataManager ),
219
+ constraintValidatorInitializationContext );
220
+
209
221
if ( LOG .isDebugEnabled () ) {
210
222
logValidatorFactoryScopedConfiguration ( validatorFactoryScopedContext );
211
223
}
0 commit comments