2013/11/18 Hardy Ferentschik <hardy(a)hibernate.org>
hi,
not the sure whether this is so easy. I think the case of nested
parameters is not properly covered in the spec atm.
A few comments inline
On 18 Jan 2013, at 16:31, Gunnar Morling <gunnar(a)hibernate.org> wrote:
> I think the algorithm should cover for that case, even if we didn't plan
for it.
>
> In steps 1 - 4 only message parameters are resolved (against the
resource bundles and then in step 4 against constraint attributes). Only in
step 5 the EL evaluation is performed. There is no loop back to parameter
resolution after EL interpolation.
I think that is basically missing. I am not sure whether it is a good idea
to perform message parameter resolution within an EL expression.
I’d rather loop back after EL evaluation and perform another message
parameter resolution.
Why would you do that though? Seems like the current algorithm covers that
case already? Wouldn't it get more complicated by doing another loop?
> So considering the following example:
>
> @ThresholdMax(value=10, messageThreshold=50,
message="${validatedValue > {messageThreshold} ? '{muchTooLarge.message}'
:
'{aBitTooLarge.message}'}")
> int myInt = ...;
>
> Then I'd say algorithm should transform the message like this:
>
> After step 3 (resource bundle replacements): "${validatedValue >
{messageThreshold} ? 'Viel zu groß' : 'Zu groß’}"
there is no need for {messageThreshold} in the comparison. The value for
messageTreshold is already bound to the EL context. '${validatedValue >
messageThreshold’
is already sufficient.
Yes, that's right indeed. I was under the assumption that constraint
parameters are not available for EL interpolation but as you say they are.
So the scenario really is using messages from the resource bundle.
Also I rather just let the EL return {muchTooLarge.message} resp
{aBitTooLarge.message} and then loop back, instead to do replacement with
the expression first.
What is the advantage of that? I fear changes to the algorithm might cause
compatibility issues and it seems to work also without any changes.
—Hardy
_______________________________________________
beanvalidation-dev mailing list
beanvalidation-dev(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/beanvalidation-dev