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