Example usage for org.apache.commons.lang3 StringUtils abbreviate

List of usage examples for org.apache.commons.lang3 StringUtils abbreviate

Introduction

In this page you can find the example usage for org.apache.commons.lang3 StringUtils abbreviate.

Prototype

public static String abbreviate(final String str, final int maxWidth) 

Source Link

Document

Abbreviates a String using ellipses.

Usage

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 "";
        }
    }
}