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