Skip to content

Conversation

@btangmu
Copy link
Member

@btangmu btangmu commented Dec 5, 2025

-New PathHeader.PageId.fromStringCompatible maps old names to new, only used for http requests

-New TestPathHeaderCompat.java confirms old names still work

CLDR-19034

  • This PR completes the ticket.

ALLOW_MANY_COMMITS=true

-New PathHeader.PageId.fromStringCompatible maps old names to new, only used for http requests

-New TestPathHeaderCompat.java confirms old names still work
@btangmu
Copy link
Member Author

btangmu commented Dec 5, 2025

This maybe completes the ticket. There is a preexisting problem, maybe outside the scope of this ticket: if you go to

https://cldr-smoke.unicode.org/cldr-apps/v#/ab/AAA

then instead of a friendly warning message like "No page named AAA was found" and a redirection to the default page for the locale, you get this:

image

Even worse, if you click the Reload button, the same thing happens again and again! The Reload button should not cause the same bad URL to be fetched repeatedly. Also, the log shows a long message each time, see below. Shall I make a more friendly response as part of this ticket?

[INFO] [err] com.ibm.icu.util.ICUException: No PageId for AAA
[INFO] [err] at org.unicode.cldr.util.PathHeader$PageId.fromStringCompatible(PathHeader.java:407)
[INFO] [err] at org.unicode.cldr.web.api.VoteAPIHelper.getRowsResponse(VoteAPIHelper.java:223)
[INFO] [err] at org.unicode.cldr.web.api.VoteAPIHelper.handleGetRows(VoteAPIHelper.java:189)
[INFO] [err] at org.unicode.cldr.web.api.VoteAPIHelper.handleGetOnePage(VoteAPIHelper.java:160)
[INFO] [err] at org.unicode.cldr.web.api.VoteAPI.getPage(VoteAPI.java:144)
[INFO] [err] at jdk.internal.reflect.GeneratedMethodAccessor1337.invoke(Unknown Source)
[INFO] [err] at java.base/java.lang.reflect.Method.invoke(Method.java:566)
[INFO] [err] at com.ibm.ws.jaxrs20.server.LibertyJaxRsServerFactoryBean.performInvocation(LibertyJaxRsServerFactoryBean.java:649)
[INFO] [err] at [internal classes]
[INFO] [err] at javax.servlet.http.HttpServlet.service(HttpServlet.java:686)
[INFO] [err] at com.ibm.websphere.jaxrs.server.IBMRestServlet.service(IBMRestServlet.java:98)
[INFO] [err] at [internal classes]
[INFO] [err] at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
[INFO] [err] at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
[INFO] [err] at java.base/java.lang.Thread.run(Thread.java:829)
[INFO] [err] Caused by: java.lang.IllegalArgumentException: No enum value for AAA, should be one of [South America, measurement systems, locale_name_patterns, Number Formatting Patterns, objects, Oceania (C), Ethiopic-Amete-Alem, otherunits, Gender, minimal pairs, Coptic, othersymbols, LinguisticElements, oceania, Length Metric, c_casia, australasia, compact_decimal_formatting_other, people & body 2, Relative, namerica, unknown region, version, Likely, persian, OtherUnitsMetricPer, linguistic elements, Territories (Europe), length_other, Territories (South America), Length_Other, Western Asia (C), relative, timezone display patterns, volume us, languages (t-z), Central Asia (C), Buddhist, hebrew, measurement, Typography, containment, Deprecated, segmentation, Territories (North America), gregorian, LanguageGroup, CAsia, c_samerica, t_extension, Grammar, Languages (E-J), component, Measurement_Systems, north america (c), buddhist, Locale Name Patterns, T_SAmerica, Objects2, Territories (Asia), territories (asia), languages (k-n), southern asia, volume metric, language, graphics, Southeast Asia (C), languages_e_j, chinese, japanese, Version, geographic regions, Western Asia, Languages_E_J, C_Unknown, C_NWEurope, dayperiod, area, Duration, Minguo, c_wafrica, regionmapping, Area, travel_places, Objects, numbering systems, Overrides, number_formatting_patterns, Measurement, emojisymbols, C_WAfrica, unknownt, volume_us, locale, southern asia (c), duration, volume_metric, Other Units US, south america (c), Language, Component, UnknownT, digital, Activities, Southern Asia, eastern asia, people2, People, Gregorian, other units metric, Languages_T_Z, T_Africa, Timezone Display Patterns, personnameformats, Indian, objects2, islamic, Plural, EnergyPower, russia, Food_Drink, OtherSymbols, south america, c_safrica, Compact Decimal Formatting (Other Numbering Systems), likely, africa, travel & places, t_namerica, Locale_Name_Patterns, WAsia, Languages (K-N), Japanese, c_mafrica, script, C_NAfrica, Punctuation, territories (europe), Numbering_Systems, NAmerica, languages_t_z, T_Oceania, speedacceleration, OtherUnits, Locale Variants, sasia, T_Asia, EAsia, languagematch, c_sasia, Transforms, Persian, LanguageInfo, Volume_US, wzonemapping, northern africa, C_MAfrica, Compound Units, MassWeight, C_SAfrica, timezone_display_patterns, overrides, Territories, idvalidity, Animals & Nature, Western Africa, Volume Other, ElectricalFrequency, volume other, Transform, Locale, Other Units Metric, C_WAsia, displaying_lists, other units, Displaying_Lists, Australasia, People & Body, OtherUnitsUS, north america, length other, Languages_A_D, territoryinfo, dangi, languages_a_d, Length Other, Europe, locale variants, Islamic, antarctica, Alphabetic_Information, c_namerica, t_europe, CompoundUnits, c_nafrica, DayPeriod, keys, languages (e-j), units, compact_decimal_formatting, Length_Metric, EmojiSymbols, symbols, Territories (Africa), Southeast Asia, Volume US, transform, RegionMapping, Speed and Acceleration, Volume_Metric, smileys & emotion, Animals_Nature, Languages (T-Z), animals & nature, mass and weight, massweight, Alias, activities, people & body, punctuation, C_EAsia, languagegroup, southern africa, People2, SAmerica, C_SEEurope, languages_o_s, Languages_O_S, NumberSystem, Segmentation, Alphabetic Information, c_seasia, metazone, gregorian ymd, casia, Unknown, mathsymbols, Currency, territories (south america), Eastern Asia, food_drink, Africa, Minimal Pairs, TerritoryInfo, Measurement Systems, territories (africa), Languages (A-D), emoji symbols, territories, Other Symbols, Keys, Fallback, territories (oceania), Metazone, Travel_Places2, SpeedAcceleration, Northern/Western Europe, C_Oceania, minguo, eastern asia (c), math symbols, southeast asia, currency, u_Extension, calendar, c_unknown, People & Body 2, C_EAfrica, Calendar, coordinates, OtherUnitsMetric, Gregorian YMD, Electrical and Frequency, suppress, Flags, Suppress, people, C_SAmerica, t_samerica, t_africa, Volume Metric, c_eafrica, territories (north america), Ethiopic_Amete_Alem, Eastern Africa, Compact Decimal Formatting, measurement_systems, North America, unknown region (c), otherunitsus, Unknown Region, compact decimal formatting, C_CAsia, Smileys, languages (o-s), South America (C), Compact_Decimal_Formatting_Other, Timezone_Display_Patterns, central asia, person name formats, WZoneMapping, other units metric per, pluralrange, Antarctica, Travel & Places 2, fields, Linguistic Elements, western asia (c), plural, travel_places2, length_metric, Emoji Symbols, Other Units Metric Per, Russia, Volume_Other, volume_other, otherunitsmetricper, alphabetic_information, energy and power, Energy and Power, Middle Africa, Scripts, generic, t_asia, linguisticelements, Symbols, Numbering Systems, central asia (c), MinimalPairs, typography, Hebrew, c_wasia, deprecated, speed and acceleration, minimalpairs, western asia, languages_k_n, Number_Formatting_Patterns, Languages_K_N, SAsia, easia, length metric, samerica, grammar, locale name patterns, weather, c_seeurope, travel & places 2, compact decimal formatting (other numbering systems), electricalfrequency, Identity, Eastern Asia (C), displaying lists, Coordinates, Displaying Lists, LanguageMatch, Travel & Places, Central Asia, other symbols, C_NAmerica, northern/western europe, c_easia, other units us, electrical and frequency, ethiopic, T_NAmerica, Languages (O-S), otherunitsmetric, c_oceania, eastern africa, Person Name Formats, gender, smileys, flags, southeast asia (c), gregorian_ymd, unknown, Locale_Variants, C_SEAsia, identity, compoundunits, languageinfo, europe, IdValidity, Math Symbols, ethiopic-amete-alem, WeekData, Food & Drink, numbering_systems, Graphics, numbersystem, weekdata, food & drink, Chinese, wasia, number formatting patterns, indian, North America (C), western africa, transforms, southern/eastern europe, languages (a-d), c_nweurope, Other Units, Northern Africa, Script, Smileys & Emotion, oceania (c), Unknown Region (C), Units, SEAsia, Fields, u_extension, T_Europe, Ethiopic, Travel_Places, fallback, PluralRange, Compact_Decimal_Formatting, Category, t_Extension, locale_variants, Generic, Digital, coptic, Southern Asia (C), RBNF, Oceania, C_SAsia, t_oceania, alias, ethiopic_amete_alem, scripts, rbnf, Containment, seasia, middle africa, Geographic Regions, Gregorian_YMD, PersonNameFormats, compound units, Weather, animals_nature, Southern/Eastern Europe, alphabetic information, energypower, MathSymbols, Territories (Oceania), Southern Africa, Mass and Weight, category, Dangi]
[INFO] [err] at org.unicode.cldr.util.EnumNames.forString(EnumNames.java:38)
[INFO] [err] at org.unicode.cldr.util.PathHeader$PageId.fromStringCompatible(PathHeader.java:401)
[INFO] [err] ... 52 more
[INFO] [ERROR ] Trying to load ab / null
[INFO] No PageId for AAA

@btangmu btangmu merged commit 6e617a2 into unicode-org:main Dec 8, 2025
15 checks passed
@btangmu btangmu deleted the t19034_b branch December 8, 2025 18:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants