The GitHub Actions job "CI" on 
grails-core.git/fix/config-indexed-key-list-7.0.x has succeeded.
Run started by GitHub user jdaugherty (triggered by jdaugherty).

Head commit for run:
7ba356ac18208ea6d66220f3385b966be80d5783 / James Daugherty 
<[email protected]>
Hold a null written over a field of a bracketed key with a dot

A field of a key in brackets with a dot in it, such as 
grails.cors.mappings[/api/v1.0/**].maxAge, is
written by the merge at another path, so heldElement merges the value the merge 
stored into the held map.
It did so only when that value was not null, so a null written over the field, 
from a later merge or a
source of higher precedence, left the held map on the value before it: 
navigate, dot notation and
getProperty(key, Map) gave 10 where the flat key gave null, and toProperties() 
still exported the 10. The
same guard kept the value an element was rebuilt with after its map was 
replaced or cleared.

heldElement now writes the value the merge stored, null included, wherever a 
field was written.
NavigableMapSpec writes the field as null after a value, and after the map was 
replaced with a value or
cleared, for a key with and without a dot; PropertySourcesConfigSpec writes it 
as null from a second
Boot-style source and reads it every way, before and after refresh(). The rows 
for /api/v1.0/** fail at
3d3339b73a, but for the map replaced with a value, whose element the held map 
takes whole.

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

With regards,
GitHub Actions via GitBox

Reply via email to