org.springframework.context.annotation.Lazy#javax.validation.Validator源码实例Demo

下面列出了org.springframework.context.annotation.Lazy#javax.validation.Validator 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: lastaflute   文件: ActionValidator.java
protected Validator comeOnHibernateValidator(Supplier<VaConfigSetupper> configSetupperSupplier) {
    if (isSuppressHibernateValidatorCache()) {
        return createHibernateValidator(configSetupperSupplier);
    } else { // basically here
        if (cachedValidator != null) {
            return cachedValidator;
        }
        synchronized (ActionValidator.class) {
            if (cachedValidator != null) {
                return cachedValidator;
            }
            cachedValidator = createHibernateValidator(configSetupperSupplier);
            return cachedValidator;
        }
    }
}
 
源代码2 项目: xlsmapper   文件: EntityDefinitionTest.java
@Before
public void setupBefore() {

    // BeanValidatorの式言語の実装を独自のものにする。
    ValidatorFactory validatorFactory = Validation.buildDefaultValidatorFactory();
    Validator validator = validatorFactory.usingContext()
            .messageInterpolator(new MessageInterpolatorAdapter(
                    // メッセージリソースの取得方法を切り替える
                    new ResourceBundleMessageResolver(),

                    // EL式の処理を切り替える
                    new MessageInterpolator(new ExpressionLanguageJEXLImpl())))
            .getValidator();

    // BeanValidationのValidatorを渡す
    this.sheetBeanValidator = new SheetBeanValidator(validator);

    this.errorFormatter = new SheetErrorFormatter();

}
 
源代码3 项目: springboot-guide   文件: PersonControllerTest.java
/**
 * 手动校验对象,很多场景下需要使用这种方式
 */
@Test
public void check_person_manually() {

    ValidatorFactory factory = Validation.buildDefaultValidatorFactory();
    Validator validator = factory.getValidator();
    Person person = new Person();
    person.setSex("Man22");
    person.setClassId("82938390");
    person.setEmail("SnailClimb");
    Set<ConstraintViolation<Person>> violations = validator.validate(person);
    //output:
    //email 格式不正确
    //name 不能为空
    //sex 值不在可选范围
    for (ConstraintViolation<Person> constraintViolation : violations) {
        System.out.println(constraintViolation.getMessage());
    }
}
 
源代码4 项目: docker-workflow-plugin   文件: ValidatorTests.java
@Test
   public void shouldNotValidateWhenFirstNameEmpty() {

LocaleContextHolder.setLocale(Locale.ENGLISH);
       Person person = new Person();
       person.setFirstName("");
       person.setLastName("smith");

       Validator validator = createValidator();
       Set<ConstraintViolation<Person>> constraintViolations = validator.validate(person);

       Assert.assertEquals(1, constraintViolations.size());
       ConstraintViolation<Person> violation =  constraintViolations.iterator().next();
       assertThat(violation.getPropertyPath().toString()).isEqualTo("firstName");
       assertThat(violation.getMessage()).isEqualTo("may not be empty");
   }
 
源代码5 项目: keywhiz   文件: MigrationsRule.java
@Override public Statement apply(final Statement base, Description description) {
  return new Statement() {
    @Override public void evaluate() throws Throwable {
      File yamlFile = new File(Resources.getResource("keywhiz-test.yaml").getFile());
      Validator validator = Validation.buildDefaultValidatorFactory().getValidator();
      ObjectMapper objectMapper = KeywhizService.customizeObjectMapper(Jackson.newObjectMapper());
      KeywhizConfig config = new YamlConfigurationFactory<>(KeywhizConfig.class, validator, objectMapper, "dw")
          .build(yamlFile);

      DataSource dataSource = config.getDataSourceFactory()
          .build(new MetricRegistry(), "db-migrations");

      Flyway flyway = Flyway.configure().dataSource(dataSource).locations(config.getMigrationsDir()).table(config.getFlywaySchemaTable()).load();
      flyway.clean();
      flyway.migrate();

      DSLContext dslContext = DSLContexts.databaseAgnostic(dataSource);
      DbSeedCommand.doImport(dslContext);

      base.evaluate();
    }
  };
}
 
源代码6 项目: spring-graalvm-native   文件: ValidatorTests.java
@Test
public void shouldNotValidateWhenFirstNameEmpty() {

	LocaleContextHolder.setLocale(Locale.ENGLISH);
	Person person = new Person();
	person.setFirstName("");
	person.setLastName("smith");

	Validator validator = createValidator();
	Set<ConstraintViolation<Person>> constraintViolations = validator
			.validate(person);

	assertThat(constraintViolations.size()).isEqualTo(1);
	ConstraintViolation<Person> violation = constraintViolations.iterator().next();
	assertThat(violation.getPropertyPath().toString()).isEqualTo("firstName");
	assertThat(violation.getMessage()).isEqualTo("must not be empty");
}
 
源代码7 项目: Examples   文件: ValidatorFactoryExample.java
public static void main(String[] args) {
    /* Prepare user object */
    User user = new User();
    user.setFirstName("Vicky");
    user.setNickNames(Arrays.asList("vicks", "v"));
    user.setEmail("not-an-email");
    user.setPassword("1234567");
    
    ValidatorFactory factory = Validation.buildDefaultValidatorFactory();
    Validator validator = factory.getValidator();
    /* validate object and get constraints failed */
    Set<ConstraintViolation<User>> violations = validator.validate(user);
    
    for (ConstraintViolation<User> violation : violations) {
        System.err.println(violation.getMessage());
    }
}
 
源代码8 项目: blog   文件: PersonModelTest.java
@Test
public void test_WHEN_valid_GIVEN_invalid_model_THEN_error() {

	// GIVEN

	PersonModel person = new PersonModel( //
			null, //
			"", //
			null);

	ValidatorFactory factory = Validation.buildDefaultValidatorFactory();
	Validator validator = factory.getValidator();

	// WHEN

	Set<ConstraintViolation<PersonModel>> constraintViolations = validator
			.validate(person);

	// THEN

	assertThat(constraintViolations) //
			.hasSize(3) //
			.haveExactly(2, notNullCondition) //
			.haveExactly(1, notEmptyCondition);
}
 
源代码9 项目: blog   文件: PersonModelTest.java
@Test
public void test_WHEN_valid_GIVEN_valid_model_THEN_ok_no_errors() {

	// GIVEN

	PersonModel person = new PersonModel( //
			"Kim", //
			"Kardashian", //
			new GregorianCalendar(1980, Calendar.OCTOBER, 21));
	ValidatorFactory factory = Validation.buildDefaultValidatorFactory();
	Validator validator = factory.getValidator();

	// WHEN

	Set<ConstraintViolation<PersonModel>> constraintViolations = validator
			.validate(person);

	// THEN

	assertThat(constraintViolations).isEmpty();
}
 
源代码10 项目: crnk-framework   文件: ValidationEndToEndTest.java
@Test
public void testMapElementAttributeNotNull() {
	ProjectData data = new ProjectData();
	data.setValue(null); // violation

	Project project = new Project();
	project.setId(1L);
	project.setName("test");
	project.setDataMap(new LinkedHashMap());
	project.getDataMap().put("someKey", data);

	ValidatorFactory factory = Validation.buildDefaultValidatorFactory();
	Validator validator = factory.getValidator();

	try {
		projectRepo.create(project);
	} catch (ConstraintViolationException e) {
		Set<ConstraintViolation<?>> violations = e.getConstraintViolations();
		Assert.assertEquals(1, violations.size());
		ConstraintViolationImpl violation = (ConstraintViolationImpl) violations.iterator().next();
		Assert.assertEquals("{javax.validation.constraints.NotNull.message}", violation.getMessageTemplate());
		Assert.assertEquals("dataMap[someKey].value", violation.getPropertyPath().toString());
		Assert.assertNotNull(violation.getMessage());
		Assert.assertEquals("/data/attributes/data-map/someKey/value", violation.getErrorData().getSourcePointer());
	}
}
 
@SuppressWarnings("deprecation")
public static Object invokeWithinValidation(MethodInvocation invocation, Validator validator, Class<?>[] groups)
		throws Throwable {

	org.hibernate.validator.method.MethodValidator methodValidator =
			validator.unwrap(org.hibernate.validator.method.MethodValidator.class);
	Set<org.hibernate.validator.method.MethodConstraintViolation<Object>> result =
			methodValidator.validateAllParameters(
					invocation.getThis(), invocation.getMethod(), invocation.getArguments(), groups);
	if (!result.isEmpty()) {
		throw new org.hibernate.validator.method.MethodConstraintViolationException(result);
	}
	Object returnValue = invocation.proceed();
	result = methodValidator.validateReturnValue(
			invocation.getThis(), invocation.getMethod(), returnValue, groups);
	if (!result.isEmpty()) {
		throw new org.hibernate.validator.method.MethodConstraintViolationException(result);
	}
	return returnValue;
}
 
