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

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

Introduction

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

Prototype

public static String rightPad(final String str, final int size) 

Source Link

Document

Right pad a String with spaces (' ').

The String is padded to the size of size .

 StringUtils.rightPad(null, *)   = null StringUtils.rightPad("", 3)     = "   " StringUtils.rightPad("bat", 3)  = "bat" StringUtils.rightPad("bat", 5)  = "bat  " StringUtils.rightPad("bat", 1)  = "bat" StringUtils.rightPad("bat", -1) = "bat" 

Usage

From source file:org.structr.console.shell.HelpConsoleCommand.java

@Override
public void run(final SecurityContext securityContext, final List<String> parameters, final Writable writable)
        throws FrameworkException, IOException {

    if (parameters.size() > 1) {

        final String key = parameters.get(1);
        final AdminConsoleCommand cmd = AdminConsoleCommand.getCommand(key);

        if (cmd != null) {

            cmd.detailHelp(writable);//www.  j  av  a2s  .  c o m

        } else {

            writable.println("Unknown command '" + key + "'.");
        }

    } else {

        for (final String key : AdminConsoleCommand.commandNames()) {

            final AdminConsoleCommand cmd = AdminConsoleCommand.getCommand(key);

            writable.print(StringUtils.rightPad(key, 10));
            writable.print(" - ");
            cmd.commandHelp(writable);
        }
    }
}

From source file:org.thelq.stackexchange.dbimport.analyze.ColumnAnalyzer.java

protected static void analyze(String path, InputStream input) throws XMLStreamException {
    log.info("Started parsing file " + path);
    Map<String, ColumnInfo> columnInfoMap = new HashMap<String, ColumnInfo>();
    int maxColumnLength = 0;
    //Preconditions.checkArgument(archive.isFile(), "Must specify a file");
    //Preconditions.checkArgument(archive.getName().endsWith(".7z"), "Must specify an archive");

    XMLStreamReader2 xmlReader = (XMLStreamReader2) DumpParser.XML_FACTORY.createXMLStreamReader(input);

    //Get root element
    xmlReader.next();//from   w w  w . j a v a  2s.c o m
    String root = xmlReader.getLocalName();

    int parsedCount = 0;
    while (true) {
        int eventType = xmlReader.nextTag();
        String curElement = xmlReader.getName().toString();
        if (curElement.equals(root)) {
            //Done, print info
            StringBuilder logBuilder = new StringBuilder();
            logBuilder.append("Finished parsing ").append(parsedCount).append(" rows")
                    .append(SystemUtils.LINE_SEPARATOR);
            for (Map.Entry<String, ColumnInfo> curColumnInfoEntry : columnInfoMap.entrySet())
                logBuilder.append("   ")
                        .append(StringUtils.rightPad(curColumnInfoEntry.getKey(), maxColumnLength + 2))
                        .append(StringUtils.rightPad(curColumnInfoEntry.getValue().type.toString(), 9))
                        .append(curColumnInfoEntry.getValue().maxSize).append(SystemUtils.LINE_SEPARATOR);
            log.info(logBuilder.toString().trim());
            xmlReader.close();
            return;
        } else if (eventType != XMLEvent.START_ELEMENT)
            throw new RuntimeException("Unexpected event " + ErrorConsts.tokenTypeDesc(eventType));

        for (int i = 0; i < xmlReader.getAttributeCount(); i++) {
            String columnName = xmlReader.getAttributeLocalName(i);
            String attributeValueRaw = xmlReader.getAttributeValue(i);

            //Load columnInfo
            ColumnInfo columnInfo = columnInfoMap.get(columnName);
            if (columnInfo == null) {
                columnInfoMap.put(columnName, columnInfo = new ColumnInfo());
                if (columnName.length() > maxColumnLength)
                    maxColumnLength = columnName.length();
            }

            if (columnInfo.type == ColumnType.INTEGER)
                try {
                    int attributeValueInt = Integer.parseInt(attributeValueRaw);
                    if (columnInfo.maxSize < attributeValueInt)
                        columnInfo.maxSize = attributeValueInt;
                } catch (NumberFormatException e) {
                    //Nope, its a string
                    columnInfo.type = ColumnType.STRING;
                }
            if (columnInfo.type == ColumnType.STRING) {
                int attributeValueLength = attributeValueRaw.length();
                if (columnInfo.maxSize < attributeValueLength)
                    columnInfo.maxSize = attributeValueLength;
            }
        }

        //Advance to END_ELEMENT, skipping the attributes and other stuff
        while (xmlReader.next() != XMLEvent.END_ELEMENT) {
        }

        parsedCount++;
    }
}

From source file:se.trixon.jota.server.Server.java

