aboutsummaryrefslogtreecommitdiffstats
path: root/src/ooxml
diff options
context:
space:
mode:
Diffstat (limited to 'src/ooxml')
-rw-r--r--src/ooxml/java/org/apache/poi/POIXMLPropertiesTextExtractor.java2
-rw-r--r--src/ooxml/java/org/apache/poi/POIXMLTextExtractor.java4
-rw-r--r--src/ooxml/testcases/org/apache/poi/TestXMLPropertiesTextExtractor.java24
3 files changed, 27 insertions, 3 deletions
diff --git a/src/ooxml/java/org/apache/poi/POIXMLPropertiesTextExtractor.java b/src/ooxml/java/org/apache/poi/POIXMLPropertiesTextExtractor.java
index 455b8ab1bb..320c6e143d 100644
--- a/src/ooxml/java/org/apache/poi/POIXMLPropertiesTextExtractor.java
+++ b/src/ooxml/java/org/apache/poi/POIXMLPropertiesTextExtractor.java
@@ -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!");
}
}
diff --git a/src/ooxml/java/org/apache/poi/POIXMLTextExtractor.java b/src/ooxml/java/org/apache/poi/POIXMLTextExtractor.java
index 7c04aa079f..c6a99436b5 100644
--- a/src/ooxml/java/org/apache/poi/POIXMLTextExtractor.java
+++ b/src/ooxml/java/org/apache/poi/POIXMLTextExtractor.java
@@ -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);
}
}
diff --git a/src/ooxml/testcases/org/apache/poi/TestXMLPropertiesTextExtractor.java b/src/ooxml/testcases/org/apache/poi/TestXMLPropertiesTextExtractor.java
index a8cf7ea992..8ff64a8504 100644
--- a/src/ooxml/testcases/org/apache/poi/TestXMLPropertiesTextExtractor.java
+++ b/src/ooxml/testcases/org/apache/poi/TestXMLPropertiesTextExtractor.java
@@ -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(