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());


Reply via email to