[ 
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.

Reply via email to