commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Oliver Heger (JIRA)" <j...@apache.org>
Subject [jira] Commented: (CONFIGURATION-431) Code caused NullPointer error in XMLConfiguration
Date Tue, 14 Dec 2010 21:22:01 GMT

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


Mime
View raw message