- final String wikiText = wikiTokenizer.wikiLinkText();
-
- final String linkDest = wikiTokenizer.wikiLinkDest();
- if (linkDest != null) {
- System.out.println("linkDest: " + linkDest);
- // TODO: Check for English before appending.
- // TODO: Could also index under link dest, too.
+ final String text = wikiTokenizer.wikiLinkText();
+ final String link = wikiTokenizer.wikiLinkDest();
+ if (link != null) {
+ if (link.contains("#English")) {
+ dispatch(text, parser.enIndexBuilder, EntryTypeName.WIKTIONARY_ENGLISH_DEF_WIKI_LINK);
+ } else if (link.contains("#") && parser.langPattern.matcher(link).find()) {
+ dispatch(text, parser.foreignIndexBuilder, EntryTypeName.WIKTIONARY_ENGLISH_DEF_OTHER_LANG);
+ } else if (link.equals("plural")) {
+ builder.append(text);
+ } else {
+ //LOG.warning("Special link: " + englishTokenizer.token());
+ dispatch(text, EntryTypeName.WIKTIONARY_ENGLISH_DEF_WIKI_LINK);
+ }
+ } else {
+ // link == null
+ final EntryTypeName entryTypeName;
+ switch (parser.state) {
+ case TRANSLATION_LINE:
+ entryTypeName = EntryTypeName.WIKTIONARY_TRANSLATION_WIKI_TEXT;
+ break;
+ case ENGLISH_DEF_OF_FOREIGN:
+ entryTypeName = EntryTypeName.WIKTIONARY_ENGLISH_DEF_WIKI_LINK;
+ break;
+ default:
+ throw new IllegalStateException("Invalid enum value: " + parser.state);
+ }
+ dispatch(text, entryTypeName);