Hello,
I have some concerns regarding of *Validate* class with the case of null
pointer exceptions. I see that there are some misleading messages, please
see below:
/**
* Expected: java.lang.NullPointerException: The validated object is
null
* Actual: java.lang.NullPointerException: The validated array is
empty
*/
Validate.notEmpty((Object[]) null);
/**
* Expected: java.lang.NullPointerException: The validated object is
null
* Actual: java.lang.NullPointerException: MSG
*/
Validate.notEmpty((Object[]) null, "MSG");
/**
* Expected: java.lang.NullPointerException: The validated object is
null
* Actual: java.lang.NullPointerException: The validated collection
is empty
*/
Validate.notEmpty((Collection<?>) null);
/**
* Expected: java.lang.NullPointerException: The validated object is
null
* Actual: java.lang.NullPointerException: MSG
*/
Validate.notEmpty((Collection<?>) null, "MSG");
/**
* Expected: java.lang.NullPointerException: The validated object is
null
* Actual: java.lang.NullPointerException: The validated map is empty
*/
Validate.notEmpty((Map<?, ?>) null);
/**
* Expected: java.lang.NullPointerException: The validated object is
null
* Actual: java.lang.NullPointerException: MSG
*/
Validate.notEmpty((Map<?, ?>) null, "MSG");
/**
* Expected: java.lang.NullPointerException: The validated object is
null
* Actual: java.lang.NullPointerException: The validated character
sequence is empty
*/
Validate.notEmpty((CharSequence) null);
/**
* Expected: java.lang.NullPointerException: The validated object is
null
* Actual: java.lang.NullPointerException: MSG
*/
Validate.notEmpty((CharSequence) null, "MSG");
/**
* Expected: java.lang.NullPointerException: The validated object is
null
* Actual: java.lang.NullPointerException: The validated character
sequence is blank
*/
Validate.notBlank((CharSequence) null);
/**
* Expected: java.lang.NullPointerException: The validated object is
null
* Actual: java.lang.NullPointerException: MSG
*/
Validate.notBlank((CharSequence) null, "MSG");
/**
* Ok: java.lang.NullPointerException: The validated object is null
*/
Validate.noNullElements((Object[]) null);
/**
* Ok: java.lang.NullPointerException: The validated object is null
*/
Validate.noNullElements((Object[]) null, "MSG");
Validate.validIndex(...); //=> ok will null
If you agree on the expected NullPointerException, I'll give the patch for
this issue for fixing it; there are duplicated code in *Validate* class, and
some unit test parts for *ValidateTest* are not relevant, too. Thanks.
On Tue, Apr 12, 2011 at 2:45 PM, Jörg Schaible
<[email protected]>wrote:
> Hi Phil,
>
> Phil Steitz wrote:
>
> > On 4/10/11 11:44 PM, Jörg Schaible wrote:
> >> Hi Hen,
> >>
> >> Henri Yandell wrote:
> >>
> >>> On Sun, Apr 10, 2011 at 1:43 PM, Phil Steitz <[email protected]>
> >> [snip]
> >>
> >>>> * One last nit - why did we decide to dump the Ant build. Version
> >>>> 2.6 seems to have a working Ant build. Why wouldn't the same build
> >>>> work for 3.0. If you are OK with this, I will try to get the Ant
> >>>> build restored.
> >>> IIRC, because no one was maintaining it. I've dumped other Ant builds
> >>> in other components too over the last 4 years (along with maven1
> >>> builds). I'm generally -1 to the "there are many ways to build it"
> >>> approach. It takes the pain of dealing with one build system and
> >>> increases it to 3x the pain. [manage build1, manage build2 and then
> >>> ensure build1 and build2 stay in sync].
> >> Same here. Why deliver two build scripts .. is anybody actually keen on
> >> ensuring that both builds generate the same stuff? What do we vote on
> >> then?
> >>
> > We vote on what goes to dist/
> >
> > The point of keeping a working Ant build is for users who want to
> > build from source and are not Maven users (many, many users in the
> > real world).
>
> My point is that there are quite some distros (Debian, Gentoo, ...) and
> vendors (jBoss) that will always build on their own. Can we ensure that the
> Ant build will always create the same artifacts?
>
> - Jörg
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
>
>
--
Hoat Le [hoatle.net]