Author: oheger
Date: Fri Jul 11 20:21:21 2014
New Revision: 1609798
URL: http://svn.apache.org/r1609798
Log:
Hierarchical configurations now generate events of the new type.
The test class for hierarchical configuration events now runs
successfully.
Modified:
commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/AbstractHierarchicalConfiguration.java
commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/BaseHierarchicalConfiguration.java
commons/proper/configuration/trunk/src/test/java/org/apache/commons/configuration/event/TestHierarchicalConfigurationEvents.java
Modified:
commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/AbstractHierarchicalConfiguration.java
URL:
http://svn.apache.org/viewvc/commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/AbstractHierarchicalConfiguration.java?rev=1609798&r1=1609797&r2=1609798&view=diff
==============================================================================
---
commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/AbstractHierarchicalConfiguration.java
(original)
+++
commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/AbstractHierarchicalConfiguration.java
Fri Jul 11 20:21:21 2014
@@ -29,6 +29,7 @@ import java.util.Map;
import java.util.Set;
import java.util.Stack;
+import org.apache.commons.configuration.event.ConfigurationEvent;
import org.apache.commons.configuration.ex.ConfigurationRuntimeException;
import org.apache.commons.configuration.sync.LockMode;
import org.apache.commons.configuration.sync.NoOpSynchronizer;
@@ -430,9 +431,9 @@ public abstract class AbstractHierarchic
beginWrite(false);
try
{
- fireEvent(EVENT_ADD_NODES, key, nodes, true);
+ fireEvent(ConfigurationEvent.ADD_NODES, key, nodes, true);
addNodesInternal(key, nodes);
- fireEvent(EVENT_ADD_NODES, key, nodes, false);
+ fireEvent(ConfigurationEvent.ADD_NODES, key, nodes, false);
}
finally
{
@@ -626,9 +627,9 @@ public abstract class AbstractHierarchic
beginWrite(false);
try
{
- fireEvent(EVENT_CLEAR_TREE, key, null, true);
+ fireEvent(ConfigurationEvent.CLEAR_TREE, key, null, true);
Object nodes = clearTreeInternal(key);
- fireEvent(EVENT_CLEAR_TREE, key, nodes, false);
+ fireEvent(ConfigurationEvent.CLEAR_TREE, key, nodes, false);
}
finally
{
@@ -645,7 +646,7 @@ public abstract class AbstractHierarchic
* @param key the key of the property to be removed
* @return an object with information about the nodes that have been
removed
* (this is needed for firing a meaningful event of type
- * EVENT_CLEAR_TREE)
+ * CLEAR_TREE)
* @since 2.0
*/
protected Object clearTreeInternal(String key)
Modified:
commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/BaseHierarchicalConfiguration.java
URL:
http://svn.apache.org/viewvc/commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/BaseHierarchicalConfiguration.java?rev=1609798&r1=1609797&r2=1609798&view=diff
==============================================================================
---
commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/BaseHierarchicalConfiguration.java
(original)
+++
commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/BaseHierarchicalConfiguration.java
Fri Jul 11 20:21:21 2014
@@ -28,7 +28,7 @@ import java.util.List;
import java.util.Map;
import org.apache.commons.configuration.event.ConfigurationEvent;
-import org.apache.commons.configuration.event.ConfigurationListener;
+import org.apache.commons.configuration.event.EventListener;
import org.apache.commons.configuration.ex.ConfigurationRuntimeException;
import org.apache.commons.configuration.interpol.ConfigurationInterpolator;
import org.apache.commons.configuration.tree.ConfigurationNodeVisitorAdapter;
@@ -67,7 +67,7 @@ public class BaseHierarchicalConfigurati
private static final long serialVersionUID = 3373812230395363192L;
/** A listener for reacting on changes caused by sub configurations. */
- private final ConfigurationListener changeListener;
+ private final EventListener<ConfigurationEvent> changeListener;
/**
* Creates a new instance of {@code BaseHierarchicalConfiguration}.
@@ -316,7 +316,7 @@ public class BaseHierarchicalConfigurati
protected void initSubConfigurationForThisParent(SubnodeConfiguration
subConfig)
{
initSubConfiguration(subConfig);
- subConfig.addConfigurationListener(changeListener);
+ subConfig.addEventListener(ConfigurationEvent.ANY, changeListener);
}
/**
@@ -596,7 +596,7 @@ public class BaseHierarchicalConfigurati
*/
protected void subnodeConfigurationChanged(ConfigurationEvent event)
{
- fireEvent(EVENT_SUBNODE_CHANGED, null, event, event.isBeforeUpdate());
+ fireEvent(ConfigurationEvent.SUBNODE_CHANGED, null, event,
event.isBeforeUpdate());
}
/**
@@ -622,11 +622,12 @@ public class BaseHierarchicalConfigurati
*
* @return the newly created change listener
*/
- private ConfigurationListener createChangeListener()
+ private EventListener<ConfigurationEvent> createChangeListener()
{
- return new ConfigurationListener()
+ return new EventListener<ConfigurationEvent>()
{
- public void configurationChanged(ConfigurationEvent event)
+ @Override
+ public void onEvent(ConfigurationEvent event)
{
subnodeConfigurationChanged(event);
}
Modified:
commons/proper/configuration/trunk/src/test/java/org/apache/commons/configuration/event/TestHierarchicalConfigurationEvents.java
URL:
http://svn.apache.org/viewvc/commons/proper/configuration/trunk/src/test/java/org/apache/commons/configuration/event/TestHierarchicalConfigurationEvents.java?rev=1609798&r1=1609797&r2=1609798&view=diff
==============================================================================
---
commons/proper/configuration/trunk/src/test/java/org/apache/commons/configuration/event/TestHierarchicalConfigurationEvents.java
(original)
+++
commons/proper/configuration/trunk/src/test/java/org/apache/commons/configuration/event/TestHierarchicalConfigurationEvents.java
Fri Jul 11 20:21:21 2014
@@ -55,11 +55,11 @@ public class TestHierarchicalConfigurati
Collection<QueryResult<ImmutableNode>> nodes = hc.getExpressionEngine()
.query(hc.getRootNode(), key,
hc.getNodeModel().getNodeHandler());
hc.clearTree(key);
- l.checkEvent(BaseHierarchicalConfiguration.EVENT_CLEAR_TREE, key, null,
+ listener.checkEvent(ConfigurationEvent.CLEAR_TREE, key, null,
true);
- l.checkEvent(BaseHierarchicalConfiguration.EVENT_CLEAR_TREE, key,
nodes,
+ listener.checkEvent(ConfigurationEvent.CLEAR_TREE, key, nodes,
false);
- l.done();
+ listener.done();
}
/**
@@ -72,11 +72,11 @@ public class TestHierarchicalConfigurati
Collection<ImmutableNode> nodes = new ArrayList<ImmutableNode>(1);
nodes.add(NodeStructureHelper.createNode("a_key", TEST_PROPVALUE));
hc.addNodes(TEST_PROPNAME, nodes);
- l.checkEvent(BaseHierarchicalConfiguration.EVENT_ADD_NODES,
TEST_PROPNAME,
+ listener.checkEvent(ConfigurationEvent.ADD_NODES, TEST_PROPNAME,
nodes, true);
- l.checkEvent(BaseHierarchicalConfiguration.EVENT_ADD_NODES,
TEST_PROPNAME,
+ listener.checkEvent(ConfigurationEvent.ADD_NODES, TEST_PROPNAME,
nodes, false);
- l.done();
+ listener.done();
}
/**
@@ -88,7 +88,7 @@ public class TestHierarchicalConfigurati
{
((BaseHierarchicalConfiguration) config).addNodes(TEST_PROPNAME,
new ArrayList<ImmutableNode>());
- l.done();
+ listener.done();
}
/**
@@ -103,12 +103,12 @@ public class TestHierarchicalConfigurati
.configurationAt(EXIST_PROPERTY, true);
sub.addProperty("newProp", "newValue");
checkSubnodeEvent(
-
l.nextEvent(BaseHierarchicalConfiguration.EVENT_SUBNODE_CHANGED),
+ listener.nextEvent(ConfigurationEvent.SUBNODE_CHANGED),
true);
checkSubnodeEvent(
-
l.nextEvent(BaseHierarchicalConfiguration.EVENT_SUBNODE_CHANGED),
+ listener.nextEvent(ConfigurationEvent.SUBNODE_CHANGED),
false);
- l.done();
+ listener.done();
}
/**
@@ -121,7 +121,7 @@ public class TestHierarchicalConfigurati
((BaseHierarchicalConfiguration) config)
.configurationAt(EXIST_PROPERTY);
sub.addProperty("newProp", "newValue");
- l.done();
+ listener.done();
}
/**
@@ -139,7 +139,7 @@ public class TestHierarchicalConfigurati
ConfigurationEvent evSub = (ConfigurationEvent) event
.getPropertyValue();
assertEquals("Wrong event type",
- AbstractConfiguration.EVENT_ADD_PROPERTY, evSub.getType());
+ ConfigurationEvent.ADD_PROPERTY, evSub.getEventType());
assertEquals("Wrong property name", "newProp",
evSub.getPropertyName());
assertEquals("Wrong property value", "newValue", evSub
.getPropertyValue());