Yes, I agree the test isn't correct and should be adjusted. I only can speculate why it is the way it is; perhaps we refined the semantics around NONE at some point during the 1.1 work and then didn't adjust that test. Working hours were a bit crazy back then ;)

I'm curious, though. Apache BVal is 1.1 certified, so you must have passed that one before. Are you re-writing parts of the code base in the course of implementing 2.0?

Could you also give us a heads-up of where you are in terms of passing the TCK? We'd like to release another TCK version with the changes you pointed out. But if there's the chance that more is coming, we'd wait a bit with that of course.



2018-03-22 10:17 GMT+01:00 Guillaume Smet <guillaume.smet@gmail.com>:
Hi Matt,

On Wed, Mar 21, 2018 at 9:55 PM, Matt Benson <mbenson@apache.org> wrote:
I would challenge
as defying the specification. The current version says at
http://beanvalidation.org/2.0/spec/#integration-general-executable and
in the code for ExecutableType that NONE is essentially ignored in the
presence of other types (and effectively, always). I see nothing to
dictate that NONE should be treated differently in the XML descriptor
than elsewhere.

Outch, this one is an old one :).

The spec is very clear about the behavior of @ValidateOnExecution:
"A list containing NONE and other types of executables is equivalent to a list containing the types of executables without NONE."

Same in the @ExecutableType javadoc:
     * None of the executables.
     * <p>
     * Note that this option is equivalent to an empty list of executable types
     * and is present to improve readability. If {@code NONE} and other types of executables
     * are present in a list, {@code NONE} is ignored.

I can't find anything specific to the XML configuration so I suppose we should follow the same rule.

@Gunnar does old Gunnar have any recollection of what young Gunnar did back at the time?


beanvalidation-dev mailing list