]> gitweb.fperrin.net Git - DictionaryPC.git/blobdiff - src/com/hughes/android/dictionary/parser/DictFileParser.java
include dict.cc entries with subject labels
[DictionaryPC.git] / src / com / hughes / android / dictionary / parser / DictFileParser.java
index 07d077562b8b106392d201123eb26aa753e48781..0fa43060086ffce54d1567d9ecd3530c7b94586e 100644 (file)
@@ -23,7 +23,6 @@ import java.nio.charset.Charset;
 import java.util.Arrays;
 import java.util.Collections;
 import java.util.LinkedHashSet;
-import java.util.List;
 import java.util.Set;
 import java.util.logging.Logger;
 import java.util.regex.Matcher;
@@ -31,12 +30,11 @@ import java.util.regex.Pattern;
 
 import com.hughes.android.dictionary.engine.DictionaryBuilder;
 import com.hughes.android.dictionary.engine.EntrySource;
-import com.hughes.android.dictionary.engine.IndexedEntry;
 import com.hughes.android.dictionary.engine.EntryTypeName;
 import com.hughes.android.dictionary.engine.IndexBuilder;
+import com.hughes.android.dictionary.engine.IndexedEntry;
 import com.hughes.android.dictionary.engine.Language;
 import com.hughes.android.dictionary.engine.PairEntry;
-import com.hughes.android.dictionary.engine.PairEntry.Pair;
 
 public class DictFileParser implements Parser {
 
@@ -112,9 +110,8 @@ public class DictFileParser implements Parser {
             return;
         }
         final String[] fields = fieldSplit.split(line);
-        // dictcc now has a part of speech field as field #3.
-        if (fields.length < 2 || fields.length > 3) {
-            logger.warning("Malformed line: " + line);
+        if (fields.length < 2 || fields.length > 4) {
+            logger.warning("Malformed line, expected 3 or 4 fields, got " + fields.length + ": " + line);
             return;
         }
 
@@ -153,7 +150,7 @@ public class DictFileParser implements Parser {
             if (subfields[1][i].length() == 0) {
                 subfields[1][i] = "__";
             }
-            pairEntry.pairs.add(new Pair(subfields[0][i], subfields[1][i]));
+            pairEntry.pairs.add(new PairEntry.Pair(subfields[0][i], subfields[1][i]));
         }
         final IndexedEntry entryData = new IndexedEntry(pairEntry);
         entryData.isValid = true;
@@ -295,9 +292,9 @@ public class DictFileParser implements Parser {
         return field;
     }
 
-    public static final Set<String> tokenize(final String text, final Pattern pattern) {
+    public static Set<String> tokenize(final String text, final Pattern pattern) {
         final String[] split = pattern.split(text);
-        final Set<String> result = new LinkedHashSet<String>(Arrays.asList(split));
+        final Set<String> result = new LinkedHashSet<>(Arrays.asList(split));
         result.remove("");
         return result;
     }