<i18n dev> RFR: 8321480: ISO 4217 Amendment 176 Update [v3]

Justin Lu jlu at openjdk.org
Mon Dec 11 22:15:47 UTC 2023


On Mon, 11 Dec 2023 19:42:30 GMT, Naoto Sato <naoto at openjdk.org> wrote:

>> Updated the Currency build process to disallow any Currencies that are future Currencies. This prevents the future currency, "XCG" from leaking out into `Currency.getAvailableCurrencies()`. (This was only exposed now, since the previous future Currencies were already ones expected to be found in `Currency.getAvailableCurrencies()`. For example, Amendment 174 where HRK was replaced by EUR.
>> 
>> (Tiers 1-5 clean with this change)
>
> IIUC, this should have happened before, as a currency update like "XXA" -> "XXB" on a future date is pretty usual. I think this issue was simply not discovered by any users till now.

I think this wasn't discovered/hasn't failed the test before because the amendments with future date changes most of the time were implemented after the date already occurred, so there was no cut-over, simply a new currency directly replacing the old (For example, ISO 171 SLE replacing SLL was direct). In the case where the cut-over hadn't happened, like 174 where EUR replaced HRK, EUR is already expected to be returned by `Currency.getAvailableCurrencies()` so there was no issue.

I claimed that this particular amendment exposed it, because if this case had happened before with an amendment update, it would have caused validateISO4217.java to fail (as it does with this case). Since that test checks if the set returned by the method does not contain any future currencies.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/17023#discussion_r1423178773


More information about the i18n-dev mailing list