From 498f764042c3d1309930373af01d11060ea7daed Mon Sep 17 00:00:00 2001 From: thadh Date: Tue, 18 Sep 2012 10:45:40 -0700 Subject: [PATCH] Reformat. --- .../wiktionary/WholeSectionToHtmlParser.java | 262 +++++++++--------- 1 file changed, 134 insertions(+), 128 deletions(-) diff --git a/src/com/hughes/android/dictionary/parser/wiktionary/WholeSectionToHtmlParser.java b/src/com/hughes/android/dictionary/parser/wiktionary/WholeSectionToHtmlParser.java index 66ead9c..57f04e1 100644 --- a/src/com/hughes/android/dictionary/parser/wiktionary/WholeSectionToHtmlParser.java +++ b/src/com/hughes/android/dictionary/parser/wiktionary/WholeSectionToHtmlParser.java @@ -1,3 +1,4 @@ + package com.hughes.android.dictionary.parser.wiktionary; import com.hughes.android.dictionary.engine.HtmlEntry; @@ -14,149 +15,154 @@ import java.util.Map; import java.util.regex.Pattern; public class WholeSectionToHtmlParser extends AbstractWiktionaryParser { - - public static final String NAME = "WholeSectionToHtmlParser"; - public static final Pattern skipSections = Pattern.compile(".*Translations.*"); - - final IndexBuilder titleIndexBuilder; - - public WholeSectionToHtmlParser(final IndexBuilder titleIndexBuilder) { - this.titleIndexBuilder = titleIndexBuilder; - - } - - @Override - void parseSection(String heading, String text) { - HtmlEntry htmlEntry = new HtmlEntry(entrySource, StringEscapeUtils.escapeHtml3(title)); - IndexedEntry indexedEntry = new IndexedEntry(htmlEntry); - - final AppendAndIndexWikiCallback callback = new AppendCallback(this); - - callback.builder = new StringBuilder(); - callback.indexedEntry = indexedEntry; - callback.dispatch(text, null); - - htmlEntry.html = callback.builder.toString(); - indexedEntry.isValid = true; - - final TokenData tokenData = titleIndexBuilder.getOrCreateTokenData(title); - - htmlEntry.addToDictionary(titleIndexBuilder.index.dict); - tokenData.htmlEntries.add(htmlEntry); - //titleIndexBuilder.addEntryWithString(indexedEntry, title, EntryTypeName.WIKTIONARY_TITLE_MULTI_DETAIL); - } - - @Override - void removeUselessArgs(Map namedArgs) { - } - - class AppendCallback extends AppendAndIndexWikiCallback { - public AppendCallback(WholeSectionToHtmlParser parser) { - super(parser); - } - @Override - public void onPlainText(String plainText) { - super.onPlainText(StringEscapeUtils.escapeHtml3(plainText)); - } + public static final String NAME = "WholeSectionToHtmlParser"; + public static final Pattern skipSections = Pattern.compile(".*Translations.*"); - @Override - public void onWikiLink(WikiTokenizer wikiTokenizer) { - super.onWikiLink(wikiTokenizer); - } + final IndexBuilder titleIndexBuilder; + + public WholeSectionToHtmlParser(final IndexBuilder titleIndexBuilder) { + this.titleIndexBuilder = titleIndexBuilder; - @Override - public void onFunction(WikiTokenizer wikiTokenizer, String name, - List args, Map namedArgs) { - super.onFunction(wikiTokenizer, name, args, namedArgs); } @Override - public void onHtml(WikiTokenizer wikiTokenizer) { - super.onHtml(wikiTokenizer); + void parseSection(String heading, String text) { + HtmlEntry htmlEntry = new HtmlEntry(entrySource, StringEscapeUtils.escapeHtml3(title)); + IndexedEntry indexedEntry = new IndexedEntry(htmlEntry); + + final AppendAndIndexWikiCallback callback = new AppendCallback( + this); + + callback.builder = new StringBuilder(); + callback.indexedEntry = indexedEntry; + callback.dispatch(text, null); + + htmlEntry.html = callback.builder.toString(); + indexedEntry.isValid = true; + + final TokenData tokenData = titleIndexBuilder.getOrCreateTokenData(title); + + htmlEntry.addToDictionary(titleIndexBuilder.index.dict); + tokenData.htmlEntries.add(htmlEntry); + // titleIndexBuilder.addEntryWithString(indexedEntry, title, + // EntryTypeName.WIKTIONARY_TITLE_MULTI_DETAIL); } - + @Override - public void onNewline(WikiTokenizer wikiTokenizer) { + void removeUselessArgs(Map namedArgs) { } - @Override - public void onHeading(WikiTokenizer wikiTokenizer) { - final String headingText = wikiTokenizer.headingWikiText(); - final int depth = wikiTokenizer.headingDepth(); - if (skipSections.matcher(headingText).matches()) { - while ((wikiTokenizer = wikiTokenizer.nextToken()) != null) { - if (wikiTokenizer.isHeading() && wikiTokenizer.headingDepth() <= depth) { - wikiTokenizer.returnToLineStart(); - return; - } + class AppendCallback extends AppendAndIndexWikiCallback { + public AppendCallback(WholeSectionToHtmlParser parser) { + super(parser); } - return; - } - builder.append(String.format("\n", depth)); - dispatch(headingText, null); - builder.append(String.format("\n", depth)); - } - final List listPrefixStack = new ArrayList(); - @Override - public void onListItem(WikiTokenizer wikiTokenizer) { - if (builder.length() != 0 && builder.charAt(builder.length() - 1) != '\n') { - builder.append("\n"); - } - final String prefix = wikiTokenizer.listItemPrefix(); - while (listPrefixStack.size() < prefix.length()) { - builder.append(String.format("<%s>", WikiTokenizer.getListTag(prefix.charAt(listPrefixStack.size())))); - listPrefixStack.add(prefix.charAt(listPrefixStack.size())); - } - builder.append("
  • "); - dispatch(wikiTokenizer.listItemWikiText(), null); - builder.append("
  • \n"); - - WikiTokenizer nextToken = wikiTokenizer.nextToken(); - boolean returnToLineStart = false; - if (nextToken != null && nextToken.isNewline()) { - nextToken = nextToken.nextToken(); - returnToLineStart = true; - } - final String nextListHeader; - if (nextToken == null || !nextToken.isListItem()) { - nextListHeader = ""; - } else { - nextListHeader = nextToken.listItemPrefix(); - } - if (returnToLineStart) { - wikiTokenizer.returnToLineStart(); - } - while (listPrefixStack.size() > nextListHeader.length()) { - final char prefixChar = listPrefixStack.remove(listPrefixStack.size() - 1); - builder.append(String.format("\n", WikiTokenizer.getListTag(prefixChar))); - } - } + @Override + public void onPlainText(String plainText) { + super.onPlainText(StringEscapeUtils.escapeHtml3(plainText)); + } - boolean boldOn = false; - boolean italicOn = false; - @Override - public void onMarkup(WikiTokenizer wikiTokenizer) { - if ("'''".equals(wikiTokenizer.token())) { - if (!boldOn) { - builder.append(""); - } else { - builder.append(""); + @Override + public void onWikiLink(WikiTokenizer wikiTokenizer) { + super.onWikiLink(wikiTokenizer); + } + + @Override + public void onFunction(WikiTokenizer wikiTokenizer, String name, + List args, Map namedArgs) { + super.onFunction(wikiTokenizer, name, args, namedArgs); + } + + @Override + public void onHtml(WikiTokenizer wikiTokenizer) { + super.onHtml(wikiTokenizer); } - boldOn = !boldOn; - } else if ("''".equals(wikiTokenizer.token())) { - if (!italicOn) { - builder.append(""); - } else { - builder.append(""); + + @Override + public void onNewline(WikiTokenizer wikiTokenizer) { + } + + @Override + public void onHeading(WikiTokenizer wikiTokenizer) { + final String headingText = wikiTokenizer.headingWikiText(); + final int depth = wikiTokenizer.headingDepth(); + if (skipSections.matcher(headingText).matches()) { + while ((wikiTokenizer = wikiTokenizer.nextToken()) != null) { + if (wikiTokenizer.isHeading() && wikiTokenizer.headingDepth() <= depth) { + wikiTokenizer.returnToLineStart(); + return; + } + } + return; + } + builder.append(String.format("\n", depth)); + dispatch(headingText, null); + builder.append(String.format("\n", depth)); + } + + final List listPrefixStack = new ArrayList(); + + @Override + public void onListItem(WikiTokenizer wikiTokenizer) { + if (builder.length() != 0 && builder.charAt(builder.length() - 1) != '\n') { + builder.append("\n"); + } + final String prefix = wikiTokenizer.listItemPrefix(); + while (listPrefixStack.size() < prefix.length()) { + builder.append(String.format("<%s>", + WikiTokenizer.getListTag(prefix.charAt(listPrefixStack.size())))); + listPrefixStack.add(prefix.charAt(listPrefixStack.size())); + } + builder.append("
  • "); + dispatch(wikiTokenizer.listItemWikiText(), null); + builder.append("
  • \n"); + + WikiTokenizer nextToken = wikiTokenizer.nextToken(); + boolean returnToLineStart = false; + if (nextToken != null && nextToken.isNewline()) { + nextToken = nextToken.nextToken(); + returnToLineStart = true; + } + final String nextListHeader; + if (nextToken == null || !nextToken.isListItem()) { + nextListHeader = ""; + } else { + nextListHeader = nextToken.listItemPrefix(); + } + if (returnToLineStart) { + wikiTokenizer.returnToLineStart(); + } + while (listPrefixStack.size() > nextListHeader.length()) { + final char prefixChar = listPrefixStack.remove(listPrefixStack.size() - 1); + builder.append(String.format("\n", WikiTokenizer.getListTag(prefixChar))); + } + } + + boolean boldOn = false; + boolean italicOn = false; + + @Override + public void onMarkup(WikiTokenizer wikiTokenizer) { + if ("'''".equals(wikiTokenizer.token())) { + if (!boldOn) { + builder.append(""); + } else { + builder.append(""); + } + boldOn = !boldOn; + } else if ("''".equals(wikiTokenizer.token())) { + if (!italicOn) { + builder.append(""); + } else { + builder.append(""); + } + italicOn = !italicOn; + } else { + assert false; + } } - italicOn = !italicOn; - } else { - assert false; - } + } - - } } -- 2.43.0