[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