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 2016/02/14 20:03:56 UTC

svn commit: r1730382 - in /commons/proper/configuration/trunk/src: main/java/org/apache/commons/configuration2/builder/PropertiesBuilderParametersImpl.java test/java/org/apache/commons/configuration2/builder/TestPropertiesBuilderParametersImpl.java

Author: oheger
Date: Sun Feb 14 19:03:55 2016
New Revision: 1730382

URL: http://svn.apache.org/viewvc?rev=1730382&view=rev
Log:
[CONFIGURATION-619] Implemented inheritFrom() in PropertiesBuilderParametersImpl.

Here some more properties are taken into account.

Modified:
    commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration2/builder/PropertiesBuilderParametersImpl.java
    commons/proper/configuration/trunk/src/test/java/org/apache/commons/configuration2/builder/TestPropertiesBuilderParametersImpl.java

Modified: commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration2/builder/PropertiesBuilderParametersImpl.java
URL: http://svn.apache.org/viewvc/commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration2/builder/PropertiesBuilderParametersImpl.java?rev=1730382&r1=1730381&r2=1730382&view=diff
==============================================================================
--- commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration2/builder/PropertiesBuilderParametersImpl.java (original)
+++ commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration2/builder/PropertiesBuilderParametersImpl.java Sun Feb 14 19:03:55 2016
@@ -16,6 +16,8 @@
  */
 package org.apache.commons.configuration2.builder;
 
+import java.util.Map;
+
 import org.apache.commons.configuration2.PropertiesConfiguration.IOFactory;
 import org.apache.commons.configuration2.PropertiesConfigurationLayout;
 
@@ -59,6 +61,17 @@ public class PropertiesBuilderParameters
         return this;
     }
 
+    /**
+     * {@inheritDoc} This implementation takes some more properties into account
+     * that are defined in this class.
+     */
+    @Override
+    public void inheritFrom(Map<String, ?> source)
+    {
+        super.inheritFrom(source);
+        copyPropertiesFrom(source, PROP_INCLUDES_ALLOWED, PROP_IO_FACTORY);
+    }
+
     @Override
     public PropertiesBuilderParametersImpl setLayout(
             PropertiesConfigurationLayout layout)

Modified: commons/proper/configuration/trunk/src/test/java/org/apache/commons/configuration2/builder/TestPropertiesBuilderParametersImpl.java
URL: http://svn.apache.org/viewvc/commons/proper/configuration/trunk/src/test/java/org/apache/commons/configuration2/builder/TestPropertiesBuilderParametersImpl.java?rev=1730382&r1=1730381&r2=1730382&view=diff
==============================================================================
--- commons/proper/configuration/trunk/src/test/java/org/apache/commons/configuration2/builder/TestPropertiesBuilderParametersImpl.java (original)
+++ commons/proper/configuration/trunk/src/test/java/org/apache/commons/configuration2/builder/TestPropertiesBuilderParametersImpl.java Sun Feb 14 19:03:55 2016
@@ -17,6 +17,7 @@
 package org.apache.commons.configuration2.builder;
 
 import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertSame;
 
 import java.util.Map;
@@ -103,4 +104,28 @@ public class TestPropertiesBuilderParame
         assertSame("Factory not set", factory,
                 params.getParameters().get("iOFactory"));
     }
+
+    /**
+     * Tests whether properties can be inherited.
+     */
+    @Test
+    public void testInheritFrom()
+    {
+        PropertiesConfiguration.IOFactory factory =
+                EasyMock.createMock(PropertiesConfiguration.IOFactory.class);
+        params.setIOFactory(factory).setIncludesAllowed(false)
+                .setLayout(new PropertiesConfigurationLayout());
+        params.setThrowExceptionOnMissing(true);
+        PropertiesBuilderParametersImpl params2 =
+                new PropertiesBuilderParametersImpl();
+
+        params2.inheritFrom(params.getParameters());
+        Map<String, Object> parameters = params2.getParameters();
+        assertEquals("Exception flag not set", Boolean.TRUE,
+                parameters.get("throwExceptionOnMissing"));
+        assertEquals("IOFactory not set", factory, parameters.get("iOFactory"));
+        assertEquals("Include flag not set", Boolean.FALSE,
+                parameters.get("includesAllowed"));
+        assertNull("Layout was copied", parameters.get("layout"));
+    }
 }