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

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

Introduction

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

Prototype

public static String repeat(final char ch, final int repeat) 

Source Link

Document

<p>Returns padding using the specified delimiter repeated to a given length.</p> <pre> StringUtils.repeat('e', 0) = "" StringUtils.repeat('e', 3) = "eee" StringUtils.repeat('e', -2) = "" </pre> <p>Note: this method doesn't not support padding with <a href="http://www.unicode.org/glossary/#supplementary_character">Unicode Supplementary Characters</a> as they require a pair of char s to be represented.

Usage

From source file:org.kalypso.model.wspm.tuhh.core.profile.export.knauf.printer.KnaufSA20Printer.java

@Override
public String getContent() {
    final StringBuilder builder = new StringBuilder();

    /**//from   ww w. j a  va  2 s.co  m
     * char [3-12], type F10.4 changed-> %10.1f, Station Number
     */
    builder.append(String.format(Locale.US, "%10.1f", getBean().getStation())); //$NON-NLS-1$

    /**
     * char [13-16], I4 Anzahl der einzulesenden Querprofilpunkte bzw. Anzahl der folgenden SA30
     */
    builder.append(String.format(Locale.US, "%4d", getBean().getNumberOfProfilePoints())); //$NON-NLS-1$

    final Double distance = getBean().getDistanceNextProfile();

    /**
     * char [17-24], type F8.0 changed-> %8.2f, Abstand zum nchsten Querprofil, in der Achse des linken Vorlandes
     * gemessen
     */
    builder.append(String.format(Locale.US, "%8.2f", distance)); //$NON-NLS-1$

    /**
     * char [25-32], type F8.0 changed-> %8.2f, Abstand zum nchsten Querprofil , in der Flussachse gemessen
     */
    builder.append(String.format(Locale.US, "%8.2f", distance)); //$NON-NLS-1$

    /**
     * char [33-40], type F8.0 changed-> %8.2f, Abstand zum nchsten Querprofil, in der Achse des rechten Vorlandes
     * gemessen
     */
    builder.append(String.format(Locale.US, "%8.2f", distance)); //$NON-NLS-1$

    /**
     * char [41-48], type F8.0 changed-> %8.2f, Integral eingegebene Querschnittsflche
     */
    builder.append(String.format(Locale.US, "%8.2f", 0.0)); //$NON-NLS-1$

    /**
     * char [49-56], type F8.0 changed-> %8.2f, Integral eingegebener Anteil des benetzten Umfanges
     */
    builder.append(String.format(Locale.US, "%8.2f", 0.0)); //$NON-NLS-1$

    /**
     * char [57-64], type F8.0 changed-> %8.2f, Integral eingegebener Anteil der Spiegelbreite
     */
    builder.append(String.format(Locale.US, "%8.2f", 0.0)); //$NON-NLS-1$

    /** char [65] frei */
    builder.append(" "); //$NON-NLS-1$

    /**
     * char [66] KZTAU = Kennzeichnung eines Profiles als Knoten fr Wellenablaufberechnung (nur Eintrag von "K" fr
     * Knoten mglich)
     */
    builder.append(" "); //$NON-NLS-1$

    /**
     * char [67-70], type I4, Teilstreckennummer IVZ; wenn ein Wert fr IVZ eingegeben wird, so wird das betreffende
     * Profil einer Teilstrecke einer Stromverzweigung zugeordnet. Als Teilstreckennummer sind nur Werte zwischen 1 und
     * 30 zulssig. IVZ=0 bedeutet, dass das betreffende Querprofil keiner Flussteilstrecke zuzuordnen ist.
     */
    builder.append(String.format(Locale.US, "%4d", 0)); //$NON-NLS-1$

    /**
     * char [71-77], type F7.0 changed -> %7.2 - Pfeilerformbeiwert DELTA nach REHBOCK oder YARNELL anzugeben im OW der
     * Brcke Hinweis: falls DELTA(i) = 0 wird DELTA(i) aus DELTA(i-1) bernommen<br>
     * Alternativ bei Schtzen : Neigungswinkel  (a)
     */
    builder.append(String.format(Locale.US, "%7.2f", getBean().getPfeilerFormBeiwert())); //$NON-NLS-1$

    builder.append(" "); //$NON-NLS-1$

    /**
     * char [79-80] - Kennzeichnung von Mehrfeldbrcken<br>
     * MFB MFB= LL Zuordnung zum linken Vorland<br>
     * MFB= FF " " Flussbett<br>
     * MFB= RR " " rechten Vorland
     */
    builder.append(StringUtils.repeat(" ", 2)); //$NON-NLS-1$

    final IProfileRecord point = getBean().findLowestPoint();

    /**
     * char [81-95], type F15.0 changed -> %15.2 - Rechtswert Gauss-Krger fr tiefsten Punkt
     */
    builder.append(String.format(Locale.US, "%15.3f", point.getRechtswert())); //$NON-NLS-1$

    /**
     * char [96-110], type F15.0 changed -> %15.2 - Hochwert Gauss-Krger fr tiefsten Punkt
     */
    builder.append(String.format(Locale.US, "%15.3f", point.getHochwert())); //$NON-NLS-1$

    return builder.toString();
}

