bval-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Karsten Tinnefeld (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (BVAL-105) Multiple use of @ReportAsSingleViolation composing constraints on one bean leads to internal RuntimeError
Date Thu, 03 May 2012 14:52:50 GMT

     [ https://issues.apache.org/jira/browse/BVAL-105?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Karsten Tinnefeld updated BVAL-105:
-----------------------------------

    Description: 
Given a composing validation annotation

{quote}
@Pattern(regexp = ".*\\$1.*")
@ReportAsSingleViolation
@Constraint(validatedBy = {})
@Documented
@Retention(RUNTIME)
@Target({ ANNOTATION_TYPE, CONSTRUCTOR, FIELD, METHOD, PARAMETER })
public @interface ValidURLPattern {

    String message() default "{path.to.ValidURLPattern.message}";

    Class < ? >[] groups() default {};

    Class < ? extends Payload >[] payload() default {};
}
{quote}

attached to a bean several times 

{quote}
@lombok.Data
public class Bean {

    @ValidURLPattern
    private String oneURL;

    @ValidURLPattern
    private String secondURL;

[...]
}
{quote}

validating a bean containing null in both URLs yields a spurious validation error on one field,
by adding up to _n_ fields, _n - 1_ errors are displayed.

I tracked down to ConstraintValidation.validate(GroupValidationContext<?>), where a
runtime error is thrown somewhere in the iteration over getComposingValidations(), and then
gave up.

On removal of @ReportAsSingleViolation, the error disappeared.

  was:
Given a composing validation annotation


@Pattern(regexp = ".*\\$1.*")
@ReportAsSingleViolation
@Constraint(validatedBy = {})
@Documented
@Retention(RUNTIME)
@Target({ ANNOTATION_TYPE, CONSTRUCTOR, FIELD, METHOD, PARAMETER })
public @interface ValidURLPattern {

    String message() default "{path.to.ValidURLPattern.message}";

    Class < ? >[] groups() default {};

    Class < ? extends Payload >[] payload() default {};
}


attached to a bean several times 


@lombok.Data
public class Bean {

    @ValidURLPattern
    private String oneURL;

    @ValidURLPattern
    private String secondURL;

[...]
}


validating a bean containing null in both URLs yields a spurious validation error on one field,
by adding up to _n_ fields, _n - 1_ errors are displayed.

I tracked down to ConstraintValidation.validate(GroupValidationContext<?>), where a
runtime error is thrown somewhere in the iteration over getComposingValidations(), and then
gave up.

On removal of @ReportAsSingleViolation, the error disappeared.

    
> Multiple use of @ReportAsSingleViolation composing constraints on one bean leads to internal
RuntimeError
> ---------------------------------------------------------------------------------------------------------
>
>                 Key: BVAL-105
>                 URL: https://issues.apache.org/jira/browse/BVAL-105
>             Project: BVal
>          Issue Type: Bug
>          Components: jsr303
>    Affects Versions: 0.4
>         Environment: Win 7 64-Bit Java 1.6.0_30 
>            Reporter: Karsten Tinnefeld
>
> Given a composing validation annotation
> {quote}
> @Pattern(regexp = ".*\\$1.*")
> @ReportAsSingleViolation
> @Constraint(validatedBy = {})
> @Documented
> @Retention(RUNTIME)
> @Target({ ANNOTATION_TYPE, CONSTRUCTOR, FIELD, METHOD, PARAMETER })
> public @interface ValidURLPattern {
>     String message() default "{path.to.ValidURLPattern.message}";
>     Class < ? >[] groups() default {};
>     Class < ? extends Payload >[] payload() default {};
> }
> {quote}
> attached to a bean several times 
> {quote}
> @lombok.Data
> public class Bean {
>     @ValidURLPattern
>     private String oneURL;
>     @ValidURLPattern
>     private String secondURL;
> [...]
> }
> {quote}
> validating a bean containing null in both URLs yields a spurious validation error on
one field, by adding up to _n_ fields, _n - 1_ errors are displayed.
> I tracked down to ConstraintValidation.validate(GroupValidationContext<?>), where
a runtime error is thrown somewhere in the iteration over getComposingValidations(), and then
gave up.
> On removal of @ReportAsSingleViolation, the error disappeared.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Mime
View raw message