On Thu, 4 Feb 2021 20:01:10 GMT, Nir Lisker <nlis...@openjdk.org> wrote:

> Fixes a mutability issue for `LocalDateTimeStringConverter` (and 
> `LocalDateStringConverter`) where the chronology can change during the 
> lifetime of the instance and cause an inconsistent state. The following 
> changes were made:
> 
> * The input is now formatted and parsed directly with the formatter and 
> parser (which are configured with a chronology) without the chronology field 
> value of the class.
> * The chronology field value does not change anymore when there is an 
> exception due to inability to format the date.
> * Logging on failed formatting was removed as it did not seem useful. The 
> formatter will throw the same exception that the chronology field does 
> anyway, so there is not much use to catching the exception before hand.
> 
> Added a test that fails without this patch. The test creates a converter with 
> an explicit `Chronology` and `null` parser and formatter. The default 
> formatter that is created with the given chronology formats a legal date 
> (with respect to the chronology) to a string, which the parser should be able 
> to convert back to a date. However, by forcing an exception in the formatting 
> process using an illegal date, the chronology changes, and now when the 
> parser is used it is configured with the new chronology and it can't parse 
> the string correctly.

This pull request has now been integrated.

Changeset: e25d39b0
Author:    Nir Lisker <nlis...@openjdk.org>
URL:       https://git.openjdk.java.net/jfx/commit/e25d39b0
Stats:     44 lines in 2 files changed: 15 ins; 25 del; 4 mod

8260468: Wrong behavior of LocalDateTimeStringConverter

Reviewed-by: kcr, pbansal

-------------

PR: https://git.openjdk.java.net/jfx/pull/393

Reply via email to