@Override
public String getStatus() throws RemoteException {
    int pad = 13;
    StringBuilder builder = new StringBuilder("Status\n");
    builder.append(String.format("  %s%s", StringUtils.rightPad("vmid", pad), mServerVmid.toString()))
            .append("\n");
    builder.append(String.format("  %s%d", StringUtils.rightPad("clients", pad), mClientCallbacks.size()))
            .append("\n");
    builder.append(String.format("  %s%s", StringUtils.rightPad("cron active", pad), mOptions.isCronActive()))
            .append("\n");
    builder.append(String.format("  %s%s", StringUtils.rightPad("rsync", pad), mOptions.getRsyncPath()))
            .append("\n");
    builder.append(String.format("  %s%d", StringUtils.rightPad("jobs", pad), mJobManager.getJobs().size()))
            .append("\n");
    builder.append(String.format("  %s%d", StringUtils.rightPad("tasks", pad), mTaskManager.getTasks().size()))
            .append("\n");
    String status = builder.toString();
    Xlog.timedOut(status);/*from www .  j  a  v  a  2s .c o  m*/

    return status;
}

From source file:se.trixon.jota.server.Server.java

@Override
public String listJobs() throws RemoteException {
    StringBuilder builder = new StringBuilder(
            String.format("Found %d job(s).\n", mJobManager.getJobs().size()));

    mJobManager.getJobs().stream().forEach((job) -> {
        builder.append(/* w  w w.jav  a  2 s  .co m*/
                String.format("  %s - %s", StringUtils.rightPad(job.getName(), 20), job.getDescription()))
                .append("\n");
    });

    String jobs = builder.toString();
    Xlog.timedOut(jobs);

    return jobs;
}

From source file:se.trixon.jota.server.Server.java

@Override
public String listTasks() throws RemoteException {
    StringBuilder builder = new StringBuilder(
            String.format("Found %d task(s).\n", mTaskManager.getTasks().size()));

    mTaskManager.getTasks().stream().forEach((task) -> {
        builder.append(/* w  w w .j a va 2 s  .c o m*/
                String.format("  %s - %s", StringUtils.rightPad(task.getName(), 20), task.getDescription()))
                .append("\n");
    });

    String tasks = builder.toString();
    Xlog.timedOut(tasks);

    return tasks;
}

From source file:se.trixon.mapollage.Operation.java

private void saveToFile() {
    mListener.onOperationLog("");
    List keys = new ArrayList(mRootFolders.keySet());
    Collections.sort(keys);//from w  w w.  j  av a2 s . co m

    keys.stream().forEach((key) -> {
        mRootFolder.getFeature().add(mRootFolders.get((String) key));
    });

    if (mPathFolder != null && !mPathFolder.getFeature().isEmpty()) {
        mRootFolder.getFeature().add(mPathFolder);
    }

    if (mPathGapFolder != null && !mPathGapFolder.getFeature().isEmpty()) {
        mRootFolder.getFeature().add(mPathGapFolder);
    }

    if (isUsingThumbnails()) {
        mListener.onOperationLog(
                "\n" + String.format(mBundle.getString("stored_thumbnails"), mThumbsDir.getAbsolutePath()));
    }

    try {
        StringWriter stringWriter = new StringWriter();
        mKml.marshal(stringWriter);
        String kmlString = stringWriter.toString();

        if (mOptions.isCleanNs2()) {
            mListener.onOperationLog(mBundle.getString("clean_ns2"));
            kmlString = StringUtils.replace(kmlString, "xmlns:ns2=", "xmlns=");
            kmlString = StringUtils.replace(kmlString, "<ns2:", "<");
            kmlString = StringUtils.replace(kmlString, "</ns2:", "</");
        }

        if (mOptions.isCleanSpace()) {
            mListener.onOperationLog(mBundle.getString("clean_space"));
            kmlString = StringUtils.replace(kmlString, "        ", "\t");
            kmlString = StringUtils.replace(kmlString, "    ", "\t");
        }

        kmlString = StringUtils.replaceEach(kmlString, new String[] { "&lt;", "&gt;", "&amp;" },
                new String[] { "<", ">", "" });

        if (mOptions.isLogKml()) {
            mListener.onOperationLog("\n");
            mListener.onOperationLog(kmlString);
            mListener.onOperationLog("\n");
        }

        mListener.onOperationLog(String.format(Dict.SAVING.toString(), mDestinationFile.getAbsolutePath()));
        FileUtils.writeStringToFile(mDestinationFile, kmlString, "utf-8");

        String files = mBundle.getString("status_files");
        String exif = mBundle.getString("status_exif");
        String coordinate = mBundle.getString("status_coordinate");
        String time = mBundle.getString("status_time");
        String error = " " + Dict.Dialog.ERRORS.toString().toLowerCase();
        String placemarks = mBundle.getString("status_placemarks");

        int rightPad = files.length();
        rightPad = Math.max(rightPad, exif.length());
        rightPad = Math.max(rightPad, coordinate.length());
        rightPad = Math.max(rightPad, time.length());
        rightPad = Math.max(rightPad, error.length());
        rightPad = Math.max(rightPad, placemarks.length());
        rightPad++;

        int leftPad = 8;
        StringBuilder summaryBuilder = new StringBuilder("\n");

        String filesValue = String.valueOf(mFiles.size());
        summaryBuilder.append(StringUtils.rightPad(files, rightPad)).append(":")
                .append(StringUtils.leftPad(filesValue, leftPad)).append("\n");

        String exifValue = String.valueOf(mNumOfExif);
        summaryBuilder.append(StringUtils.rightPad(exif, rightPad)).append(":")
                .append(StringUtils.leftPad(exifValue, leftPad)).append("\n");

        String coordinateValue = String.valueOf(mNumOfGps);
        summaryBuilder.append(StringUtils.rightPad(coordinate, rightPad)).append(":")
                .append(StringUtils.leftPad(coordinateValue, leftPad)).append("\n");

        String placemarksValue = String.valueOf(mNumOfPlacemarks);
        summaryBuilder.append(StringUtils.rightPad(placemarks, rightPad)).append(":")
                .append(StringUtils.leftPad(placemarksValue, leftPad)).append("\n");

        String errorValue = String.valueOf(mNumOfErrors);
        summaryBuilder.append(StringUtils.rightPad(error, rightPad)).append(":")
                .append(StringUtils.leftPad(errorValue, leftPad)).append("\n");

        String timeValue = String.valueOf(Math.round((System.currentTimeMillis() - mStartTime) / 1000.0));
        summaryBuilder.append(StringUtils.rightPad(time, rightPad)).append(":")
                .append(StringUtils.leftPad(timeValue, leftPad)).append(" s").append("\n");

        mListener.onOperationFinished(summaryBuilder.toString(), mFiles.size());
    } catch (IOException ex) {
        mListener.onOperationFailed(ex.getLocalizedMessage());
    }
}

