annotate src/de/mpiwg/dwinter/fulltextIndexer/harvester/processors/OCRProcessFileThread.java @ 0:dc7622afcfea default tip

initial
author dwinter
date Wed, 03 Nov 2010 12:33:16 +0100
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
dc7622afcfea initial
dwinter
parents:
diff changeset
1 /* */ package de.mpiwg.dwinter.fulltextIndexer.harvester.processors;
dc7622afcfea initial
dwinter
parents:
diff changeset
2 /* */
dc7622afcfea initial
dwinter
parents:
diff changeset
3 /* */ import de.mpiwg.dwinter.fulltextIndexer.OCRutils.OCRDocument;
dc7622afcfea initial
dwinter
parents:
diff changeset
4 /* */ import de.mpiwg.dwinter.fulltextIndexer.OCRutils.OCRDocument.OCRLine;
dc7622afcfea initial
dwinter
parents:
diff changeset
5 /* */ import de.mpiwg.dwinter.fulltextIndexer.utils.ParseOcrDocument;
dc7622afcfea initial
dwinter
parents:
diff changeset
6 /* */ import de.mpiwg.dwinter.lucencetools.analyzer.LanguageAnalyzers;
dc7622afcfea initial
dwinter
parents:
diff changeset
7 /* */ import de.mpiwg.dwinter.lucencetools.documents.OcropusLineDocument;
dc7622afcfea initial
dwinter
parents:
diff changeset
8 /* */ import java.io.File;
dc7622afcfea initial
dwinter
parents:
diff changeset
9 /* */ import java.io.FileNotFoundException;
dc7622afcfea initial
dwinter
parents:
diff changeset
10 /* */ import java.io.FileReader;
dc7622afcfea initial
dwinter
parents:
diff changeset
11 /* */ import java.io.IOException;
dc7622afcfea initial
dwinter
parents:
diff changeset
12 /* */ import java.io.PrintStream;
dc7622afcfea initial
dwinter
parents:
diff changeset
13 /* */ import java.io.Reader;
dc7622afcfea initial
dwinter
parents:
diff changeset
14 /* */ import java.io.UnsupportedEncodingException;
dc7622afcfea initial
dwinter
parents:
diff changeset
15 /* */ import java.util.HashMap;
dc7622afcfea initial
dwinter
parents:
diff changeset
16 /* */ import javax.xml.parsers.ParserConfigurationException;
dc7622afcfea initial
dwinter
parents:
diff changeset
17 /* */ import javax.xml.parsers.SAXParser;
dc7622afcfea initial
dwinter
parents:
diff changeset
18 /* */ import javax.xml.parsers.SAXParserFactory;
dc7622afcfea initial
dwinter
parents:
diff changeset
19 /* */ import org.apache.lucene.index.CorruptIndexException;
dc7622afcfea initial
dwinter
parents:
diff changeset
20 /* */ import org.xml.sax.InputSource;
dc7622afcfea initial
dwinter
parents:
diff changeset
21 /* */ import org.xml.sax.SAXException;
dc7622afcfea initial
dwinter
parents:
diff changeset
22 /* */
dc7622afcfea initial
dwinter
parents:
diff changeset
23 /* */ public class OCRProcessFileThread extends ProcessFileThread
dc7622afcfea initial
dwinter
parents:
diff changeset
24 /* */ {
dc7622afcfea initial
dwinter
parents:
diff changeset
25 /* */ public OCRProcessFileThread(LanguageAnalyzers languageAnalyzers2, File file, String lfn, HashMap<String, String> tl, String mdProviderUrl, String preferedLanguage, HashMap<String, String> languageToISO, HashMap<String, String> supportedLanguageFolder)
dc7622afcfea initial
dwinter
parents:
diff changeset
26 /* */ {
dc7622afcfea initial
dwinter
parents:
diff changeset
27 /* 43 */ super(languageAnalyzers2, file, lfn, tl, mdProviderUrl, preferedLanguage, languageToISO, supportedLanguageFolder);
dc7622afcfea initial
dwinter
parents:
diff changeset
28 /* */ }
dc7622afcfea initial
dwinter
parents:
diff changeset
29 /* */
dc7622afcfea initial
dwinter
parents:
diff changeset
30 /* */ protected Boolean addDocument(File file, String lang, String dcMetaData, String textId)
dc7622afcfea initial
dwinter
parents:
diff changeset
31 /* */ throws CorruptIndexException, IOException, FileNotFoundException, UnsupportedEncodingException, ParserConfigurationException, SAXException
dc7622afcfea initial
dwinter
parents:
diff changeset
32 /* */ {
dc7622afcfea initial
dwinter
parents:
diff changeset
33 /* 52 */ ParseOcrDocument ch = new ParseOcrDocument();
dc7622afcfea initial
dwinter
parents:
diff changeset
34 /* */
dc7622afcfea initial
dwinter
parents:
diff changeset
35 /* 59 */ SAXParserFactory factory = SAXParserFactory.newInstance();
dc7622afcfea initial
dwinter
parents:
diff changeset
36 /* 60 */ factory.setNamespaceAware(true);
dc7622afcfea initial
dwinter
parents:
diff changeset
37 /* 61 */ factory.setValidating(false);
dc7622afcfea initial
dwinter
parents:
diff changeset
38 /* */
dc7622afcfea initial
dwinter
parents:
diff changeset
39 /* 64 */ SAXParser parser = factory.newSAXParser();
dc7622afcfea initial
dwinter
parents:
diff changeset
40 /* */ try
dc7622afcfea initial
dwinter
parents:
diff changeset
41 /* */ {
dc7622afcfea initial
dwinter
parents:
diff changeset
42 /* 67 */ Reader reader = new FileReader(file);
dc7622afcfea initial
dwinter
parents:
diff changeset
43 /* 68 */ InputSource input = new InputSource(reader);
dc7622afcfea initial
dwinter
parents:
diff changeset
44 /* */
dc7622afcfea initial
dwinter
parents:
diff changeset
45 /* 73 */ parser.parse(input, ch);
dc7622afcfea initial
dwinter
parents:
diff changeset
46 /* */ }
dc7622afcfea initial
dwinter
parents:
diff changeset
47 /* */ catch (SAXException e)
dc7622afcfea initial
dwinter
parents:
diff changeset
48 /* */ {
dc7622afcfea initial
dwinter
parents:
diff changeset
49 /* 78 */ e.printStackTrace();
dc7622afcfea initial
dwinter
parents:
diff changeset
50 /* 79 */ return Boolean.valueOf(false);
dc7622afcfea initial
dwinter
parents:
diff changeset
51 /* */ }
dc7622afcfea initial
dwinter
parents:
diff changeset
52 /* */ catch (IOException e) {
dc7622afcfea initial
dwinter
parents:
diff changeset
53 /* 82 */ e.printStackTrace();
dc7622afcfea initial
dwinter
parents:
diff changeset
54 /* */ try {
dc7622afcfea initial
dwinter
parents:
diff changeset
55 /* 84 */ sleep(1L);
dc7622afcfea initial
dwinter
parents:
diff changeset
56 /* 85 */ System.out.println("retry");
dc7622afcfea initial
dwinter
parents:
diff changeset
57 /* 86 */ addDocument(file, lang, dcMetaData, textId);
dc7622afcfea initial
dwinter
parents:
diff changeset
58 /* */ }
dc7622afcfea initial
dwinter
parents:
diff changeset
59 /* */ catch (InterruptedException e1) {
dc7622afcfea initial
dwinter
parents:
diff changeset
60 /* 89 */ e1.printStackTrace();
dc7622afcfea initial
dwinter
parents:
diff changeset
61 /* */ }
dc7622afcfea initial
dwinter
parents:
diff changeset
62 /* 91 */ return Boolean.valueOf(false);
dc7622afcfea initial
dwinter
parents:
diff changeset
63 /* */ }
dc7622afcfea initial
dwinter
parents:
diff changeset
64 /* */
dc7622afcfea initial
dwinter
parents:
diff changeset
65 /* 94 */ OCRDocument doc = ch.ocrDocument;
dc7622afcfea initial
dwinter
parents:
diff changeset
66 /* */
dc7622afcfea initial
dwinter
parents:
diff changeset
67 /* 96 */ for (OCRDocument.OCRLine line : doc.OCRLines)
dc7622afcfea initial
dwinter
parents:
diff changeset
68 /* */ {
dc7622afcfea initial
dwinter
parents:
diff changeset
69 /* 98 */ if (dcMetaData == null)
dc7622afcfea initial
dwinter
parents:
diff changeset
70 /* 99 */ this.languageAnalyzers.addDocument(OcropusLineDocument.Document(file, absPathToTextId(file),lang, line, doc.pageDimension, textId), lang);
dc7622afcfea initial
dwinter
parents:
diff changeset
71 /* */ else {
dc7622afcfea initial
dwinter
parents:
diff changeset
72 /* 101 */ this.languageAnalyzers.addDocument(OcropusLineDocument.Document(file, absPathToTextId(file),lang, line, doc.pageDimension, dcMetaData, textId), lang);
dc7622afcfea initial
dwinter
parents:
diff changeset
73 /* */ }
dc7622afcfea initial
dwinter
parents:
diff changeset
74 /* */ }
dc7622afcfea initial
dwinter
parents:
diff changeset
75 /* 104 */ return Boolean.valueOf(true);
dc7622afcfea initial
dwinter
parents:
diff changeset
76 /* */ }
dc7622afcfea initial
dwinter
parents:
diff changeset
77 /* */ }
dc7622afcfea initial
dwinter
parents:
diff changeset
78
dc7622afcfea initial
dwinter
parents:
diff changeset
79 /* Location: /private/tmp/fulltextIndexer.jar
dc7622afcfea initial
dwinter
parents:
diff changeset
80 * Qualified Name: de.mpiwg.dwinter.fulltextIndexer.harvester.processors.OCRProcessFileThread
dc7622afcfea initial
dwinter
parents:
diff changeset
81 * JD-Core Version: 0.5.4
dc7622afcfea initial
dwinter
parents:
diff changeset
82 */