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.

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

Commit messages:
 - Initial commit

Changes: https://git.openjdk.java.net/jfx/pull/393/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jfx&pr=393&range=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8260468
  Stats: 39 lines in 2 files changed: 13 ins; 22 del; 4 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

Reply via email to