[
https://issues.apache.org/jira/browse/CONFIGURATION-282?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12511235
]
Oliver Heger commented on CONFIGURATION-282:
--------------------------------------------
A fix was committed that initializes the default expression engine every time
if it is null. Can you please check whether this solves your problem?
Unfortunately I have no idea how to write a unit test that demonstrates the
problem. However because the defaultExpressionEngine field is now null at the
beginning, code coverage should be complete.
There is now some additional overhead because of the required synchronization
of the static getDefaultExpressionEngine() method, which also gets called if no
specific expression engine is set for a configuration instance. This could be
avoided if the default expression engine is fetched once in the constructor of
HierarchicalConfiguration and copied into the member field for the local
expression engine. The drawback is that this could break existing code that
relies on the fact that changing the default expression engine immediately
impacts all configuration instances that have no specific expression engine
set. So I would prefer making this change only in a major release.
> NPE in HierarchicalConfiguration.fetchNodeList
> ----------------------------------------------
>
> Key: CONFIGURATION-282
> URL: https://issues.apache.org/jira/browse/CONFIGURATION-282
> Project: Commons Configuration
> Issue Type: Bug
> Affects Versions: 1.4
> Environment: Linux, Java 1.5
> Reporter: Dennis Kieselhorst
> Assignee: Oliver Heger
>
> java.lang.NullPointerException
> at
> org.apache.commons.configuration.HierarchicalConfiguration.fetchNodeList(HierarchicalConfiguration.java:721)
> at
> org.apache.commons.configuration.AbstractHierarchicalFileConfiguration.fetchNodeList(AbstractHierarchicalFileConfiguration.java:338)
> at
> org.apache.commons.configuration.HierarchicalConfiguration.getProperty(HierarchicalConfiguration.java:284)
> at
> org.apache.commons.configuration.AbstractHierarchicalFileConfiguration.getProperty(AbstractHierarchicalFileConfiguration.java:319)
> at
> org.apache.commons.configuration.AbstractConfiguration.resolveContainerStore(AbstractConfiguration.java:1222)
> at
> org.apache.commons.configuration.AbstractConfiguration.getBoolean(AbstractConfiguration.java:667)
> at
> org.apache.commons.configuration.AbstractConfiguration.getBoolean(AbstractConfiguration.java:633)
> java.lang.NullPointerException
> at
> org.apache.commons.configuration.HierarchicalConfiguration.fetchNodeList(HierarchicalConfiguration.java:721)
> at
> org.apache.commons.configuration.AbstractHierarchicalFileConfiguration.fetchNodeList(AbstractHierarchicalFileConfiguration.java:338)
> at
> org.apache.commons.configuration.HierarchicalConfiguration.getProperty(HierarchicalConfiguration.java:284)
> at
> org.apache.commons.configuration.AbstractHierarchicalFileConfiguration.getProperty(AbstractHierarchicalFileConfiguration.java:319)
> at
> org.apache.commons.configuration.AbstractConfiguration.resolveContainerStore(AbstractConfiguration.java:1222)
> at
> org.apache.commons.configuration.AbstractConfiguration.getString(AbstractConfiguration.java:1097)
> at
> org.apache.commons.configuration.AbstractConfiguration.getString(AbstractConfiguration.java:1077)
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]