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>


Reply via email to