[prev in list] [next in list] [prev in thread] [next in thread]
List: jakarta-commons-dev
Subject: Re: [Jexl] String concatination
From: Geir Magnusson Jr <geir () 4quarters ! com>
Date: 2003-12-21 13:13:12
[Download RAW message or body]
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.
>
> - Robert McIntosh
>
> Geir Magnusson Jr wrote:
>
>> 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 -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: commons-dev-unsubscribe@jakarta.apache.org
>>> For additional commands, e-mail: commons-dev-help@jakarta.apache.org
>>>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: commons-dev-help@jakarta.apache.org
>
>
--
Geir Magnusson Jr 203-247-1713(m)
geir@4quarters.com
---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic