Mantis - Resin
Viewing Issue Advanced Details
1225 minor always 06-29-06 18:29 06-30-06 08:21
none 3.0.20  
0001225: EL issues with 1 == 1.0
(rep by Jill Wetzler)

Iíve been trying to upgrade our website from our last version of Resin (Resin-pro-3.0.12) to the newest (3.0.19), and Iíve run into a couple of EL issues that seem to be causing a lot of problems on our end, and frankly Iím at a loss for where to find the source of them.
The first problem I encountered is in el/ in evalBoolean, where aObj is a String that represents a double, and bObj is a long. Clearly it falls through to the case of (aObj instanceof Number || bObj instanceof Number), which then tries to convert both numbers to longs, obviously throwing an exception for the double String. I was able to fix it by converting both of them to doubles instead, but what we canít seem to understand is that this file is almost completely unchanged between 12 and 19, so Iím not sure why it is failing now and wasnít in the previous version. Do you have any insight into this? Itís a pretty odd corner case that Iím surprised hasnít caused us problems in the past.
The more pressing issue however, is that somehow, the expression 1.0 == 1 has started returning false in an EL expression. So we have a particular line that says:
<c:if test="${cat.NavLevel__c == 1}">
And cat.NavLevel__c is 1.0. This used to evaluate to true (and still does under 12). However it is now evaluating to false. Iím afraid we have this is too many obscure places to go through and find them all.
On, [^]
It has a specific example:
EL Expression: ${100.0 == 100}
Result: true
I wouldnít automatically assume this was a Resin issue, but it works fine in 12. Do you have any idea what could be causing this?

06-30-06 08:21