Eric Norman created SLING-9774: ---------------------------------- Summary: The ValueMapUtil#merge behavior is different from the deprecated CompositeValueMap Key: SLING-9774 URL: https://issues.apache.org/jira/browse/SLING-9774 Project: Sling Issue Type: Bug Affects Versions: API 2.23.0 Reporter: Eric Norman Assignee: Eric Norman Fix For: API 2.23.2
CompositeValueMap has been marked as deprecated and the recommendation was to replace those usages with ValueMapUtil#merge(ValueMap...)} Unfortunately it looks like implementation from ValueMapUtil#merge has different behavior when it comes to handling of entries in the map where the key is supplied but the value is null. My use case is that in a few places I have used the key=null behavior of CompositeValueMap to hide entries in a wrapped ValueMap and those uses cases don't work the same after switching to ValueMapUtil#merge(ValueMap...)}. To be compatible with the deprecated CompositeValueMap, the MergingValueMap#get impl should not automatically filter entries whose value is null. Instead it should only filter when the value is null and the map does not contain the key. A null value doesn't always mean that the map didn't have an entry for the key. -- This message was sent by Atlassian Jira (v8.3.4#803005)