List of usage examples for org.apache.commons.lang3 StringUtils abbreviate
public static String abbreviate(final String str, final int maxWidth)
Abbreviates a String using ellipses.
From source file:org.languagetool.dev.wikipedia.SwebleWikipediaTextFilter.java
@Override public PlainTextMapping filter(String wikiText) { try {//w ww.j a va2 s . c om CompiledPage compiledPage = compiler.postprocess(pageId, wikiText, null); TextConverter textConverter = new TextConverter(config, WRAP_COL); textConverter.enableMapping(enableMapping); String plainText = (String) textConverter.go(compiledPage.getPage()); if (enableMapping) { return new PlainTextMapping(plainText, textConverter.getMapping()); } else { return new PlainTextMapping(plainText, null); } } catch (Exception e) { throw new RuntimeException("Could not extract plain text from MediaWiki syntax: '" + StringUtils.abbreviate(wikiText, 500) + "'", e); } }
From source file:org.languagetool.gui.ConfigurationDialog.java
private JPanel getNgramPanel(GridBagConstraints cons) { JPanel panel = new JPanel(); panel.add(new JLabel(messages.getString("guiNgramDir")), cons); File dir = config.getNgramDirectory(); int maxDirDisplayLength = 45; String buttonText = dir != null ? StringUtils.abbreviate(dir.getAbsolutePath(), maxDirDisplayLength) : messages.getString("guiNgramDirSelect"); JButton ngramDirButton = new JButton(buttonText); ngramDirButton.addActionListener(new ActionListener() { @Override/*from w w w . j a v a2s . co m*/ public void actionPerformed(ActionEvent e) { File newDir = Tools.openDirectoryDialog(owner, dir); if (newDir != null) { try { if (config.getLanguage() != null) { // may happen in office context File checkDir = new File(newDir, config.getLanguage().getShortCode()); LuceneLanguageModel.validateDirectory(checkDir); } config.setNgramDirectory(newDir); ngramDirButton .setText(StringUtils.abbreviate(newDir.getAbsolutePath(), maxDirDisplayLength)); } catch (Exception ex) { Tools.showErrorMessage(ex); } } else { // not the best UI, but this way user can turn off ngram feature without another checkbox config.setNgramDirectory(null); ngramDirButton.setText( StringUtils.abbreviate(messages.getString("guiNgramDirSelect"), maxDirDisplayLength)); } } }); panel.add(ngramDirButton, cons); JButton helpButton = new JButton(messages.getString("guiNgramHelp")); helpButton.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { Tools.openURL("http://wiki.languagetool.org/finding-errors-using-n-gram-data"); } }); panel.add(helpButton, cons); return panel; }
From source file:org.languagetool.gui.ConfigurationDialog.java
private JPanel getWord2VecPanel(GridBagConstraints cons) { JPanel panel = new JPanel(); panel.add(new JLabel(messages.getString("guiWord2VecDir")), cons); File dir = config.getWord2VecDirectory(); int maxDirDisplayLength = 45; String buttonText = dir != null ? StringUtils.abbreviate(dir.getAbsolutePath(), maxDirDisplayLength) : messages.getString("guiWord2VecDirSelect"); JButton word2vecDirButton = new JButton(buttonText); word2vecDirButton.addActionListener(e -> { File newDir = Tools.openDirectoryDialog(owner, dir); if (newDir != null) { try { config.setWord2VecDirectory(newDir); word2vecDirButton/*from ww w . j ava 2 s . co m*/ .setText(StringUtils.abbreviate(newDir.getAbsolutePath(), maxDirDisplayLength)); } catch (Exception ex) { Tools.showErrorMessage(ex); } } else { // not the best UI, but this way user can turn off word2vec feature without another checkbox config.setWord2VecDirectory(null); word2vecDirButton.setText( StringUtils.abbreviate(messages.getString("guiWord2VecDirSelect"), maxDirDisplayLength)); } }); panel.add(word2vecDirButton, cons); JButton helpButton = new JButton(messages.getString("guiWord2VecHelp")); helpButton.addActionListener(e -> { Tools.openURL("https://github.com/gulp21/languagetool-neural-network"); }); panel.add(helpButton, cons); return panel; }
From source file:org.languagetool.gui.ResultAreaHelper.java
private void getRuleMatchHtml(List<RuleMatch> ruleMatches, String text) { ContextTools contextTools = new ContextTools(); StringBuilder sb = new StringBuilder(200); if (ltSupport.getLanguage().getMaintainedState() != LanguageMaintainedState.ActivelyMaintained) { sb.append("<p><b>").append(messages.getString("unsupportedWarning")).append("</b></p>\n"); } else {/* w w w .j a v a 2 s .com*/ sb.append(EMPTY_PARA); } setMain(sb.toString()); sb.setLength(0); int i = 0; for (RuleMatch match : ruleMatches) { sb.append("<p>"); String output = org.languagetool.tools.Tools.i18n(messages, "result1", i + 1, match.getLine() + 1, match.getColumn()); sb.append(output); String msg = match.getMessage().replaceAll("<suggestion>", "<b>").replaceAll("</suggestion>", "</b>") .replaceAll("<old>", "<b>").replaceAll("</old>", "</b>"); sb.append("<b>").append(messages.getString("errorMessage")).append("</b> "); sb.append(msg); RuleLink ruleLink = RuleLink.buildDeactivationLink(match.getRule()); sb.append(" <a href=\"").append(ruleLink).append("\">").append(messages.getString("deactivateRule")) .append("</a><br>\n"); if (match.getSuggestedReplacements().size() > 0) { String replacement = String.join("; ", match.getSuggestedReplacements()); sb.append("<b>").append(messages.getString("correctionMessage")).append("</b> ").append(replacement) .append("<br>\n"); } if (ITSIssueType.Misspelling == match.getRule().getLocQualityIssueType()) { contextTools.setErrorMarkerStart(SPELL_ERROR_MARKER_START); } else { contextTools.setErrorMarkerStart(LT_ERROR_MARKER_START); } String context = contextTools.getContext(match.getFromPos(), match.getToPos(), text); sb.append("<b>").append(messages.getString("errorContext")).append("</b> ").append(context); if ((match.getRule().getUrl() != null || match.getUrl() != null) && Desktop.isDesktopSupported()) { sb.append("<br>\n"); sb.append("<b>").append(messages.getString("moreInfo")).append("</b> <a href=\""); String url; if (match.getUrl() != null) { url = match.getUrl().toString(); } else { url = match.getRule().getUrl().toString(); } sb.append(url); String shortUrl = StringUtils.abbreviate(url, 60); sb.append("\">").append(shortUrl).append("</a>\n"); } sb.append("</p>"); i++; appendMain(sb.toString()); sb.setLength(0); } sb.append("<p class=\"grayed\">"); sb.append(getDisabledRulesHtml()); String checkDone = org.languagetool.tools.Tools.i18n(messages, "checkDone", ruleMatches.size(), runTime); sb.append("<br>\n").append(checkDone); sb.append("<br>\n").append(messages.getString("makeLanguageToolBetter")); sb.append("<br>\n"); sb.append("</p>"); appendMain(sb.toString()); }
From source file:org.languagetool.gui.Tools.java
private static String formatURL(URL url) { if (url == null) { return ""; }//from w w w . j a va 2s . c om return String.format("<br/><br/><a href=\"%s\">%s</a>", url.toExternalForm(), StringUtils.abbreviate(url.toString(), 50)); }
From source file:org.languagetool.server.DatabaseAccessLimitLogEntry.java
@Override public Map<Object, Object> getMapping() { HashMap<Object, Object> parameters = new HashMap<>(); parameters.put("type", StringUtils.abbreviate(type, 64)); parameters.put("date", ServerTools.getSQLDatetimeString(date)); parameters.put("server", server); parameters.put("client", client); parameters.put("user", user); parameters.put("referrer", StringUtils.abbreviate(referrer, 128)); parameters.put("user_agent", StringUtils.abbreviate(userAgent, 512)); parameters.put("reason", StringUtils.abbreviate(reason, 512)); return parameters; }
From source file:org.languagetool.server.DatabaseCheckErrorLogEntry.java
@Override public Map<Object, Object> getMapping() { HashMap<Object, Object> parameters = new HashMap<>(); parameters.put("type", StringUtils.abbreviate(type, 64)); parameters.put("date", ServerTools.getSQLDatetimeString(date)); parameters.put("server", server); parameters.put("client", client); parameters.put("user", user); parameters.put("language", StringUtils.abbreviate(languageSet.getShortCodeWithCountryAndVariant(), 30)); parameters.put("language_detected", StringUtils.abbreviate(languageDetected.getShortCodeWithCountryAndVariant(), 30)); parameters.put("text_length", textLength); parameters.put("extra", StringUtils.abbreviate(extra, 256)); return parameters; }
From source file:org.languagetool.server.DatabaseCheckLogEntry.java
@Override public Map<Object, Object> getMapping() { HashMap<Object, Object> map = new HashMap<>(); SimpleDateFormat dayFormat = new SimpleDateFormat("yyyy-MM-dd"); dayFormat.setTimeZone(TimeZone.getTimeZone("UTC")); map.put("day", dayFormat.format(date.getTime())); map.put("date", ServerTools.getSQLDatetimeString(date)); map.put("user_id", userId); map.put("textsize", textSize); map.put("matches", matches); map.put("language", StringUtils.abbreviate(lang.getShortCodeWithCountryAndVariant(), 30)); map.put("language_detected", StringUtils.abbreviate(langDetected.getShortCodeWithCountryAndVariant(), 30)); map.put("computation_time", computationTime); map.put("text_session_id", textSessionId); map.put("check_mode", StringUtils.abbreviate(checkMode, 32)); map.put("server", server); map.put("client", client); return map;/* w w w . j av a 2s.co m*/ }
From source file:org.languagetool.server.DatabaseMiscLogEntry.java
@Override public Map<Object, Object> getMapping() { HashMap<Object, Object> parameters = new HashMap<>(); parameters.put("date", ServerTools.getSQLDatetimeString(date)); parameters.put("server", server); parameters.put("client", client); parameters.put("user", user); parameters.put("message", StringUtils.abbreviate(message, 4096)); return parameters; }
From source file:org.languagetool.server.HTTPServerTest.java
/** * Same as {@link #checkV1(Language, String)} but using HTTP POST method instead of GET; overloaded to allow language detection (langCode = 'auto') */// w ww . j a va 2 s. c om String checkByPOST(String langCode, String text) throws IOException { String postData = "language=" + langCode + "&text=" + URLEncoder.encode(text, "UTF-8"); // latin1 is not enough for languages like Polish, Romanian, etc URL url = new URL(LOAD_TEST_URL.replace("<PORT>", String.valueOf(HTTPTools.getDefaultPort()))); try { return HTTPTools.checkAtUrlByPost(url, postData); } catch (IOException e) { if (text.length() > MAX_LENGTH) { // this is expected, log it anyway: System.err.println( "Got expected error on long text (" + text.length() + " chars): " + e.getMessage()); return ""; } else { System.err.println("Got error from " + url + " (" + langCode + ", " + text.length() + " chars): " + e.getMessage() + ", text was (" + text.length() + " chars): '" + StringUtils.abbreviate(text, 100) + "'"); return ""; } } }