From source file:org.kalypso.model.wspm.tuhh.core.profile.export.knauf.printer.KnaufSA29Printer.java

@Override
public String getContent() {
    final StringBuilder builder = new StringBuilder();

    /**//from  w  w  w .j a v  a2s . c  o  m
     * char [3-12], type F10.4 changed-> %10.1f, Station Number
     */
    builder.append(String.format(Locale.US, "%10.1f", getBean().getStation())); //$NON-NLS-1$

    builder.append(StringUtils.repeat(" ", 4)); //$NON-NLS-1$

    /**
     * char [17-24], F8.0 changed -> %8.2f Hhe der Wehrkrone HKRONE
     */
    builder.append(String.format(Locale.US, "%8.2f", getBean().getHKrone())); //$NON-NLS-1$

    /**
     * char [25-32], F8.0 changed -> %8.2f Wehrbreite WEBE
     */
    builder.append(String.format(Locale.US, "%8.2f", getBean().getWebe())); //$NON-NLS-1$

    /**
     * char [33-40], F8.0 changed -> %8.2f berfallbeiwert Mue
     */
    builder.append(String.format(Locale.US, "%8.2f", getBean().getMueBeiwert())); //$NON-NLS-1$

    /**
     * char [41-48], F8.0 changed -> %8.2f Wehrhhe WHOEHE (im OW gemessen)
     */
    builder.append(String.format(Locale.US, "%8.2f", getBean().getWHoehe())); //$NON-NLS-1$

    /**
     * char [49-56], F8.0 changed -> %8.2fAusuferungshhe im UW des Wehres HUFER
     */
    builder.append(String.format(Locale.US, "%8.2f", getBean().getHUfer())); //$NON-NLS-1$

    return builder.toString();
}

From source file:org.kalypso.model.wspm.tuhh.core.profile.export.knauf.printer.KnaufSA40Printer.java

@Override
public String getContent() {
    final StringBuilder builder = new StringBuilder();

    /**/*from  ww  w.  j  a v a 2  s.c o  m*/
     * char [3-4], type I2, Steuerparameter final NPR
     */
    builder.append(String.format(Locale.US, "%2d", 2)); //$NON-NLS-1$

    /**
     * char [5-6], type I2, Steuerparameter IQ (siehe unten)
     */
    builder.append(String.format(Locale.US, "%2d", 0)); //$NON-NLS-1$

    /**
     * char [7-14], type F8.0 changed %8.2f, Anfangswasserspiegelhhe <br>
     * a) exakter Wert, wenn NPR= 1,2,3,8 oder-1 <br>
     * b) Schtzwert, wenn NPR= 4,5,-4,-5,44,55
     */
    builder.append(String.format(Locale.US, "%8.2f", 0.0)); //$NON-NLS-1$ //TODO

    /**
     * char [15-22], type F8.0 changed %8.2f,Endwasserspiegellage fr die Eichung des Rauheitsbeiwertes
     */
    builder.append(String.format(Locale.US, "%8.2f", 0.0)); //$NON-NLS-1$ //TODO

    /**
     * char [23-32], type F10.0 changed %10.2f,Sohlgeflle oder Energieliniengeflle im Anfangsprofil, wenn NPR= 5,-5
     * oder 55,8
     */
    builder.append(String.format(Locale.US, "%10.2f", 0.0)); //$NON-NLS-1$ //TODO

    builder.append(StringUtils.repeat(" ", 2)); //$NON-NLS-1$

    /**
     * char [35], type I1, Steuerparameter IDRUCK (nur fr IVZ <> 0)<br>
     * IDRUCK=0 Berechnung final mit Startwerten wird final nicht ausgegeben<br>
     * IDRUCK=1 Resultate final fr Anfangsrechnung final werden ausgedruckt
     */
    builder.append(String.format(Locale.US, "%1d", 0)); //$NON-NLS-1$

    builder.append(StringUtils.repeat(" ", 2)); //$NON-NLS-1$

    /**
     * char [38-39], type I2, Kennzeichnung der Varianten fr die Hintereinanderschaltung von mehreren
     * Berechnungsabschnitten (NPR= 7) Fr die Kennzeichnung sind nur Zahlen zwischen 1 und 99 zulssig, bei Eingabe von
     * IVA=0 wird der Kennzeichnungsparameter in der Reihenfolge der Dateneingabe gesetzt
     */
    builder.append(String.format(Locale.US, "%2d", 1)); //$NON-NLS-1$

    /**
     * char [40-79], type A40, berschrift (4.Zeile im Tabellenkopf) zur Variantenkennzeichnung, beliebiger Text
     * anstelle von SA13 wenn Spalten 40+41 leer sind, wird neuer Text nicht bernommen
     */
    builder.append(String.format(Locale.US, "%s", Messages.getString("KnaufSA40Printer_2"))); //$NON-NLS-1$ //$NON-NLS-2$

    return builder.toString();
}

