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();
+
+ }
}