[jboss-svn-commits] JBL Code SVN: r19780 - labs/jbossrules/branches/4.0.x/drools-core/src/main/java/org/drools/base/evaluators.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Wed Apr 30 14:48:43 EDT 2008


Author: tirelli
Date: 2008-04-30 14:48:43 -0400 (Wed, 30 Apr 2008)
New Revision: 19780

Modified:
   labs/jbossrules/branches/4.0.x/drools-core/src/main/java/org/drools/base/evaluators/ObjectFactory.java
Log:
JBRULES-1517: better handling of exceptions in object equals comparisons

Modified: labs/jbossrules/branches/4.0.x/drools-core/src/main/java/org/drools/base/evaluators/ObjectFactory.java
===================================================================
--- labs/jbossrules/branches/4.0.x/drools-core/src/main/java/org/drools/base/evaluators/ObjectFactory.java	2008-04-30 18:47:38 UTC (rev 19779)
+++ labs/jbossrules/branches/4.0.x/drools-core/src/main/java/org/drools/base/evaluators/ObjectFactory.java	2008-04-30 18:48:43 UTC (rev 19780)
@@ -557,9 +557,15 @@
                 if( arg1 instanceof Number ) {
                     val1 = ((Number) arg1).doubleValue();
                 } else if( arg1 instanceof String ) {
-                    val1 = Double.parseDouble( ( String ) arg1 );
+                    try {
+                        val1 = Double.parseDouble( ( String ) arg1 );
+                    } catch( Exception ex ) {
+                        // parsing failed, so not a number
+                        return false;
+                    }
                 } else {
-                    throw new ClassCastException( "Not possible to compare "+arg1.getClass()+" to "+arg0.getClass() );
+                    // if it is not a number, it is not equals
+                    return false;
                 }
                 return val0 == val1; // in the future we may need to handle rounding errors 
             } 




More information about the jboss-svn-commits mailing list