Add test provided via bug 60536 for bug 60526, remove some warnings
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1776622 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
a6f5bcc970
commit
800866450b
@ -37,7 +37,7 @@ import org.xml.sax.XMLReader;
|
|||||||
*/
|
*/
|
||||||
public final class SAXHelper {
|
public final class SAXHelper {
|
||||||
private static final POILogger logger = POILogFactory.getLogger(SAXHelper.class);
|
private static final POILogger logger = POILogFactory.getLogger(SAXHelper.class);
|
||||||
private static long lastLog = 0;
|
private static long lastLog;
|
||||||
|
|
||||||
private SAXHelper() {}
|
private SAXHelper() {}
|
||||||
|
|
||||||
@ -47,7 +47,7 @@ public final class SAXHelper {
|
|||||||
public static synchronized XMLReader newXMLReader() throws SAXException, ParserConfigurationException {
|
public static synchronized XMLReader newXMLReader() throws SAXException, ParserConfigurationException {
|
||||||
XMLReader xmlReader = saxFactory.newSAXParser().getXMLReader();
|
XMLReader xmlReader = saxFactory.newSAXParser().getXMLReader();
|
||||||
xmlReader.setEntityResolver(IGNORING_ENTITY_RESOLVER);
|
xmlReader.setEntityResolver(IGNORING_ENTITY_RESOLVER);
|
||||||
trySetSAXFeature(xmlReader, XMLConstants.FEATURE_SECURE_PROCESSING, true);
|
trySetSAXFeature(xmlReader, XMLConstants.FEATURE_SECURE_PROCESSING);
|
||||||
trySetXercesSecurityManager(xmlReader);
|
trySetXercesSecurityManager(xmlReader);
|
||||||
return xmlReader;
|
return xmlReader;
|
||||||
}
|
}
|
||||||
@ -67,9 +67,9 @@ public final class SAXHelper {
|
|||||||
saxFactory.setNamespaceAware(true);
|
saxFactory.setNamespaceAware(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void trySetSAXFeature(XMLReader xmlReader, String feature, boolean enabled) {
|
private static void trySetSAXFeature(XMLReader xmlReader, String feature) {
|
||||||
try {
|
try {
|
||||||
xmlReader.setFeature(feature, enabled);
|
xmlReader.setFeature(feature, true);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
logger.log(POILogger.WARN, "SAX Feature unsupported", feature, e);
|
logger.log(POILogger.WARN, "SAX Feature unsupported", feature, e);
|
||||||
} catch (AbstractMethodError ame) {
|
} catch (AbstractMethodError ame) {
|
||||||
|
40
src/ooxml/testcases/org/apache/poi/util/TestSAXHelper.java
Normal file
40
src/ooxml/testcases/org/apache/poi/util/TestSAXHelper.java
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
/* ====================================================================
|
||||||
|
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.poi.util;
|
||||||
|
|
||||||
|
import javax.xml.XMLConstants;
|
||||||
|
|
||||||
|
import org.junit.Test;
|
||||||
|
import org.xml.sax.InputSource;
|
||||||
|
import org.xml.sax.XMLReader;
|
||||||
|
|
||||||
|
import java.io.ByteArrayInputStream;
|
||||||
|
|
||||||
|
import static org.junit.Assert.*;
|
||||||
|
|
||||||
|
public class TestSAXHelper {
|
||||||
|
@Test
|
||||||
|
public void testXMLReader() throws Exception {
|
||||||
|
XMLReader reader = SAXHelper.newXMLReader();
|
||||||
|
assertNotSame(reader, SAXHelper.newXMLReader());
|
||||||
|
assertTrue(reader.getFeature(XMLConstants.FEATURE_SECURE_PROCESSING));
|
||||||
|
assertEquals(SAXHelper.IGNORING_ENTITY_RESOLVER, reader.getEntityResolver());
|
||||||
|
assertNotNull(reader.getProperty("http://apache.org/xml/properties/security-manager"));
|
||||||
|
|
||||||
|
reader.parse(new InputSource(new ByteArrayInputStream("<xml></xml>".getBytes())));
|
||||||
|
}
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user