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]