Return-Path: X-Original-To: apmail-brooklyn-commits-archive@minotaur.apache.org Delivered-To: apmail-brooklyn-commits-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 86370106AD for ; Wed, 25 Jun 2014 15:20:50 +0000 (UTC) Received: (qmail 33732 invoked by uid 500); 25 Jun 2014 15:20:50 -0000 Delivered-To: apmail-brooklyn-commits-archive@brooklyn.apache.org Received: (qmail 33703 invoked by uid 500); 25 Jun 2014 15:20:50 -0000 Mailing-List: contact commits-help@brooklyn.incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@brooklyn.incubator.apache.org Delivered-To: mailing list commits@brooklyn.incubator.apache.org Received: (qmail 33694 invoked by uid 99); 25 Jun 2014 15:20:50 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 25 Jun 2014 15:20:50 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=5.0 tests=ALL_TRUSTED,T_RP_MATCHES_RCVD X-Spam-Check-By: apache.org Received: from [140.211.11.3] (HELO mail.apache.org) (140.211.11.3) by apache.org (qpsmtpd/0.29) with SMTP; Wed, 25 Jun 2014 15:20:50 +0000 Received: (qmail 31318 invoked by uid 99); 25 Jun 2014 15:20:24 -0000 Received: from tyr.zones.apache.org (HELO tyr.zones.apache.org) (140.211.11.114) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 25 Jun 2014 15:20:24 +0000 Received: by tyr.zones.apache.org (Postfix, from userid 65534) id 91F7C93AA74; Wed, 25 Jun 2014 15:20:24 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: aledsage@apache.org To: commits@brooklyn.incubator.apache.org Date: Wed, 25 Jun 2014 15:20:24 -0000 Message-Id: <7093eeda938e4367baa2b4831ac0d81a@git.apache.org> X-Mailer: ASF-Git Admin Mailer Subject: [1/2] git commit: Support for non-UK locales. X-Virus-Checked: Checked by ClamAV on apache.org Repository: incubator-brooklyn Updated Branches: refs/heads/master ba8f2fe65 -> 647a47928 Support for non-UK locales. The code should be locale agnostic, while the tests are fixed to run in the UK locale. Project: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/commit/4c05f844 Tree: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/tree/4c05f844 Diff: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/diff/4c05f844 Branch: refs/heads/master Commit: 4c05f844a4ab74b0ee00ec2c2c6c4a851d47ec77 Parents: 985951c Author: Svetoslav Neykov Authored: Wed Jun 25 15:51:07 2014 +0300 Committer: Svetoslav Neykov Committed: Wed Jun 25 15:56:18 2014 +0300 ---------------------------------------------------------------------- .../main/java/brooklyn/util/text/Strings.java | 13 +++++++- .../java/brooklyn/test/FixedLocaleTest.java | 31 ++++++++++++++++++++ .../brooklyn/util/math/MathFunctionsTest.java | 4 ++- .../brooklyn/util/text/ByteSizeStringsTest.java | 6 ++-- .../java/brooklyn/util/text/StringsTest.java | 3 +- 5 files changed, 52 insertions(+), 5 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/4c05f844/utils/common/src/main/java/brooklyn/util/text/Strings.java ---------------------------------------------------------------------- diff --git a/utils/common/src/main/java/brooklyn/util/text/Strings.java b/utils/common/src/main/java/brooklyn/util/text/Strings.java index ab5a4d9..c0a0283 100644 --- a/utils/common/src/main/java/brooklyn/util/text/Strings.java +++ b/utils/common/src/main/java/brooklyn/util/text/Strings.java @@ -4,10 +4,12 @@ package brooklyn.util.text; import java.text.DecimalFormat; +import java.text.DecimalFormatSymbols; import java.text.NumberFormat; import java.util.Arrays; import java.util.Collections; import java.util.Iterator; +import java.util.Locale; import java.util.Map; import java.util.StringTokenizer; @@ -380,7 +382,7 @@ public class Strings { if (maxlen>0 && s.length()>maxlen) { //too long: double signif = x/Math.pow(10,log); - if (s.indexOf('.')>=0) { + if (s.indexOf(getDefaultDecimalSeparator())>=0) { //have a decimal point; either we are very small 0.000001 //or prec is larger than maxlen if (Math.abs(x)<1 && useEForSmallNumbers) { @@ -765,5 +767,14 @@ public class Strings { else return Collections.list(new StringTokenizer(phrase)).size(); } + + public static char getDecimalSeparator(Locale locale) { + DecimalFormatSymbols dfs = new DecimalFormatSymbols(locale); + return dfs.getDecimalSeparator(); + } + + public static char getDefaultDecimalSeparator() { + return getDecimalSeparator(Locale.getDefault(Locale.Category.FORMAT)); + } } http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/4c05f844/utils/common/src/test/java/brooklyn/test/FixedLocaleTest.java ---------------------------------------------------------------------- diff --git a/utils/common/src/test/java/brooklyn/test/FixedLocaleTest.java b/utils/common/src/test/java/brooklyn/test/FixedLocaleTest.java new file mode 100644 index 0000000..05cdc95 --- /dev/null +++ b/utils/common/src/test/java/brooklyn/test/FixedLocaleTest.java @@ -0,0 +1,31 @@ +package brooklyn.test; + +import java.util.Locale; + +import org.testng.annotations.AfterClass; +import org.testng.annotations.BeforeClass; + +public class FixedLocaleTest { + private Locale defaultLocale; + private Locale fixedLocale; + + public FixedLocaleTest() { + this(Locale.UK); + } + + public FixedLocaleTest(Locale fixedLocale) { + this.fixedLocale = fixedLocale; + } + + @BeforeClass + public void setUp() { + defaultLocale = Locale.getDefault(); + Locale.setDefault(fixedLocale); + } + + @AfterClass + public void tearDown() { + Locale.setDefault(defaultLocale); + } + +} http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/4c05f844/utils/common/src/test/java/brooklyn/util/math/MathFunctionsTest.java ---------------------------------------------------------------------- diff --git a/utils/common/src/test/java/brooklyn/util/math/MathFunctionsTest.java b/utils/common/src/test/java/brooklyn/util/math/MathFunctionsTest.java index 05cf12c..c7784a5 100644 --- a/utils/common/src/test/java/brooklyn/util/math/MathFunctionsTest.java +++ b/utils/common/src/test/java/brooklyn/util/math/MathFunctionsTest.java @@ -3,7 +3,9 @@ package brooklyn.util.math; import org.testng.Assert; import org.testng.annotations.Test; -public class MathFunctionsTest { +import brooklyn.test.FixedLocaleTest; + +public class MathFunctionsTest extends FixedLocaleTest { @Test public void testAdd() { http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/4c05f844/utils/common/src/test/java/brooklyn/util/text/ByteSizeStringsTest.java ---------------------------------------------------------------------- diff --git a/utils/common/src/test/java/brooklyn/util/text/ByteSizeStringsTest.java b/utils/common/src/test/java/brooklyn/util/text/ByteSizeStringsTest.java index 4250b6b..01bd622 100644 --- a/utils/common/src/test/java/brooklyn/util/text/ByteSizeStringsTest.java +++ b/utils/common/src/test/java/brooklyn/util/text/ByteSizeStringsTest.java @@ -21,14 +21,16 @@ import java.util.Arrays; import org.testng.annotations.Test; +import brooklyn.test.FixedLocaleTest; + import com.google.common.collect.Iterables; /** * Test the different {@link ByteSizeStrings} formatting options using a list of byte sizes. */ @Test -public class ByteSizeStringsTest { - +public class ByteSizeStringsTest extends FixedLocaleTest { + public void testSizeString() { assertEquals(Strings.makeSizeString(-1), "-1 B"); assertEquals(Strings.makeSizeString(0), "0 B"); http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/4c05f844/utils/common/src/test/java/brooklyn/util/text/StringsTest.java ---------------------------------------------------------------------- diff --git a/utils/common/src/test/java/brooklyn/util/text/StringsTest.java b/utils/common/src/test/java/brooklyn/util/text/StringsTest.java index 9f9b63b..bdbc30e 100644 --- a/utils/common/src/test/java/brooklyn/util/text/StringsTest.java +++ b/utils/common/src/test/java/brooklyn/util/text/StringsTest.java @@ -12,10 +12,11 @@ import java.util.Arrays; import org.testng.Assert; import org.testng.annotations.Test; +import brooklyn.test.FixedLocaleTest; import brooklyn.util.collections.MutableMap; @Test -public class StringsTest { +public class StringsTest extends FixedLocaleTest { public void isBlankOrEmpty() { assertTrue(Strings.isEmpty(null));