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

Matt Benson updated BVAL-78:
----------------------------

    Attachment: BVAL-78.patch.txt

> Avoid unsafe casting and object swapping when processing 
> @ReportAsSingleViolation composed constraints
> ------------------------------------------------------------------------------------------------------
>
>                 Key: BVAL-78
>                 URL: https://issues.apache.org/jira/browse/BVAL-78
>             Project: BeanValidation
>          Issue Type: Improvement
>          Components: jsr303
>    Affects Versions: 0.2-incubating
>            Reporter: Matt Benson
>         Attachments: BVAL-78.patch.txt
>
>
> Numerous warnings abound in ConstraintViolation due to the fact that 
> ConstraintValidationListener must be used as a raw type.  Further the 
> GroupValidationContext must be cast to a BeanValidationContext so that the 
> listener reference can be reset, which doesn't feel optimal either.  The 
> attached patch:
> * Modifies GroupValidationContext<T> such that, rather than extending 
> ValidationContext<T> where T extends ValidationListener, it instead expressly 
> implements ValidationContext<ConstraintValidationListener<T>> (T is now 
> effectively the same type variable as ConstraintValidationListener<T>).  Now 
> GroupValidationContext.getListener() expressly returns a 
> ConstraintValidationListener.
> * Adds state management for @ReportAsSingleViolation composed constraints to 
> ConstraintValidationListener so that the original listener instance can be 
> used throughout.
> * The reportAsSingle execution path bails as soon as it is known that a 
> composing constraint has failed.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to