The following comment has been added to this issue: Author: Created: Tue, 9 Nov 2004 7:22 PM Body: I implemented option one and rebuilt displaytag. It works quite well, even without passing the Locale to the Collator, as a default RuleBasedCollator has a rule set which sorts most languages much more "naturally" than does String.compareTo.
In order to have RowSorter.checkNullsAndCompare actually use the Collator however, you must also modify the first 'if' clause to filter out Strings, since they implement Comparable and would otherwise never reach the clause which uses the Collator: if (object1 instanceof Comparable && object2 instanceof Comparable && ! (object1 instanceof String && object2 instanceof String)) --------------------------------------------------------------------- View this comment: http://jira.codehaus.org/browse/DISPL-77?page=comments#action_26270 --------------------------------------------------------------------- View the issue: http://jira.codehaus.org/browse/DISPL-77 Here is an overview of the issue: --------------------------------------------------------------------- Key: DISPL-77 Summary: Account for extended ascii strings when sorting Type: Bug Status: Unassigned Priority: Major Original Estimate: Unknown Time Spent: Unknown Remaining: Unknown Project: DisplayTag Components: Paging/Sorting Versions: 1.0 RC1 Assignee: Reporter: fabrizio giustina Created: Fri, 22 Oct 2004 7:40 AM Updated: Tue, 9 Nov 2004 7:22 PM Description: ==== imported from sf tracker id 949485 submitted by karlhungus - karlhungus http://sourceforge.net/support/tracker.php?aid=949485 ==== Feature: take extended ascii into account when sorting strings Solutions: -Option 1 in RowSorter.checkNullsAndCompare change the last else condition: <code> // if object are not null and don't implement comparable, compare using string values returnValue = object1.toString().compareTo(object2.toString());</code> to: <code>Collator.getInstance().compare(object1.toString(), object2.toString());</code> It's simple and it basicly solves the problem -Option 2 When creating the TableModel in TableTag pass in the locale and make it an attribute of RowSorter, then <code>Collator.getInstance(locale).compare(object1.toString(), object2.toString());</code> It's a little more impacting but it sovles the problem more generally --------------------------------------------------------------------- JIRA INFORMATION: This message is automatically generated by JIRA. If you think it was sent incorrectly contact one of the administrators: http://jira.codehaus.org/secure/Administrators.jspa If you want more information on JIRA, or have a bug to report see: http://www.atlassian.com/software/jira ------------------------------------------------------- This SF.Net email is sponsored by: Sybase ASE Linux Express Edition - download now for FREE LinuxWorld Reader's Choice Award Winner for best database on Linux. http://ads.osdn.com/?ad_id=5588&alloc_id=12065&op=click _______________________________________________ displaytag-devel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/displaytag-devel