@Override @SuppressWarnings("unchecked") public void afterPropertiesSet() throws Exception { Assert.state(yaml != null, "Yaml document should not be null"); Validator validator = Validation.buildDefaultValidatorFactory().getValidator(); try { logger.trace("Yaml document is\n" + yaml); configuration = (T) (new Yaml(constructor)).load(yaml); Set<ConstraintViolation<T>> errors = validator.validate(configuration); if (!errors.isEmpty()) { logger.error("YAML configuration failed validation"); for (ConstraintViolation<?> error : errors) { logger.error(error.getPropertyPath() + ": " + error.getMessage()); } if (exceptionIfInvalid) { @SuppressWarnings("rawtypes") ConstraintViolationException summary = new ConstraintViolationException((Set) errors); throw summary; } } } catch (YAMLException e) { if (exceptionIfInvalid) { throw e; } } }
@Override public <T> Set<ConstraintViolation<T>> validateValue( Class<T> beanType, String propertyName, Object value, Class<?>... groups) { Assert.state(this.targetValidator != null, "No target Validator set"); return this.targetValidator.validateValue(beanType, propertyName, value, groups); }
@Override public BeanDescriptor getConstraintsForClass(Class<?> clazz) { Assert.state(this.targetValidator != null, "No target Validator set"); return this.targetValidator.getConstraintsForClass(clazz); }
@Test public void testWorkflowTaskTypeHTTPWithHttpParamMissing() { WorkflowTask workflowTask = createSampleWorkflowTask(); workflowTask.setType("HTTP"); ConstraintMapping mapping = config.createConstraintMapping(); mapping.type(WorkflowTask.class) .constraint(new WorkflowTaskTypeConstraintDef()); Validator validator = config.addMapping(mapping) .buildValidatorFactory() .getValidator(); when(mockMetadataDao.getTaskDef(anyString())).thenReturn(new TaskDef()); Set<ConstraintViolation<WorkflowTask>> result = validator.validate(workflowTask); assertEquals(1, result.size()); List<String> validationErrors = new ArrayList<>(); result.forEach(e -> validationErrors.add(e.getMessage())); assertTrue(validationErrors.contains("inputParameters.http_request field is required for taskType: HTTP taskName: encode")); }
public static <T> void validationProperty(T objeto, String property, Class<?>... classes) { ValidatorFactory factory = Validation.buildDefaultValidatorFactory(); Validator validator = factory.getValidator(); Set<ConstraintViolation<T>> constraintViolations = validator.validateProperty(objeto, property, classes); if (!constraintViolations.isEmpty()) { throw new ConstraintViolationException(constraintViolations); } // ValidationException validacaoException = generateValidationException(constraintViolations); // // if (validacaoException.temExcecao()) { // throw validacaoException; // } }
/** * Validate the given value. * * @param value The value, may be null * @param field The name of the field being validated, if applicable * @param context The Ninja request context */ @Override public void validate(Object value, String field, Context context) { if (value != null) { final ValidatorFactory validatorFactory = javax.validation.Validation.buildDefaultValidatorFactory(); final javax.validation.Validator validator = validatorFactory.getValidator(); final Set<javax.validation.ConstraintViolation<Object>> violations = validator.validate(value); final Locale localeToUse = this.requestLanguage.getLocaleFromStringOrDefault(this.requestLanguage.getLanguage(context, Optional.<Result>empty())); final Validation validation = context.getValidation(); for (final javax.validation.ConstraintViolation<Object> violation : violations) { final String violationMessage = validatorFactory.getMessageInterpolator().interpolate( violation.getMessageTemplate(), new NinjaContextMsgInterpolator(value, violation.getConstraintDescriptor()), localeToUse ); final String messageKey = violation.getMessageTemplate().replaceAll("[{}]", ""); final ConstraintViolation constraintViolation = new ConstraintViolation( messageKey, violation.getPropertyPath().toString(), violationMessage, violation.getInvalidValue()); validation.addViolation(constraintViolation); } } }
private PushEvent getEventFromPayload(String payload) throws IOException { ObjectMapper objectMapper = new ObjectMapper(); PushEvent event = objectMapper.readValue(payload, PushEvent.class); ValidatorFactory factory = Validation.buildDefaultValidatorFactory(); Validator validator = factory.getValidator(); validator.validate(event); return event; }
/** * Perform validation of the given bean. * @param bean the bean instance to validate * @see javax.validation.Validator#validate */ protected void doValidate(Object bean) { Assert.state(this.validator != null, "No Validator set"); Object objectToValidate = AopProxyUtils.getSingletonTarget(bean); if (objectToValidate == null) { objectToValidate = bean; } Set<ConstraintViolation<Object>> result = this.validator.validate(objectToValidate); if (!result.isEmpty()) { StringBuilder sb = new StringBuilder("Bean state is invalid: "); for (Iterator<ConstraintViolation<Object>> it = result.iterator(); it.hasNext();) { ConstraintViolation<Object> violation = it.next(); sb.append(violation.getPropertyPath()).append(" - ").append(violation.getMessage()); if (it.hasNext()) { sb.append("; "); } } throw new BeanInitializationException(sb.toString()); } }
@Test public void testWorkflowTaskMissingReferenceName() { WorkflowTask workflowTask = createSampleWorkflowTask(); workflowTask.setTaskReferenceName(null); Set<ConstraintViolation<Object>> result = validator.validate(workflowTask); assertEquals(1, result.size()); assertEquals(result.iterator().next().getMessage(), "WorkflowTask taskReferenceName name cannot be empty or null"); }
violations.addAll(validator.validate(parameterBean, classgroups )); throw new ConstraintViolationException("Failed to validate service: " + clazz.getName() + ", method: " + methodName + ", cause: " + violations, violations);
@Override public <T> Set<ConstraintViolation<T>> validate(T t, Class<?>... classes) { return validator.validate(t, classes); }
public static <T> void validationValue(Class<T> classe, String property, Object value, Class<?>... classes) { ValidatorFactory factory = Validation.buildDefaultValidatorFactory(); Validator validator = factory.getValidator(); Set<ConstraintViolation<T>> constraintViolations = validator.validateValue(classe, property, value, classes); if (!constraintViolations.isEmpty()) { throw new ConstraintViolationException(constraintViolations); } // ValidationException validacaoException = generateValidationException(constraintViolations); // // if (validacaoException.temExcecao()) { // throw validacaoException; // } }
@Test public void testWorkflowTaskTypeHTTP() { WorkflowTask workflowTask = createSampleWorkflowTask(); workflowTask.setType("HTTP"); workflowTask.getInputParameters().put("http_request", "http://www.netflix.com"); ConstraintMapping mapping = config.createConstraintMapping(); mapping.type(WorkflowTask.class) .constraint(new WorkflowTaskTypeConstraintDef()); Validator validator = config.addMapping(mapping) .buildValidatorFactory() .getValidator(); when(mockMetadataDao.getTaskDef(anyString())).thenReturn(new TaskDef()); Set<ConstraintViolation<WorkflowTask>> result = validator.validate(workflowTask); assertEquals(0, result.size()); }
persister, associationsPerEntityPersister, sessionFactory ); Validator validator = factory.usingContext() .traversableResolver( tr ) .getValidator(); final Class<?>[] groups = groupsPerOperation.get( operation ); if ( groups.length > 0 ) { final Set<ConstraintViolation<T>> constraintViolations = validator.validate( object, groups ); if ( constraintViolations.size() > 0 ) { Set<ConstraintViolation<?>> propagatedViolations = LOG.trace( violation ); propagatedViolations.add( violation ); classNames.add( violation.getLeafBean().getClass().getName() ); throw new ConstraintViolationException( builder.toString(), propagatedViolations );
@Test public void testFailsValidation() { ConstrainedPowerOfTwo object = new ConstrainedPowerOfTwo(11); Set<ConstraintViolation<ConstrainedPowerOfTwo>> violations = VALIDATOR.validate(object); assertEquals(violations.size(), 2); for (ConstraintViolation<ConstrainedPowerOfTwo> violation : violations) { assertInstanceOf(violation.getConstraintDescriptor().getAnnotation(), PowerOfTwo.class); } }
@Override public <T> void beforeMethodInvoke(SwaggerInvocation invocation, SwaggerProducerOperation producerOperation, Object[] args) throws ConstraintViolationException { if (null == executableValidator) { ValidatorFactory factory = Validation.byDefaultProvider() .configure() .parameterNameProvider(new DefaultParameterNameProvider()) .buildValidatorFactory(); executableValidator = factory.getValidator().forExecutables(); } Set<ConstraintViolation<Object>> violations = executableValidator.validateParameters(producerOperation.getProducerInstance(), producerOperation.getProducerMethod(), args, Default.class); if (violations.size() > 0) { LOGGER.warn("Parameter validation failed : " + violations.toString()); throw new ConstraintViolationException(violations); } }
boolean activateNotNull, Dialect dialect) { final BeanDescriptor descriptor = factory.getValidator().getConstraintsForClass( clazz ); for ( PropertyDescriptor propertyDesc : descriptor.getConstrainedProperties() ) { Property property = findPropertyByName( persistentClass, prefix + propertyDesc.getPropertyName() ); boolean hasNotNull;
@Test public void testWorkflowTaskTestSetType() throws NoSuchMethodException { WorkflowTask workflowTask = createSampleWorkflowTask(); Method method = WorkflowTask.class.getMethod("setType", String.class); Object[] parameterValues = {""}; ExecutableValidator executableValidator = validator.forExecutables(); Set<ConstraintViolation<Object>> result = executableValidator.validateParameters(workflowTask, method, parameterValues); assertEquals(1, result.size()); assertEquals(result.iterator().next().getMessage(), "WorkTask type cannot be null or empty"); }
@Test @SpecAssertion(section = Sections.XML_MAPPING_XSD, id = "a") public void testValidBeanValidation11Mapping() { Validator validator = TestUtil.getConfigurationUnderTest() .addMapping( Version11InMappingXmlTest.class.getResourceAsStream( MAPPING_FILE ) ) .buildValidatorFactory() .getValidator(); assertFalse( validator.getConstraintsForClass( TestEntity.class ).isBeanConstrained() ); } }
ExecutableValidator execVal = this.validator.forExecutables(); Method methodToValidate = invocation.getMethod(); Set<ConstraintViolation<Object>> result; throw new ConstraintViolationException(result); throw new ConstraintViolationException(result);