You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by oh...@apache.org on 2014/05/19 21:58:06 UTC

svn commit: r1596023 - in /commons/proper/configuration/trunk/src: main/java/org/apache/commons/configuration/builder/combined/ test/java/org/apache/commons/configuration/builder/combined/

Author: oheger
Date: Mon May 19 19:58:06 2014
New Revision: 1596023

URL: http://svn.apache.org/r1596023
Log:
Adapted CombinedConfigurationBuilder to changes in interface.

Registrations of event listeners have been adapted.

Modified:
    commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/builder/combined/CombinedConfigurationBuilder.java
    commons/proper/configuration/trunk/src/test/java/org/apache/commons/configuration/builder/combined/TestCombinedConfigurationBuilder.java

Modified: commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/builder/combined/CombinedConfigurationBuilder.java
URL: http://svn.apache.org/viewvc/commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/builder/combined/CombinedConfigurationBuilder.java?rev=1596023&r1=1596022&r2=1596023&view=diff
==============================================================================
--- commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/builder/combined/CombinedConfigurationBuilder.java (original)
+++ commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/builder/combined/CombinedConfigurationBuilder.java Mon May 19 19:58:06 2014
@@ -39,15 +39,16 @@ import org.apache.commons.configuration.
 import org.apache.commons.configuration.beanutils.XMLBeanDeclaration;
 import org.apache.commons.configuration.builder.BasicBuilderParameters;
 import org.apache.commons.configuration.builder.BasicConfigurationBuilder;
-import org.apache.commons.configuration.builder.BuilderListener;
 import org.apache.commons.configuration.builder.BuilderParameters;
 import org.apache.commons.configuration.builder.ConfigurationBuilder;
+import org.apache.commons.configuration.builder.ConfigurationBuilderEvent;
 import org.apache.commons.configuration.builder.DefaultParametersManager;
 import org.apache.commons.configuration.builder.FileBasedBuilderParametersImpl;
 import org.apache.commons.configuration.builder.FileBasedBuilderProperties;
 import org.apache.commons.configuration.builder.FileBasedConfigurationBuilder;
 import org.apache.commons.configuration.builder.XMLBuilderParametersImpl;
 import org.apache.commons.configuration.builder.XMLBuilderProperties;
+import org.apache.commons.configuration.event.EventListener;
 import org.apache.commons.configuration.ex.ConfigurationException;
 import org.apache.commons.configuration.ex.ConfigurationRuntimeException;
 import org.apache.commons.configuration.interpol.ConfigurationInterpolator;
@@ -1284,14 +1285,12 @@ public class CombinedConfigurationBuilde
     private void addDefinitionBuilderChangeListener(
             final ConfigurationBuilder<? extends HierarchicalConfiguration<?>> defBuilder)
     {
-        defBuilder.addBuilderListener(new BuilderListener()
-        {
-            @Override
-            public void builderReset(
-                    ConfigurationBuilder<? extends Configuration> builder)
-            {
-                synchronized (CombinedConfigurationBuilder.this)
+        defBuilder.addEventListener(ConfigurationBuilderEvent.RESET,
+                new EventListener<ConfigurationBuilderEvent>()
                 {
+            @Override
+            public void onEvent(ConfigurationBuilderEvent event) {
+                synchronized (CombinedConfigurationBuilder.this) {
                     reset();
                     definitionBuilder = defBuilder;
                 }
@@ -1372,7 +1371,7 @@ public class CombinedConfigurationBuilde
         private final Collection<ConfigurationBuilder<? extends Configuration>> allBuilders;
 
         /** A listener for reacting on changes of sub builders. */
-        private BuilderListener changeListener;
+        private EventListener<ConfigurationBuilderEvent> changeListener;
 
         /**
          * Creates a new instance of {@code ConfigurationSourceData}.
@@ -1437,7 +1436,8 @@ public class CombinedConfigurationBuilde
         {
             for (ConfigurationBuilder<?> b : getChildBuilders())
             {
-                b.removeBuilderListener(changeListener);
+                b.removeEventListener(ConfigurationBuilderEvent.RESET,
+                        changeListener);
             }
             namedBuilders.clear();
         }
@@ -1528,7 +1528,8 @@ public class CombinedConfigurationBuilde
                 namedBuilders.put(decl.getName(), builder);
             }
             allBuilders.add(builder);
-            builder.addBuilderListener(changeListener);
+            builder.addEventListener(ConfigurationBuilderEvent.RESET,
+                    changeListener);
             return builder;
         }
 
@@ -1568,12 +1569,10 @@ public class CombinedConfigurationBuilde
          */
         private void createBuilderChangeListener()
         {
-            changeListener = new BuilderListener()
+            changeListener = new EventListener<ConfigurationBuilderEvent>()
             {
                 @Override
-                public void builderReset(
-                        ConfigurationBuilder<? extends Configuration> builder)
-                {
+                public void onEvent(ConfigurationBuilderEvent event) {
                     resetResult();
                 }
             };

Modified: commons/proper/configuration/trunk/src/test/java/org/apache/commons/configuration/builder/combined/TestCombinedConfigurationBuilder.java
URL: http://svn.apache.org/viewvc/commons/proper/configuration/trunk/src/test/java/org/apache/commons/configuration/builder/combined/TestCombinedConfigurationBuilder.java?rev=1596023&r1=1596022&r2=1596023&view=diff
==============================================================================
--- commons/proper/configuration/trunk/src/test/java/org/apache/commons/configuration/builder/combined/TestCombinedConfigurationBuilder.java (original)
+++ commons/proper/configuration/trunk/src/test/java/org/apache/commons/configuration/builder/combined/TestCombinedConfigurationBuilder.java Mon May 19 19:58:06 2014
@@ -31,7 +31,6 @@ import java.net.URL;
 import java.util.Arrays;
 import java.util.Collection;
 import java.util.HashMap;
-import java.util.LinkedList;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
@@ -47,8 +46,9 @@ import org.apache.commons.configuration.
 import org.apache.commons.configuration.XMLConfiguration;
 import org.apache.commons.configuration.XMLPropertiesConfiguration;
 import org.apache.commons.configuration.builder.BasicConfigurationBuilder;
-import org.apache.commons.configuration.builder.BuilderListener;
+import org.apache.commons.configuration.builder.BuilderEventListenerImpl;
 import org.apache.commons.configuration.builder.ConfigurationBuilder;
+import org.apache.commons.configuration.builder.ConfigurationBuilderEvent;
 import org.apache.commons.configuration.builder.CopyObjectDefaultHandler;
 import org.apache.commons.configuration.builder.FileBasedBuilderParametersImpl;
 import org.apache.commons.configuration.builder.FileBasedBuilderProperties;
@@ -1229,8 +1229,8 @@ public class TestCombinedConfigurationBu
                     ((ReloadingControllerSupport) childBuilder)
                             .getReloadingController();
             ctrl.checkForReloading(null); // initialize reloading
-            BuilderListenerTestImpl l = new BuilderListenerTestImpl();
-            childBuilder.addBuilderListener(l);
+            BuilderEventListenerImpl l = new BuilderEventListenerImpl();
+            childBuilder.addEventListener(ConfigurationBuilderEvent.RESET, l);
             reloadConfig.setProperty(key, "yes");
             handler.save();
 
@@ -1248,18 +1248,17 @@ public class TestCombinedConfigurationBu
             assertTrue("No change detected", changeDetected);
             assertEquals("Wrong updated property", "yes", builder
                     .getConfiguration().getString(key));
-            assertEquals("No change event received", 1, l.getBuilders().size());
+            ConfigurationBuilderEvent event = l.nextEvent(ConfigurationBuilderEvent.RESET);
+            l.assertNoMoreEvents();
             BasicConfigurationBuilder<? extends Configuration> multiBuilder =
-                    (BasicConfigurationBuilder<? extends Configuration>) l
-                            .getBuilders().get(0);
-            childBuilder.removeBuilderListener(l);
+                    (BasicConfigurationBuilder<? extends Configuration>) event.getSource();
+            childBuilder.removeEventListener(ConfigurationBuilderEvent.RESET, l);
             multiBuilder.resetResult();
-            assertEquals("Got another change event received", 1, l
-                    .getBuilders().size());
+            l.assertNoMoreEvents();
         }
         finally
         {
-            outFile.delete();
+            assertTrue("Output file could not be deleted", outFile.delete());
         }
     }
 
@@ -1455,34 +1454,6 @@ public class TestCombinedConfigurationBu
     }
 
     /**
-     * A test implementation of the BuilderListener interface.
-     */
-    private static class BuilderListenerTestImpl implements BuilderListener
-    {
-        /** A list for the notified builders. */
-        private final List<ConfigurationBuilder<? extends Configuration>> builders =
-                new LinkedList<ConfigurationBuilder<? extends Configuration>>();
-
-        @Override
-        public void builderReset(
-                ConfigurationBuilder<? extends Configuration> builder)
-        {
-            builders.add(builder);
-        }
-
-        /**
-         * Returns a list with builders for which a reset notification was
-         * received.
-         *
-         * @return the list with builders
-         */
-        public List<ConfigurationBuilder<? extends Configuration>> getBuilders()
-        {
-            return builders;
-        }
-    }
-
-    /**
      * A thread class for testing concurrent read access to a newly created
      * configuration.
      */