From source file:org.keycloak.testsuite.admin.ComponentsTest.java

@Test
public void testLongValueInComponentConfigAscii() throws Exception {
    ComponentRepresentation rep = createComponentRepresentation("mycomponent");
    String value = StringUtils.repeat("0123456789", 400); // 4000 8-bit characters

    rep.getConfig().addFirst("required", "foo");
    rep.getConfig().addFirst("val1", value);

    String id = createComponent(rep);

    ComponentRepresentation returned = components.component(id).toRepresentation();
    assertEquals(value, returned.getConfig().getFirst("val1"));
}

From source file:org.keycloak.testsuite.admin.ComponentsTest.java

@Test
public void testLongValueInComponentConfigExtLatin() throws Exception {
    ComponentRepresentation rep = createComponentRepresentation("mycomponent");
    String value = StringUtils.repeat("???", 400); // 4000 Unicode extended-Latin characters

    rep.getConfig().addFirst("required", "foo");
    rep.getConfig().addFirst("val1", value);

    String id = createComponent(rep);

    ComponentRepresentation returned = components.component(id).toRepresentation();
    assertEquals(value, returned.getConfig().getFirst("val1"));
}

From source file:org.keycloak.testsuite.events.EventStoreProviderTest.java

@Test
public void lengthExceedLimit() {
    testing().onEvent(create(System.currentTimeMillis() - 30000, EventType.LOGIN, "realmId",
            StringUtils.repeat("clientId", 100), "userId", "127.0.0.1", "error"));
    testing().onEvent(create(System.currentTimeMillis() - 30000, EventType.LOGIN,
            StringUtils.repeat("realmId", 100), "clientId", "userId", "127.0.0.1", "error"));
    testing().onEvent(create(System.currentTimeMillis() - 30000, EventType.LOGIN, "realmId", "clientId",
            StringUtils.repeat("userId", 100), "127.0.0.1", "error"));

}

From source file:org.kisoonlineapp.model.validation.AustrianOrtConstraintTest.java

@Test
public void testValidate_Failed() {
    AustrianOrtBean austrianOrtBean = new AustrianOrtBean();

    austrianOrtBean.ort = StringUtils.repeat('X', 101);
    Set<ConstraintViolation<AustrianOrtBean>> violations = validator.validate(austrianOrtBean);
    assertEquals(1, violations.size());// w  w  w .  java 2s.c o m
    List<ConstraintViolation<AustrianOrtBean>> violationList = new ArrayList<>(
            Collections.unmodifiableCollection(violations));
    assertEquals("size must be between 0 and 100", violationList.get(0).getMessage());
}

From source file:org.languagetool.dev.bigdata.AllConfusionRulesEvaluator.java

