From 707eb1f2c2d16bf8b39c147b8682b2c7add2af64 Mon Sep 17 00:00:00 2001
From: Leo Jiang <ljiang@openjdk.org>
Date: Sun, 14 Jan 2018 21:46:14 -0800
Subject: [PATCH] 8187946: Support ISO 4217 Amendments 163 and 164

Reviewed-by: naoto
---
 make/data/currency/CurrencyData.properties                | 8 ++++----
 .../classes/sun/util/resources/CurrencyNames.properties   | 8 +++++---
 test/jdk/java/util/Currency/ValidateISO4217.java          | 8 ++++++--
 test/jdk/java/util/Currency/tablea1.txt                   | 8 ++++----
 test/jdk/sun/text/resources/LocaleData                    | 6 ++++++
 test/jdk/sun/text/resources/LocaleDataTest.java           | 1 +
 6 files changed, 26 insertions(+), 13 deletions(-)

diff --git a/make/data/currency/CurrencyData.properties b/make/data/currency/CurrencyData.properties
index 2d25c95fee5..64b0bc3839d 100644
--- a/make/data/currency/CurrencyData.properties
+++ b/make/data/currency/CurrencyData.properties
@@ -32,7 +32,7 @@ formatVersion=3
 # Version of the currency code information in this class.
 # It is a serial number that accompanies with each amendment.
 
-dataVersion=162
+dataVersion=164
 
 # List of all valid ISO 4217 currency codes.
 # To ensure compatibility, do not remove codes.
@@ -52,7 +52,7 @@ all=ADP020-AED784-AFA004-AFN971-ALL008-AMD051-ANG532-AOA973-ARS032-ATS040-AUD036
     NIO558-NLG528-NOK578-NPR524-NZD554-OMR512-PAB590-PEN604-PGK598-PHP608-\
     PKR586-PLN985-PTE620-PYG600-QAR634-ROL946-RON946-RSD941-RUB643-RUR810-RWF646-SAR682-\
     SBD090-SCR690-SDD736-SDG938-SEK752-SGD702-SHP654-SIT705-SKK703-SLL694-SOS706-\
-    SRD968-SRG740-SSP728-STD678-SVC222-SYP760-SZL748-THB764-TJS972-TMM795-TMT934-TND788-TOP776-\
+    SRD968-SRG740-SSP728-STD678-STN930-SVC222-SYP760-SZL748-THB764-TJS972-TMM795-TMT934-TND788-TOP776-\
     TPE626-TRL792-TRY949-TTD780-TWD901-TZS834-UAH980-UGX800-USD840-USN997-USS998-UYI940-\
     UYU858-UZS860-VEB862-VEF937-VND704-VUV548-WST882-XAF950-XAG961-XAU959-XBA955-\
     XBB956-XBC957-XBD958-XCD951-XDR960-XFO000-XFU000-XOF952-XPD964-XPF953-\
@@ -196,7 +196,7 @@ CU=CUP
 CW=ANG
 # CYPRUS
 CY=EUR
-# CZECH REPUBLIC (THE)
+# CZECHIA
 CZ=CZK
 # DENMARK
 DK=DKK
@@ -470,7 +470,7 @@ SM=EUR
 # SOUTH SUDAN
 SS=SSP
 # SAO TOME AND PRINCIPE
-ST=STD
+ST=STN
 # SAUDI ARABIA
 SA=SAR
 # SENEGAL
diff --git a/src/java.base/share/classes/sun/util/resources/CurrencyNames.properties b/src/java.base/share/classes/sun/util/resources/CurrencyNames.properties
index c62d518e4b5..6f7202d6db3 100644
--- a/src/java.base/share/classes/sun/util/resources/CurrencyNames.properties
+++ b/src/java.base/share/classes/sun/util/resources/CurrencyNames.properties
@@ -226,6 +226,7 @@ SRD=SRD
 SRG=SRG
 SSP=SSP
 STD=STD
+STN=STN
 SVC=SVC
 SYP=SYP
 SZL=SZL
@@ -294,7 +295,7 @@ ats=Austrian Schilling
 aud=Australian Dollar
 awg=Aruban Florin
 azm=Azerbaijani Manat (1993-2006)
-azn=Azerbaijani Manat
+azn=Azerbaijan Manat
 bam=Bosnia-Herzegovina Convertible Mark
 bbd=Barbadian Dollar
 bdt=Bangladeshi Taka
@@ -380,7 +381,7 @@ krw=South Korean Won
 kwd=Kuwaiti Dinar
 kyd=Cayman Islands Dollar
 kzt=Kazakhstani Tenge
-lak=Laotian Kip
+lak=Lao Kip
 lbp=Lebanese Pound
 lkr=Sri Lankan Rupee
 lrd=Liberian Dollar
@@ -418,7 +419,7 @@ omr=Omani Rial
 pab=Panamanian Balboa
 pen=Peruvian Sol
 pgk=Papua New Guinean Kina
-php=Philippine Peso
+php=Philippine Piso
 pkr=Pakistani Rupee
 pln=Polish Zloty
 pte=Portuguese Escudo
@@ -446,6 +447,7 @@ srd=Surinamese Dollar
 srg=Surinamese Guilder
 ssp=South Sudanese Pound
 std=S\u00e3o Tom\u00e9 and Pr\u00edncipe Dobra
