Tapestry
  1. Tapestry
  2. TAPESTRY-1997

PersistentLocale is lower-casing locales

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 5.0.6
    • Fix Version/s: 5.0.14
    • Component/s: tapestry-core
    • Labels:
      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

        Activity

        No work has yet been logged on this issue.

          People

          • Assignee:
            Howard M. Lewis Ship
            Reporter:
            Geoff Callender
          • Votes:
            1 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development