On Wed, 7 Sep 2022 01:49:25 GMT, Weijun Wang <wei...@openjdk.org> wrote:
>> Well, it depends on how you interpret an empty filter map. If an empty table >> is specified, I'd think it means no criteria is set and all providers can be >> returned as the comment above suggested. >> As this is a corner case, I am ok with reverting the isEmpty() check to keep >> the same behavior as before. However, I don't get which part of spec states >> about returning null for this case? > > The spec for this method: > > * @return all the installed providers that satisfy the selection > * criteria, or {@code null} if no such providers have been installed. > > My understanding is that you should not return an empty array. I see that null is returned instead of an empty Provider array. When an empty filter map is specified, I interpret it as no criteria is set and thus it should return all providers (which is often non-empty). The condition on line 599 is OR, but the line on 600 returns the "allProvider" value which may or may not be null. Anyway, I start to get the feeling that we may not be talking about the same stuff... ------------- PR: https://git.openjdk.org/jdk/pull/10008