From: Nick Burch Date: Mon, 11 Jul 2016 22:57:42 +0000 (+0000) Subject: Last bit of reflection - get back to the full OOXML-enabled factory if we can X-Git-Tag: REL_3_15_BETA3~127 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=c74010fcaee7c69522e898e54d22415a2344b9ae;p=poi.git Last bit of reflection - get back to the full OOXML-enabled factory if we can git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1752228 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/src/java/org/apache/poi/extractor/OLE2ExtractorFactory.java b/src/java/org/apache/poi/extractor/OLE2ExtractorFactory.java index 52a0bf12f8..d1577898f1 100644 --- a/src/java/org/apache/poi/extractor/OLE2ExtractorFactory.java +++ b/src/java/org/apache/poi/extractor/OLE2ExtractorFactory.java @@ -126,8 +126,15 @@ public class OLE2ExtractorFactory { public static POITextExtractor createExtractor(InputStream input) throws IOException { Class cls = getOOXMLClass(); if (cls != null) { - // TODO Reflection - throw new IllegalArgumentException("TODO Reflection"); + // Use Reflection to get us the full OOXML-enabled version + try { + Method m = cls.getDeclaredMethod("createExtractor", InputStream.class); + return (POITextExtractor)m.invoke(null, input); + } catch (IllegalArgumentException iae) { + throw iae; + } catch (Exception e) { + throw new IllegalArgumentException("Error creating Extractor for InputStream", e); + } } else { // Best hope it's OLE2.... return createExtractor(new NPOIFSFileSystem(input));