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 2009/05/27 17:16:39 UTC

svn commit: r779208 - in /labs/magma/trunk/foundation-i18n/src: main/java/org/apache/magma/i18n/formatters/ test/java/org/apache/magma/i18n/formatters/

Author: simoneg
Date: Wed May 27 15:16:39 2009
New Revision: 779208

URL: http://svn.apache.org/viewvc?rev=779208&view=rev
Log:
LABS-370 : incorrect assumption about thread safety

Modified:
    labs/magma/trunk/foundation-i18n/src/main/java/org/apache/magma/i18n/formatters/DateFormatter.java
    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/DateFormatterFormatTest.java

Modified: labs/magma/trunk/foundation-i18n/src/main/java/org/apache/magma/i18n/formatters/DateFormatter.java
URL: http://svn.apache.org/viewvc/labs/magma/trunk/foundation-i18n/src/main/java/org/apache/magma/i18n/formatters/DateFormatter.java?rev=779208&r1=779207&r2=779208&view=diff
==============================================================================
--- labs/magma/trunk/foundation-i18n/src/main/java/org/apache/magma/i18n/formatters/DateFormatter.java (original)
+++ labs/magma/trunk/foundation-i18n/src/main/java/org/apache/magma/i18n/formatters/DateFormatter.java Wed May 27 15:16:39 2009
@@ -159,7 +159,7 @@
 	}
 	
 	public DateFormatter buildDefault(Class<? extends Date> clazz) {
-		return this;
+		return new DateFormatter();
 	}
 
 	@Override

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=779208&r1=779207&r2=779208&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 Wed May 27 15:16:39 2009
@@ -47,9 +47,7 @@
 	private String myformat = "default";
 	
 	public DoubleFormatter buildDefault(Class<? extends Double> clazz) {
-		DoubleFormatter ret = (DoubleFormatter)super.build(clazz);
-		ret.setFormat(myformat);
-		return ret;
+		return new DoubleFormatter();
 	}
 
 	public void setFormat(String format) {
@@ -160,4 +158,5 @@
 		}
 		return null;
 	}	
+	
 }

Modified: labs/magma/trunk/foundation-i18n/src/test/java/org/apache/magma/i18n/formatters/DateFormatterFormatTest.java
URL: http://svn.apache.org/viewvc/labs/magma/trunk/foundation-i18n/src/test/java/org/apache/magma/i18n/formatters/DateFormatterFormatTest.java?rev=779208&r1=779207&r2=779208&view=diff
==============================================================================
--- labs/magma/trunk/foundation-i18n/src/test/java/org/apache/magma/i18n/formatters/DateFormatterFormatTest.java (original)
+++ labs/magma/trunk/foundation-i18n/src/test/java/org/apache/magma/i18n/formatters/DateFormatterFormatTest.java Wed May 27 15:16:39 2009
@@ -1,5 +1,12 @@
 package org.apache.magma.i18n.formatters;
 
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.Locale;
+import java.util.Map;
+
+import org.apache.magma.i18n.CurrentLocale;
 import org.junit.Ignore;
 import org.junit.experimental.theories.DataPoint;
 import org.junit.experimental.theories.Theories;
@@ -11,34 +18,53 @@
 @RunWith(Theories.class)
 public class DateFormatterFormatTest {
 
+	private DateFormatter base = new DateFormatter();
+	
+	
 	static class Check {
 		public String format;
 		public String custom;
 		public int dateFormat;
 		public int timeFormat;
+		public Map<String, String> expect = new HashMap<String, String>();
 		
-		public Check(String format, String custom, int dateFormat, int timeFormat) {
+		public Check(String format, String custom, int dateFormat, int timeFormat, String... expect) {
 			this.format = format;
 			this.custom = custom;
 			this.dateFormat = dateFormat;
 			this.timeFormat = timeFormat;
+			int i = 0;
+			while (i < expect.length) {
+				this.expect.put(expect[i], expect[i + 1]);
+				i+=2;
+			}
 		}
 	}
 	
 	@DataPoint
 	public static Check
-	set1 = new Check("default", "default", -1, -1),
-	set2 = new Check("yyyy/MM/dd", "yyyy/MM/dd", -2, -2),
+	set1 = new Check("default", "default", -1, -1, "en_us", "M/d/yy", "it_it", "dd/MM/yy"),
+	set2 = new Check("yyyy/MM/dd", "yyyy/MM/dd", -2, -2,  "en_us", "yyyy/MM/dd", "it_it", "yyyy/MM/dd"),
 	set3 = new Check("long", null, LONG, -1),
-	set4 = new Check("none,long", null, -1, LONG);
+	set4 = new Check("none,long", null, -1, LONG),
+	set4b = new Check("default", "default", -1, -1);
+	
 	
 	@Theory
 	public void formatText(Check check) {
-		DateFormatter df = new DateFormatter();
+		DateFormatter df = (DateFormatter)base.buildDefault((Class)Date.class);
+		System.out.println("Testing " + check.format);
 		df.setFormat(check.format);
 		assertEquals(check.custom, df.getCustomFormat());
 		assertEquals(check.dateFormat, df.getDateFormat());
 		assertEquals(check.timeFormat, df.getTimeFormat());
+		for (Map.Entry<String, String> entry : check.expect.entrySet()) {
+			String[] locparts = entry.getKey().split("_");
+			CurrentLocale.setLocale(new Locale(locparts[0], locparts[1]));
+			String pattern = df.getPattern();
+			assertEquals(entry.getValue(), pattern);
+		}
+		
 	}
 	
 }



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