From e833b97f330ba8597c81e5caa9685e8a8b5d5ae9 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Reimar=20D=C3=B6ffinger?= Date: Thu, 16 Apr 2020 23:55:45 +0200 Subject: [PATCH] Avoid unnecessary use of String.format. --- .../wiktionary/WholeSectionToHtmlParser.java | 32 +++++++++++++++---- 1 file changed, 25 insertions(+), 7 deletions(-) diff --git a/src/com/hughes/android/dictionary/parser/wiktionary/WholeSectionToHtmlParser.java b/src/com/hughes/android/dictionary/parser/wiktionary/WholeSectionToHtmlParser.java index ba915aa..2c85d85 100644 --- a/src/com/hughes/android/dictionary/parser/wiktionary/WholeSectionToHtmlParser.java +++ b/src/com/hughes/android/dictionary/parser/wiktionary/WholeSectionToHtmlParser.java @@ -344,10 +344,19 @@ public class WholeSectionToHtmlParser extends AbstractWiktionaryParser { if (webUrlTemplate != null) { final String webUrl = String.format(webUrlTemplate, title); + boolean success = true; // URI.create can raise an exception e.g. if webUrl contains %, just ignore those cases. try { - callback.builder.append(String.format("

%s", URI.create(webUrl).toASCIIString(), escapeHtmlLiteral(webUrl))); + String asciiWebUrl = URI.create(webUrl).toASCIIString(); } catch (Exception e) { + success = false; + } + if (success) { + callback.builder.append("

"); + callback.builder.append(escapeHtmlLiteral(webUrl)); + callback.builder.append(""); } } htmlEntry.html = callback.builder.toString(); @@ -417,7 +426,9 @@ public class WholeSectionToHtmlParser extends AbstractWiktionaryParser { titleIndexBuilder.addEntryWithString(indexedEntry, wikiTokenizer.wikiLinkText(), sectionEntryTypeName); } if (!StringUtil.isNullOrEmpty(linkDest)) { - builder.append(String.format("", HtmlEntry.formatQuickdicUrl("", linkDest))); + builder.append(""); super.onWikiLink(wikiTokenizer); builder.append(""); } else { @@ -464,9 +475,13 @@ public class WholeSectionToHtmlParser extends AbstractWiktionaryParser { } return; } - builder.append(String.format("\n", depth)); + builder.append("\n'); dispatch(headingText, null); - builder.append(String.format("\n", depth)); + builder.append("\n"); } final List listPrefixStack = new ArrayList<>(); @@ -478,8 +493,9 @@ public class WholeSectionToHtmlParser extends AbstractWiktionaryParser { } final String prefix = wikiTokenizer.listItemPrefix(); while (listPrefixStack.size() < prefix.length()) { - builder.append(String.format("<%s>", - WikiTokenizer.getListTag(prefix.charAt(listPrefixStack.size())))); + builder.append('<'); + builder.append(WikiTokenizer.getListTag(prefix.charAt(listPrefixStack.size()))); + builder.append('>'); listPrefixStack.add(prefix.charAt(listPrefixStack.size())); } builder.append("

  • "); @@ -503,7 +519,9 @@ public class WholeSectionToHtmlParser extends AbstractWiktionaryParser { } while (listPrefixStack.size() > nextListHeader.length()) { final char prefixChar = listPrefixStack.remove(listPrefixStack.size() - 1); - builder.append(String.format("\n", WikiTokenizer.getListTag(prefixChar))); + builder.append("\n"); } } -- 2.43.0