@Override public Set<Class<? extends Payload>> getPayload() { return wrapped.getPayload(); }
ContextResourceBundle(Context context, Locale locale) { ConstraintDescriptor descriptor = context.getConstraintDescriptor(); Set<Class<? extends Payload>> payload = descriptor.getPayload();
@Override public Set<Class<? extends Payload>> getPayload() { return wrapped.getPayload(); }
@Override public Set<Class<? extends Payload>> getPayload() { return this.descriptor.getPayload(); }
@Test @SpecAssertion(section = Sections.CONSTRAINTMETADATA_CONSTRAINTDESCRIPTOR, id = "i") public void testPayload() { ConstraintDescriptor<?> descriptor = getConstraintDescriptor( Person.class, "firstName" ); Set<Class<? extends Payload>> payload = descriptor.getPayload(); assertTrue( payload.size() == 1 ); assertEquals( payload.iterator().next(), Severity.Info.class, "Wrong payload" ); descriptor = getConstraintDescriptor( Order.class, "orderNumber" ); payload = descriptor.getPayload(); assertTrue( payload != null ); assertTrue( payload.size() == 0 ); }
@Test @SpecAssertion(section = "5.5", id = "g") public void testPayload() { ConstraintDescriptor<?> descriptor = getConstraintDescriptor( Person.class, "firstName" ); Set<Class<? extends Payload>> payload = descriptor.getPayload(); assertTrue( payload.size() == 1 ); assertEquals( payload.iterator().next(), Severity.Info.class, "Wrong payload" ); descriptor = getConstraintDescriptor( Order.class, "orderNumber" ); payload = descriptor.getPayload(); assertTrue( payload != null ); assertTrue( payload.size() == 0 ); }
@Test @SpecAssertion(section = Sections.CONSTRAINTMETADATA_CONSTRAINTDESCRIPTOR, id = "j") @SpecAssertion(section = Sections.CONSTRAINTMETADATA_CONSTRAINTDESCRIPTOR, id = "k") public void testComposingConstraintsPayload() { ConstraintDescriptor<?> descriptor = getConstraintDescriptor( Person.class, "firstName" ); Set<ConstraintDescriptor<?>> composingDescriptors = descriptor.getComposingConstraints(); assertEquals( composingDescriptors.size(), 2, "Wrong number of composing constraints" ); for ( ConstraintDescriptor<?> desc : composingDescriptors ) { assertTrue( desc.getGroups().size() == 1 ); assertEquals( desc.getPayload().iterator().next(), Severity.Info.class, "Wrong payload" ); } }
@Test @SpecAssertion(section = "2.3", id = "p") public void testPayloadPropagationInComposedConstraints() { Friend john = new Friend( "John", "Doe" ); Validator validator = TestUtil.getValidatorUnderTest(); Set<ConstraintViolation<Friend>> constraintViolations = validator.validate( john ); assertCorrectNumberOfViolations( constraintViolations, 1 ); assertCorrectConstraintTypes( constraintViolations, NotNull.class ); ConstraintViolation<Friend> constraintViolation = constraintViolations.iterator().next(); Set<Class<? extends Payload>> payloads = constraintViolation.getConstraintDescriptor().getPayload(); assertTrue( payloads.size() == 1, "There should be one payload in the set" ); Class<? extends Payload> payload = payloads.iterator().next(); assertTrue( payload.getName().equals( Severity.Warn.class.getName() ), "Unexpected payload" ); }
ContextResourceBundle(Context context, Locale locale) { ConstraintDescriptor descriptor = context.getConstraintDescriptor(); Set<Class<? extends Payload>> payload = descriptor.getPayload(); // Load the LogStrings.properties for the argument Locale, from the ClassLoader // of the payload. if (!payload.isEmpty()) { Class payloadClass = payload.iterator().next(); String baseName = payloadClass.getPackage().getName() + ".LocalStrings"; ClassLoader cl = payloadClass.getClassLoader(); try { contextBundle = ResourceBundle.getBundle(baseName, locale, cl); } catch (MissingResourceException mre) { contextBundle = null; } } try { userBundle = ResourceBundle.getBundle(USER_VALIDATION_MESSAGES, locale, Thread.currentThread().getContextClassLoader()); } catch (MissingResourceException mre) { userBundle = null; } if (userBundle != null) { setParent(userBundle); } }
/** * Returns Severity for the given ConstraintViolation. * Relies on the Payload attribute of the constraint annotation. Defaults to Severity.ERROR (if there is no payload * specified in the annotation). * @param constraintViolation * @return */ @SuppressWarnings("unchecked") private Severity getSeverity(ConstraintViolation<?> constraintViolation) { Severity severity = Severity.ERROR; Set<Class<? extends Payload>> severities = constraintViolation.getConstraintDescriptor().getPayload(); if (severities == null || severities.size() == 0) { return severity; } for (Class<? extends Payload> payloadClass : severities) { if (payloadClass.isAssignableFrom(Severity.SeverityPayload.class)) { severity = Severity.getSeverity((Class<Severity.SeverityPayload>)payloadClass); } } return severity; }
@Test @SpecAssertion(section = Sections.CONSTRAINTSDEFINITIONIMPLEMENTATION_CONSTRAINTCOMPOSITION, id = "f") @SpecAssertion(section = Sections.CONSTRAINTSDEFINITIONIMPLEMENTATION_CONSTRAINTCOMPOSITION, id = "g") public void testPayloadPropagationInComposedConstraints() { Friend john = new Friend( "John", "Doe" ); Set<ConstraintViolation<Friend>> constraintViolations = getValidator().validate( john ); assertNumberOfViolations( constraintViolations, 1 ); assertCorrectConstraintTypes( constraintViolations, NotNull.class ); ConstraintViolation<Friend> constraintViolation = constraintViolations.iterator().next(); Set<Class<? extends Payload>> payloads = constraintViolation.getConstraintDescriptor().getPayload(); assertTrue( payloads.size() == 1, "There should be one payload in the set" ); Class<? extends Payload> payload = payloads.iterator().next(); assertTrue( payload.getName().equals( Severity.Warn.class.getName() ), "Unexpected payload" ); }
@Test @SpecAssertions({ @SpecAssertion(section = "5.5", id = "h"), @SpecAssertion(section = "5.5", id = "i") }) public void testComposingConstraintsPayload() { ConstraintDescriptor<?> descriptor = getConstraintDescriptor( Person.class, "firstName" ); Set<ConstraintDescriptor<?>> composingDescriptors = descriptor.getComposingConstraints(); assertEquals( composingDescriptors.size(), 2, "Wrong number of composing constraints" ); for ( ConstraintDescriptor<?> desc : composingDescriptors ) { assertTrue( desc.getGroups().size() == 1 ); assertEquals( desc.getPayload().iterator().next(), Severity.Info.class, "Wrong payload" ); } }
ContextResourceBundle(Context context, Locale locale) { ConstraintDescriptor descriptor = context.getConstraintDescriptor(); Set<Class<? extends Payload>> payload = descriptor.getPayload();
ContextResourceBundle(Context context, Locale locale) { ConstraintDescriptor<?> descriptor = context.getConstraintDescriptor(); Set<Class<? extends Payload>> payload = descriptor.getPayload();
ContextResourceBundle(Context context, Locale locale) { ConstraintDescriptor<?> descriptor = context.getConstraintDescriptor(); Set<Class<? extends Payload>> payload = descriptor.getPayload();
ContextResourceBundle(Context context, Locale locale) { ConstraintDescriptor descriptor = context.getConstraintDescriptor(); Set<Class<? extends Payload>> payload = descriptor.getPayload();
ContextResourceBundle(Context context, Locale locale) { ConstraintDescriptor descriptor = context.getConstraintDescriptor(); Set<Class<? extends Payload>> payload = descriptor.getPayload();
@Test @SpecAssertions({ @SpecAssertion(section = Sections.VALIDATIONAPI_BOOTSTRAPPING_XMLCONFIGURATION, id = "a"), @SpecAssertion(section = Sections.VALIDATIONAPI_BOOTSTRAPPING_XMLCONFIGURATION, id = "r"), @SpecAssertion(section = Sections.VALIDATIONAPI_BOOTSTRAPPING_XMLCONFIGURATION, id = "s"), @SpecAssertion(section = Sections.XML_MAPPING_CONSTRAINTDECLARATIONINXML, id = "a"), @SpecAssertion(section = Sections.XML_MAPPING_CONSTRAINTDECLARATIONINXML, id = "b"), @SpecAssertion(section = Sections.XML_MAPPING_CONSTRAINTDEFINITION, id = "a") }) public void testClassConstraintDefinedInXml() { User user = new User(); Set<ConstraintViolation<User>> constraintViolations = getValidator().validate( user, TestGroup.class ); assertNumberOfViolations( constraintViolations, 1 ); assertCorrectConstraintViolationMessages( constraintViolations, "Message from xml" ); ConstraintViolation<User> constraintViolation = constraintViolations.iterator().next(); Set<Class<? extends Payload>> payloads = constraintViolation.getConstraintDescriptor().getPayload(); assertTrue( payloads.size() == 1, "One one payload class is defined in xml" ); assertTrue( Error.class.equals( payloads.iterator().next() ) ); user.setConsistent( true ); constraintViolations = getValidator().validate( user ); assertNumberOfViolations( constraintViolations, 0 ); }
@Test @SpecAssertions({ @SpecAssertion(section = "4.4.6", id = "a"), @SpecAssertion(section = "4.4.6", id = "l"), @SpecAssertion(section = "4.4.6", id = "k"), @SpecAssertion(section = "7.1.1", id = "a"), @SpecAssertion(section = "7.1.1", id = "b"), @SpecAssertion(section = "7.1.2", id = "a") }) public void testClassConstraintDefinedInXml() { Validator validator = TestUtil.getValidatorUnderTest(); User user = new User(); Set<ConstraintViolation<User>> constraintViolations = validator.validate( user ); assertCorrectNumberOfViolations( constraintViolations, 1 ); assertCorrectConstraintViolationMessages( constraintViolations, "Message from xml" ); ConstraintViolation<User> constraintViolation = constraintViolations.iterator().next(); Set<Class<? extends Payload>> payloads = constraintViolation.getConstraintDescriptor().getPayload(); assertTrue( payloads.size() == 1, "One one payload class is defined in xml" ); assertTrue( Error.class.equals( payloads.iterator().next() ) ); user.setConsistent( true ); constraintViolations = validator.validate( user ); assertCorrectNumberOfViolations( constraintViolations, 0 ); }
/** * Create a new ConstraintDescriptorImpl instance. * * @param descriptor */ public ConstraintDescriptorImpl(ConstraintDescriptor<T> descriptor) { this(descriptor.getAnnotation(), descriptor.getGroups(), descriptor.getPayload(), descriptor .getConstraintValidatorClasses(), descriptor.getAttributes(), descriptor.getComposingConstraints(), descriptor.isReportAsSingleViolation()); }