commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ganesh Gowtham (JIRA)" <j...@apache.org>
Subject [jira] Commented: (BEANUTILS-352) Sorting the collection based on bean property in "CollectionUtils"
Date Thu, 06 Aug 2009 05:14:14 GMT

    [ https://issues.apache.org/jira/browse/BEANUTILS-352?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12739900#action_12739900
] 

Ganesh Gowtham commented on BEANUTILS-352:
------------------------------------------

Dear Niall Pemberton , 

Thanks for your reply .

infact i have idea to add some more functionalities 

i am ready with patch code with junit , Please let me know if can able to contribute for Fix
Version/s: LATER THAN 1.8.1

//Picks the highest element from collection of valueObjects based 
//on the beanAttribute .
1) public static <T> T min(Collection<T> list, String beanPropertyName)
   {
    ...
    }


//Picks the lowest element from collection of valueObjects based 
//on the beanAttribute .
2) public static <T> T min(Collection<T> list, String beanPropertyName)
   {
   ...
    }


// Selects the object from collection based on beanProperty and value
// like select * from Person where name='Ganesh Gowtham' ( i will get the Person Object)
 3 ) public static <T> T selectObjectFromCollection(Collection<T> list,
   String beanPropertyName, Object value)
   {
   ...
   }

// Selects the Collection of objects from main collection 
// like select * from Person where salary = 3000  --> returns the List<Person> with
salary = 3000
4 ) public static <T> Collection<T> selectFromList(Collection<T> list,
   String beanPropertyName, Object value) 
      {
       ...
       }


// higher version of (4) where in (5) will take array of attrbute names and array of values
  
5) public static <T> Collection<T> selectFromList(Collection<T> list,
String[] beanPropertyName, Object[] value) 
    {
    ...
    }


Thanks for your Good Work .

Gowtham
8 http://ganesh.gowtham.googlepages.com 



From: Niall Pemberton (JIRA)
Sent: Tue 8/4/2009 9:10 PM
To: ganesh.gowtham@gmail.com
Subject: [jira] Updated: (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:all-tabpanel
]

Niall Pemberton updated BEANUTILS-352:
--------------------------------------

    Fix Version/s: LATER THAN 1.8.1


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


> 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
>            Priority: Minor
>             Fix For: LATER THAN 1.8.1
>
>
> 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.


Mime
View raw message