源代码12 项目: hibernate-demos   文件: ViewController.java
public void initialize(final URL location, final ResourceBundle resources) {
    final ValidatorFactory factory = Validation.buildDefaultValidatorFactory();
    final Model model = new Model();
    final Validator validator = factory.getValidator();

    nameField.textProperty().bindBidirectional(model.nameProperty());

    model.countProperty().bind(Bindings.createObjectBinding(() ->
                    countSlider.valueProperty().intValue()
            , countSlider.valueProperty()));


    validateMessageLabel.textProperty().bind(Bindings.createStringBinding(() -> {
        final Set<ConstraintViolation<Model>> violations = validator.validate(model);
        return violations.stream().map(v -> v.getMessage()).reduce("", (a, b) -> a + System.lineSeparator() + b);
    }, model.nameProperty(), model.countProperty()));
}
 
源代码13 项目: packagedrone   文件: ValidationBundle.java
public static javax.validation.Validator getValidator ()
{
    synchronized ( ValidationBundle.class )
    {
        if ( lastTrackingCount != tracker.getTrackingCount () )
        {
            lastTrackingCount = tracker.getTrackingCount ();
            validator = null;
        }

        if ( validator == null )
        {
            validator = buildValidator ();
        }

        return validator;
    }
}
 
源代码14 项目: syndesis   文件: IntegrationHandler.java
public IntegrationHandler(final DataManager dataMgr, final OpenShiftService openShiftService,
                          final Validator validator, final Inspectors inspectors,
                          final EncryptionComponent encryptionSupport, final APIGenerator apiGenerator,
                          final IntegrationOverviewHelper integrationOverviewHelper) {
    super(dataMgr);
    this.openShiftService = openShiftService;
    this.validator = validator;
    this.inspectors = inspectors;
    this.encryptionSupport = encryptionSupport;
    this.apiGenerator = apiGenerator;
    this.integrationOverviewHelper = integrationOverviewHelper;
}
 
源代码15 项目: wisdom   文件: HibernateValidatorService.java
/**
 * Initializes the validator, and registers it as an OSGi service (if the bundle context is set).
 *
 * @return the validator.
 */
@Validate
public Validator initialize() {
    // configure and build an instance of ValidatorFactory
    ProviderSpecificBootstrap<HibernateValidatorConfiguration> validationBootStrap = javax.validation.Validation
            .byProvider(HibernateValidator.class);

    // bootstrap to properly resolve in an OSGi environment
    validationBootStrap.providerResolver(new HibernateValidationProviderResolver());

    HibernateValidatorConfiguration configure = validationBootStrap.configure().messageInterpolator(interpolator);
    interpolator.setDefaultInterpolator(configure.getDefaultMessageInterpolator());

    // now that we've done configuring the ValidatorFactory, let's build it
    ValidatorFactory validatorFactory = configure.buildValidatorFactory();

    // retrieve a unique validator.
    Validator validator = validatorFactory.getValidator();

    // Register the validator.
    if (context != null) {
        registration = context.registerService(Validator.class, new WrappedValidator(validator), null);
        factoryRegistration = context.registerService(ValidatorFactory.class, validatorFactory, null);
    }

    return validator;
}
 
源代码16 项目: fb-botmill   文件: FbBotMillBean.java
/**
 * Validates the {@link FbBotMillResponse}.
 *
 * @param response
 *            the response
 * @return true if the response is valid, false otherwise.
 */
