]> gitweb.fperrin.net Git - DictionaryPC.git/blobdiff - src/com/hughes/android/dictionary/parser/enwiktionary/EnWiktionaryXmlParser.java
Wiktionary upgrade!
[DictionaryPC.git] / src / com / hughes / android / dictionary / parser / enwiktionary / EnWiktionaryXmlParser.java
index 7ccbf9b6d55eda39997a75701de71f21df37c0d6..8f51e4e9d40dece1f25c270b2211b37cf5451f50 100644 (file)
@@ -27,9 +27,11 @@ import java.util.LinkedHashSet;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
+import java.util.logging.Level;
 import java.util.logging.Logger;
 import java.util.regex.Pattern;
 
+import com.hughes.android.dictionary.engine.EntrySource;
 import com.hughes.android.dictionary.engine.EntryTypeName;
 import com.hughes.android.dictionary.engine.IndexBuilder;
 import com.hughes.android.dictionary.engine.IndexedEntry;
@@ -57,6 +59,7 @@ public class EnWiktionaryXmlParser {
       "Particle|Interjection|Pronominal adverb" +
       "Han character|Hanzi|Hanja|Kanji|Katakana character|Syllable");
   
+  EntrySource entrySource;
   final IndexBuilder enIndexBuilder;
   final IndexBuilder foreignIndexBuilder;
   final Pattern langPattern;
@@ -82,7 +85,8 @@ public class EnWiktionaryXmlParser {
   }
 
   
-  public void parse(final File file, final int pageLimit) throws IOException {
+  public void parse(final File file, final EntrySource entrySource, final int pageLimit) throws IOException {
+    this.entrySource = entrySource;
     int pageCount = 0;
     final DataInputStream dis = new DataInputStream(new BufferedInputStream(new FileInputStream(file)));
     while (true) {
@@ -93,7 +97,7 @@ public class EnWiktionaryXmlParser {
       try {
         title = dis.readUTF();
       } catch (EOFException e) {
-        LOG.warning("Error reading split!");
+        LOG.log(Level.INFO, "EOF reading split.");
         dis.close();
         return;
       }
@@ -290,7 +294,7 @@ public class EnWiktionaryXmlParser {
   private void doTranslationLine(final String line, final String lang, final String pos, final String sense, final String rest) {
     state = State.TRANSLATION_LINE;
     // Good chance we'll actually file this one...
-    final PairEntry pairEntry = new PairEntry();
+    final PairEntry pairEntry = new PairEntry(entrySource);
     final IndexedEntry indexedEntry = new IndexedEntry(pairEntry);
     
     final StringBuilder foreignText = new StringBuilder();
@@ -491,7 +495,7 @@ public class EnWiktionaryXmlParser {
       return;
     }
     
-    final PairEntry pairEntry = new PairEntry();
+    final PairEntry pairEntry = new PairEntry(entrySource);
     final IndexedEntry indexedEntry = new IndexedEntry(pairEntry);
 
     entryIsFormOfSomething = false;