下面列出了org.hibernate.validator.messageinterpolation.AbstractMessageInterpolator#org.hibernate.validator.messageinterpolation.ParameterMessageInterpolator 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
@Before
public void setUp() throws NoSuchFieldException, IllegalAccessException {
Configuration<?> cfg = Validation.byDefaultProvider().configure();
cfg.messageInterpolator(new ParameterMessageInterpolator());
validator = cfg.buildValidatorFactory().getValidator();
for (Entry<String, Object> entry : Map.of("HTTP_CONTENT_SIZE_VALIDATOR", httpContentSizeValidator, "HTTP_HELPER", httpHelper).entrySet()) {
Field field = ReflectionUtils.findField(ImageCatalogValidator.class, entry.getKey());
field.setAccessible(true);
Field modifiersField = Field.class.getDeclaredField("modifiers");
modifiersField.setAccessible(true);
modifiersField.setInt(field, field.getModifiers() & ~Modifier.FINAL);
field.set(null, entry.getValue());
}
when(httpContentSizeValidator.isValid(anyString(), any(ConstraintValidatorContext.class))).thenReturn(true);
when(statusType.getFamily()).thenReturn(Family.SUCCESSFUL);
}
@Provides
@Singleton
ValidatorFactory validatorFactory(ConstraintValidatorFactory constraintValidatorFactory) {
ClassLoader tccl = Thread.currentThread().getContextClassLoader();
try {
Thread.currentThread().setContextClassLoader(HibernateValidator.class.getClassLoader());
ValidatorFactory factory = Validation.byDefaultProvider().configure()
.constraintValidatorFactory(constraintValidatorFactory)
.parameterNameProvider(new AopAwareParanamerParameterNameProvider())
.traversableResolver(new AlwaysTraversableResolver())
.messageInterpolator(new ParameterMessageInterpolator())
.buildValidatorFactory();
// FIXME: Install custom MessageInterpolator that can properly find/merge ValidationMessages.properties for bundles
// exercise interpolator to preload elements (avoids issues later when TCCL might be different)
factory.getValidator().validate(new Object()
{
// minimal token message
@NotNull(message = "{org.sonatype.nexus.validation.constraint.notnull}")
String empty;
});
return factory;
}
finally {
Thread.currentThread().setContextClassLoader(tccl);
}
}
@BeforeClass
public static void beforeClass() {
ValidatorFactory validatorFactory = Validation.byDefaultProvider()
.configure()
.messageInterpolator(new ParameterMessageInterpolator())
.buildValidatorFactory();
validator = validatorFactory.getValidator();
}
@Bean
ParameterMessageInterpolator parameterMessageInterpolator() {
return new ParameterMessageInterpolator();
}
private AbstractMessageInterpolator messageInterpolator() {
if (useResourceBundleMessageInterpolator()) {
return new ResourceBundleMessageInterpolator();
}
return new ParameterMessageInterpolator();
}
private AbstractMessageInterpolator messageInterpolator() {
if (useResourceBundleMessageInterpolator()) {
return new ResourceBundleMessageInterpolator();
}
return new ParameterMessageInterpolator();
}
@Before
public void setUp() {
Configuration<?> cfg = Validation.byDefaultProvider().configure();
cfg.messageInterpolator(new ParameterMessageInterpolator());
validator = cfg.buildValidatorFactory().getValidator();
}