protected boolean validate(FbBotMillResponse response) {
	// If validations are not enabled, returns true.
	if (!FbBotMillContext.getInstance().isValidationEnabled()) {
		return true;
	}

	boolean valid = true;
	ValidatorFactory factory = Validation.buildDefaultValidatorFactory();
	Validator validator = factory.getValidator();
	Set<ConstraintViolation<FbBotMillResponse>> violations = validator
			.validate(response);
	for (ConstraintViolation<FbBotMillResponse> v : violations) {
		valid = false;
		logger.error(
				"FbBotMillResponse validation error. Message: [{}] Value: [{}], Class: [{}], Field: [{}]",
				v.getMessage(), v.getInvalidValue(), v.getRootBean(),
				v.getPropertyPath());
	}

	if (valid == false) {
		// Sends the constraint violations through the callback.
		List<FbBotMillMonitor> registeredMonitors = FbBotMillContext
				.getInstance().getRegisteredMonitors();
		for (FbBotMillMonitor monitor : registeredMonitors) {
			monitor.onValidationError(response, violations);
		}
	}

	return valid;
}
 
@Inject
public FailFastServersideValidationService(Validator validator) {
    if (validator == null) {
        throw new IllegalArgumentException("Validator cannot be null");
    }

    this.validator = validator;
}
 
源代码18 项目: ozark   文件: ValidationInterceptor.java
@AroundInvoke
public Object validateMethodInvocation(InvocationContext ctx) throws Exception {

    Object resource = ctx.getTarget();
    Method method = ctx.getMethod();

    log.log(Level.FINE, "Starting validation for controller method: {0}#{1}", new Object[]{
            resource.getClass().getName(), method.getName()
    });

    Validator validator = validatorFactory.getValidator();
    ExecutableValidator executableValidator = validator.forExecutables();

    // validate controller property parameters
    processViolations(ctx,
            validator.validate(resource)
    );

    // validate controller method parameters
    processViolations(ctx,
            executableValidator.validateParameters(resource, method, ctx.getParameters())
    );

    // execute method
    Object result = ctx.proceed();

    // TODO: Does this make sense? Nobody will be able to handle these. Remove?
    processViolations(ctx,
            executableValidator.validateReturnValue(resource, method, result)
    );

    return result;

}
 
源代码19 项目: open-capacity-platform   文件: BeanValidator.java
public static <T> Map<String, String> validate(T t, Class... groups) {
    Validator validator = validatorFactory.getValidator();
    Set validateResult = validator.validate(t, groups);
    if (validateResult.isEmpty()) {
        return Collections.emptyMap();
    } else {
        LinkedHashMap errors = new LinkedHashMap<>();
        Iterator iterator = validateResult.iterator();
        while (iterator.hasNext()) {
            ConstraintViolation violation = (ConstraintViolation)iterator.next();
            errors.put(violation.getPropertyPath().toString(), violation.getMessage());
        }
        return errors;
    }
}
 
private void validateMatchingDataset(Validator validator, MatchingDataset matchingDataset) throws MatchingDatasetArgumentValidationError {
    Set<ConstraintViolation<MatchingDataset>> validations = validator.validate(matchingDataset);
    if(!validations.isEmpty()) {
        final String errors = validations
                .stream().map(violation -> ConstraintMessage.getMessage(violation, Invocable.create(request -> null)))
                .collect(Collectors.joining(", "));

        throw new MatchingDatasetArgumentValidationError(String.format("Matching Dataset argument was not valid: %s", errors));
    }
}
 
源代码21 项目: hj-t212-parser   文件: T212MapVerifyTest.java
@Test
public void testCPDataLevel(){
    ValidatorFactory factory = Validation.buildDefaultValidatorFactory();
    Validator validator = factory.getValidator();

    Set<ConstraintViolation<T212Map>> e2005 = validator.validate(cpDataLevel,Default.class,
            T212MapLevelGroup.CpDataLevel.class, VersionGroup.V2005.class);
    assertTrue(e2005.isEmpty());
    Set<ConstraintViolation<T212Map>> e2017 = validator.validate(cpDataLevel,Default.class,
            T212MapLevelGroup.CpDataLevel.class, VersionGroup.V2017.class);
    assertTrue(e2017.isEmpty());
}
 
源代码22 项目: hj-t212-parser   文件: T212MapCValidatorTest.java
@SuppressWarnings("Duplicates")
@Test
public void test(){
    ValidatorFactory factory = Validation.buildDefaultValidatorFactory();
    Validator validator = factory.getValidator();

    T212Map t212Map = T212Map.createDataLevel(map);

    Set<ConstraintViolation<T212Map>> e1 = validator.validate(t212Map,
            Default.class);
    assertEquals(e1.size(),1);
}
 
