[15] RFR: 8246662: Test java/time/test/java/time/format/TestUnicodeExtension.java failed on japanese locale.
naoto.sato at oracle.com
naoto.sato at oracle.com
Tue Jun 9 19:10:18 UTC 2020
Hi Joe,
On 6/9/20 11:54 AM, Joe Wang wrote:
> Looks fine to me for the implementation of the method.
Thank you for the review!
>
> It's interesting to observe that the withXXXX methods, as demonstrated
> in the test, always create a new DateTimeFormatter instance. The Javadoc
> also said so, e.g. "Returns a copy of this formatter with a new XXXX",
> and by "a copy" it meant a new instance. Now the localizedBy method also
> "Returns a copy of this formatter", but it may actually returns this
> formatter. Would it confuse users (into thinking they always get a new
> instance)? Would we need to amend the javadoc a bit, e.g. indicating it
> returns this formatter if all of the above aspects are the same? (or
> otherwise a new instance is returned?)
Yes we would, but it's not specific to localizedBy() method but common
to all methods. So I would rather follow the same pattern with other
methods for this changeset.
>
> The localizedBy method seems to me it's not "Unlike the withLocale
> method" in terms of "producing a different formatter". The difference
> lies in the attributes demonstrated in this changeset, e.g. zone, chrono
> and decimalStyle will be from the specified locale in localizedBy, while
> with the withLocale method, they are inherited. In other words, the
> withXXXX methods only changes the specified field.
That's exactly why this localzedBy() was introduced. withLocale() only
replaces the 'locale' field in the formatter, and no other fields/format
patterns, even though they are locale related, are modified. "Unlike
..." means to describe it.
Naoto
>
> -Joe
>
>>
>> Naoto
>>
>>>
>>> Thanks, Roger
>>>
>>>
>>>
>>> On 6/8/20 5:06 PM, naoto.sato at oracle.com wrote:
>>>> Hello,
>>>>
>>>> Please review the fix to the following issue:
>>>>
>>>> https://bugs.openjdk.java.net/browse/JDK-8246662
>>>>
>>>> The proposed changeset is located at:
>>>>
>>>> https://cr.openjdk.java.net/~naoto/8246662/webrev.00/
>>>>
>>>> This is a regression caused by the fix to JDK-8244245, where the
>>>> locale related fields in the formatter are now overridden by
>>>> localizedBy() method. It was only comparing the locale object for
>>>> the fast path, but it was not sufficient.
>>>>
>>>> Naoto
>>>
>
More information about the core-libs-dev
mailing list