[
https://issues.apache.org/jira/browse/CONFIGURATION-431?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12971416#action_12971416
]
Oliver Heger commented on CONFIGURATION-431:
--------------------------------------------
There are probably other classes which have the same issue. I think the problem
is caused by the different constructors of AbstractFileConfiguration which
already load the configuration file and call non-final methods which are
overridden in subclasses.
A safe solution would be to deprecate all these constructors except for the
standard constructor. Client code should create a configuration instance by
calling the default constructor and then load the data in a second step.
WDYT, would this solve the problem?
> Code caused NullPointer error in XMLConfiguration
> -------------------------------------------------
>
> Key: CONFIGURATION-431
> URL: https://issues.apache.org/jira/browse/CONFIGURATION-431
> Project: Commons Configuration
> Issue Type: Bug
> Affects Versions: 1.6
> Reporter: gentboy
> Priority: Critical
>
> In class XMLConfiguration there is a code structure like below:
> public static void main(String[] args) {
> new B();
> }
> static abstract class A {
> A(){
> print();
> }
> abstract void print();
> }
>
> static class B extends A{
> String s = new String("asdf");
> B(){
> super();
> }
>
> void print(){
> System.out.println(s);
> }
> }
> While in B.print the field s is actually not initialized because it is called
> from the super() method.
> In XMLConfiguration the not properly initialized field is registeredEntities,
> which will defenitly cause nullpointer in some case.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.