Return-Path: Delivered-To: apmail-commons-commits-archive@minotaur.apache.org Received: (qmail 54565 invoked from network); 9 Jan 2010 11:44:28 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 9 Jan 2010 11:44:28 -0000 Received: (qmail 2862 invoked by uid 500); 9 Jan 2010 11:44:28 -0000 Delivered-To: apmail-commons-commits-archive@commons.apache.org Received: (qmail 2779 invoked by uid 500); 9 Jan 2010 11:44:28 -0000 Mailing-List: contact commits-help@commons.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@commons.apache.org Delivered-To: mailing list commits@commons.apache.org Received: (qmail 2770 invoked by uid 99); 9 Jan 2010 11:44:28 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 09 Jan 2010 11:44:28 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 09 Jan 2010 11:44:27 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id 0A8DA23889F7; Sat, 9 Jan 2010 11:44:07 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r897421 - in /commons/proper/lang/trunk/src/main/java/org/apache/commons/lang3/builder: CompareToBuilder.java EqualsBuilder.java HashCodeBuilder.java Date: Sat, 09 Jan 2010 11:44:06 -0000 To: commits@commons.apache.org From: bayard@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20100109114407.0A8DA23889F7@eris.apache.org> Author: bayard Date: Sat Jan 9 11:44:06 2010 New Revision: 897421 URL: http://svn.apache.org/viewvc?rev=897421&view=rev Log: Replacing the creation of a List in the core of each Builder class to test contains on the excludeFields with a call to ArrayUtils.contains. Reported by Anthony Whitford in LANG-575 Modified: commons/proper/lang/trunk/src/main/java/org/apache/commons/lang3/builder/CompareToBuilder.java commons/proper/lang/trunk/src/main/java/org/apache/commons/lang3/builder/EqualsBuilder.java commons/proper/lang/trunk/src/main/java/org/apache/commons/lang3/builder/HashCodeBuilder.java Modified: commons/proper/lang/trunk/src/main/java/org/apache/commons/lang3/builder/CompareToBuilder.java URL: http://svn.apache.org/viewvc/commons/proper/lang/trunk/src/main/java/org/apache/commons/lang3/builder/CompareToBuilder.java?rev=897421&r1=897420&r2=897421&view=diff ============================================================================== --- commons/proper/lang/trunk/src/main/java/org/apache/commons/lang3/builder/CompareToBuilder.java (original) +++ commons/proper/lang/trunk/src/main/java/org/apache/commons/lang3/builder/CompareToBuilder.java Sat Jan 9 11:44:06 2010 @@ -25,6 +25,8 @@ import java.util.Comparator; import java.util.List; +import org.apache.commons.lang3.ArrayUtils; + /** * Assists in implementing {@link java.lang.Comparable#compareTo(Object)} methods. * @@ -353,11 +355,10 @@ String[] excludeFields) { Field[] fields = clazz.getDeclaredFields(); - List excludedFieldList = excludeFields != null ? Arrays.asList(excludeFields) : Collections.emptyList(); AccessibleObject.setAccessible(fields, true); for (int i = 0; i < fields.length && builder.comparison == 0; i++) { Field f = fields[i]; - if (!excludedFieldList.contains(f.getName()) + if (!ArrayUtils.contains(excludeFields, f.getName()) && (f.getName().indexOf('$') == -1) && (useTransients || !Modifier.isTransient(f.getModifiers())) && (!Modifier.isStatic(f.getModifiers()))) { Modified: commons/proper/lang/trunk/src/main/java/org/apache/commons/lang3/builder/EqualsBuilder.java URL: http://svn.apache.org/viewvc/commons/proper/lang/trunk/src/main/java/org/apache/commons/lang3/builder/EqualsBuilder.java?rev=897421&r1=897420&r2=897421&view=diff ============================================================================== --- commons/proper/lang/trunk/src/main/java/org/apache/commons/lang3/builder/EqualsBuilder.java (original) +++ commons/proper/lang/trunk/src/main/java/org/apache/commons/lang3/builder/EqualsBuilder.java Sat Jan 9 11:44:06 2010 @@ -24,6 +24,8 @@ import java.util.Collections; import java.util.List; +import org.apache.commons.lang3.ArrayUtils; + /** *

Assists in implementing {@link Object#equals(Object)} methods.

* @@ -318,11 +320,10 @@ boolean useTransients, String[] excludeFields) { Field[] fields = clazz.getDeclaredFields(); - List excludedFieldList = excludeFields != null ? Arrays.asList(excludeFields) : Collections.emptyList(); AccessibleObject.setAccessible(fields, true); for (int i = 0; i < fields.length && builder.isEquals; i++) { Field f = fields[i]; - if (!excludedFieldList.contains(f.getName()) + if (!ArrayUtils.contains(excludeFields, f.getName()) && (f.getName().indexOf('$') == -1) && (useTransients || !Modifier.isTransient(f.getModifiers())) && (!Modifier.isStatic(f.getModifiers()))) { Modified: commons/proper/lang/trunk/src/main/java/org/apache/commons/lang3/builder/HashCodeBuilder.java URL: http://svn.apache.org/viewvc/commons/proper/lang/trunk/src/main/java/org/apache/commons/lang3/builder/HashCodeBuilder.java?rev=897421&r1=897420&r2=897421&view=diff ============================================================================== --- commons/proper/lang/trunk/src/main/java/org/apache/commons/lang3/builder/HashCodeBuilder.java (original) +++ commons/proper/lang/trunk/src/main/java/org/apache/commons/lang3/builder/HashCodeBuilder.java Sat Jan 9 11:44:06 2010 @@ -27,6 +27,8 @@ import java.util.List; import java.util.Set; +import org.apache.commons.lang3.ArrayUtils; + /** *

* Assists in implementing {@link Object#hashCode()} methods. @@ -179,10 +181,9 @@ try { register(object); Field[] fields = clazz.getDeclaredFields(); - List excludedFieldList = excludeFields != null ? Arrays.asList(excludeFields) : Collections.emptyList(); AccessibleObject.setAccessible(fields, true); for (Field field : fields) { - if (!excludedFieldList.contains(field.getName()) + if (!ArrayUtils.contains(excludeFields, field.getName()) && (field.getName().indexOf('$') == -1) && (useTransients || !Modifier.isTransient(field.getModifiers())) && (!Modifier.isStatic(field.getModifiers()))) {