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:04:31 UTC

svn commit: r1730383 - in /commons/proper/configuration/trunk/src: main/java/org/apache/commons/configuration2/builder/XMLBuilderParametersImpl.java test/java/org/apache/commons/configuration2/builder/TestXMLBuilderParametersImpl.java

Author: oheger
Date: Sun Feb 14 19:04:31 2016
New Revision: 1730383

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

Here some more properties are taken into account.

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

Modified: commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration2/builder/XMLBuilderParametersImpl.java
URL: http://svn.apache.org/viewvc/commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration2/builder/XMLBuilderParametersImpl.java?rev=1730383&r1=1730382&r2=1730383&view=diff
==============================================================================
--- commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration2/builder/XMLBuilderParametersImpl.java (original)
+++ commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration2/builder/XMLBuilderParametersImpl.java Sun Feb 14 19:04:31 2016
@@ -18,6 +18,8 @@ package org.apache.commons.configuration
 
 import javax.xml.parsers.DocumentBuilder;
 
+import java.util.Map;
+
 import org.xml.sax.EntityResolver;
 
 /**
@@ -60,6 +62,14 @@ public class XMLBuilderParametersImpl ex
     private static final String PROP_SCHEMA_VALIDATION = "schemaValidation";
 
     @Override
+    public void inheritFrom(Map<String, ?> source)
+    {
+        super.inheritFrom(source);
+        copyPropertiesFrom(source, PROP_DOCUMENT_BUILDER, PROP_ENTITY_RESOLVER,
+                PROP_SCHEMA_VALIDATION, PROP_VALIDATING);
+    }
+
+    @Override
     public XMLBuilderParametersImpl setDocumentBuilder(
             DocumentBuilder docBuilder)
     {

Modified: commons/proper/configuration/trunk/src/test/java/org/apache/commons/configuration2/builder/TestXMLBuilderParametersImpl.java
URL: http://svn.apache.org/viewvc/commons/proper/configuration/trunk/src/test/java/org/apache/commons/configuration2/builder/TestXMLBuilderParametersImpl.java?rev=1730383&r1=1730382&r2=1730383&view=diff
==============================================================================
--- commons/proper/configuration/trunk/src/test/java/org/apache/commons/configuration2/builder/TestXMLBuilderParametersImpl.java (original)
+++ commons/proper/configuration/trunk/src/test/java/org/apache/commons/configuration2/builder/TestXMLBuilderParametersImpl.java Sun Feb 14 19:04:31 2016
@@ -19,9 +19,8 @@ package org.apache.commons.configuration
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertSame;
 
-import java.util.Map;
-
 import javax.xml.parsers.DocumentBuilder;
+import java.util.Map;
 
 import org.apache.commons.configuration2.beanutils.BeanHelper;
 import org.easymock.EasyMock;
@@ -140,4 +139,31 @@ public class TestXMLBuilderParametersImp
         assertSame("Wrong resolver", resolver, paramsMap.get("entityResolver"));
         assertSame("Wrong builder", builder, paramsMap.get("documentBuilder"));
     }
+
+    /**
+     * Tests whether properties can be inherited.
+     */
+    @Test
+    public void testInheritFrom()
+    {
+        EntityResolver resolver = EasyMock.createMock(EntityResolver.class);
+        DocumentBuilder builder = EasyMock.createMock(DocumentBuilder.class);
+        params.setDocumentBuilder(builder).setEntityResolver(resolver)
+                .setSchemaValidation(true).setValidating(true);
+        params.setThrowExceptionOnMissing(true);
+        XMLBuilderParametersImpl params2 = new XMLBuilderParametersImpl();
+
+        params2.inheritFrom(params.getParameters());
+        Map<String, Object> parameters = params2.getParameters();
+        assertEquals("Exception flag not set", Boolean.TRUE,
+                parameters.get("throwExceptionOnMissing"));
+        assertEquals("Entity resolver not set", resolver,
+                parameters.get("entityResolver"));
+        assertEquals("Document builder not set", builder,
+                parameters.get("documentBuilder"));
+        assertEquals("Validation flag not set", Boolean.TRUE,
+                parameters.get("validating"));
+        assertEquals("Schema flag not set", Boolean.TRUE,
+                parameters.get("schemaValidation"));
+    }
 }