]> source.dussan.org Git - poi.git/commitdiff
Hook up POIXMLTextExtractor.getMetadataTextExtractor() to the already written POIXMLP...
authorNick Burch <nick@apache.org>
Tue, 6 Jan 2009 19:09:02 +0000 (19:09 +0000)
committerNick Burch <nick@apache.org>
Tue, 6 Jan 2009 19:09:02 +0000 (19:09 +0000)
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@732063 13f79535-47bb-0310-9956-ffa450edef68

src/documentation/content/xdocs/changes.xml
src/documentation/content/xdocs/status.xml
src/ooxml/java/org/apache/poi/POIXMLPropertiesTextExtractor.java
src/ooxml/java/org/apache/poi/POIXMLTextExtractor.java
src/ooxml/testcases/org/apache/poi/TestXMLPropertiesTextExtractor.java

index 63002aae8da6e3fc6fd27174c5273bdd4f0e5829..410abba48a24e30e649bab7cafc94abe90210662 100644 (file)
@@ -37,6 +37,7 @@
 
                <!-- Don't forget to update status.xml too! -->
         <release version="3.5-beta5" date="2008-??-??">
+           <action dev="POI-DEVELOPERS" type="fix">Hook up POIXMLTextExtractor.getMetadataTextExtractor() to the already written POIXMLPropertiesTextExtractor</action>
            <action dev="POI-DEVELOPERS" type="fix">46472 - Avoid NPE in HPSFPropertiesExtractor when no properties exist</action>
            <action dev="POI-DEVELOPERS" type="fix">46479 - fixed bugs related to cached formula values and HSSFFormulaEvaluator.evaluateInCell()</action>
            <action dev="POI-DEVELOPERS" type="add">45031 - added implementation for CHOOSE() function</action>
index 8878fce6f8cfb4483c3334ae15b1fe0853f78c49..e9e6761cb208fc627409c899931b846cfbc696d0 100644 (file)
@@ -34,6 +34,7 @@
        <!-- Don't forget to update changes.xml too! -->
     <changes>
         <release version="3.5-beta5" date="2008-??-??">
+           <action dev="POI-DEVELOPERS" type="fix">Hook up POIXMLTextExtractor.getMetadataTextExtractor() to the already written POIXMLPropertiesTextExtractor</action>
            <action dev="POI-DEVELOPERS" type="fix">46472 - Avoid NPE in HPSFPropertiesExtractor when no properties exist</action>
            <action dev="POI-DEVELOPERS" type="fix">46479 - fixed bugs related to cached formula values and HSSFFormulaEvaluator.evaluateInCell()</action>
            <action dev="POI-DEVELOPERS" type="add">45031 - added implementation for CHOOSE() function</action>
index 455b8ab1bbfc1134864c74fe248ac9801b17ccb8..320c6e143dc155a9e5761f6413c4da8fd4fbe309 100644 (file)
@@ -136,7 +136,7 @@ public class POIXMLPropertiesTextExtractor extends POIXMLTextExtractor {
                }
        }
 
-       public POITextExtractor getMetadataTextExtractor() {
+       public POIXMLPropertiesTextExtractor getMetadataTextExtractor() {
                throw new IllegalStateException("You already have the Metadata Text Extractor, not recursing!");
        }
 }
index 7c04aa079fb7c905bf7c4670892940f251de9d39..c6a99436b5201fdf064433556ad2fedbf3bcbbbe 100644 (file)
@@ -66,7 +66,7 @@ public abstract class POIXMLTextExtractor extends POITextExtractor {
         * Returns an OOXML properties text extractor for the 
         *  document properties metadata, such as title and author.
         */
-       public POITextExtractor getMetadataTextExtractor() {
-               throw new RuntimeException("Not yet supported for OOXML!");
+       public POIXMLPropertiesTextExtractor getMetadataTextExtractor() {
+               return new POIXMLPropertiesTextExtractor(document);
        }
 }
index a8cf7ea99209db5c5e55caff36b53d59164798c0..8ff64a8504be8b4352f3dfeee2c4ed8a2a866e48 100644 (file)
@@ -18,9 +18,12 @@ package org.apache.poi;
 
 import java.io.File;
 
+import org.apache.poi.xssf.extractor.XSSFExcelExtractor;
 import org.apache.poi.xssf.usermodel.XSSFWorkbook;
 import org.openxml4j.opc.Package;
 
+import sun.awt.X11.XModifierKeymap;
+
 import junit.framework.TestCase;
 
 public class TestXMLPropertiesTextExtractor extends TestCase {
@@ -30,6 +33,27 @@ public class TestXMLPropertiesTextExtractor extends TestCase {
                dirname = System.getProperty("OOXML.testdata.path");
                assertTrue( (new File(dirname)).exists() );
        }
+       
+       public void testGetFromMainExtractor() throws Exception {
+               org.openxml4j.opc.Package pkg = Package.open(
+                               (new File(dirname, "ExcelWithAttachments.xlsx")).toString()
+               );
+               XSSFWorkbook wb = new XSSFWorkbook(pkg);
+
+               XSSFExcelExtractor ext = new XSSFExcelExtractor(wb);
+               POIXMLPropertiesTextExtractor textExt = ext.getMetadataTextExtractor();
+               
+               // Check basics
+               assertNotNull(textExt);
+               assertTrue(textExt.getText().length() > 0);
+               
+               // Check some of the content
+               String text = textExt.getText();
+               String cText = textExt.getCorePropertiesText();
+               
+               assertTrue(text.contains("LastModifiedBy = Yury Batrakov"));
+               assertTrue(cText.contains("LastModifiedBy = Yury Batrakov"));
+       }
 
        public void testCore() throws Exception {
                org.openxml4j.opc.Package pkg = Package.open(