[13] RFR: 8220037: Inconsistencies of generated timezone files between Windows and Linux

Roger Riggs Roger.Riggs at oracle.com
Mon May 6 18:59:12 UTC 2019


Hi Naoto,

CLDRConverter:
  358-271: Is a lambda viable here?  Not significantly different, just a 
more contemporary style.
     (o1, o2) -> {...}.

CLDRDisplayNamesTest.java:
  136-137, 155, 158:  Another option is to have the stream return the count
of the number of errors and use peek to print the markers.

errors += List.of(Locale.ROOT,
         Locale.CHINA,
         Locale.GERMANY,
         Locale.JAPAN,
         Locale.UK,
         Locale.US,
         Locale.forLanguageTag("hi-IN"),
         Locale.forLanguageTag("es-419")).stream()
         .peek(System.out::println)
         .map(l -> DateFormatSymbols.getInstance(l).getZoneStrings())
         .flatMap(zoneStrings -> Arrays.stream(zoneStrings))
         .filter(namesArray -> Arrays.stream(namesArray)
                 .anyMatch(aName -> aName.equals(NO_INHERITANCE_MARKER)))
         .peek(marker -> {
             System.err.println("No inheritance marker detected with tzid: " + marker[0]);
         })
         .count();


151:  findAny() short circuits the count and stream so no more than 1 
error would be counted.

$.02, Roger



On 05/06/2019 01:24 PM, naoto.sato at oracle.com wrote:
> Hello,
>
> Please review the fix to the following issue:
>
> https://bugs.openjdk.java.net/browse/JDK-8220037
>
> The proposed fix is located at:
>
> http://cr.openjdk.java.net/~naoto/8220037/webrev.00/
>
> The inconsistency comes from the different enumeration order of CLDR 
> source files on each platform. Fix is to sort its order uniquely.
>
> Naoto



More information about the core-libs-dev mailing list