+stn=S\u00e3o Tom\u00e9 and Pr\u00edncipe Dobra
 svc=Salvadoran Col\u00f3n
 syp=Syrian Pound
 szl=Swazi Lilangeni
diff --git a/test/jdk/java/util/Currency/ValidateISO4217.java b/test/jdk/java/util/Currency/ValidateISO4217.java
index 33cca06219c..bc929fc39ef 100644
--- a/test/jdk/java/util/Currency/ValidateISO4217.java
+++ b/test/jdk/java/util/Currency/ValidateISO4217.java
@@ -23,7 +23,7 @@
 /*
  * @test
  * @bug 4691089 4819436 4942982 5104960 6544471 6627549 7066203 7195759
- *      8039317 8074350 8074351 8145952
+ *      8039317 8074350 8074351 8145952 8187946
  * @summary Validate ISO 4217 data for Currency class.
  * @modules java.base/java.util:open
  *          jdk.localedata
@@ -95,7 +95,11 @@ public class ValidateISO4217 {
 
     /* Codes that are obsolete, do not have related country */
     static final String otherCodes =
-        "ADP-AFA-ATS-AYM-AZM-BEF-BGL-BOV-BYB-BYR-CHE-CHW-CLF-COU-CUC-CYP-DEM-EEK-ESP-FIM-FRF-GHC-GRD-GWP-IEP-ITL-LUF-MGF-MTL-MXV-MZM-NLG-PTE-ROL-RUR-SDD-SIT-SKK-SRG-TMM-TPE-TRL-VEF-UYI-USN-USS-VEB-XAG-XAU-XBA-XBB-XBC-XBD-XDR-XFO-XFU-XPD-XPT-XSU-XTS-XUA-XXX-YUM-ZMK-ZWD-ZWN-ZWR";
+        "ADP-AFA-ATS-AYM-AZM-BEF-BGL-BOV-BYB-BYR-CHE-CHW-CLF-COU-CUC-CYP-"
+        + "DEM-EEK-ESP-FIM-FRF-GHC-GRD-GWP-IEP-ITL-LUF-MGF-MTL-MXV-MZM-NLG-"
+        + "PTE-ROL-RUR-SDD-SIT-SKK-SRG-STD-TMM-TPE-TRL-VEF-UYI-USN-USS-VEB-"
+        + "XAG-XAU-XBA-XBB-XBC-XBD-XDR-XFO-XFU-XPD-XPT-XSU-XTS-XUA-XXX-"
+        + "YUM-ZMK-ZWD-ZWN-ZWR";
 
     static boolean err = false;
 
diff --git a/test/jdk/java/util/Currency/tablea1.txt b/test/jdk/java/util/Currency/tablea1.txt
index 0ef755a7a87..491e15dcb96 100644
--- a/test/jdk/java/util/Currency/tablea1.txt
+++ b/test/jdk/java/util/Currency/tablea1.txt
@@ -1,12 +1,12 @@
 #
 #
-# Amendments up until ISO 4217 AMENDMENT NUMBER 162
-#   (As of 30 Auguest 2016)
+# Amendments up until ISO 4217 AMENDMENT NUMBER 164
+#   (As of 22 September 2017)
 #
 
 # Version
 FILEVERSION=3
-DATAVERSION=162
+DATAVERSION=164
 
 # ISO 4217 currency data
 AF	AFN	971	2
@@ -210,7 +210,7 @@ PM	EUR	978	2
 VC	XCD	951	2
 WS	WST	882	2
 SM	EUR	978	2
-ST	STD	678	2
+ST	STN	930	2
 SA	SAR	682	2
 SN	XOF	952	0
 # MA 134
diff --git a/test/jdk/sun/text/resources/LocaleData b/test/jdk/sun/text/resources/LocaleData
index 0b1532dc0be..4cc7238f7eb 100644
--- a/test/jdk/sun/text/resources/LocaleData
+++ b/test/jdk/sun/text/resources/LocaleData
@@ -8312,3 +8312,9 @@ FormatData/sv/NumberPatterns/2=#,##0 %
 # bug #8081643
 FormatData/sr-Latin/NumberElements/0=,
 FormatData/sr-Latin/NumberElements/1=.
+
+# bug #8187946
+CurrencyNames//stn=S\u00e3o Tom\u00e9 and Pr\u00edncipe Dobra
+CurrencyNames//lak=Lao Kip
+CurrencyNames//php=Philippine Piso
+CurrencyNames//azn=Azerbaijan Manat
diff --git a/test/jdk/sun/text/resources/LocaleDataTest.java b/test/jdk/sun/text/resources/LocaleDataTest.java
index 3a0f969875f..456f50990b7 100644
--- a/test/jdk/sun/text/resources/LocaleDataTest.java
+++ b/test/jdk/sun/text/resources/LocaleDataTest.java
@@ -38,6 +38,7 @@
  *      7114053 7074882 7040556 8008577 8013836 8021121 6192407 6931564 8027695
  *      8017142 8037343 8055222 8042126 8074791 8075173 8080774 8129361 8134916
  *      8145136 8145952 8164784 8037111 8081643 7037368 8178872 8185841 8190918
+ *      8187946
  * @summary Verify locale data
  * @modules java.base/sun.util.resources
  * @modules jdk.localedata