[jboss-svn-commits] JBL Code SVN: r19087 - labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Tue Mar 18 21:54:16 EDT 2008


Author: mingjin
Date: 2008-03-18 21:54:16 -0400 (Tue, 18 Mar 2008)
New Revision: 19087

Modified:
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/FieldFactory.java
Log:
JBRULES-1095 fix bad merge
- revert to previous version with data format routine.

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/FieldFactory.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/FieldFactory.java	2008-03-19 01:30:08 UTC (rev 19086)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/FieldFactory.java	2008-03-19 01:54:16 UTC (rev 19087)
@@ -16,18 +16,23 @@
  * limitations under the License.
  */
 
+import java.math.BigDecimal;
+import java.math.BigInteger;
+import java.util.Date;
+
 import org.drools.base.field.BooleanFieldImpl;
 import org.drools.base.field.DoubleFieldImpl;
 import org.drools.base.field.LongFieldImpl;
 import org.drools.base.field.ObjectFieldImpl;
 import org.drools.spi.FieldValue;
+import org.drools.util.DateUtils;
 
-import java.math.BigDecimal;
-import java.math.BigInteger;
-
 public class FieldFactory {
     private static final FieldFactory INSTANCE = new FieldFactory();
 
+    private static final String     DEFAULT_FORMAT_MASK = "dd-MMM-yyyy";
+    private static final String     DATE_FORMAT_MASK    = getDateFormatMask();
+
     public static FieldFactory getInstance() {
         return FieldFactory.INSTANCE;
     }
@@ -79,8 +84,8 @@
         } else if ( valueType == ValueType.STRING_TYPE ) {
             field = new ObjectFieldImpl( value.intern() );
         } else if ( valueType == ValueType.DATE_TYPE ) {
-            //MN: I think its fine like this, seems to work !
-            field = new ObjectFieldImpl( value );
+            Date date = DateUtils.parseDate( value );
+            field = new ObjectFieldImpl( date );
         } else if ( valueType == ValueType.ARRAY_TYPE ) {
             //MN: I think its fine like this.
             field = new ObjectFieldImpl( value );
@@ -172,7 +177,12 @@
             field = new ObjectFieldImpl( value );
         } else if ( valueType == ValueType.DATE_TYPE ) {
             //MN: I think its fine like this, seems to work !
-            field = new ObjectFieldImpl( value );
+            if( value instanceof String ) {
+                Date date = DateUtils.parseDate( (String) value );
+                field = new ObjectFieldImpl( date );
+            } else {
+                field = new ObjectFieldImpl( value );
+            }
         } else if ( valueType == ValueType.ARRAY_TYPE ) {
             //MN: I think its fine like this.
             field = new ObjectFieldImpl( value );
@@ -233,4 +243,12 @@
         return value;
     }
 
+    /** Check for the system property override, if it exists */
+    private static String getDateFormatMask() {
+        String fmt = System.getProperty( "drools.dateformat" );
+        if ( fmt == null ) {
+            fmt = FieldFactory.DEFAULT_FORMAT_MASK;
+        }
+        return fmt;
+    }
 }
\ No newline at end of file




More information about the jboss-svn-commits mailing list