]> source.dussan.org Git - poi.git/commitdiff
Add test provided via bug 60536 for bug 60526, remove some warnings
authorDominik Stadler <centic@apache.org>
Fri, 30 Dec 2016 18:54:47 +0000 (18:54 +0000)
committerDominik Stadler <centic@apache.org>
Fri, 30 Dec 2016 18:54:47 +0000 (18:54 +0000)
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1776622 13f79535-47bb-0310-9956-ffa450edef68

src/ooxml/java/org/apache/poi/util/SAXHelper.java
src/ooxml/testcases/org/apache/poi/util/TestSAXHelper.java [new file with mode: 0644]

index 3ff70a5be35fba362038b4a32547e0e08daa32f9..41f14fbcc28757f1c87d0a6463521d66779ce4fb 100644 (file)
@@ -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) {
diff --git a/src/ooxml/testcases/org/apache/poi/util/TestSAXHelper.java b/src/ooxml/testcases/org/apache/poi/util/TestSAXHelper.java
new file mode 100644 (file)
index 0000000..bb31656
--- /dev/null
@@ -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())));
+    }
+}