[
http://opensource.atlassian.com/projects/hibernate/browse/BVAL-12?page=co...
]
Hardy Ferentschik commented on BVAL-12:
---------------------------------------
A context can be created in a validator (T are equal). but the same
context (a clone really) can be passed to a sub validator. Ts are then different. I
believe it's the same for InvalidConstraints. An IC created by a
subvalidator<U> will craete IC<U>, you will need to convert them in
IC<T> when coming to the root validator<T>.
First I thought you were right, but I am not so sure anymore. The type variable T in
ValidationContext and InvalidConstraint refer to the rootBean, meaning that original
instance object and type passed to validate. This rootBean stays the same even if I pass
the context to a subvalidator. At least if I remember right. On the other hand some parts
of the API have changed. For example, I am not sure anymore which Class getBeanClass()
should return? The root bean class or the class of the currently validated object.
<T> in ValidatorContext<T> Validator<T> and
InvalidConstraint<T> are inadequately considered unique
---------------------------------------------------------------------------------------------------
Key: BVAL-12
URL:
http://opensource.atlassian.com/projects/hibernate/browse/BVAL-12
Project: Bean Validation
Issue Type: Sub-task
Components: ri-general
Reporter: Emmanuel Bernard
Assignee: Hardy Ferentschik
In ValidatorImpl.validate()
T Generic of ValidatorContext<T> and InvalidConstraint<T> are likely to be
different than the Validator<T>
A context can be created in a validator (T are equal). but the same context (a clone
really) can be passed to a sub validator. Ts are then different. I believe it's the
same for InvalidConstraints. An IC created by a subvalidator<U> will craete
IC<U>, you will need to convert them in IC<T> when coming to the root
validator<T>.
So we need something like
private <U> List<InvalidConstraintImpl<T>>
validate(ValidationContext<U> context, List<String> groups) { }
same for similar methods.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://opensource.atlassian.com/projects/hibernate/secure/Administrators....
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira