You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cxf.apache.org by "ASF GitHub Bot (JIRA)" <ji...@apache.org> on 2014/07/02 21:03:25 UTC

[jira] [Commented] (CXF-5822) NullPointerException in PropertiesLoaderUtils

    [ https://issues.apache.org/jira/browse/CXF-5822?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14050568#comment-14050568 ] 

ASF GitHub Bot commented on CXF-5822:
-------------------------------------

Github user dkulp commented on the pull request:

    https://github.com/apache/cxf/pull/8#issuecomment-47820434
  
    This pull request was committed by Sergey.  Can it be closed please?


> NullPointerException in PropertiesLoaderUtils
> ---------------------------------------------
>
>                 Key: CXF-5822
>                 URL: https://issues.apache.org/jira/browse/CXF-5822
>             Project: CXF
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 2.6.14
>            Reporter: Christoph Eßer
>            Assignee: Sergey Beryozkin
>            Priority: Critical
>             Fix For: 2.6.15, 2.7.12, 3.0.1
>
>
> Under some circumstances in our project {{Thread.currentThread().getContextClasssLoader()}} is {{null}}. This leads to a {{NullPointerException}} when org.apache.cxf.common.util.PropertiesLoaderUtils.loadAllProperties() is called with that as an argument.
> This is the specific part of the code that contains the problem:
> {code:title=PropertiesLoaderUtils.java|borderStyle=solid}
> /**
>      * Load all properties from the given class path resource, using the given
>      * class loader.
>      * <p>
>      * Merges properties if more than one resource of the same name found in the
>      * class path.
>      * 
>      * @param resourceName the name of the class path resource
>      * @param classLoader the ClassLoader to use for loading (or
>      *            <code>null</code> to use the default class loader)
>      * @return the populated Properties instance
>      * @throws IOException if loading failed
>      */
>     public static Properties loadAllProperties(String resourceName, ClassLoader classLoader)
>         throws IOException {
>         return loadAllProperties(resourceName, classLoader, null, null, null);
>     }        
>     public static Properties loadAllProperties(String resourceName, ClassLoader classLoader,
>                                                Logger logger, Level level, String msg)
>         throws IOException {
>         Properties properties = new Properties();
>         Enumeration<URL> urls = classLoader.getResources(resourceName);
> ...
> {code}
> The Javadoc says that {{null}} is a valid value for this argument. However, the code does not check the variable for {{null}} and just calls {{classLoader.getResources(resourceName)}}. This check should be added and {{classLoader}} should be set to a reasonable value in case it is {{null}}. I will add a pull request for a fix of this issue later.
> Please note that we are bound to Java 1.5 in our project and thus switching to CXF 2.7 or 3.0 is not possible for us.



--
This message was sent by Atlassian JIRA
(v6.2#6252)