Return-Path: Delivered-To: apmail-commons-dev-archive@www.apache.org Received: (qmail 75330 invoked from network); 12 Apr 2011 14:29:49 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 12 Apr 2011 14:29:49 -0000 Received: (qmail 20586 invoked by uid 500); 12 Apr 2011 14:29:49 -0000 Delivered-To: apmail-commons-dev-archive@commons.apache.org Received: (qmail 20486 invoked by uid 500); 12 Apr 2011 14:29:48 -0000 Mailing-List: contact dev-help@commons.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: "Commons Developers List" Delivered-To: mailing list dev@commons.apache.org Received: (qmail 20478 invoked by uid 99); 12 Apr 2011 14:29:48 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 12 Apr 2011 14:29:48 +0000 X-ASF-Spam-Status: No, hits=1.5 required=5.0 tests=FREEMAIL_FROM,HTML_MESSAGE,RCVD_IN_DNSWL_LOW,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of hoatlevan@gmail.com designates 74.125.83.171 as permitted sender) Received: from [74.125.83.171] (HELO mail-pv0-f171.google.com) (74.125.83.171) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 12 Apr 2011 14:29:44 +0000 Received: by pva4 with SMTP id 4so2546131pva.30 for ; Tue, 12 Apr 2011 07:29:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc:content-type; bh=YuTuEk8AJeasTc9IhLYd7N+tjULDmutN+NFZTZ2jxAg=; b=u1Eqm4Hhagbm4X7QgEPI40nnVz9MEuBhBqebC/z1/mMjATTneoESKuLopPgMraPZCF ZDYeBNiFeaqRn7xBA77f1l3d0H8pSC5TyX6UxwmI2aB2vOciW0c4Y0M72oO2W2/kejI/ quFTDi3TvuGXTLUxG6bfYa2LZjTex38gaTabw= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc:content-type; b=D5lU4ulBa73+izCnRfr/CURQpXib3qPHUwXZ/3qwW+l34+4iCMVcMqHAx4C8kPhDj1 /rur6VtRLq440kqYn/6PG9ozrXKuqFvLiYMHVdydpCNEDdFdwQ3468i2s90rm7OCtOQu tLuIdblFgX1Psay5dy9rt79W1D7DsiPt71lKg= Received: by 10.142.229.13 with SMTP id b13mr6765203wfh.405.1302618563171; Tue, 12 Apr 2011 07:29:23 -0700 (PDT) MIME-Version: 1.0 Received: by 10.68.46.34 with HTTP; Tue, 12 Apr 2011 07:29:02 -0700 (PDT) In-Reply-To: References: <4DA2168D.60202@gmail.com> <4DA31AEE.10003@gmail.com> From: Hoat Le Date: Tue, 12 Apr 2011 21:29:02 +0700 Message-ID: Subject: Re: [VOTE] [LANG] Release Commons Lang 3.0 (based on RC2) To: Commons Developers List Cc: =?UTF-8?Q?J=C3=B6rg_Schaible?= Content-Type: multipart/alternative; boundary=000e0cd32b5cbc54df04a0b984d0 --000e0cd32b5cbc54df04a0b984d0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable 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 empt= y */ 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(...); //=3D> 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, an= d some unit test parts for *ValidateTest* are not relevant, too. Thanks. On Tue, Apr 12, 2011 at 2:45 PM, J=C3=B6rg Schaible wrote: > Hi Phil, > > Phil Steitz wrote: > > > On 4/10/11 11:44 PM, J=C3=B6rg Schaible wrote: > >> Hi Hen, > >> > >> Henri Yandell wrote: > >> > >>> On Sun, Apr 10, 2011 at 1:43 PM, Phil Steitz > >> [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 o= n > >> 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 t= he > Ant build will always create the same artifacts? > > - J=C3=B6rg > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org > For additional commands, e-mail: dev-help@commons.apache.org > > --=20 Hoat Le [hoatle.net] --000e0cd32b5cbc54df04a0b984d0--