You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tika.apache.org by ni...@apache.org on 2011/10/29 04:20:31 UTC
svn commit: r1190736 - in /tika/trunk/tika-parsers/src:
main/java/org/apache/tika/parser/odf/OpenDocumentMetaParser.java
main/java/org/apache/tika/parser/xml/AttributeMetadataHandler.java
test/java/org/apache/tika/parser/odf/ODFParserTest.java
Author: nick
Date: Sat Oct 29 02:20:31 2011
New Revision: 1190736
URL: http://svn.apache.org/viewvc?rev=1190736&view=rev
Log:
TIKA-764 Update OpenDocumentMetaParser to use the common Metadata keys for document statistics, and remove use of a deprecated class in fetching the stats
Modified:
tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/odf/OpenDocumentMetaParser.java
tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/xml/AttributeMetadataHandler.java
tika/trunk/tika-parsers/src/test/java/org/apache/tika/parser/odf/ODFParserTest.java
Modified: tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/odf/OpenDocumentMetaParser.java
URL: http://svn.apache.org/viewvc/tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/odf/OpenDocumentMetaParser.java?rev=1190736&r1=1190735&r2=1190736&view=diff
==============================================================================
--- tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/odf/OpenDocumentMetaParser.java (original)
+++ tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/odf/OpenDocumentMetaParser.java Sat Oct 29 02:20:31 2011
@@ -17,9 +17,11 @@
package org.apache.tika.parser.odf;
import org.apache.tika.metadata.Metadata;
+import org.apache.tika.metadata.PagedText;
import org.apache.tika.parser.ParseContext;
import org.apache.tika.parser.xml.AttributeDependantMetadataHandler;
import org.apache.tika.parser.xml.DcXMLParser;
+import org.apache.tika.parser.xml.AttributeMetadataHandler;
import org.apache.tika.parser.xml.MetadataHandler;
import org.apache.tika.sax.TeeContentHandler;
import org.apache.tika.sax.xpath.CompositeMatcher;
@@ -37,8 +39,8 @@ public class OpenDocumentMetaParser exte
*/
private static final long serialVersionUID = -8739250869531737584L;
- private static final XPathParser META_XPATH = new XPathParser(
- "meta", "urn:oasis:names:tc:opendocument:xmlns:meta:1.0");
+ private static final String META_NS = "urn:oasis:names:tc:opendocument:xmlns:meta:1.0";
+ private static final XPathParser META_XPATH = new XPathParser("meta", META_NS);
private static ContentHandler getMeta(
ContentHandler ch, Metadata md, String name, String element) {
@@ -65,9 +67,9 @@ public class OpenDocumentMetaParser exte
private static ContentHandler getStatistic(
ContentHandler ch, Metadata md, String name, String attribute) {
Matcher matcher =
- META_XPATH.parse("//meta:document-statistic/@meta:" + attribute);
- ContentHandler branch =
- new MatchingContentHandler(new MetadataHandler(md, name), matcher);
+ META_XPATH.parse("//meta:document-statistic/@meta:"+attribute);
+ ContentHandler branch = new MatchingContentHandler(
+ new AttributeMetadataHandler(META_NS, attribute, md, name), matcher);
return new TeeContentHandler(ch, branch);
}
@@ -87,10 +89,18 @@ public class OpenDocumentMetaParser exte
ch = getStatistic(ch, md, "nbTab", "table-count");
ch = getStatistic(ch, md, "nbObject", "object-count");
ch = getStatistic(ch, md, "nbImg", "image-count");
+ ch = getStatistic(ch, md, Metadata.PAGE_COUNT, "page-count");
+ ch = getStatistic(ch, md, PagedText.N_PAGES.getName(), "page-count");
+ ch = getStatistic(ch, md, Metadata.PARAGRAPH_COUNT, "paragraph-count");
+ ch = getStatistic(ch, md, Metadata.WORD_COUNT, "word-count");
+ ch = getStatistic(ch, md, Metadata.CHARACTER_COUNT, "character-count");
+ // Legacy Statistics Attributes, replaced with real keys above
+ // TODO remove these soon!
ch = getStatistic(ch, md, "nbPage", "page-count");
ch = getStatistic(ch, md, "nbPara", "paragraph-count");
ch = getStatistic(ch, md, "nbWord", "word-count");
ch = getStatistic(ch, md, "nbCharacter", "character-count");
+ // Normalise the rest
ch = new NSNormalizerContentHandler(ch);
return ch;
}
Modified: tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/xml/AttributeMetadataHandler.java
URL: http://svn.apache.org/viewvc/tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/xml/AttributeMetadataHandler.java?rev=1190736&r1=1190735&r2=1190736&view=diff
==============================================================================
--- tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/xml/AttributeMetadataHandler.java (original)
+++ tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/xml/AttributeMetadataHandler.java Sat Oct 29 02:20:31 2011
@@ -32,7 +32,7 @@ public class AttributeMetadataHandler ex
private final String localName;
- protected AttributeMetadataHandler(
+ public AttributeMetadataHandler(
String uri, String localName, Metadata metadata, String name) {
super(metadata, name);
this.uri = uri;
Modified: tika/trunk/tika-parsers/src/test/java/org/apache/tika/parser/odf/ODFParserTest.java
URL: http://svn.apache.org/viewvc/tika/trunk/tika-parsers/src/test/java/org/apache/tika/parser/odf/ODFParserTest.java?rev=1190736&r1=1190735&r2=1190736&view=diff
==============================================================================
--- tika/trunk/tika-parsers/src/test/java/org/apache/tika/parser/odf/ODFParserTest.java (original)
+++ tika/trunk/tika-parsers/src/test/java/org/apache/tika/parser/odf/ODFParserTest.java Sat Oct 29 02:20:31 2011
@@ -83,6 +83,14 @@ public class ODFParserTest extends TikaT
assertEquals(
"NeoOffice/2.2$Unix OpenOffice.org_project/680m18$Build-9161",
metadata.get("generator"));
+
+ // Check the document statistics
+ assertEquals("1", metadata.get(Metadata.PAGE_COUNT));
+ assertEquals("1", metadata.get(Metadata.PARAGRAPH_COUNT));
+ assertEquals("14", metadata.get(Metadata.WORD_COUNT));
+ assertEquals("78", metadata.get(Metadata.CHARACTER_COUNT));
+
+ // Check the old style statistics (these will be removed shortly)
assertEquals("0", metadata.get("nbTab"));
assertEquals("0", metadata.get("nbObject"));
assertEquals("0", metadata.get("nbImg"));
@@ -140,6 +148,10 @@ public class ODFParserTest extends TikaT
assertEquals("true", metadata.get("custom:Info 4"));
// No statistics present
+ assertEquals(null, metadata.get(Metadata.PAGE_COUNT));
+ assertEquals(null, metadata.get(Metadata.PARAGRAPH_COUNT));
+ assertEquals(null, metadata.get(Metadata.WORD_COUNT));
+ assertEquals(null, metadata.get(Metadata.CHARACTER_COUNT));
assertEquals(null, metadata.get("nbTab"));
assertEquals(null, metadata.get("nbObject"));
assertEquals(null, metadata.get("nbImg"));
@@ -190,7 +202,13 @@ public class ODFParserTest extends TikaT
assertEquals(null, metadata.get("custom:Info 3"));
assertEquals(null, metadata.get("custom:Info 4"));
- // No statistics present
+ // Check the document statistics
+ assertEquals("2", metadata.get(Metadata.PAGE_COUNT));
+ assertEquals("13", metadata.get(Metadata.PARAGRAPH_COUNT));
+ assertEquals("54", metadata.get(Metadata.WORD_COUNT));
+ assertEquals("351", metadata.get(Metadata.CHARACTER_COUNT));
+
+ // Check the old style statistics (these will be removed shortly)
assertEquals("0", metadata.get("nbTab"));
assertEquals("2", metadata.get("nbObject"));
assertEquals("0", metadata.get("nbImg"));