[jboss-svn-commits] JBL Code SVN: r19791 - in labs/jbossrules/branches/4.0.x/drools-core/src: test/java/org/drools/base/mvel and 1 other directory.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Wed Apr 30 21:45:24 EDT 2008


Author: michael.neale at jboss.com
Date: 2008-04-30 21:45:24 -0400 (Wed, 30 Apr 2008)
New Revision: 19791

Modified:
   labs/jbossrules/branches/4.0.x/drools-core/src/main/java/org/drools/base/evaluators/DateFactory.java
   labs/jbossrules/branches/4.0.x/drools-core/src/test/java/org/drools/base/mvel/MVELCalendarCoercionTest.java
   labs/jbossrules/branches/4.0.x/drools-core/src/test/java/org/drools/base/mvel/MVELDateCoercionTest.java
Log:
JBRULES-1525 i18n friendly date formatting

Modified: labs/jbossrules/branches/4.0.x/drools-core/src/main/java/org/drools/base/evaluators/DateFactory.java
===================================================================
--- labs/jbossrules/branches/4.0.x/drools-core/src/main/java/org/drools/base/evaluators/DateFactory.java	2008-05-01 01:25:17 UTC (rev 19790)
+++ labs/jbossrules/branches/4.0.x/drools-core/src/main/java/org/drools/base/evaluators/DateFactory.java	2008-05-01 01:45:24 UTC (rev 19791)
@@ -16,9 +16,11 @@
  * limitations under the License.
  */
 
+import java.text.DateFormatSymbols;
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
 import java.util.Date;
+import java.util.Locale;
 
 import org.drools.base.BaseEvaluator;
 import org.drools.base.ValueType;
@@ -48,11 +50,20 @@
     private static final long       serialVersionUID    = 400L;
     private static final String     DEFAULT_FORMAT_MASK = "dd-MMM-yyyy";
     private static final String     DATE_FORMAT_MASK    = getDateFormatMask();
+	 private static final String DEFAULT_COUNTRY = Locale.getDefault().getCountry();
+	 private static final String DEFINE_COUNTRY = getDefaultContry();
+	 private static final String DEFAULT_LANGUAGE = Locale.getDefault().getLanguage();
+	 private static final String DEFINE_LANGUAGE = getDefaultLanguage();
 
+
     private static EvaluatorFactory INSTANCE            = new DateFactory();
     private static ThreadLocal df = new ThreadLocal() {
         protected Object initialValue() {
-            return new SimpleDateFormat( DateFactory.DATE_FORMAT_MASK );
+            DateFormatSymbols dateSymbol = new DateFormatSymbols( new Locale( DateFactory.DEFINE_LANGUAGE,
+                                                                              DateFactory.DEFINE_COUNTRY ) );
+            SimpleDateFormat dateFormat = new SimpleDateFormat( DateFactory.DATE_FORMAT_MASK,
+                                                                dateSymbol );
+            return dateFormat;
         };
     };
 
@@ -538,5 +549,19 @@
         }
         return fmt;
     }
+    private static String getDefaultLanguage() {
+        String fmt = System.getProperty( "drools.defaultlanguage" );
+        if ( fmt == null ) {
+            fmt = DateFactory.DEFAULT_LANGUAGE;
+        }
+        return fmt;
+    }
 
+    private static String getDefaultContry() {
+        String fmt = System.getProperty( "drools.defaultcountry" );
+        if ( fmt == null ) {
+            fmt = DateFactory.DEFAULT_COUNTRY;
+        }
+        return fmt;
+    }
 }
\ No newline at end of file

Modified: labs/jbossrules/branches/4.0.x/drools-core/src/test/java/org/drools/base/mvel/MVELCalendarCoercionTest.java
===================================================================
--- labs/jbossrules/branches/4.0.x/drools-core/src/test/java/org/drools/base/mvel/MVELCalendarCoercionTest.java	2008-05-01 01:25:17 UTC (rev 19790)
+++ labs/jbossrules/branches/4.0.x/drools-core/src/test/java/org/drools/base/mvel/MVELCalendarCoercionTest.java	2008-05-01 01:45:24 UTC (rev 19791)
@@ -1,5 +1,7 @@
 package org.drools.base.mvel;
 
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
 import java.util.Calendar;
 import java.util.Date;
 
@@ -18,11 +20,13 @@
         assertSame(d, co.convertFrom( d ));
     }
 
-    public void testString() {
+    public void testString() throws ParseException {
         MVELCalendarCoercion co = new MVELCalendarCoercion();
         assertTrue(co.canConvertFrom( Calendar.class ));
+        SimpleDateFormat df = new SimpleDateFormat("dd-MMM-yyyy");
 
-        String dt = "10-Jul-1974";
+        String dt = df.format(df.parse("10-Jul-1974"));
+
         Date dt_ = DateFactory.parseDate( dt );
         Calendar cal = Calendar.getInstance();
         cal.setTime( dt_ );

Modified: labs/jbossrules/branches/4.0.x/drools-core/src/test/java/org/drools/base/mvel/MVELDateCoercionTest.java
===================================================================
--- labs/jbossrules/branches/4.0.x/drools-core/src/test/java/org/drools/base/mvel/MVELDateCoercionTest.java	2008-05-01 01:25:17 UTC (rev 19790)
+++ labs/jbossrules/branches/4.0.x/drools-core/src/test/java/org/drools/base/mvel/MVELDateCoercionTest.java	2008-05-01 01:45:24 UTC (rev 19791)
@@ -1,5 +1,7 @@
 package org.drools.base.mvel;
 
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
 import java.util.Date;
 
 import org.drools.base.evaluators.DateFactory;
@@ -17,11 +19,13 @@
         assertSame(d, co.convertFrom( d ));
     }
 
-    public void testString() {
+    public void testString() throws ParseException {
         MVELDateCoercion co = new MVELDateCoercion();
         assertTrue(co.canConvertFrom( Date.class ));
 
-        String dt = "10-Jul-1974";
+        SimpleDateFormat df = new SimpleDateFormat("dd-MMM-yyyy");
+
+        String dt = df.format(df.parse("10-Jul-1974"));
         Date dt_ = DateFactory.parseDate( dt );
         assertEquals(dt_, co.convertFrom( dt ));
     }




More information about the jboss-svn-commits mailing list