You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tapestry.apache.org by hl...@apache.org on 2009/01/29 00:57:03 UTC

svn commit: r738679 - in /tapestry/tapestry5/trunk/tapestry-core/src: main/java/org/apache/tapestry5/internal/services/ test/java/org/apache/tapestry5/internal/services/

Author: hlship
Date: Wed Jan 28 23:57:03 2009
New Revision: 738679

URL: http://svn.apache.org/viewvc?rev=738679&view=rev
Log:
TAP5-485: Tracking issue for changes required by com.formos.tapestry:tapestry-template

Modified:
    tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/LocalizationSetter.java
    tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/LocalizationSetterImpl.java
    tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/LocalizationSetterImplTest.java

Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/LocalizationSetter.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/LocalizationSetter.java?rev=738679&r1=738678&r2=738679&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/LocalizationSetter.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/LocalizationSetter.java Wed Jan 28 23:57:03 2009
@@ -37,4 +37,13 @@
      * @since 5.1.0.0
      */
     boolean setLocaleFromLocaleName(String localeName);
+
+    /**
+     * Allows the locale to be set from a specified locale name (which may be narrowed or defaulted to a support
+     * locale). Does not set the persistent locale.
+     *
+     * @param localeName locale in effect for this request
+     * @since 5.1.0.0.
+     */
+    void setNonPeristentLocaleFromLocaleName(String localeName);
 }

Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/LocalizationSetterImpl.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/LocalizationSetterImpl.java?rev=738679&r1=738678&r2=738679&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/LocalizationSetterImpl.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/LocalizationSetterImpl.java Wed Jan 28 23:57:03 2009
@@ -125,6 +125,15 @@
         return supported;
     }
 
+    public void setNonPeristentLocaleFromLocaleName(String localeName)
+    {
+        Locale requested = toLocale(localeName);
+
+        Locale supported = findClosestSupportedLocale(requested);
+
+        threadLocale.setLocale(supported);
+    }
+
     private Locale findClosestSupportedLocale(Locale desiredLocale)
     {
         String localeName = desiredLocale.toString();

Modified: tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/LocalizationSetterImplTest.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/LocalizationSetterImplTest.java?rev=738679&r1=738678&r2=738679&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/LocalizationSetterImplTest.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/LocalizationSetterImplTest.java Wed Jan 28 23:57:03 2009
@@ -128,4 +128,23 @@
 
         verify();
     }
+
+    @Test
+    public void set_nonpersistent_locale()
+    {
+        PersistentLocale pl = mockPersistentLocale();
+        ThreadLocale tl = mockThreadLocale();
+        Request request = mockRequest();
+
+        tl.setLocale(Locale.FRENCH);
+
+        replay();
+
+        LocalizationSetterImpl setter = new LocalizationSetterImpl(request, pl, tl, "en,fr");
+
+        setter.setNonPeristentLocaleFromLocaleName("fr_BE");
+
+        verify();
+
+    }
 }