]> source.dussan.org Git - poi.git/commitdiff
gump build fixing - move system properties tinkering into junit class
authorAndreas Beeker <kiwiwings@apache.org>
Mon, 3 Aug 2015 23:09:10 +0000 (23:09 +0000)
committerAndreas Beeker <kiwiwings@apache.org>
Mon, 3 Aug 2015 23:09:10 +0000 (23:09 +0000)
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1693978 13f79535-47bb-0310-9956-ffa450edef68

src/java/org/apache/poi/sl/draw/geom/PresetGeometries.java
src/ooxml/testcases/org/apache/poi/xslf/usermodel/TestPPTX2PNG.java

index e338ec91c5ddcc8cb48645b6fc1cf43e35fd57f6..c3a9361e4ed9523f34dd882b29cc1d7f7301883b 100644 (file)
@@ -22,8 +22,15 @@ package org.apache.poi.sl.draw.geom;
 import java.io.InputStream;
 import java.util.LinkedHashMap;
 
-import javax.xml.bind.*;
-import javax.xml.stream.*;
+import javax.xml.bind.JAXBContext;
+import javax.xml.bind.JAXBElement;
+import javax.xml.bind.JAXBException;
+import javax.xml.bind.Unmarshaller;
+import javax.xml.stream.EventFilter;
+import javax.xml.stream.XMLEventReader;
+import javax.xml.stream.XMLInputFactory;
+import javax.xml.stream.XMLStreamException;
+import javax.xml.stream.XMLStreamReader;
 import javax.xml.stream.events.StartElement;
 import javax.xml.stream.events.XMLEvent;
 
@@ -37,7 +44,6 @@ import org.apache.poi.util.POILogger;
 public class PresetGeometries extends LinkedHashMap<String, CustomGeometry> {
     private final static POILogger LOG = POILogFactory.getLogger(PresetGeometries.class);
     protected final static String BINDING_PACKAGE = "org.apache.poi.sl.draw.binding";
-    private static final String JAXPFACTORYID = "javax.xml.stream.XMLInputFactory";
     
     protected static PresetGeometries _inst;
 
@@ -53,8 +59,6 @@ public class PresetGeometries extends LinkedHashMap<String, CustomGeometry> {
             }
         };
         
-        fixXmlSystemProperties();
-        
         XMLInputFactory staxFactory = XMLInputFactory.newFactory();
         XMLEventReader staxReader = staxFactory.createXMLEventReader(is);
         XMLEventReader staxFiltRd = staxFactory.createFilteredReader(staxReader, startElementFilter);
@@ -115,21 +119,4 @@ public class PresetGeometries extends LinkedHashMap<String, CustomGeometry> {
 
         return _inst;
     }
-    
-    public static void fixXmlSystemProperties() {
-        // handling for illegal system properties - mainly because of failing gump build
-        String xmlFactClass = System.getProperty(JAXPFACTORYID);
-        if (xmlFactClass != null) {
-            try {
-                Class.forName(xmlFactClass);
-            } catch (Exception e) {
-                LOG.log(POILogger.ERROR, "Invalid xml input factory config detected. ("+JAXPFACTORYID+"="+xmlFactClass+")");
-                try {
-                    System.clearProperty(JAXPFACTORYID);
-                } catch (Exception e2) {
-                    LOG.log(POILogger.ERROR, "Failed to remove invalid xml input factory", e2);
-                }
-            }
-        }
-    }
 }
index fc7747d7eec4ab0f78bb77a8581061be14105022..ecf6457bbe79f9e2c8ed1e646aa31a61af332b28 100644 (file)
@@ -26,8 +26,6 @@ import java.lang.reflect.Field;
 import java.util.HashMap;\r
 import java.util.Map;\r
 \r
-import javax.xml.stream.XMLInputFactory;\r
-\r
 import org.apache.poi.sl.draw.Drawable;\r
 import org.apache.poi.util.JvmBugs;\r
 import org.apache.poi.xslf.XSLFTestDataSamples;\r
@@ -46,7 +44,7 @@ public class TestPPTX2PNG {
     @BeforeClass\r
     public static void activateJaxpDebug() {\r
         jaxpDebugEnable = setDebugFld(true);\r
-        fixDefaultInputFactory();\r
+        setXmlInputFactory();\r
     }\r
 \r
     @AfterClass\r
@@ -69,17 +67,13 @@ public class TestPPTX2PNG {
         }\r
     }\r
 \r
-    private static void fixDefaultInputFactory() {\r
-        String originalValue = "com.sun.xml.internal.stream.XMLInputFactoryImpl";\r
+    private static void setXmlInputFactory() {\r
+        String propName = "javax.xml.stream.XMLInputFactory";\r
+        String propVal = "com.sun.xml.internal.stream.XMLInputFactoryImpl";\r
         try {\r
-            Field fld = XMLInputFactory.class.getDeclaredField("DEFAULIMPL");\r
-            fld.setAccessible(true);\r
-            String val = (String)fld.get(null);\r
-            if (!originalValue.equals(val)) {\r
-                System.out.println("DefaultXMLInputFactory illegal changed to: "+val);\r
-                fld.set(null, originalValue);\r
-            }\r
-        } catch (Exception e) {\r
+            Class.forName(propVal);\r
+            System.setProperty(propName, propVal);\r
+        } catch (Exception e){\r
             // ignore\r
         }\r
     }\r