Inconsistent Javadoc comment and code in addIgnoreNull(Collection<T>, T) in 
org.apache.commons.collections.CollectionUtils
--------------------------------------------------------------------------------------------------------------------------

                 Key: COLLECTIONS-400
                 URL: https://issues.apache.org/jira/browse/COLLECTIONS-400
             Project: Commons Collections
          Issue Type: Bug
          Components: Collection
    Affects Versions: 3.2.1
         Environment: Platform independent
            Reporter: SHIN HWEI TAN


The Javadoc comment below states that the method "throws NullPointerException 
if the collection is null". 
            /**
               .....
             * @param collection  the collection to add to, must not be null
             * @param object  the object to add, if null it will not be added
             * @return true if the collection changed
             * @throws NullPointerException if the collection is null
             */
            public static <T> boolean addIgnoreNull(Collection<T> collection, T 
object) {
                return (object != null && collection.add(object));
            }
However, when called with an null collection and a null object (i.e., 
"addIgnoreNull((Collection)null, null)"), the method executes normally without 
throwing any exception.

Suggested Fixes:
1. Add code "if (collection == null) throw NullPointerException();" at the 
beginning of the method body.
or
2. Remove "@throws NullPointerException if the collection is null" from the 
Javadoc.
or
3. Change "@throws NullPointerException if the collection is null" to "@throws 
NullPointerException if the collection is null and the object is non-null)".

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to