[ 
https://issues.apache.org/jira/browse/COLLECTIONS-299?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Thomas Neidhart updated COLLECTIONS-299:
----------------------------------------

    Fix Version/s:     (was: 4.0)
    
> ExtendedProperties.convertProperties loses non-String values
> ------------------------------------------------------------
>
>                 Key: COLLECTIONS-299
>                 URL: https://issues.apache.org/jira/browse/COLLECTIONS-299
>             Project: Commons Collections
>          Issue Type: Bug
>          Components: Core
>            Reporter: Simon Kitching
>
> A Properties object normally has Strings as its values. But it does partially 
> support non-String-typed values via the raw put and get methods inherited 
> from Hashtable. And other Properties methods are aware that the value might 
> not be a String; see documentation for methods propertyNames() and 
> stringPropertyNames() for example.
> ExtendedProperties.convertProperties does this:
> {code}
> for (Enumeration e = props.propertyNames(); e.hasMoreElements();) {
>       String s = (String) e.nextElement();
>       c.setProperty(s, props.getProperty(s));
> }
> {code}
> Properties.propertyNames() returns the names of all keys in the set, 
> regardless of the associated value's type. But Properties.getProperty(key) 
> returns null if the value type is not a String. The call to c.setProperty 
> invokes setPropertyInternal, which can pass this null value to Hashtable.put, 
> which then throws a NullPointerException.
> It's rather puzzling to have a valid (string-key, non-string-value) entry in 
> the Properties object and get a NullPointerException.
> Perhaps the call
>   props.getProperty(s)
> can be changed to
>   props.get(s)
> Alternately, at least documenting that this method does not support 
> non-string values in the input Properties object would be useful.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to