Attached is a patch for the ASTAddNode class that will do a string concat if the coercion to a double and long fails.

Thanks!
Robert McIntosh
Index: ASTAddNode.java
===================================================================
RCS file: 
/home/cvspublic/jakarta-commons/jexl/src/java/org/apache/commons/jexl/parser/ASTAddNode.java,v
retrieving revision 1.2
diff -u -r1.2 ASTAddNode.java
--- ASTAddNode.java     17 May 2002 12:13:22 -0000      1.2
+++ ASTAddNode.java     16 Dec 2003 01:47:01 -0000
@@ -119,12 +119,18 @@
         }
 
         /*
-         * otherwise to longs with thee!
+         * attempt to use Longs
          */
-
-        Long l = Coercion.coerceLong(left);
-        Long r = Coercion.coerceLong(right);
-
-        return new Long(l.longValue() + r.longValue());
+        try {
+            Long l = Coercion.coerceLong(left);
+            Long r = Coercion.coerceLong(right);
+            return new Long(l.longValue() + r.longValue());
+        }
+        catch( java.lang.NumberFormatException nfe ) {
+            /*
+             * Well, use strings!
+             */
+            return left.toString().concat( right.toString() );
+        }        
     }
 }

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to