online-auction-java icon indicating copy to clipboard operation
online-auction-java copied to clipboard

Nav controller initialization failure in Japan locale

Open chang-chao opened this issue 7 years ago • 1 comments

The initialization code below in webGateway/controllers/Nav.java fails in Japan locale.

    private static final PrettyTime prettyTime = new PrettyTime();
    static {
        prettyTime.removeUnit(JustNow.class);
        ResourcesTimeUnit justNow = new ResourcesTimeUnit() {
            {
                setMaxQuantity(10000);
            }
            @Override
            protected String getResourceKeyPrefix() {
                return "JustNow";
            }
        };
        prettyTime.registerUnit(justNow, new ResourcesTimeFormat(justNow));
    }

to reproduce it ,we can just change the first line to

PrettyTime prettyTime = new PrettyTime(Locale.JAPAN);

It will fail with the following exception:

Exception in thread "main" java.util.MissingResourceException: Can't find resource for bundle org.ocpsoft.prettytime.i18n.Resources, key Pattern
	at java.util.ResourceBundle.getObject(ResourceBundle.java:450)
	at java.util.ResourceBundle.getObject(ResourceBundle.java:444)
	at java.util.ResourceBundle.getString(ResourceBundle.java:407)
	at org.ocpsoft.prettytime.i18n.Resources_ja$JaTimeFormat.(Resources_ja.java:148)
	at org.ocpsoft.prettytime.i18n.Resources_ja.getFormatFor(Resources_ja.java:117)
	at org.ocpsoft.prettytime.impl.ResourcesTimeFormat.setLocale(ResourcesTimeFormat.java:34)
	at org.ocpsoft.prettytime.impl.ResourcesTimeFormat.setLocale(ResourcesTimeFormat.java:16)
	at org.ocpsoft.prettytime.PrettyTime.registerUnit(PrettyTime.java:472)

this is because the getUnitName(TimeUnit) method of JaTimeFormat class cannot properly get the unit name in case of anonymous TimeUnit class(An empty string is returned).

        private String getUnitName(TimeUnit unit) {
            return unit.getClass().getSimpleName();
        }

chang-chao avatar Oct 11 '17 09:10 chang-chao

Possibly it is an issue of PrettyTime,instead of this project.

chang-chao avatar Oct 11 '17 09:10 chang-chao