String inputFormat = keyValueArgs.remove(prefix + "Format");
if ("tab_separated".equals(inputFormat)) {
final boolean flipColumns = "true".equals(keyValueArgs.remove(prefix + "FlipColumns"));
- new DictFileParser(charset, flipColumns, DictFileParser.TAB, null, dictionaryBuilder, dictionaryBuilder.indexBuilders.toArray(new IndexBuilder[0]), null).parse(file, entrySource, pageLimit);
+ new DictFileParser(charset, flipColumns, DictFileParser.TAB, null, dictionaryBuilder).parse(file, entrySource, pageLimit);
} else if ("chemnitz".equals(inputFormat)) {
final boolean flipColumns = "true".equals(keyValueArgs.remove(prefix + "FlipColumns"));
- new DictFileParser(charset, flipColumns, DictFileParser.DOUBLE_COLON, DictFileParser.PIPE, dictionaryBuilder, dictionaryBuilder.indexBuilders.toArray(new IndexBuilder[0]), null).parse(file, entrySource, pageLimit);
+ new DictFileParser(charset, flipColumns, DictFileParser.DOUBLE_COLON, DictFileParser.PIPE, dictionaryBuilder).parse(file, entrySource, pageLimit);
} else if ("enwiktionary".equals(inputFormat)) {
final String type = keyValueArgs.remove(prefix + "WiktionaryType");
final Pattern langPattern = Pattern.compile(keyValueArgs.remove(prefix + "LangPattern"), Pattern.CASE_INSENSITIVE);
final Pattern subfieldSplit;
final DictionaryBuilder dictBuilder;
- final IndexBuilder[] langIndexBuilders;
- final IndexBuilder bothIndexBuilder;
EntrySource entrySource;
public DictFileParser(final Charset charset, boolean flipCols,
final Pattern fieldSplit, final Pattern subfieldSplit,
- final DictionaryBuilder dictBuilder, final IndexBuilder[] langIndexBuilders,
- final IndexBuilder bothIndexBuilder) {
+ final DictionaryBuilder dictBuilder) {
this.charset = charset;
this.flipCols = flipCols;
this.fieldSplit = fieldSplit;
this.subfieldSplit = subfieldSplit;
this.dictBuilder = dictBuilder;
- this.langIndexBuilders = langIndexBuilders;
- this.bothIndexBuilder = bothIndexBuilder;
}
@Override
for (int l = 0; l < 2; ++l) {
// alreadyDone.clear();
+ final IndexBuilder indexBuilder = dictBuilder.indexBuilders.get(l);
for (int j = 0; j < subfields[l].length; ++j) {
String subfield = subfields[l][j];
- final IndexBuilder indexBuilder = langIndexBuilders[l];
if (indexBuilder.index.sortLanguage == Language.de) {
subfield = parseField_DE(indexBuilder, subfield, entryData, j);
} else if (indexBuilder.index.sortLanguage == Language.en) {