The GitHub Actions job "Groovy Snapshot Canary Build" on 
grails-core.git/fix/gorm-bean-validation-constraints has failed.
Run started by GitHub user jdaugherty (triggered by jdaugherty).

Head commit for run:
af5d40aa043582c5f5430370aaa8adc707ad10f0 / James Daugherty 
<[email protected]>
Validate an associated subclass instance with its own entity, follow the 
element of a set the provider cascaded to and validate a group of a sequence 
once

The cascade took the entity, the reflector and the validator from the declared 
type of an association,
so an instance of a subclass entity held by an association declared as the 
superclass was validated
with the rules of the superclass: its own constraints block, annotations and 
associations went
unchecked through the association, while validate() handed such an instance to 
the validator of its
own entity. cascadeValidationToOne now resolves the entity of the class of the 
instance, as validate()
does, and validates it with the constraints, the associations and the validator 
of that entity.

The adapter read the beans the provider cascaded to from the validated object, 
following the index or
key of the next node of the path, which an element of a set has none of, so the 
element was taken for
the declared type of the property and a @ConvertGroup of its class was dropped. 
It now reads the value
Hibernate Validator records on the node of a cascaded property, the bean it 
cascaded to, and walks from
the validated object only for a provider recording none.

Hints naming a group both on its own and in a group sequence validated the 
group twice, so one failing
annotation became two field errors where the provider reports it once, and the 
duplicate stopped the
sequence. A group of a sequence validated already in the same validation is 
skipped, and the groups a
group extends that were validated already are left out of its step through the 
excluded groups. The
violations of the constraints block, validated before the groups, were part of 
the baseline a sequence
stops against, so a failing block on the validated object let every group run: 
the hook receives the
error count before the block and counts its violations as violations of the 
first group the object is
validated in, as it does for an associated object reached in a group.

Report URL: https://github.com/apache/grails-core/actions/runs/41098559214

With regards,
GitHub Actions via GitBox

Reply via email to