Author: oheger Date: Mon Jul 9 12:37:37 2007 New Revision: 554746 URL: http://svn.apache.org/viewvc?view=rev&rev=554746 Log: CONFIGURATION-282: Initialize default expression engine for HierarchicalConfiguration lazily if it is null. This should avoid NPEs after redeployment.
Modified: jakarta/commons/proper/configuration/trunk/src/java/org/apache/commons/configuration/HierarchicalConfiguration.java jakarta/commons/proper/configuration/trunk/xdocs/changes.xml Modified: jakarta/commons/proper/configuration/trunk/src/java/org/apache/commons/configuration/HierarchicalConfiguration.java URL: http://svn.apache.org/viewvc/jakarta/commons/proper/configuration/trunk/src/java/org/apache/commons/configuration/HierarchicalConfiguration.java?view=diff&rev=554746&r1=554745&r2=554746 ============================================================================== --- jakarta/commons/proper/configuration/trunk/src/java/org/apache/commons/configuration/HierarchicalConfiguration.java (original) +++ jakarta/commons/proper/configuration/trunk/src/java/org/apache/commons/configuration/HierarchicalConfiguration.java Mon Jul 9 12:37:37 2007 @@ -151,7 +151,7 @@ private static final long serialVersionUID = 3373812230395363192L; /** Stores the default expression engine to be used for new objects.*/ - private static ExpressionEngine defaultExpressionEngine = new DefaultExpressionEngine(); + private static ExpressionEngine defaultExpressionEngine; /** Stores the root node of this configuration. This field is required for * backwards compatibility only. @@ -258,8 +258,12 @@ * @return the default expression engine * @since 1.3 */ - public static ExpressionEngine getDefaultExpressionEngine() + public static synchronized ExpressionEngine getDefaultExpressionEngine() { + if (defaultExpressionEngine == null) + { + defaultExpressionEngine = new DefaultExpressionEngine(); + } return defaultExpressionEngine; } @@ -272,7 +276,7 @@ * @param engine the new default expression engine * @since 1.3 */ - public static void setDefaultExpressionEngine(ExpressionEngine engine) + public static synchronized void setDefaultExpressionEngine(ExpressionEngine engine) { if (engine == null) { Modified: jakarta/commons/proper/configuration/trunk/xdocs/changes.xml URL: http://svn.apache.org/viewvc/jakarta/commons/proper/configuration/trunk/xdocs/changes.xml?view=diff&rev=554746&r1=554745&r2=554746 ============================================================================== --- jakarta/commons/proper/configuration/trunk/xdocs/changes.xml (original) +++ jakarta/commons/proper/configuration/trunk/xdocs/changes.xml Mon Jul 9 12:37:37 2007 @@ -23,6 +23,11 @@ <body> <release version="1.5-SNAPSHOT" date="in SVN" description=""> + <action dev="oheger" type="fix" issue="CONFIGURATION-282"> + The default expression engine used by HierarchicalConfiguration + instances is now lazily initialized. This avoids NullPointerExceptions + in certain server environments after a redeploy. + </action> <action dev="oheger" type="fix" issue="CONFIGURATION-281"> Cycles in the JNDI tree no longer cause a stack overflow in JNDIConfiguration. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]