package org.hibernate.validator.referenceguide.chapter08;
import java.io.InputStream;
import java.time.ZoneId;
import java.time.ZonedDateTime;
import javax.validation.Validation;
import javax.validation.Validator;
import javax.validation.ValidatorFactory;
import org.hibernate.validator.HibernateValidator;
import org.hibernate.validator.cfg.ConstraintMapping;
import org.junit.Test;
public class BootstrappingTest {
@Test
@SuppressWarnings("unused")
public void buildDefaultValidatorFactory() {
//tag::buildDefaultValidatorFactory[]
ValidatorFactory validatorFactory = Validation.buildDefaultValidatorFactory();
Validator validator = validatorFactory.getValidator();
//end::buildDefaultValidatorFactory[]
}
@Test
@SuppressWarnings("unused")
public void byProvider() {
//tag::byProvider[]
ValidatorFactory validatorFactory = Validation.byProvider( HibernateValidator.class )
.configure()
.buildValidatorFactory();
Validator validator = validatorFactory.getValidator();
//end::byProvider[]
}
@Test
@SuppressWarnings("unused")
public void byDefaultProvider() {
//tag::byDefaultProvider[]
ValidatorFactory validatorFactory = Validation.byDefaultProvider()
.configure()
.buildValidatorFactory();
Validator validator = validatorFactory.getValidator();
//end::byDefaultProvider[]
}
/**
* This one cannot be tested
*/
@SuppressWarnings("unused")
public void providerResolver() {
//tag::providerResolver[]
ValidatorFactory validatorFactory = Validation.byDefaultProvider()
.providerResolver( new OsgiServiceDiscoverer() )
.configure()
.buildValidatorFactory();
Validator validator = validatorFactory.getValidator();
//end::providerResolver[]
}
@Test
@SuppressWarnings("unused")
public void messageInterpolator() {
//tag::messageInterpolator[]
ValidatorFactory validatorFactory = Validation.byDefaultProvider()
.configure()
.messageInterpolator( new MyMessageInterpolator() )
.buildValidatorFactory();
Validator validator = validatorFactory.getValidator();
//end::messageInterpolator[]
}
@Test
@SuppressWarnings("unused")
public void traversableResolver() {
//tag::traversableResolver[]
ValidatorFactory validatorFactory = Validation.byDefaultProvider()
.configure()
.traversableResolver( new MyTraversableResolver() )
.buildValidatorFactory();
Validator validator = validatorFactory.getValidator();
//end::traversableResolver[]
}
@Test
@SuppressWarnings("unused")
public void clockProvider() {
//tag::clockProvider[]
ValidatorFactory validatorFactory = Validation.byDefaultProvider()
.configure()
.clockProvider( new FixedClockProvider( ZonedDateTime.of( 2016, 6, 15, 0, 0, 0, 0, ZoneId.of( "Europe/Paris" ) ) ) )
.buildValidatorFactory();
Validator validator = validatorFactory.getValidator();
//end::clockProvider[]
}
@Test
@SuppressWarnings("unused")
public void constraintValidatorFactory() {
//tag::constraintValidatorFactory[]
ValidatorFactory validatorFactory = Validation.byDefaultProvider()
.configure()
.constraintValidatorFactory( new MyConstraintValidatorFactory() )
.buildValidatorFactory();
Validator validator = validatorFactory.getValidator();
//end::constraintValidatorFactory[]
}
@Test
@SuppressWarnings("unused")
public void parameterNameProvider() {
//tag::parameterNameProvider[]
ValidatorFactory validatorFactory = Validation.byDefaultProvider()
.configure()
.parameterNameProvider( new MyParameterNameProvider() )
.buildValidatorFactory();
Validator validator = validatorFactory.getValidator();
//end::parameterNameProvider[]
}
/**
* This one cannot be tested
*/
@SuppressWarnings("unused")
public void addMapping() {
//tag::addMapping[]
InputStream constraintMapping1 = null;
InputStream constraintMapping2 = null;
ValidatorFactory validatorFactory = Validation.byDefaultProvider()
.configure()
.addMapping( constraintMapping1 )
.addMapping( constraintMapping2 )
.buildValidatorFactory();
Validator validator = validatorFactory.getValidator();
//end::addMapping[]
}
/**
* This one cannot be tested
*/
@SuppressWarnings("unused")
public void providerSpecificOptions() {
//tag::providerSpecificOptions[]
ValidatorFactory validatorFactory = Validation.byProvider( HibernateValidator.class )
.configure()
.failFast( true )
.addMapping( (ConstraintMapping) null )
.buildValidatorFactory();
Validator validator = validatorFactory.getValidator();
//end::providerSpecificOptions[]
}
@Test
@SuppressWarnings("unused")
public void providerSpecificOptionViaAddProperty() {
//tag::providerSpecificOptionViaAddProperty[]
ValidatorFactory validatorFactory = Validation.byProvider( HibernateValidator.class )
.configure()
.addProperty( "hibernate.validator.fail_fast", "true" )
.buildValidatorFactory();
Validator validator = validatorFactory.getValidator();
//end::providerSpecificOptionViaAddProperty[]
}
@Test
@SuppressWarnings("unused")
public void usingContext() {
//tag::usingContext[]
ValidatorFactory validatorFactory = Validation.buildDefaultValidatorFactory();
Validator validator = validatorFactory.usingContext()
.messageInterpolator( new MyMessageInterpolator() )
.traversableResolver( new MyTraversableResolver() )
.getValidator();
//end::usingContext[]
}
}