From 67da20647f1f3499066ab786d6092baa40c3d12b Mon Sep 17 00:00:00 2001 From: f1ori Date: Sat, 18 Jul 2009 15:04:34 +0000 Subject: [PATCH] * add new odf parser based on sax-xml-parser * remove odf_utils-jar * test metadata in ParserTest git-svn-id: https://svn.berlios.de/svnroot/repos/yacy/trunk@6231 6c8d7289-2bf4-0310-a012-ef5d649a1542 --- .classpath | 78 +++++++++--------- build.xml | 8 +- lib/odf_utils_05_11_29.jar | Bin 90496 -> 0 bytes .../de/anomic/document/parser/odtParser.java | 22 ++--- .../document/parser/xml/ODContentHandler.java | 65 +++++++++++++++ .../document/parser/xml/ODMetaHandler.java | 67 +++++++++++++++ test/de/anomic/document/ParserTest.java | 21 +++-- test/parsertest/umlaute_linux.odt | Bin 9874 -> 9279 bytes 8 files changed, 200 insertions(+), 61 deletions(-) delete mode 100644 lib/odf_utils_05_11_29.jar create mode 100644 source/de/anomic/document/parser/xml/ODContentHandler.java create mode 100644 source/de/anomic/document/parser/xml/ODMetaHandler.java diff --git a/.classpath b/.classpath index 0f0590b67..523593c72 100644 --- a/.classpath +++ b/.classpath @@ -1,39 +1,39 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/build.xml b/build.xml index 19463c4e7..c76440fc5 100644 --- a/build.xml +++ b/build.xml @@ -45,6 +45,7 @@ + @@ -178,7 +179,6 @@ - @@ -541,7 +541,7 @@ - @@ -558,12 +558,12 @@ - + - + diff --git a/lib/odf_utils_05_11_29.jar b/lib/odf_utils_05_11_29.jar deleted file mode 100644 index afa36068a56164d5a6a9f10979fcf4d388337414..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 90496 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 z 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�eVH#D}0Ffp}w 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

