Author: oheger
Date: Tue Apr  2 19:07:36 2013
New Revision: 1463690

URL: http://svn.apache.org/r1463690
Log:
Added a method to CombinedReloadingController for initially reseting the
reloading state of sub controllers.

Modified:
    
commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/reloading/CombinedReloadingController.java
    
commons/proper/configuration/trunk/src/test/java/org/apache/commons/configuration/reloading/TestCombinedReloadingController.java

Modified: 
commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/reloading/CombinedReloadingController.java
URL: 
http://svn.apache.org/viewvc/commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/reloading/CombinedReloadingController.java?rev=1463690&r1=1463689&r2=1463690&view=diff
==============================================================================
--- 
commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/reloading/CombinedReloadingController.java
 (original)
+++ 
commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/reloading/CombinedReloadingController.java
 Tue Apr  2 19:07:36 2013
@@ -104,6 +104,19 @@ public class CombinedReloadingController
     }
 
     /**
+     * Resets the reloading state of all managed sub controllers
+     * unconditionally. This method is intended to be called after the creation
+     * of an instance. It may be the case that some of the sub controllers are
+     * already in reloading state, so their state is out of sync with this
+     * controller's global reloading state. This method ensures that the
+     * reloading state of all sub controllers is reset.
+     */
+    public void resetInitialReloadingState()
+    {
+        getDetector().reloadingPerformed();
+    }
+
+    /**
      * Checks the collection with the passed in sub controllers and creates a
      * defensive copy.
      *

Modified: 
commons/proper/configuration/trunk/src/test/java/org/apache/commons/configuration/reloading/TestCombinedReloadingController.java
URL: 
http://svn.apache.org/viewvc/commons/proper/configuration/trunk/src/test/java/org/apache/commons/configuration/reloading/TestCombinedReloadingController.java?rev=1463690&r1=1463689&r2=1463690&view=diff
==============================================================================
--- 
commons/proper/configuration/trunk/src/test/java/org/apache/commons/configuration/reloading/TestCombinedReloadingController.java
 (original)
+++ 
commons/proper/configuration/trunk/src/test/java/org/apache/commons/configuration/reloading/TestCombinedReloadingController.java
 Tue Apr  2 19:07:36 2013
@@ -160,6 +160,23 @@ public class TestCombinedReloadingContro
     }
 
     /**
+     * Tests whether the sub controller's reloading state can be reset
+     * unconditionally.
+     */
+    @Test
+    public void testResetInitialReloadingState()
+    {
+        CombinedReloadingController ctrl = setUpController();
+        for (ReloadingController rc : subControllers)
+        {
+            rc.resetReloadingState();
+        }
+        replaySubControllers();
+        ctrl.resetInitialReloadingState();
+        verifySubSontrollers();
+    }
+
+    /**
      * Tests whether the sub controllers can be accessed.
      */
     @Test


Reply via email to