Re: [Jexl] String concatination
On Dec 29, 2003, at 7:52 PM, Robert wrote: Geir Magnusson Jr wrote: On Dec 20, 2003, at 10:22 PM, Robert wrote: I actually thought this was in the spec, my fault! I was trying to do string building, which of course didn't work, which lead me to look at the JavaDoc this class says either integer addition or string concatenation and the CVS entry says something about string concatenation not working anymore, so I did this quick patch. I even tried string literal addition and it doesn't work either. It would be nice so one does have to do ${hello.concat(' world')} to build strings, but I'll understand if it isn't added. What doesn't work? I don't understand. I'll double check but 'hello' + 'world' wouldn't work either. Perhaps I should just write a junit test!! I added a unit test when I did the patch Robert - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Geir Magnusson Jr 203-247-1713(m) [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [Jexl] String concatination
Geir Magnusson Jr wrote: On Dec 20, 2003, at 10:22 PM, Robert wrote: I actually thought this was in the spec, my fault! I was trying to do string building, which of course didn't work, which lead me to look at the JavaDoc this class says either integer addition or string concatenation and the CVS entry says something about string concatenation not working anymore, so I did this quick patch. I even tried string literal addition and it doesn't work either. It would be nice so one does have to do ${hello.concat(' world')} to build strings, but I'll understand if it isn't added. What doesn't work? I don't understand. I'll double check but 'hello' + 'world' wouldn't work either. Perhaps I should just write a junit test!! Robert - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [Jexl] String concatination
Intresting. This is not what the JSP EL does. Not that we really care, but it's an interesting extension. It follows Java, I suppose :) Patch in - lets see what people think. geir On Dec 15, 2003, at 8:55 PM, Robert wrote: 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 - 1.2 +++ ASTAddNode.java 16 Dec 2003 01:47:01 - @@ -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] -- Geir Magnusson Jr 203-247-1713(m) [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[Jexl] String concatination
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 - 1.2 +++ ASTAddNode.java 16 Dec 2003 01:47:01 - @@ -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]