commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Eric Pugh" <ep...@upstate.com>
Subject RE: [COLLECTIONS/BEANUTILS] Is there a comparator that can dynamically pick a method to call on a bean?
Date Mon, 10 Jun 2002 21:00:01 GMT
Argh!  Read the darn Manual!  I have slapped it a mention of it to my
LowercaseComparator..  I guess the only thing is that you can't daisy chain
farther with the CASE_INSENSITIVE_ORDER version..  Although I am not sure
you would want to either..

Eric
-----Original Message-----
From: Jack, Paul [mailto:pjack@sfaf.org]
Sent: Monday, June 10, 2002 4:45 PM
To: 'Jakarta Commons Developers List'
Subject: RE: [COLLECTIONS/BEANUTILS] Is there a comparator that can
dynamically pick a method to call on a bean?


FYI, java.lang.String.CASE_INSENSITIVE_ORDER does what your
LowercaseComparator does, but somewhat more efficiently.

-Paul


> -----Original Message-----
> From: Eric Pugh [mailto:epugh@upstate.com]
> Sent: Monday, June 10, 2002 1:35 PM
> To: 'Jakarta Commons Developers List'
> Subject: RE: [COLLECTIONS/BEANUTILS] Is there a comparator that can
> dynamically pick a method to call on a bean?
>
>
> Hi all,
>
> Attached is my first attempt at submitting a BeanComparator,
> along with the
> test case..  However, i am running into two issues becomes of
> my lack of
> familiarty with beans that are causing me pain.  However, in my app,
> everything is working great!  My testcase is attached.
>
> 1) the test suite fails because my test object which has a
> getBeanValue and
> setBeanValue causes the WrapDynaBean class to throw an exception that
> "value" has no read method..  Yet it does, and in other uses of the
> BeanComparator in my code it works great.
>
> 2) All comparisions are string comparisons..  So when I
> compare Bigdecimals
> 2, 12, and 22, the orders is 12, 2, 22!  Do I need to hand in
> another class
> to cast the objects to?
>
> Also, I would love to see the ComparatorUtils, I created my own one to
> handle the reversing of my sorts based on the text values
> ASC/DESC, and
> removed them from my BeanComparator.
>
> I have also attached my LowercaseComparator..  I was sorting
> columns of
> String data, and noticed that if I didn't lowercase them, the
> A versus a
> differenced caused funny looking ordering.  I also set up
> LowercaseComparator and BeanComparator to work as decorators
> (similar to
> ReverseComparator).  Lastly, for the bean comparator, I am using
> PropertyUtils, so if you can pass in NESTED properties!  customer.name
> results in getCustomer().getName() being returned!  I would
> love to add
> jxPath converter as I build up some more experience!
>
> Here is some sample code:
>
> 	public static Comparator sortedBean( String sortProperty, String
> sortPolarity )
> 		throws java.lang.IllegalArgumentException {
> 		Comparator c = null;
> 		sortPolarity = sortPolarity.toUpperCase();
> 		if ( !sortPolarity.equals( ASC ) &&
> !sortPolarity.equals( DESC ) ) {
> 			throw new
> java.lang.IllegalArgumentException( "The argument:" +
> sortPolarity + " was invalid." );
> 		}
> 		if ( sortPolarity.equals( ASC ) ) {
> 			c = new BeanComparator( sortProperty,
> new LowercaseComparator() );
> 		}
> 		else {
> 			c = new ReverseComparator( new
> BeanComparator( sortProperty, new
> LowercaseComparator() ) );
>
> 		}
> 		return c;
> 	}
>
>
> Any suggestions/help would be much appreciated, and I would
> love to see
> these added to the comparators available!
>
> Eric
>
> -----Original Message-----
> From: Michael A. Smith [mailto:mas@apache.org]
> Sent: Friday, June 07, 2002 3:07 PM
> To: Jakarta Commons Developers List
> Subject: RE: [COLLECTIONS/BEANUTILS] Is there a comparator that can
> dynamically pick a method to call on a bean?
>
>
> On Fri, 7 Jun 2002, Henri Yandell wrote:
> > Sorry Eric, I'm not sure you got my question.
> >
> > BeanComparator = good, +1. I think it'd be great to commit a
> > BeanComparator.
> >
> > The ASC/DESC bit is unnecessary I think due to
> ReverseComparator. This is
> > an opinion though, I don't believe in ASC/DESC in
> Comparators. So I was
> > just -1 on the Polarity part of your BeanComparator :)
> >
> > Morgan or Michael may want to veto that though :)
>
> Neither of us can veto your veto.  We can try to twist your
> arm, but in
> this case, I have no reason to: I agree with you.  The reverse
> comparator can provide the complementary ascending or descending
> behavior.
>
> regards,
> michael
>
>
> --
> To unsubscribe, e-mail:
> <mailto:commons-dev-unsubscribe@jakarta.apache.org>
> For additional commands, e-mail:
> <mailto:commons-dev-help@jakarta.apache.org>
>

--
To unsubscribe, e-mail:
<mailto:commons-dev-unsubscribe@jakarta.apache.org>
For additional commands, e-mail:
<mailto:commons-dev-help@jakarta.apache.org>


--
To unsubscribe, e-mail:   <mailto:commons-dev-unsubscribe@jakarta.apache.org>
For additional commands, e-mail: <mailto:commons-dev-help@jakarta.apache.org>


Mime
View raw message