From source file:simplesqlformatter.formatter.SQLFormatterEditor.java

private void copyAsJavaString() {
    final StringBuilder builder = new StringBuilder();

    final List<String> lines;
    try {//from w  ww.  jav  a2  s. co m
        lines = IOUtils.readLines(new StringReader(textArea.getText()));
    } catch (IOException e) {
        LOGGER.log(Level.FINE, e.getMessage(), e);
        return;
    }

    builder.append("\"").append(StringUtils.repeat(" ", MAX_JAVA_STRING_LINE_LENGTH)).append("\"");
    for (String javaLine : lines) {
        javaLine = StringEscapeUtils.escapeJava(javaLine);
        javaLine = StringUtils.rightPad(javaLine, 100);
        builder.append("+ \" ").append(javaLine).append("\"");

        builder.append(newline);
    }

    copyToClipboard(builder.toString());
    statusBar.setText("Copied the SQL stament to the clipboard as Java string");
}

From source file:stepReport.reports.model.savePDFModel.java

public void savePDFSemanal(File file, String[][] matrizDados) {

    if (matrizDados == null)
        return;/*from w  w  w  .j av a  2s. co m*/

    //Cria o documento
    PDDocument document = new PDDocument();

    //Vou criando as paginas dinamicamente de acordo com o numero de registros a serem impressos.
    //Para cada 25 registros, crio uma nova pagina
    //O valor de k vai ser atualizado durante o loop de impressao de registros,
    //assim como o loop de impressao de registro comeca a partir do valor de k
    int k = 1;
    int pagina = 0;
    while (k < matrizDados.length) {
        //Variavel com o numero da pagina
        pagina++;
        //Adiciona uma pagina
        PDPage page = new PDPage();
        //Configura o padrao de tamanho da pagina
        page.setMediaBox(PDRectangle.A4);
        //Configura a orientacao
        page.setRotation(90);
        //Adiciona a pagina ao documento
        document.addPage(page);
        PDFont font;
        //Obtem a largura da pagina
        float pageWidth = page.getMediaBox().getWidth();

        try {
            //abre o buffer pra edicao da pagina
            PDPageContentStream contentStream = new PDPageContentStream(document, page);
            //Gira a pagina em 90 graus
            contentStream.transform(new Matrix(0, 1, -1, 0, pageWidth, 0));

            PDImageXObject pdImage = PDImageXObject.createFromFile("./step2.png", document);

            contentStream.drawImage(pdImage, 30, 520);

            //Define a cor da letra
            contentStream.setNonStrokingColor(Color.BLACK);
            //Abre pra edicao escrita
            contentStream.beginText();

            //Configura a fonte de titulo e o tamanho no buffer
            font = PDType1Font.COURIER_BOLD;
            contentStream.setFont(font, 18);
            contentStream.setLeading(14.5f);

            contentStream.newLineAtOffset(250, 530);
            contentStream.showText("Resumo de Horas semanais");

            //Imprime o numero da pagina
            font = PDType1Font.COURIER;
            contentStream.setFont(font, 12);

            contentStream.newLineAtOffset(490, 0);
            contentStream.showText("Pag " + Integer.toString(pagina));

            //Define o ponto de partida em X e Y
            contentStream.newLineAtOffset(-700, -50);
            //Define a fonte do cabecalho
            font = PDType1Font.COURIER_BOLD;
            contentStream.setFont(font, 12);
            //carrega o cabecalho com nome, profissao, itera pra cada data da semana e depois o total
            String titulo = StringUtils.rightPad("Nome", 20) + StringUtils.rightPad("Profissao", 16);
            for (int i = 2; i < matrizDados[0].length; i++)
                titulo += matrizDados[0][i] + "  ";

            //Escreve o cabecalho
            contentStream.showText(titulo);
            //Troca a fonte pra normal
            font = PDType1Font.COURIER;
            contentStream.setFont(font, 12);
            //TODO criar loop duplo para criar pagina e depois imprimir o dado enquanto houver dados a serem impressos
            contentStream.newLine();

            //Para cada linha da matriz recebida, vou formatar os campos nome, profissao, cada data da semana e o total pra imprimir na linha
            //Tenho que comecar a partir de k porque pode nao ser a primeira pagina. 

            //Configuro o limite baseado se eu estou ou nao na ultima pagina
            int limite = (k + savePDFModel.REGISTROS_PAGINA < matrizDados.length - 1)
                    ? savePDFModel.REGISTROS_PAGINA
                    : matrizDados.length - k;

            for (int i = 0; i < limite; i++) {
                String nome = this.formatName(matrizDados[i + k][0]);
                String profissao = this.formatProfissao(matrizDados[i + k][1]);
                String linha = nome + profissao;
                for (int j = 2; j < matrizDados[i].length; j++)
                    linha += StringUtils.rightPad(matrizDados[i + k][j], 10);

                contentStream.showText(linha);
                contentStream.newLine();
            }
            k += limite;

            //Imprime o total em negrito quando chega no final
            System.out.println(k);
            if (k >= matrizDados.length) {
                font = PDType1Font.COURIER_BOLD;
                contentStream.setFont(font, 12);
                Double[] totais = new Double[matrizDados[0].length - 2];
                for (int i = 0; i < totais.length; i++)
                    totais[i] = 0.0;

                for (int i = 1; i < matrizDados.length; i++) {
                    for (int j = 2; j < matrizDados[i].length; j++) {
                        if (!matrizDados[i][j].equals(""))
                            totais[j - 2] += Double.parseDouble(matrizDados[i][j]);
                    }
                }
                String linhaTot = StringUtils.rightPad("Totais", 36);
                for (int i = 0; i < totais.length; i++) {
                    linhaTot += StringUtils.rightPad(totais[i].toString(), 10);
                }
                contentStream.showText(linhaTot);
                //Imprime a linha de assinatura
                this.signatureLine(contentStream);
            }
            contentStream.endText();
            contentStream.close();

        } catch (javax.imageio.IIOException ex) {
            JOptionPane.showMessageDialog(new JFrame(), "Imagem step2.png no encontrada");
            return;
        } catch (IOException ex) {
            Logger.getLogger(savePDFModel.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
    try {
        //Esse save vai dentro do loop?
        document.save(file);
        document.close();
    } catch (IOException ex) {
        Logger.getLogger(savePDFModel.class.getName()).log(Level.SEVERE, null, ex);
    }
}

From source file:stepReport.reports.model.savePDFModel.java

private String formatName(String nome) {
    if (nome == null) {
        return StringUtils.rightPad("", 20);
    }// w  ww  .  j a v a  2 s .  c om
    if (nome.length() > 20) {
        String[] divNome = nome.split(" ");
        nome = "";
        if (divNome.length > 1) {
            for (int i = 0; i < divNome.length - 1; i++) {
                nome += divNome[i].substring(0, 1) + " ";
            }
            nome += divNome[divNome.length - 1];
        }
        if (nome.length() > 25)
            nome = nome.substring(0, 17) + "...";
    }
    nome = StringUtils.rightPad(nome, 20);
    return nome;
}

From source file:stepReport.reports.model.savePDFModel.java

private String formatProfissao(String profissao) {
    if (profissao == null) {
        return StringUtils.rightPad("", 16);
    }/*  ww  w  . j a va  2  s.co m*/
    profissao = profissao.toLowerCase();
    if (profissao.length() > 15)
        profissao = profissao.substring(0, 12) + "...";

    profissao = StringUtils.rightPad(profissao, 16);
    return profissao;
}