commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Hoat Le <hoatle...@gmail.com>
Subject Re: [VOTE] [LANG] Release Commons Lang 3.0 (based on RC2)
Date Tue, 12 Apr 2011 14:29:02 GMT
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
<joerg.schaible@scalaris.com>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 <phil.steitz@gmail.com>
> >> [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: dev-unsubscribe@commons.apache.org
> For additional commands, e-mail: dev-help@commons.apache.org
>
>


-- 
Hoat Le [hoatle.net]

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message