From bac694742e435ee8137bbb04266b58d6d0010cee Mon Sep 17 00:00:00 2001 From: Yoshito Umaoka Date: Fri, 13 Sep 2013 18:45:24 +0000 Subject: [PATCH] ICU-10400 Updated the tool used for updating ICU's ISO 4217 currency numeric code map to support the new ISO 4217 file locations and format. X-SVN-Rev: 34313 --- tools/currency/build.xml | 6 +-- .../dev/tool/currency/CurrencyDataParser.java | 37 +++++++++++++------ 2 files changed, 29 insertions(+), 14 deletions(-) diff --git a/tools/currency/build.xml b/tools/currency/build.xml index c3124ebf8c7..a7618f71cda 100644 --- a/tools/currency/build.xml +++ b/tools/currency/build.xml @@ -11,9 +11,9 @@ - - - + + + diff --git a/tools/currency/src/com/ibm/icu/dev/tool/currency/CurrencyDataParser.java b/tools/currency/src/com/ibm/icu/dev/tool/currency/CurrencyDataParser.java index ad73d001a73..332824ff5b0 100644 --- a/tools/currency/src/com/ibm/icu/dev/tool/currency/CurrencyDataParser.java +++ b/tools/currency/src/com/ibm/icu/dev/tool/currency/CurrencyDataParser.java @@ -1,6 +1,6 @@ /* ******************************************************************************* - * Copyright (C) 2012, International Business Machines Corporation and * + * Copyright (C) 2012-2013, International Business Machines Corporation and * * others. All Rights Reserved. * ******************************************************************************* */ @@ -47,14 +47,29 @@ public class CurrencyDataParser { private static class Handler extends DefaultHandler { private enum ElementType { - ENTITY, - CURRENCY, - ALPHABETIC_CODE, - NUMERIC_CODE, - MINOR_UNIT, - WITHDRAWAL_DATE, - REMARK, - OTHER + ENTITY("CtryNm"), + CURRENCY("CcyNm"), + ALPHABETIC_CODE("Ccy"), + NUMERIC_CODE("CcyNbr"), + MINOR_UNIT("CcyMnrUnts"), + WITHDRAWAL_DATE("WthdrwlDt"), + REMARK("Remark"), // obsolete + OTHER("Other"); // place holder + + private String elemName; + + ElementType(String elemName) { + this.elemName = elemName; + } + + public static ElementType forName(String name) { + for (ElementType type : values()) { + if (type.elemName.equals(name)) { + return type; + } + } + return OTHER; + } }; Collection isoCurrencies = new LinkedList(); @@ -66,7 +81,7 @@ public class CurrencyDataParser { public Handler(boolean historic) { this.historic = historic; - currElemName = historic ? "ISO_CURRENCY_HISTORIC" : "ISO_CURRENCY"; + currElemName = historic ? "HstrcCcyNtry" : "CcyNtry"; } public Collection getParsedISOCurrencies() { @@ -79,7 +94,7 @@ public class CurrencyDataParser { elem = ElementType.OTHER; } else { try { - elem = ElementType.valueOf(qName); + elem = ElementType.forName(qName); } catch (IllegalArgumentException e) { elem = ElementType.OTHER; }