Uploaded image for project: 'Tapestry'
  1. Tapestry
  2. TAPESTRY-1997

PersistentLocale is lower-casing locales

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 5.0.6
    • 5.0.14
    • tapestry-core
    • None

    Description

      An issue affecting localization: PersistentLocale is converting locales from mixed case to all lower case, which is useless for formatting. For example, if page 1 sets the locale like this:

      @Inject
      private PersistentLocale _persistentLocaleService;

      Locale locale = Locale.UK;
      _persistentLocaleService.set(locale);
      System.out.println("locale is " + locale + " - " + locale.getDisplayName());

      then this is what prints:

      locale is en_GB - English (United Kingdom)

      But when I'm in page 2 I get the locale and find it has mutated...

      Locale locale = _persistentLocaleService.get();
      System.out.println("locale is " + locale + " - " + locale.getDisplayName());

      ...this is what prints:

      locale is en_gb - en_gb

      This mutated locale in page 2 is useless for formatting. Code like the following produces default-styling instead of the styling for en_GB:

      _myDateFormat = DateFormat.getDateInstance(DateFormat.LONG, locale);
      System.out.println(_myDateFormat.format(new Date()));

      It seems this has also adversely affected how supported-locales are declared (maybe in previous releases only). See http://thread.gmane.org/gmane.comp.java.tapestry.user/56526/focus=56527

      Attachments

        Activity

          People

            hlship Howard Lewis Ship
            geoffcallender Geoff Callender
            Votes:
            1 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: