You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by oh...@apache.org on 2008/03/02 22:00:45 UTC
svn commit: r632843 - in /commons/proper/configuration/trunk:
src/java/org/apache/commons/configuration/CombinedConfiguration.java
src/test/org/apache/commons/configuration/TestCombinedConfiguration.java
xdocs/changes.xml
Author: oheger
Date: Sun Mar 2 13:00:44 2008
New Revision: 632843
URL: http://svn.apache.org/viewvc?rev=632843&view=rev
Log:
CONFIGURATION-315: CombinedConfiguration now only sends a single EVENT_COMBINED_INVALIDATE event for a changed child configuration
Modified:
commons/proper/configuration/trunk/src/java/org/apache/commons/configuration/CombinedConfiguration.java
commons/proper/configuration/trunk/src/test/org/apache/commons/configuration/TestCombinedConfiguration.java
commons/proper/configuration/trunk/xdocs/changes.xml
Modified: commons/proper/configuration/trunk/src/java/org/apache/commons/configuration/CombinedConfiguration.java
URL: http://svn.apache.org/viewvc/commons/proper/configuration/trunk/src/java/org/apache/commons/configuration/CombinedConfiguration.java?rev=632843&r1=632842&r2=632843&view=diff
==============================================================================
--- commons/proper/configuration/trunk/src/java/org/apache/commons/configuration/CombinedConfiguration.java (original)
+++ commons/proper/configuration/trunk/src/java/org/apache/commons/configuration/CombinedConfiguration.java Sun Mar 2 13:00:44 2008
@@ -485,7 +485,10 @@
*/
public void configurationChanged(ConfigurationEvent event)
{
- invalidate();
+ if (!event.isBeforeUpdate())
+ {
+ invalidate();
+ }
}
/**
Modified: commons/proper/configuration/trunk/src/test/org/apache/commons/configuration/TestCombinedConfiguration.java
URL: http://svn.apache.org/viewvc/commons/proper/configuration/trunk/src/test/org/apache/commons/configuration/TestCombinedConfiguration.java?rev=632843&r1=632842&r2=632843&view=diff
==============================================================================
--- commons/proper/configuration/trunk/src/test/org/apache/commons/configuration/TestCombinedConfiguration.java (original)
+++ commons/proper/configuration/trunk/src/test/org/apache/commons/configuration/TestCombinedConfiguration.java Sun Mar 2 13:00:44 2008
@@ -319,7 +319,7 @@
c.addProperty("test.otherTest", "yes");
assertEquals("New property not found", "yes", config
.getString("test.otherTest"));
- listener.checkEvent(3, 0);
+ listener.checkEvent(2, 0);
}
/**
@@ -567,6 +567,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/trunk/xdocs/changes.xml
URL: http://svn.apache.org/viewvc/commons/proper/configuration/trunk/xdocs/changes.xml?rev=632843&r1=632842&r2=632843&view=diff
==============================================================================
--- commons/proper/configuration/trunk/xdocs/changes.xml (original)
+++ commons/proper/configuration/trunk/xdocs/changes.xml Sun Mar 2 13:00:44 2008
@@ -23,6 +23,11 @@
<body>
<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>