Author: radu
Date: Mon Feb 29 16:20:56 2016
New Revision: 1732914
URL: http://svn.apache.org/viewvc?rev=1732914&view=rev
Log:
SLING-5137 - Locale in Sightly I18N RuntimeExtension is not used correctly
* updated io.sightly.tck to 1.2.2 - this version provides a test for different
localised languages
* switched to using org.apache.commons.lang.LocaleUtils for detecting the
correct locale when the
locale string contains variants
Added:
sling/trunk/bundles/scripting/sightly/testing-content/src/main/resources/SLING-INF/apps/sightly/locales/
sling/trunk/bundles/scripting/sightly/testing-content/src/main/resources/SLING-INF/apps/sightly/locales/de.json
- copied, changed from r1732913,
sling/trunk/bundles/scripting/sightly/testing-content/src/main/resources/SLING-INF/apps/sightlytck/locales/de.json
sling/trunk/bundles/scripting/sightly/testing-content/src/main/resources/SLING-INF/apps/sightly/locales/de_ch.json
Removed:
sling/trunk/bundles/scripting/sightly/testing-content/src/main/resources/SLING-INF/apps/sightlytck/locales/de.json
Modified:
sling/trunk/bundles/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/engine/extension/I18nRuntimeExtension.java
sling/trunk/bundles/scripting/sightly/testing-content/pom.xml
sling/trunk/bundles/scripting/sightly/testing/pom.xml
Modified:
sling/trunk/bundles/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/engine/extension/I18nRuntimeExtension.java
URL:
http://svn.apache.org/viewvc/sling/trunk/bundles/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/engine/extension/I18nRuntimeExtension.java?rev=1732914&r1=1732913&r2=1732914&view=diff
==============================================================================
---
sling/trunk/bundles/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/engine/extension/I18nRuntimeExtension.java
(original)
+++
sling/trunk/bundles/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/engine/extension/I18nRuntimeExtension.java
Mon Feb 29 16:20:56 2016
@@ -22,9 +22,9 @@ import java.util.Enumeration;
import java.util.Locale;
import java.util.Map;
import java.util.ResourceBundle;
-
import javax.script.Bindings;
+import org.apache.commons.lang.LocaleUtils;
import org.apache.commons.lang.StringUtils;
import org.apache.felix.scr.annotations.Component;
import org.apache.felix.scr.annotations.Properties;
@@ -81,11 +81,17 @@ public class I18nRuntimeExtension implem
}
}
} else {
- Locale l = new Locale(locale);
- ResourceBundle resourceBundle =
resourceBundleProvider.getResourceBundle(l);
- if (resourceBundle != null && resourceBundle.containsKey(key))
{
- return resourceBundle.getString(key);
+ try {
+ Locale l = LocaleUtils.toLocale(locale);
+ ResourceBundle resourceBundle =
resourceBundleProvider.getResourceBundle(l);
+ if (resourceBundle != null &&
resourceBundle.containsKey(key)) {
+ return resourceBundle.getString(key);
+ }
+ } catch (IllegalArgumentException e) {
+ LOG.warn("Invalid locale detected: {}.", locale);
+ return text;
}
+
}
}
LOG.warn("No translation found for string '{}' using expression
provided locale '{}' or default locale '{}'",
Modified: sling/trunk/bundles/scripting/sightly/testing-content/pom.xml
URL:
http://svn.apache.org/viewvc/sling/trunk/bundles/scripting/sightly/testing-content/pom.xml?rev=1732914&r1=1732913&r2=1732914&view=diff
==============================================================================
--- sling/trunk/bundles/scripting/sightly/testing-content/pom.xml (original)
+++ sling/trunk/bundles/scripting/sightly/testing-content/pom.xml Mon Feb 29
16:20:56 2016
@@ -100,7 +100,7 @@
<artifactItem>
<groupId>io.sightly</groupId>
<artifactId>io.sightly.tck</artifactId>
- <version>1.2.1</version>
+ <version>1.2.2</version>
<type>jar</type>
<outputDirectory>${project.build.directory}/sightlytck/</outputDirectory>
<includes>**/*.html,**/*.js,**/*.java</includes>
Copied:
sling/trunk/bundles/scripting/sightly/testing-content/src/main/resources/SLING-INF/apps/sightly/locales/de.json
(from r1732913,
sling/trunk/bundles/scripting/sightly/testing-content/src/main/resources/SLING-INF/apps/sightlytck/locales/de.json)
URL:
http://svn.apache.org/viewvc/sling/trunk/bundles/scripting/sightly/testing-content/src/main/resources/SLING-INF/apps/sightly/locales/de.json?p2=sling/trunk/bundles/scripting/sightly/testing-content/src/main/resources/SLING-INF/apps/sightly/locales/de.json&p1=sling/trunk/bundles/scripting/sightly/testing-content/src/main/resources/SLING-INF/apps/sightlytck/locales/de.json&r1=1732913&r2=1732914&rev=1732914&view=diff
==============================================================================
---
sling/trunk/bundles/scripting/sightly/testing-content/src/main/resources/SLING-INF/apps/sightlytck/locales/de.json
(original)
+++
sling/trunk/bundles/scripting/sightly/testing-content/src/main/resources/SLING-INF/apps/sightly/locales/de.json
Mon Feb 29 16:20:56 2016
@@ -16,6 +16,11 @@
"jcr:primaryType" : "sling:MessageEntry",
"sling:key" : "world",
"sling:message" : "Welt"
+ },
+ "bun" : {
+ "jcr:primaryType" : "sling:MessageEntry",
+ "sling:key" : "bun",
+ "sling:message" : "Brötchen"
}
}
Added:
sling/trunk/bundles/scripting/sightly/testing-content/src/main/resources/SLING-INF/apps/sightly/locales/de_ch.json
URL:
http://svn.apache.org/viewvc/sling/trunk/bundles/scripting/sightly/testing-content/src/main/resources/SLING-INF/apps/sightly/locales/de_ch.json?rev=1732914&view=auto
==============================================================================
---
sling/trunk/bundles/scripting/sightly/testing-content/src/main/resources/SLING-INF/apps/sightly/locales/de_ch.json
(added)
+++
sling/trunk/bundles/scripting/sightly/testing-content/src/main/resources/SLING-INF/apps/sightly/locales/de_ch.json
Mon Feb 29 16:20:56 2016
@@ -0,0 +1,11 @@
+{
+ "jcr:primaryType" : "nt:unstructured",
+ "jcr:mixinTypes" : ["mix:language"],
+ "jcr:language" : "de_ch",
+ "bun" : {
+ "jcr:primaryType" : "sling:MessageEntry",
+ "sling:key" : "bun",
+ "sling:message" : "Brötli"
+ }
+
+}
Modified: sling/trunk/bundles/scripting/sightly/testing/pom.xml
URL:
http://svn.apache.org/viewvc/sling/trunk/bundles/scripting/sightly/testing/pom.xml?rev=1732914&r1=1732913&r2=1732914&view=diff
==============================================================================
--- sling/trunk/bundles/scripting/sightly/testing/pom.xml (original)
+++ sling/trunk/bundles/scripting/sightly/testing/pom.xml Mon Feb 29 16:20:56
2016
@@ -203,7 +203,7 @@
<dependency>
<groupId>io.sightly</groupId>
<artifactId>io.sightly.tck</artifactId>
- <version>1.2.1</version>
+ <version>1.2.2</version>
<scope>test</scope>
<exclusions>
<exclusion>