public static void main(String[] args) throws IOException {
    if (args.length < 3 || args.length > 4) {
        System.err.println("Usage: " + ConfusionRuleEvaluator.class.getSimpleName()
                + " <langCode> <languageModelTopDir> <wikipediaXml|tatoebaFile|dir>...");
        System.err.println(//from  w  w w .j a va 2s . c om
                "   <languageModelTopDir> is a directory with sub-directories '1grams', '2grams', and '3grams' with Lucene indexes");
        System.err
                .println("   <wikipediaXml|tatoebaFile|dir> either a Wikipedia XML dump, or a Tatoeba file or");
        System.err.println(
                "                      a directory with example sentences (where <word>.txt contains only the sentences for <word>).");
        System.err.println("                      You can specify both a Wikipedia file and a Tatoeba file.");
        System.exit(1);
    }
    Language lang;
    if ("en".equals(args[0])) {
        lang = new ConfusionRuleEvaluator.EnglishLight();
    } else {
        lang = Languages.getLanguageForShortCode(args[0]);
    }
    LanguageModel languageModel = new LuceneLanguageModel(new File(args[1]));
    List<String> inputsFiles = new ArrayList<>();
    inputsFiles.add(args[2]);
    if (args.length >= 4) {
        inputsFiles.add(args[3]);
    }
    ConfusionRuleEvaluator eval = new ConfusionRuleEvaluator(lang, languageModel, false, true); // TODO: consider bidirectional
    eval.setVerboseMode(false);
    ConfusionSetLoader confusionSetLoader = new ConfusionSetLoader();
    InputStream inputStream = JLanguageTool.getDataBroker()
            .getFromResourceDirAsStream("/en/confusion_sets.txt");
    Map<String, List<ConfusionPair>> confusionSetMap = confusionSetLoader.loadConfusionPairs(inputStream);
    Set<String> done = new HashSet<>();
    int fMeasureCount = 0;
    float fMeasureTotal = 0;
    for (List<ConfusionPair> entry : confusionSetMap.values()) {
        for (ConfusionPair confusionPair : entry) {
            List<ConfusionString> set = confusionPair.getTerms();
            if (set.size() != 2) {
                System.out.println("Skipping confusion set with size != 2: " + confusionPair);
            } else {
                Iterator<ConfusionString> iterator = set.iterator();
                ConfusionString set1 = iterator.next();
                ConfusionString set2 = iterator.next();
                String word1 = set1.getString();
                String word2 = set2.getString();
                String key = word1 + " " + word2;
                if (!done.contains(key)) {
                    Map<Long, RuleEvalResult> evalResults = eval.run(inputsFiles, word1, word2, MAX_SENTENCES,
                            Arrays.asList(confusionPair.getFactor()));
                    RuleEvalResult evalResult = evalResults.values().iterator().next();
                    String summary1 = set1.getDescription() != null ? word1 + "|" + set1.getDescription()
                            : word1;
                    String summary2 = set2.getDescription() != null ? word2 + "|" + set2.getDescription()
                            : word2;
                    String start;
                    if (summary1.compareTo(summary2) < 0) {
                        start = summary1 + "; " + summary2 + "; " + confusionPair.getFactor();
                    } else {
                        start = summary2 + "; " + summary1 + "; " + confusionPair.getFactor();
                    }
                    String spaces = StringUtils.repeat(" ", 82 - start.length());
                    System.out.println(start + spaces + "# " + evalResult.getSummary());
                    double fMeasure = FMeasure.getWeightedFMeasure(evalResult.getPrecision(),
                            evalResult.getRecall());
                    //System.out.println("f-measure: " + fMeasure);
                    fMeasureCount++;
                    fMeasureTotal += fMeasure;
                }
                done.add(key);
            }
        }
    }
    System.out.println("Average f-measure: " + (fMeasureTotal / fMeasureCount));
}

From source file:org.languagetool.dev.bigdata.AutomaticConfusionRuleEvaluatorFilter.java

private static String reformat(String s) {
    int spaceStart = s.indexOf("0;");
    if (spaceStart == -1) {
        spaceStart = s.indexOf("1;");
    }//from   w w w  . ja va 2 s .  c  om
    int spaceEnd = s.indexOf('#');
    if (spaceStart > 0 && spaceEnd > 0) {
        String spaces = StringUtils.repeat(" ", 52 - spaceStart);
        return s.substring(0, spaceStart) + spaces + s.substring(spaceEnd);
    }
    return s;
}

From source file:org.languagetool.dev.bigdata.ConfusionFileIndenter.java

static String indent(List<String> lines) {
    StringBuilder indentedLines = new StringBuilder();
    Set<String> alreadyDone = new HashSet<>();
    for (String line : lines) {
        if (!line.startsWith("#") && !line.isEmpty()) {
            String[] parts = line.replaceFirst("\\s*#.*", "").split(";\\s*");
            String key = parts[0] + ";" + parts[1];
            if (alreadyDone.contains(key)) {
                //System.err.println("Skipping, already appeared: " + key);
                continue;
            }//from   w w  w.  j ava 2 s .com
            alreadyDone.add(key);
        }
        int commentPos = line.lastIndexOf('#');
        if (commentPos <= 0) {
            indentedLines.append(line).append("\n");
        } else {
            int endData = commentPos;
            while (Character.isWhitespace(line.charAt(endData - 1))) {
                endData--;
            }
            String spaces = StringUtils.repeat(" ", Math.max(1, 82 - endData));
            indentedLines.append(line, 0, endData).append(spaces).append(line.substring(commentPos))
                    .append("\n");
        }
    }
    return indentedLines.toString();
}