You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@labs.apache.org by si...@apache.org on 2008/11/28 14:21:29 UTC

svn commit: r721477 - in /labs/magma/trunk/foundation-i18n/src: main/java/org/apache/magma/i18n/formatters/DoubleFormatter.java test/java/org/apache/magma/i18n/formatters/DoubleFormatterTest.java

Author: simoneg
Date: Fri Nov 28 05:21:28 2008
New Revision: 721477

URL: http://svn.apache.org/viewvc?rev=721477&view=rev
Log:
Support hiding of currency symbol

Modified:
    labs/magma/trunk/foundation-i18n/src/main/java/org/apache/magma/i18n/formatters/DoubleFormatter.java
    labs/magma/trunk/foundation-i18n/src/test/java/org/apache/magma/i18n/formatters/DoubleFormatterTest.java

Modified: labs/magma/trunk/foundation-i18n/src/main/java/org/apache/magma/i18n/formatters/DoubleFormatter.java
URL: http://svn.apache.org/viewvc/labs/magma/trunk/foundation-i18n/src/main/java/org/apache/magma/i18n/formatters/DoubleFormatter.java?rev=721477&r1=721476&r2=721477&view=diff
==============================================================================
--- labs/magma/trunk/foundation-i18n/src/main/java/org/apache/magma/i18n/formatters/DoubleFormatter.java (original)
+++ labs/magma/trunk/foundation-i18n/src/main/java/org/apache/magma/i18n/formatters/DoubleFormatter.java Fri Nov 28 05:21:28 2008
@@ -2,6 +2,7 @@
 
 import java.text.DateFormat;
 import java.text.DecimalFormat;
+import java.text.DecimalFormatSymbols;
 import java.text.NumberFormat;
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
@@ -33,7 +34,7 @@
 		if (value == null) return "";
 		NumberFormat formatter = getFormatter(getFormatterName());
 		if (formatter == null) return super.toString(value);
-		return formatter.format(value);
+		return formatter.format(value).trim();
 	}
 	
 	@Override
@@ -93,7 +94,15 @@
 			NumberFormat instance = NumberFormat.getCurrencyInstance(locale);
 			if (instance instanceof DecimalFormat) {
 				DecimalFormat df = (DecimalFormat) instance;
-				df.setCurrency(Currency.getInstance(useformat.substring(9).toUpperCase()));
+				String currency = useformat.substring(9).toUpperCase();
+				boolean hidden = currency.endsWith("-HIDDEN");
+				if (hidden) currency = currency.substring(0, currency.length() - 7);
+				df.setCurrency(Currency.getInstance(currency));
+				if (hidden) {
+					DecimalFormatSymbols symbols = df.getDecimalFormatSymbols();
+					symbols.setCurrencySymbol("");
+					df.setDecimalFormatSymbols(symbols);
+				}
 			}
 			return instance;
 		} else if (useformat.toLowerCase().startsWith("percent")) {

Modified: labs/magma/trunk/foundation-i18n/src/test/java/org/apache/magma/i18n/formatters/DoubleFormatterTest.java
URL: http://svn.apache.org/viewvc/labs/magma/trunk/foundation-i18n/src/test/java/org/apache/magma/i18n/formatters/DoubleFormatterTest.java?rev=721477&r1=721476&r2=721477&view=diff
==============================================================================
--- labs/magma/trunk/foundation-i18n/src/test/java/org/apache/magma/i18n/formatters/DoubleFormatterTest.java (original)
+++ labs/magma/trunk/foundation-i18n/src/test/java/org/apache/magma/i18n/formatters/DoubleFormatterTest.java Fri Nov 28 05:21:28 2008
@@ -61,27 +61,33 @@
 	set8d = new Check(100d, "currency-EUR", "+100 EUR", "+100E", false, true),
 	set8e = new Check(-100d, "currency-EUR", "E-100", "-100E", false, true),
 	set9 = new Check(100.10d, "currency-EUR", "EUR 100,10", "EUR100.10"),
+	set9b = new Check(100.10d, "currency-EUR-hidden", "100,10", "100.10"),
 	set10 = new Check(100d, "##0.00", "100,00", "100.00"),
 	set11 = new Check(0.1d, "#00.00", "00,10", "00.10");
 	
 	@Theory
-	public void doubleFormat(Check check) {
-		DoubleFormatter df = new DoubleFormatter();
-		df.setFormat(check.format);
-		CurrentLocale.setLocale(Locale.ITALIAN);
-		String itTo = check.checkto ? df.toString(check.value) : "";
-		double itFrom = check.checkfrom ? df.fromString(check.itstring) : 0d;
-		CurrentLocale.setLocale(Locale.US);
-		String usTo = check.checkto ? df.toString(check.value) : "";
-		double usFrom = check.checkfrom ? df.fromString(check.usstring) : 0d;
-		
-		if (check.checkto) {
-			assertEquals(check.itstring, itTo);
-			assertEquals(check.usstring, usTo);
-		} 
-		if (check.checkfrom) {
-			assertEquals(check.value, itFrom, 0.001d);
-			assertEquals(check.value, usFrom, 0.001d);
+	public void doubleFormat(Check check) throws Throwable {
+			DoubleFormatter df = new DoubleFormatter();
+			df.setFormat(check.format);
+			CurrentLocale.setLocale(Locale.ITALIAN);
+			String itTo = check.checkto ? df.toString(check.value) : "";
+			double itFrom = check.checkfrom ? df.fromString(check.itstring) : 0d;
+			CurrentLocale.setLocale(Locale.US);
+			String usTo = check.checkto ? df.toString(check.value) : "";
+			double usFrom = check.checkfrom ? df.fromString(check.usstring) : 0d;
+			
+		try {
+			if (check.checkto) {
+				assertEquals(check.itstring, itTo);
+				assertEquals(check.usstring, usTo);
+			} 
+			if (check.checkfrom) {
+				assertEquals(check.value, itFrom, 0.001d);
+				assertEquals(check.value, usFrom, 0.001d);
+			}
+		} catch (Throwable e) {
+			System.out.println(e.getMessage());
+			throw e;
 		}
 	}
 	



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@labs.apache.org
For additional commands, e-mail: commits-help@labs.apache.org