You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "Ganesh Gowtham (JIRA)" <ji...@apache.org> on 2010/07/13 05:20:49 UTC
[jira] Commented: (BEANUTILS-352) Sorting the collection based on
bean property in "CollectionUtils"
[ https://issues.apache.org/jira/browse/BEANUTILS-352?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12887641#action_12887641 ]
Ganesh Gowtham commented on BEANUTILS-352:
------------------------------------------
hi Henri Yandell ,
As there was no update from Apache Side , I had added following files to JIRA
CollectionsUtilExt
CollectionsUtilExtTestCase
Please let me know your view on this .
Thanks
Ganesh Gowtham
> Sorting the collection based on bean property in "CollectionUtils"
> ------------------------------------------------------------------
>
> Key: BEANUTILS-352
> URL: https://issues.apache.org/jira/browse/BEANUTILS-352
> Project: Commons BeanUtils
> Issue Type: Improvement
> Components: Bean-Collections
> Environment: JDK 1.5 and above , Apache Collections
> Reporter: Ganesh Gowtham
> Fix For: LATER THAN 1.8.4
>
> Attachments: CollectionsUtilExt.java, CollectionsUtilExtTestCase.java
>
>
> Hi Folks ,
> Thanks for your good work done in Collection Framework .
> It would be good if you add functionality to sort the collection based on bean's property name . ( CollectionsUtils,java)
> For example i have List<Person> , i should be able to sort (ascending or desending ) based on person's salary (or) firstName (or) lastName (or) may be the combination of above
> below is the equivalent in SQL
> (select * from person order by salary,firtsName,lastName asc )
> method looks like
> public static <T> void sort(List<T> list, boolean isAscending,String... beanPropertyName) {
> Collection<Comparator<T>> beanComparatorCollection = new ArrayList<Comparator<T>>(beanPropertyName.length);
> for(int i =0;i<beanPropertyName.length;i++)
> {
> beanComparatorCollection.add(new BeanComparator(beanPropertyName[i]));
> }
> Comparator<T> finalComparator = ComparatorUtils.chainedComparator(beanComparatorCollection);
> if (!isAscending) {
> finalComparator = new ReverseComparator(finalComparator);
> }
> Collections.sort(list, finalComparator);
> }
> Please let me know if you need any details , infact i able to submit patch too .
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.