On 22/05/2020 16:45, Aleks Efimov wrote:
Hi,

The "java.net.preferIPv4Stack" and "java.net.preferIPv6Addresses" system properties do not affect the addresses and their order, returned by the HostsFileNameService provider that can be created by specifying "jdk.net.hosts.file" system property. The following fix analyses the system properties and re-orders/filters the returned IP addresses, if needed. Plus, small clean-up changes:
http://cr.openjdk.java.net/~aefimov/8244958/00
The approach looks okay but I agree with Daniel on consistent naming and cleanup.

Another one to look is arrangeAddresses/appendAddresses as it's surprising to mutate inet4Addresses or inet6Addresses with addresses of the other type. It would be much cleaner to return a List (inetAddress or a new List), then invoke toArray on the result and this will avoid calling toArray in 3 places. If you using List in the signatories then it will also be a lot cleaned as the caller should not need to provide a specific type of List.

Minor nit in the test but PREFER4_SP_VALUE and PREFER6_SP_VALUE can be renamed to make the usages in the test easier to read. Also good to add "_LIST" to IPV4_THEN_IPV6 to make it clearer at the use sites that they are dealing with Lists. I think getExpectedAddressesArray would be a bit clear if you assigned the result of the switch expression to a variable, then return list.toArray(String::new).

-Alan

Reply via email to