aboutsummaryrefslogtreecommitdiff
path: root/org.jacoco.ant
diff options
context:
space:
mode:
authorMarc R. Hoffmann <hoffmann@mountainminds.com>2015-03-27 08:15:40 +0100
committerMarc R. Hoffmann <hoffmann@mountainminds.com>2015-03-30 23:35:30 +0200
commitd4ef46ac917f2a6896ce7465024da4848f49eac3 (patch)
tree991b407fed9f629b4b9c455d4b3e5145270cc49e /org.jacoco.ant
parent6b72d5a96182af30dc8d109d3ed691cedaee3061 (diff)
downloadjacoco-d4ef46ac917f2a6896ce7465024da4848f49eac3.tar.gz
GitHub #289: Allow locales with country and variant for Ant report task.
Diffstat (limited to 'org.jacoco.ant')
-rw-r--r--org.jacoco.ant/src/org/jacoco/ant/ReportTask.java22
1 files changed, 20 insertions, 2 deletions
diff --git a/org.jacoco.ant/src/org/jacoco/ant/ReportTask.java b/org.jacoco.ant/src/org/jacoco/ant/ReportTask.java
index 3242ff2c..edf7cefe 100644
--- a/org.jacoco.ant/src/org/jacoco/ant/ReportTask.java
+++ b/org.jacoco.ant/src/org/jacoco/ant/ReportTask.java
@@ -22,6 +22,7 @@ import java.util.Collection;
import java.util.Iterator;
import java.util.List;
import java.util.Locale;
+import java.util.StringTokenizer;
import org.apache.tools.ant.BuildException;
import org.apache.tools.ant.Project;
@@ -221,8 +222,8 @@ public class ReportTask extends Task {
* @param locale
* text locale
*/
- public void setLocale(final Locale locale) {
- this.locale = locale;
+ public void setLocale(final String locale) {
+ this.locale = parseLocale(locale);
}
@Override
@@ -600,4 +601,21 @@ public class ReportTask extends Task {
}
}
+ /**
+ * Splits a given underscore "_" separated string and creates a Locale. This
+ * method is implemented as the method Locale.forLanguageTag() was not
+ * available in Java 5.
+ *
+ * @param locale
+ * String representation of a Locate
+ * @return Locale instance
+ */
+ static Locale parseLocale(final String locale) {
+ final StringTokenizer st = new StringTokenizer(locale, "_");
+ final String language = st.hasMoreTokens() ? st.nextToken() : "";
+ final String country = st.hasMoreTokens() ? st.nextToken() : "";
+ final String variant = st.hasMoreTokens() ? st.nextToken() : "";
+ return new Locale(language, country, variant);
+ }
+
}