Author: cbowditch Date: Mon Jan 6 14:44:14 2020 New Revision: 1872384 URL: http://svn.apache.org/viewvc?rev=1872384&view=rev Log: FOP-2892; fix + test
Added: xmlgraphics/fop/trunk/fop-core/src/test/java/org/apache/fop/configuration/ xmlgraphics/fop/trunk/fop-core/src/test/java/org/apache/fop/configuration/DefaultConfigurationTest.java xmlgraphics/fop/trunk/fop-core/src/test/resources/org/apache/fop/configuration/ xmlgraphics/fop/trunk/fop-core/src/test/resources/org/apache/fop/configuration/sample_config.xml Modified: xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/configuration/DefaultConfiguration.java Modified: xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/configuration/DefaultConfiguration.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/configuration/DefaultConfiguration.java?rev=1872384&r1=1872383&r2=1872384&view=diff ============================================================================== --- xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/configuration/DefaultConfiguration.java (original) +++ xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/configuration/DefaultConfiguration.java Mon Jan 6 14:44:14 2020 @@ -108,7 +108,7 @@ public class DefaultConfiguration implem @Override public Configuration getChild(String key) { - NodeList nl = element.getElementsByTagName(key); + NodeList nl = element.getChildNodes(); for (int i = 0; i < nl.getLength(); ++i) { Node n = nl.item(i); if (n.getNodeName().equals(key)) { @@ -133,13 +133,15 @@ public class DefaultConfiguration implem @Override public Configuration[] getChildren(String key) { - NodeList nl = element.getElementsByTagName(key); - Configuration[] result = new Configuration[nl.getLength()]; + ArrayList<Configuration> result = new ArrayList<>(1); + NodeList nl = element.getChildNodes(); for (int i = 0; i < nl.getLength(); ++i) { Node n = nl.item(i); - result[i] = new DefaultConfiguration((Element) n); + if (n.getNodeName().equals(key)) { + result.add(new DefaultConfiguration((Element) n)); + } } - return result; + return result.toArray(new Configuration[0]); } @Override Added: xmlgraphics/fop/trunk/fop-core/src/test/java/org/apache/fop/configuration/DefaultConfigurationTest.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/fop-core/src/test/java/org/apache/fop/configuration/DefaultConfigurationTest.java?rev=1872384&view=auto ============================================================================== --- xmlgraphics/fop/trunk/fop-core/src/test/java/org/apache/fop/configuration/DefaultConfigurationTest.java (added) +++ xmlgraphics/fop/trunk/fop-core/src/test/java/org/apache/fop/configuration/DefaultConfigurationTest.java Mon Jan 6 14:44:14 2020 @@ -0,0 +1,47 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.fop.configuration; + +import org.junit.Before; +import org.junit.Test; + +import static org.junit.Assert.assertEquals; + +public class DefaultConfigurationTest { + + DefaultConfiguration configuration; + + @Before + public void setup() throws Exception { + DefaultConfigurationBuilder builder = new DefaultConfigurationBuilder(); + configuration = builder.build(getClass().getResourceAsStream("sample_config.xml")); + } + + @Test + public void testGetChild() { + Configuration fontsConfig = configuration.getChild("fonts"); + assertEquals("fonts element should be direct child", "fop/fonts", fontsConfig.getLocation()); + } + + @Test + public void testGetChildren() { + Configuration[] fontsConfig = configuration.getChildren("fonts"); + assertEquals("only direct children should match", 1, fontsConfig.length); + assertEquals("fonts element should be direct child", "fop/fonts", fontsConfig[0].getLocation()); + } +} Added: xmlgraphics/fop/trunk/fop-core/src/test/resources/org/apache/fop/configuration/sample_config.xml URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/fop-core/src/test/resources/org/apache/fop/configuration/sample_config.xml?rev=1872384&view=auto ============================================================================== --- xmlgraphics/fop/trunk/fop-core/src/test/resources/org/apache/fop/configuration/sample_config.xml (added) +++ xmlgraphics/fop/trunk/fop-core/src/test/resources/org/apache/fop/configuration/sample_config.xml Mon Jan 6 14:44:14 2020 @@ -0,0 +1,20 @@ +<fop version="1.0"> + + <renderers> + <renderer mime="application/pdf"> + <fonts> + <auto-detect/> + </fonts> + </renderer> + </renderers> + + <!-- A substitution can map a font family to another. --> + <fonts> + <substitutions> + <substitution> + <from font-family='courierNew' font-style='normal' font-weight='400'/> <to font-family='Courier New'/> + </substitution> + </substitutions> + </fonts> + +</fop> \ No newline at end of file --------------------------------------------------------------------- To unsubscribe, e-mail: fop-commits-unsubscr...@xmlgraphics.apache.org For additional commands, e-mail: fop-commits-h...@xmlgraphics.apache.org