UIXEditableValue.compareValues() shouldn't return false for 'empty' strings of different lengths ------------------------------------------------------------------------------------------------
Key: TRINIDAD-2064 URL: https://issues.apache.org/jira/browse/TRINIDAD-2064 Project: MyFaces Trinidad Issue Type: Bug Components: Components Affects Versions: 2.0.0-beta-2 Environment: Any Reporter: Mark Yvanovich Priority: Minor In UIXEditableValue.validate(), UIXEditableValue.compareValues() is called to check to see if the value has changed. Currently, if the previous value and the new value are both empty (i.e. whitespace) compareValues() returns false to indicate they are the same. This, however, is not really correct. If you enter the value " " (one space) and then later try to change it to " " (two spaces) or "" (no spaces), the new value will be ignored because compareValues() says that the two values are the same. This can be reproduced on the inputText tag demo page. Select the contents of the inputText and type in a " " (one space) to replace the current value and hit submit. Then, try to update the value to " " (two spaces). If you look at the value attribute in the table below with firebug, you'll see that the value doesn't get updated. When using an inputText as a filter field, filtering by " " (one space) or " " (two spaces) can have different results. For this reason, we should allow for the value to be changed. Basically, the logic should be that if the two values are empty (I.E. UIXEditableValue.isEmpty() returns true for both values) then we should check the lengths to see if they are in fact different. The one condition that we need to preserve is that null and "" (no spaces, the real empty string) should compare as the same (so compareValues() should return false for this case). The current work around is that you have to submit a non-empty value and then submit the desired new empty value (i.e. two spaces or no spaces, etc). -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira