aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNick Burch <nick@apache.org>2009-01-06 19:09:02 +0000
committerNick Burch <nick@apache.org>2009-01-06 19:09:02 +0000
commit899061e647b516e62e836685ad540e3002c7f1ed (patch)
tree2663db6ac1166b7c479e43cd57c6546c3239a4e2
parentf1b20beca1975cd53c5337ad94b7cc516c158129 (diff)
downloadpoi-899061e647b516e62e836685ad540e3002c7f1ed.tar.gz
poi-899061e647b516e62e836685ad540e3002c7f1ed.zip
Hook up POIXMLTextExtractor.getMetadataTextExtractor() to the already written POIXMLPropertiesTextExtractor
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@732063 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r--src/documentation/content/xdocs/changes.xml1
-rw-r--r--src/documentation/content/xdocs/status.xml1
-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
5 files changed, 29 insertions, 3 deletions
diff --git a/src/documentation/content/xdocs/changes.xml b/src/documentation/content/xdocs/changes.xml
index 63002aae8d..410abba48a 100644
--- a/src/documentation/content/xdocs/changes.xml
+++ b/src/documentation/content/xdocs/changes.xml
@@ -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>
diff --git a/src/documentation/content/xdocs/status.xml b/src/documentation/content/xdocs/status.xml
index 8878fce6f8..e9e6761cb2 100644
--- a/src/documentation/content/xdocs/status.xml
+++ b/src/documentation/content/xdocs/status.xml
@@ -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>
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(