RFR: 8260468: Wrong behavior of LocalDateTimeStringConverter [v2]
Nir Lisker
nlisker at openjdk.java.net
Wed Feb 10 02:24:57 UTC 2021
> 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.
Nir Lisker has updated the pull request incrementally with one additional commit since the last revision:
Removed printing and narrowed the exception
-------------
Changes:
- all: https://git.openjdk.java.net/jfx/pull/393/files
- new: https://git.openjdk.java.net/jfx/pull/393/files/854c98bc..14475167
Webrevs:
- full: https://webrevs.openjdk.java.net/?repo=jfx&pr=393&range=01
- incr: https://webrevs.openjdk.java.net/?repo=jfx&pr=393&range=00-01
Stats: 7 lines in 1 file changed: 2 ins; 3 del; 2 mod
Patch: https://git.openjdk.java.net/jfx/pull/393.diff
Fetch: git fetch https://git.openjdk.java.net/jfx pull/393/head:pull/393
PR: https://git.openjdk.java.net/jfx/pull/393
More information about the openjfx-dev
mailing list