Author: oheger Date: Sun Mar 2 13:06:57 2008 New Revision: 632845 URL: http://svn.apache.org/viewvc?rev=632845&view=rev Log: CONFIGURATION-315: Applying fix to configuration2-branch
Modified: commons/proper/configuration/branches/configuration2_experimental/src/main/java/org/apache/commons/configuration2/CombinedConfiguration.java commons/proper/configuration/branches/configuration2_experimental/src/test/java/org/apache/commons/configuration2/TestCombinedConfiguration.java commons/proper/configuration/branches/configuration2_experimental/xdocs/changes.xml Modified: commons/proper/configuration/branches/configuration2_experimental/src/main/java/org/apache/commons/configuration2/CombinedConfiguration.java URL: http://svn.apache.org/viewvc/commons/proper/configuration/branches/configuration2_experimental/src/main/java/org/apache/commons/configuration2/CombinedConfiguration.java?rev=632845&r1=632844&r2=632845&view=diff ============================================================================== --- commons/proper/configuration/branches/configuration2_experimental/src/main/java/org/apache/commons/configuration2/CombinedConfiguration.java (original) +++ commons/proper/configuration/branches/configuration2_experimental/src/main/java/org/apache/commons/configuration2/CombinedConfiguration.java Sun Mar 2 13:06:57 2008 @@ -485,7 +485,10 @@ */ public void configurationChanged(ConfigurationEvent event) { - invalidate(); + if (!event.isBeforeUpdate()) + { + invalidate(); + } } /** Modified: commons/proper/configuration/branches/configuration2_experimental/src/test/java/org/apache/commons/configuration2/TestCombinedConfiguration.java URL: http://svn.apache.org/viewvc/commons/proper/configuration/branches/configuration2_experimental/src/test/java/org/apache/commons/configuration2/TestCombinedConfiguration.java?rev=632845&r1=632844&r2=632845&view=diff ============================================================================== --- commons/proper/configuration/branches/configuration2_experimental/src/test/java/org/apache/commons/configuration2/TestCombinedConfiguration.java (original) +++ commons/proper/configuration/branches/configuration2_experimental/src/test/java/org/apache/commons/configuration2/TestCombinedConfiguration.java Sun Mar 2 13:06:57 2008 @@ -326,7 +326,7 @@ c.addProperty("test.otherTest", "yes"); assertEquals("New property not found", "yes", config .getString("test.otherTest")); - listener.checkEvent(3, 0); + listener.checkEvent(2, 0); } /** @@ -574,6 +574,21 @@ sub.addProperty("test.pi", "3\\,1415"); config.addConfiguration(sub); assertEquals("Wrong value", "3,1415", config.getString("test.pi")); + } + + /** + * Tests whether an invalidate event is fired only after a change. This test + * is related to CONFIGURATION-315. + */ + public void testInvalidateAfterChange() + { + ConfigurationEvent event = new ConfigurationEvent(config, 0, null, + null, true); + config.configurationChanged(event); + assertEquals("Invalidate event fired", 0, listener.invalidateEvents); + event = new ConfigurationEvent(config, 0, null, null, false); + config.configurationChanged(event); + assertEquals("No invalidate event fired", 1, listener.invalidateEvents); } /** Modified: commons/proper/configuration/branches/configuration2_experimental/xdocs/changes.xml URL: http://svn.apache.org/viewvc/commons/proper/configuration/branches/configuration2_experimental/xdocs/changes.xml?rev=632845&r1=632844&r2=632845&view=diff ============================================================================== --- commons/proper/configuration/branches/configuration2_experimental/xdocs/changes.xml (original) +++ commons/proper/configuration/branches/configuration2_experimental/xdocs/changes.xml Sun Mar 2 13:06:57 2008 @@ -66,6 +66,11 @@ </release> <release version="1.6" date="in SVN" description=""> + <action dev="oheger" type="fix" issue="CONFIGURATION-315"> + CombinedConfiguration used to send two EVENT_COMBINED_INVALIDATE events + for each modified child configuration. Now this event is sent only + once after the affected child configuration was updated. + </action> <action dev="oheger" type="fix" issue="CONFIGURATION-306"> INIConfiguration now preserves whitespace in quoted values. </action>