Author: oheger
Date: Fri Jul 11 20:11:55 2014
New Revision: 1609784
URL: http://svn.apache.org/r1609784
Log:
Adapted ReloadingBuilderSupportListener to changes on ReloadingController.
The new event mechanism is used to register the listener.
Modified:
commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/builder/ReloadingBuilderSupportListener.java
commons/proper/configuration/trunk/src/test/java/org/apache/commons/configuration/builder/TestReloadingBuilderSupportListener.java
Modified:
commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/builder/ReloadingBuilderSupportListener.java
URL:
http://svn.apache.org/viewvc/commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/builder/ReloadingBuilderSupportListener.java?rev=1609784&r1=1609783&r2=1609784&view=diff
==============================================================================
---
commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/builder/ReloadingBuilderSupportListener.java
(original)
+++
commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/builder/ReloadingBuilderSupportListener.java
Fri Jul 11 20:11:55 2014
@@ -16,10 +16,10 @@
*/
package org.apache.commons.configuration.builder;
+import org.apache.commons.configuration.event.Event;
import org.apache.commons.configuration.event.EventListener;
import org.apache.commons.configuration.reloading.ReloadingController;
import org.apache.commons.configuration.reloading.ReloadingEvent;
-import org.apache.commons.configuration.reloading.ReloadingListener;
/**
* <p>
@@ -44,8 +44,7 @@ import org.apache.commons.configuration.
* @version $Id$
* @since 2.0
*/
-class ReloadingBuilderSupportListener implements ReloadingListener,
- EventListener<ConfigurationBuilderEvent>
+class ReloadingBuilderSupportListener implements EventListener<Event>
{
/** Stores the associated configuration builder. */
private final BasicConfigurationBuilder<?> builder;
@@ -85,7 +84,7 @@ class ReloadingBuilderSupportListener im
{
ReloadingBuilderSupportListener listener =
new ReloadingBuilderSupportListener(configBuilder, controller);
- controller.addReloadingListener(listener);
+ controller.addEventListener(ReloadingEvent.ANY, listener);
configBuilder
.addEventListener(
ConfigurationBuilderResultCreatedEvent.RESULT_CREATED,
@@ -94,22 +93,21 @@ class ReloadingBuilderSupportListener im
}
/**
- * {@inheritDoc} This implementation resets the builder's managed
- * configuration.
+ * {@inheritDoc} This implementation resets the controller's reloading
state
+ * if an event about a newly created result was received. Otherwise, in
case
+ * of a reloading event, the builder's result object is reset.
*/
@Override
- public void reloadingRequired(ReloadingEvent event)
+ public void onEvent(Event event)
{
- builder.resetResult();
- }
-
- /**
- * {@inheritDoc} This implementation resets the controller's reloading
- * state.
- */
- @Override
- public void onEvent(ConfigurationBuilderEvent event)
- {
- reloadingController.resetReloadingState();
+ if (ConfigurationBuilderResultCreatedEvent.RESULT_CREATED.equals(event
+ .getEventType()))
+ {
+ reloadingController.resetReloadingState();
+ }
+ else
+ {
+ builder.resetResult();
+ }
}
}
Modified:
commons/proper/configuration/trunk/src/test/java/org/apache/commons/configuration/builder/TestReloadingBuilderSupportListener.java
URL:
http://svn.apache.org/viewvc/commons/proper/configuration/trunk/src/test/java/org/apache/commons/configuration/builder/TestReloadingBuilderSupportListener.java?rev=1609784&r1=1609783&r2=1609784&view=diff
==============================================================================
---
commons/proper/configuration/trunk/src/test/java/org/apache/commons/configuration/builder/TestReloadingBuilderSupportListener.java
(original)
+++
commons/proper/configuration/trunk/src/test/java/org/apache/commons/configuration/builder/TestReloadingBuilderSupportListener.java
Fri Jul 11 20:11:55 2014
@@ -20,10 +20,11 @@ import static org.junit.Assert.assertNot
import org.apache.commons.configuration.Configuration;
import org.apache.commons.configuration.PropertiesConfiguration;
+import org.apache.commons.configuration.event.EventListener;
import org.apache.commons.configuration.ex.ConfigurationException;
import org.apache.commons.configuration.reloading.ReloadingController;
import org.apache.commons.configuration.reloading.ReloadingDetector;
-import org.apache.commons.configuration.reloading.ReloadingListener;
+import org.apache.commons.configuration.reloading.ReloadingEvent;
import org.easymock.EasyMock;
import org.junit.Test;
@@ -63,14 +64,15 @@ public class TestReloadingBuilderSupport
* Tests that the controller's reloading state is reset when a new result
* object is created.
*/
+ @SuppressWarnings("unchecked")
@Test
public void testResetReloadingStateOnResultCreation()
throws ConfigurationException
{
ReloadingController controller =
EasyMock.createMock(ReloadingController.class);
- controller.addReloadingListener(EasyMock
- .anyObject(ReloadingListener.class));
+ controller.addEventListener(EasyMock.eq(ReloadingEvent.ANY),
+ EasyMock.anyObject(EventListener.class));
controller.resetReloadingState();
EasyMock.replay(controller);
BasicConfigurationBuilder<Configuration> builder =
@@ -79,6 +81,7 @@ public class TestReloadingBuilderSupport
ReloadingBuilderSupportListener listener =
ReloadingBuilderSupportListener.connect(builder, controller);
+ assertNotNull("No listener returned", listener);
builder.getConfiguration();
EasyMock.verify(controller);
}