You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@poi.apache.org by ni...@apache.org on 2016/07/11 22:57:42 UTC

svn commit: r1752228 - /poi/trunk/src/java/org/apache/poi/extractor/OLE2ExtractorFactory.java

Author: nick
Date: Mon Jul 11 22:57:42 2016
New Revision: 1752228

URL: http://svn.apache.org/viewvc?rev=1752228&view=rev
Log:
Last bit of reflection - get back to the full OOXML-enabled factory if we can

Modified:
    poi/trunk/src/java/org/apache/poi/extractor/OLE2ExtractorFactory.java

Modified: poi/trunk/src/java/org/apache/poi/extractor/OLE2ExtractorFactory.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/extractor/OLE2ExtractorFactory.java?rev=1752228&r1=1752227&r2=1752228&view=diff
==============================================================================
--- poi/trunk/src/java/org/apache/poi/extractor/OLE2ExtractorFactory.java (original)
+++ poi/trunk/src/java/org/apache/poi/extractor/OLE2ExtractorFactory.java Mon Jul 11 22:57:42 2016
@@ -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));



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@poi.apache.org
For additional commands, e-mail: commits-help@poi.apache.org