- boolean insideTripleQuotes = false;
- while (wikiTokenizer.nextToken() != null) {
- if (wikiTokenizer.isPlainText()) {
- builder.append(wikiTokenizer.token());
- if (indexBuilder != null) {
- indexBuilder.addEntryWithStringNoSingle(indexedEntry, wikiTokenizer.token(), EntryTypeName.WIKTIONARY_EXAMPLE);
- }
- } else if (wikiTokenizer.isWikiLink()) {
- final String text = wikiTokenizer.wikiLinkText().replaceAll("'", "");
- builder.append(text);
- if (indexBuilder != null) {
- indexBuilder.addEntryWithStringNoSingle(indexedEntry, text, EntryTypeName.WIKTIONARY_EXAMPLE);
- }
- } else if (wikiTokenizer.isFunction()) {
- builder.append(wikiTokenizer.token());
- } else if (wikiTokenizer.isMarkup()) {
- if (wikiTokenizer.token().equals("'''")) {
- insideTripleQuotes = !insideTripleQuotes;
- }
- } else if (wikiTokenizer.isComment() || wikiTokenizer.isNewline()) {
- // Do nothing.
- } else {
- LOG.warning("unexpected token: " + wikiTokenizer.token());
- }
+ appendAndIndexWikiCallback.reset(builder, indexedEntry);
+ appendAndIndexWikiCallback.entryTypeName = EntryTypeName.WIKTIONARY_EXAMPLE;
+ appendAndIndexWikiCallback.entryTypeNameSticks = true;
+ try {
+ // TODO: this is a hack needed because we don't safely split on the dash.
+ appendAndIndexWikiCallback.dispatch(example, indexBuilder, EntryTypeName.WIKTIONARY_EXAMPLE);
+ } catch (AssertionError e) {
+ return "--";