On Tue, 14 Sep 2021 18:53:27 GMT, Roger Riggs <[email protected]> wrote:
>> Jaikiran Pai has updated the pull request incrementally with one additional
>> commit since the last revision:
>>
>> Introduce a test to make sure backslash character in the system property
>> value doesn't cause unexpected output.
>> Plus minor updates to tests to add additional checks.
>
> src/java.base/share/classes/java/util/Properties.java line 929:
>
>> 927: @SuppressWarnings("unchecked")
>> 928: var entries = new ArrayList<>(((Map<String, String>) (Map)
>> map).entrySet());
>> 929: entries.sort(Map.Entry.comparingByKey());
>
> Since Properties can be subclassed and the `entrySet()` method overridden,
> should the set of entries to be sorted be taken from this.entrySet() instead
> of bypassing the public API?
Hmm, so if someone has subclassed `Properties` and overridden `entrySet` for
the purpose of ordering entries, that trick will no longer work with the new
code. I wonder - should we sort entries only when the
`java.util.Properties.storeDate` is also defined and not empty? Or should we
simply state in the release notes that such tricks will no longer work?
-------------
PR: https://git.openjdk.java.net/jdk/pull/5372