>Mo&r8lx{zcI^4K2XIJ52?PWJRcYbWd&QtH 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

hy+G#l@zV2;7xoGIn14m~q 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 = zipFile.entries(); + final SAXParserFactory saxParserFactory = SAXParserFactory.newInstance(); // looping through all containing files while (zipEnum.hasMoreElements()) { @@ -150,18 +151,19 @@ public class odtParser extends AbstractParser implements Idiom { // extract data final InputStream zipFileEntryStream = zipFile.getInputStream(zipEntry); - final OpenDocumentTextInputStream odStream = new OpenDocumentTextInputStream(zipFileEntryStream); - FileUtils.copy(odStream, writer, Charset.forName("UTF-8")); + final SAXParser saxParser = saxParserFactory.newSAXParser(); + saxParser.parse(zipFileEntryStream, new ODContentHandler(writer)); // close readers and writers - odStream.close(); + zipFileEntryStream.close(); writer.close(); } else if (entryName.equals("meta.xml")) { // meta.xml contains metadata about the document final InputStream zipFileEntryStream = zipFile.getInputStream(zipEntry); - final ODFMetaFileAnalyzer metaAnalyzer = new ODFMetaFileAnalyzer(); - final OpenDocumentMetadata metaData = metaAnalyzer.analyzeMetaData(zipFileEntryStream); + final SAXParser saxParser = saxParserFactory.newSAXParser(); + final ODMetaHandler metaData = new ODMetaHandler(); + saxParser.parse(zipFileEntryStream, metaData); docDescription = metaData.getDescription(); docKeywordStr = metaData.getKeyword(); docShortTitle = metaData.getTitle(); @@ -260,7 +262,7 @@ public class odtParser extends AbstractParser implements Idiom { // Nothing todo here at the moment super.reset(); } - + public static void main(final String[] args) { try { if (args.length != 1) return; diff --git a/source/de/anomic/document/parser/xml/ODContentHandler.java b/source/de/anomic/document/parser/xml/ODContentHandler.java new file mode 100644 index 000000000..fed53a392 --- /dev/null +++ b/source/de/anomic/document/parser/xml/ODContentHandler.java @@ -0,0 +1,65 @@ +// ODContentHandler.java +// (C) 2007 by Michael Peter Christen; mc@yacy.net, Frankfurt a. M., Germany +// first published 16.07.2007 on http://yacy.net +// +// This is a part of YaCy, a peer-to-peer based web search engine +// +// $LastChangedDate: 2009-07-09 22:13:11 +0200 (Do, 09. Jul 2009) $ +// $LastChangedRevision: 6186 $ +// $LastChangedBy: low012 $ +// +// LICENSE +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation; either version 2 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + +package de.anomic.document.parser.xml; + +import java.io.IOException; +import java.io.Writer; + +import org.xml.sax.helpers.DefaultHandler; + +/** + * This is a SAX Handler, which handles the content.xml file + * of an OpenDocument-file and passes all interesting data to + * a Writer + * @author f1ori + * + */ +public class ODContentHandler extends DefaultHandler { + private Writer out; + public ODContentHandler(Writer out) { + this.out = out; + } + @Override + public void characters(final char ch[], final int start, final int length) { + try { + out.write(ch, start, length); + } catch (IOException e) { + e.printStackTrace(); + } + } + @Override + public void endElement(final String uri, final String name, final String tag) { + if ("text:p".equals(tag) || "table:table-row".equals(tag)) { + // add newlines after paragraphs + try { + out.append("\n"); + } catch (IOException e) { + e.printStackTrace(); + } + } + } +} \ No newline at end of file diff --git a/source/de/anomic/document/parser/xml/ODMetaHandler.java b/source/de/anomic/document/parser/xml/ODMetaHandler.java new file mode 100644 index 000000000..b6486ec11 --- /dev/null +++ b/source/de/anomic/document/parser/xml/ODMetaHandler.java @@ -0,0 +1,67 @@ +package de.anomic.document.parser.xml; + +import org.xml.sax.Attributes; +import org.xml.sax.SAXException; +import org.xml.sax.helpers.DefaultHandler; + +public class ODMetaHandler extends DefaultHandler { + private StringBuilder buffer = new StringBuilder(); + + private String docCreator = null; + private String docLanguage = null; + private String docKeyword = null; + private String docSubject = null; + private String docTitle = null; + private String docDescription = null; + + public ODMetaHandler() { + } + + @Override + public void characters(final char ch[], final int start, final int length) { + buffer.append(ch, start, length); + } + + @Override + public void startElement(final String uri, final String name, final String tag, final Attributes atts) throws SAXException { + buffer.delete(0, buffer.length()); + } + + @Override + public void endElement(final String uri, final String name, final String tag) { + if ("dc:creator".equals(tag)) { + this.docCreator = buffer.toString(); + } else if ("dc:language".equals(tag)) { + this.docLanguage = buffer.toString(); + } else if ("meta:keyword".equals(tag)) { + this.docKeyword = buffer.toString(); + } else if ("dc:subject".equals(tag)) { + this.docSubject = buffer.toString(); + } else if ("dc:title".equals(tag)) { + this.docTitle = buffer.toString(); + } else if ("dc:description".equals(tag)) { + this.docDescription = buffer.toString(); + } + } + + public String getCreator() { + return docCreator; + } + + public String getLanguage() { + return docLanguage; + } + public String getKeyword() { + return docKeyword; + } + public String getSubject() { + return docSubject; + } + public String getTitle() { + return docTitle; + } + public String getDescription() { + return docDescription; + } +} + diff --git a/test/de/anomic/document/ParserTest.java b/test/de/anomic/document/ParserTest.java index 8d17e875a..f90879f08 100644 --- a/test/de/anomic/document/ParserTest.java +++ b/test/de/anomic/document/ParserTest.java @@ -2,12 +2,14 @@ package de.anomic.document; import static org.junit.Assert.*; import org.junit.Test; +import static org.junit.matchers.JUnitMatchers.*; import java.io.File; import java.io.FileInputStream; import java.io.Reader; import java.io.InputStreamReader; +import de.anomic.document.Document; import de.anomic.document.Parser; import de.anomic.yacy.yacyURL; @@ -17,11 +19,12 @@ public class ParserTest { de.anomic.document.ParserException, java.net.MalformedURLException, java.io.UnsupportedEncodingException, java.io.IOException { String[][] testFiles = new String[][] { - new String[]{"umlaute_linux.odt", "application/vnd.oasis.opendocument.text"}, - new String[]{"umlaute_linux.ods", "application/vnd.oasis.opendocument.spreadsheat"}, - new String[]{"umlaute_linux.odp", "application/vnd.oasis.opendocument.presentation"}, - new String[]{"umlaute_linux.pdf", "application/pdf"}, - new String[]{"umlaute_windows.doc", "application/msword"}, + // meaning: filename in test/parsertest, mimetype, title, creator, description, + new String[]{"umlaute_linux.odt", "application/vnd.oasis.opendocument.text", "Münchner Hofbräuhaus", "", "Kommentar zum Hofbräuhaus"}, + new String[]{"umlaute_linux.ods", "application/vnd.oasis.opendocument.spreadsheat", "", "", ""}, + new String[]{"umlaute_linux.odp", "application/vnd.oasis.opendocument.presentation", "", "", ""}, + new String[]{"umlaute_linux.pdf", "application/pdf", "", "", ""}, + new String[]{"umlaute_windows.doc", "application/msword", "", "", ""}, }; @@ -38,10 +41,12 @@ public class ParserTest { while( (c = content.read()) != -1 ) str.append((char)c); - System.out.println("Parsed: " + str); - - assertTrue(str.indexOf("In München steht ein Hofbräuhaus, dort gibt es Bier in Maßkrügen") != -1); + System.out.println("Parsed " + filename + ": " + str); + assertThat(str.toString(), containsString("In München steht ein Hofbräuhaus, dort gibt es Bier in Maßkrügen")); + assertThat(doc.dc_title(), containsString(testFiles[i][2])); + assertThat(doc.dc_creator(), containsString(testFiles[i][3])); + assertThat(doc.dc_description(), containsString(testFiles[i][4])); } } } diff --git a/test/parsertest/umlaute_linux.odt b/test/parsertest/umlaute_linux.odt index 23d978cb1371d8deccd69260321de5d39726e263..1d70fdcc9000022777a031f47eeb29a0f0fe66e9 100755 GIT binary patch delta 6970 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 delta 7565 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