« Return to Thread: [jira] Created: (TRINIDAD-1489) get a valueChangeEvent for bigDecimal even though user didn't make a change.

[jira] Issue Comment Edited: (TRINIDAD-1489) get a valueChangeEvent for bigDecimal even though user didn't make a change.

by My Faces - Dev mailing list :: Rate this Message:

Reply to Author | View in Thread


    [ https://issues.apache.org/jira/browse/TRINIDAD-1489?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12738863#action_12738863 ]

Bastian Krol edited comment on TRINIDAD-1489 at 8/3/09 11:44 PM:
-----------------------------------------------------------------

In combination with a tr:selectOneChoice or similar controls this issue can even result in corrupt data as described here:

http://www.nabble.com/f%3AconvertNumber-triggers-call-to-set-method-on-tr%3AinputText%2C-effectively-overwriting-the-property-in-the-wrong-object-td24741551.html

      was (Author: basti1302):
    In combination with a tr:selectOneChoice or similar controls this issue can even result in corrupt data as described here:

http://www.nabble.com/f%3AconvertNumber-triggers-call-to-set-method-on-tr%3AinputText%2C-effectively-overwriting-the-property-in-the-wrong-object-td24741551.html#a24802996
 

> get a valueChangeEvent for bigDecimal even though user didn't make a change.
> ----------------------------------------------------------------------------
>
>                 Key: TRINIDAD-1489
>                 URL: https://issues.apache.org/jira/browse/TRINIDAD-1489
>             Project: MyFaces Trinidad
>          Issue Type: Bug
>            Reporter: Gabrielle Crawford
>             Fix For:  1.2.12-core
>
>
> When attribute data type is BigDecimal and <af:convertNumber> is used Trin treats the attribute as if the attribute value is changed even though the attribute value has not been changed.
> Under the covers the numberConverter is using the java decimalFormat class, and things can get a little funny when you use bigdecimal, because bigdecimal remembers formatting information like scale. So 2.0 is not equal to 2.00 in bigdecimal.
> We can add logic to UIXEditableValueHolder that if .equals fails and if the values are the same type and implement comparable we should then check compareTo.
> There are 2 workarounds for now.
> 1] apply the pattern to the bigdecimal in the getter, so in the salary
> example code above return newSal instead of sal.
> 2] check compareTo in the setter, and don't set if you get 0.

--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

 « Return to Thread: [jira] Created: (TRINIDAD-1489) get a valueChangeEvent for bigDecimal even though user didn't make a change.