源代码23 项目: heimdall   文件: JsonImpl.java
private <T> List<BeanValidationErrorDTO> beanValidation(T bean) {

        try (ValidatorFactory factory = Validation.buildDefaultValidatorFactory()) {
        	Validator validator = factory.getValidator();
        	
        	Set<ConstraintViolation<T>> violations = validator.validate(bean);
        	
        	return violations.stream().map(v -> {
				return new BeanValidationErrorDTO(v.getPropertyPath().toString(), v.getMessage());
			}).collect(Collectors.toList());
        }
   }
 
/**
 * Set the JSR-303 Validator to delegate to for validating methods.
 * <p>Default is the default ValidatorFactory's default Validator.
 */
public void setValidator(Validator validator) {
	// Unwrap to the native Validator with forExecutables support
	if (validator instanceof LocalValidatorFactoryBean) {
		this.validator = ((LocalValidatorFactoryBean) validator).getValidator();
	}
	else if (validator instanceof SpringValidatorAdapter) {
		this.validator = validator.unwrap(Validator.class);
	}
	else {
		this.validator = validator;
	}
}
 
@Test
public void testSpELCondition() {
    Validator validator = TestValidator.testStrictValidator();

    Root root = new Root(
            "root1",
            new Child("child1", 0, 2),
            new NullableChild("child2")
    );
    Set<ConstraintViolation<Root>> violations = validator.validate(root);

    System.out.println(violations);
    assertThat(violations).hasSize(1);
}
 
@Test
public void isValid() throws Exception {
	Validator validator = Validation.buildDefaultValidatorFactory()
			.getValidator();

	IntervalReading intervalReading = new IntervalReading();

	Set<ConstraintViolation<IntervalReading>> violations = validator
			.validate(intervalReading);

	assertTrue(violations.isEmpty());
}
 
源代码27 项目: backstopper   文件: ClientDataValidationService.java
@Inject
public ClientDataValidationService(Validator validator) {
    if (validator == null) {
        throw new IllegalArgumentException("Validator cannot be null");
    }

    this.validator = validator;
}
 
@Bean
public static MethodValidationPostProcessor methodValidationPostProcessor(@Lazy Validator validator) {
	MethodValidationPostProcessor postProcessor = new MethodValidationPostProcessor();
	postProcessor.setValidator(validator);
	postProcessor.setProxyTargetClass(true);
	return postProcessor;
}
 
private BoneCPDataSourceConfig createBean() throws Exception {
    SimpleResourceConfigFactoryBean<BoneCPDataSourceConfig> factoryBean = new SimpleResourceConfigFactoryBean<>();
    factoryBean.setClient(zkRootClient);
    factoryBean.setPath("/database/bcp");
    factoryBean.setResourceType(BoneCPDataSourceConfig.class);
    factoryBean.setAutoReload(true);

    ValidatorFactory factory = Validation.buildDefaultValidatorFactory();
    Validator validator = factory.getValidator();
    factoryBean.setValidator(validator);

    factoryBean.afterPropertiesSet();
    return factoryBean.getObject();
}
 
源代码30 项目: dependency-track   文件: OidcResource.java
@POST
@Path("/group")
@Produces(MediaType.APPLICATION_JSON)
@Consumes(MediaType.APPLICATION_JSON)
@ApiOperation(
        value = "Updates group",
        response = OidcGroup.class
)
@ApiResponses(value = {
        @ApiResponse(code = 401, message = "Unauthorized")
})
@PermissionRequired(Permissions.Constants.ACCESS_MANAGEMENT)
public Response updateGroup(final OidcGroup jsonGroup) {
    final Validator validator = super.getValidator();
    failOnValidationError(
            validator.validateProperty(jsonGroup, "uuid"),
            validator.validateProperty(jsonGroup, "name")
    );

    try (QueryManager qm = new QueryManager()) {
        OidcGroup oidcGroup = qm.getObjectByUuid(OidcGroup.class, jsonGroup.getUuid());
        if (oidcGroup != null) {
            oidcGroup.setName(jsonGroup.getName());
            oidcGroup = qm.updateOidcGroup(oidcGroup);
            super.logSecurityEvent(LOGGER, SecurityMarkers.SECURITY_AUDIT, "Group updated: " + oidcGroup.getName());
            return Response.ok(oidcGroup).build();
        } else {
            return Response.status(Response.Status.NOT_FOUND).entity("An OpenID Connect group with the specified UUID does not exists.").build();
        }
    }
}