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 {
|
||||
private static final POILogger logger = POILogFactory.getLogger(SAXHelper.class);
|
||||
private static long lastLog = 0;
|
||||
private static long lastLog;
|
||||
|
||||
private SAXHelper() {}
|
||||
|
||||
@ -47,7 +47,7 @@ public final class SAXHelper {
|
||||
public static synchronized XMLReader newXMLReader() throws SAXException, ParserConfigurationException {
|
||||
XMLReader xmlReader = saxFactory.newSAXParser().getXMLReader();
|
||||
xmlReader.setEntityResolver(IGNORING_ENTITY_RESOLVER);
|
||||
trySetSAXFeature(xmlReader, XMLConstants.FEATURE_SECURE_PROCESSING, true);
|
||||
trySetSAXFeature(xmlReader, XMLConstants.FEATURE_SECURE_PROCESSING);
|
||||
trySetXercesSecurityManager(xmlReader);
|
||||
return xmlReader;
|
||||
}
|
||||
@ -67,9 +67,9 @@ public final class SAXHelper {
|
||||
saxFactory.setNamespaceAware(true);
|
||||
}
|
||||
|
||||
private static void trySetSAXFeature(XMLReader xmlReader, String feature, boolean enabled) {
|
||||
private static void trySetSAXFeature(XMLReader xmlReader, String feature) {
|
||||
try {
|
||||
xmlReader.setFeature(feature, enabled);
|
||||
xmlReader.setFeature(feature, true);
|
||||
} catch (Exception e) {
|
||||
logger.log(POILogger.WARN, "SAX Feature unsupported", feature, e);
|
||||
} 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