From: Thad Hughes Date: Tue, 17 Jan 2012 21:13:38 +0000 (-0800) Subject: Better DictionaryInfo, IndexBuilder counts main TokenRows. X-Git-Url: http://gitweb.fperrin.net/?a=commitdiff_plain;h=41720040e2688a14e64004f7faef5f3b5c1cfbfc;p=DictionaryPC.git Better DictionaryInfo, IndexBuilder counts main TokenRows. --- diff --git a/src/com/hughes/android/dictionary/engine/CheckDictionariesMain.java b/src/com/hughes/android/dictionary/engine/CheckDictionariesMain.java index 36d69d3..898f462 100644 --- a/src/com/hughes/android/dictionary/engine/CheckDictionariesMain.java +++ b/src/com/hughes/android/dictionary/engine/CheckDictionariesMain.java @@ -4,18 +4,14 @@ import java.io.File; import java.io.IOException; import java.io.PrintWriter; import java.io.RandomAccessFile; -import java.util.ArrayList; import java.util.Arrays; -import java.util.Collections; -import java.util.List; import com.hughes.android.dictionary.DictionaryInfo; -import com.hughes.android.dictionary.engine.Index.IndexEntry; public class CheckDictionariesMain { static final String BASE_URL = "http://quickdic-dictionary.googlecode.com/files/"; - static final String VERSION_CODE = "v002"; + static final String VERSION_CODE = "v003"; public static void main(String[] args) throws IOException { final File dictDir = new File(DictionaryBuilderMain.OUTPUTS); @@ -31,15 +27,15 @@ public class CheckDictionariesMain { } System.out.println(dictFile.getPath()); - final DictionaryInfo dictionaryInfo = new DictionaryInfo(); final RandomAccessFile raf = new RandomAccessFile(dictFile, "r"); final Dictionary dict = new Dictionary(raf); - + + final DictionaryInfo dictionaryInfo = dict.getDictionaryInfo(); + dictionaryInfo.uncompressedFilename = dictFile.getName(); dictionaryInfo.downloadUrl = BASE_URL + dictFile.getName() + "." + VERSION_CODE + ".zip"; // TODO: zip it right here.... - dictionaryInfo.creationMillis = dict.creationMillis; dictionaryInfo.uncompressedSize = dictFile.length(); // Print it. @@ -53,23 +49,14 @@ public class CheckDictionariesMain { // Find the stats. System.out.println("Stats..."); - for (int i = 0; i < 2; ++i) { - dictionaryInfo.langIsos[i] = dict.indices.get(i).sortLanguage.getIsoCode(); - final Index index = dict.indices.get(i); - for (final IndexEntry indexEntry : index.sortedIndexEntries) { - final TokenRow tokenRow = (TokenRow) index.rows.get(indexEntry.startRow); - dictionaryInfo.allTokenCounts[i]++; - if (tokenRow.hasMainEntry) { - dictionaryInfo.mainTokenCounts[i]++; - } - } - } + final String row = dictionaryInfo.append(new StringBuilder()).toString(); + System.out.println(row + "\n"); + + dictionaryInfoOut.println(row); + dictionaryInfoOut.flush(); raf.close(); - dictionaryInfoOut.println(dictionaryInfo.toTabSeparatedString()); - dictionaryInfoOut.flush(); - System.out.println(dictionaryInfo.toTabSeparatedString() + "\n"); } dictionaryInfoOut.close(); diff --git a/src/com/hughes/android/dictionary/engine/DictionaryBuilderMain.java b/src/com/hughes/android/dictionary/engine/DictionaryBuilderMain.java index 8ac7283..192ad6d 100644 --- a/src/com/hughes/android/dictionary/engine/DictionaryBuilderMain.java +++ b/src/com/hughes/android/dictionary/engine/DictionaryBuilderMain.java @@ -63,9 +63,9 @@ public class DictionaryBuilderMain extends TestCase { // isoToWikiName.keySet().retainAll(Arrays.asList("UK", "HR", "FI")); //isoToWikiName.clear(); - boolean go = true; + boolean go = false; for (final String foreignIso : isoToWikiName.keySet()) { - if (foreignIso.equals("SK")) { + if (foreignIso.equals("blah")) { go = true; } if (!go) { @@ -111,7 +111,7 @@ public class DictionaryBuilderMain extends TestCase { } // foreignIso - final String dictFile = String.format("%s/DE-EN_chemnitz_enwiktionary.%s.quickdic", OUTPUTS); + final String dictFile = String.format("%s/DE-EN_chemnitz_enwiktionary.quickdic", OUTPUTS); DictionaryBuilder.main(new String[] { "--dictOut=" + dictFile, "--lang1=DE", diff --git a/src/com/hughes/android/dictionary/engine/IndexBuilder.java b/src/com/hughes/android/dictionary/engine/IndexBuilder.java index 6f28d30..44bfa76 100644 --- a/src/com/hughes/android/dictionary/engine/IndexBuilder.java +++ b/src/com/hughes/android/dictionary/engine/IndexBuilder.java @@ -46,12 +46,17 @@ public class IndexBuilder { public void build() { final Set tokenEntryDatas = new HashSet(); final List rows = index.rows; + index.mainTokenCount = 0; for (final TokenData tokenData : tokenToData.values()) { tokenEntryDatas.clear(); final int indexIndex = index.sortedIndexEntries.size(); final int startRow = rows.size(); - rows.add(new TokenRow(indexIndex, rows.size(), index, tokenData.hasMainEntry)); + final TokenRow tokenRow = new TokenRow(indexIndex, rows.size(), index, tokenData.hasMainEntry); + rows.add(tokenRow); + if (tokenRow.hasMainEntry) { + index.mainTokenCount++; + } // System.out.println("Added TokenRow: " + rows.get(rows.size() - 1)); int numRows = 0; // System.out.println("TOKEN: " + tokenData.token); diff --git a/src/com/hughes/android/dictionary/parser/enwiktionary/FunctionCallbacksDefault.java b/src/com/hughes/android/dictionary/parser/enwiktionary/FunctionCallbacksDefault.java index 83b13ef..99e44d9 100644 --- a/src/com/hughes/android/dictionary/parser/enwiktionary/FunctionCallbacksDefault.java +++ b/src/com/hughes/android/dictionary/parser/enwiktionary/FunctionCallbacksDefault.java @@ -133,7 +133,15 @@ public final class FunctionCallbacksDefault { appendAndIndexWikiCallback.builder.append("|"); appendAndIndexWikiCallback.dispatch(entry.getKey(), null, null); appendAndIndexWikiCallback.builder.append("="); - appendAndIndexWikiCallback.dispatch(entry.getValue(), null, null); + EntryTypeName entryTypeName = null; + IndexBuilder indexBuilder = null; + // This doesn't work: we'd need to add to word-forms. +// System.out.println(entry.getKey()); +// if (entry.getKey().equals("tr")) { +// entryTypeName = EntryTypeName.WIKTIONARY_TRANSLITERATION; +// indexBuilder = appendAndIndexWikiCallback.parser.foreignIndexBuilder; +// } + appendAndIndexWikiCallback.dispatch(entry.getValue(), indexBuilder, entryTypeName); } }