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

PersistentLocale is lower-casing locales

    Details

    • Type: Bug
    • Status: Closed
    • Priority: 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

        Attachments

          Activity

            People

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

              Dates

              • Created:
                Updated:
                Resolved: