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

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

Introduction

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

Prototype

public static int lastIndexOf(final CharSequence seq, final CharSequence searchSeq) 

Source Link

Document

Finds the last index within a CharSequence, handling null .

Usage

From source file:fr.gouv.diplomatie.applitutoriel.utility.Graphique.java

/**
 * permet de soit complter le libell pour viter d'avoir 2 lgendes sur la mme ligne, soit de dcouper
 * le libell s'il ne loge pas en longueur sur une seule ligne.
 *
 * @param chaine//from w w w .j  a va2  s .c om
 *            the chaine
 * @param longueur
 *            the longueur
 * @return the string
 */
public static String genererLibellePourLegende(final String chaine, final int longueur) {

    final StringBuffer retour = new StringBuffer();

    if (chaine.length() <= longueur) {

        retour.append(StringUtils.rightPad(chaine, longueur, ' '));
    } else {

        retour.append(chaine);
        final int index = StringUtils.lastIndexOf(" ", chaine.substring(0, longueur));

        if (index > 0) {
            retour.replace(index, index + 1, "\r\n");
        }

    }

    return retour.toString();
}

From source file:com.thruzero.common.core.utils.XmlUtils.java

public static String getParentPath(final String xPath) {
    int indexOfLastSlash = StringUtils.lastIndexOf(xPath, "/");

    if (indexOfLastSlash > 0) {
        return StringUtils.left(xPath, indexOfLastSlash);
    }//from   w  w  w .  j  av a2 s.  com

    return null;
}

From source file:fusion.FuseLinkServlet.java

private void metadataKeepFlatLeft(int idx) throws SQLException {
    Connection virt_conn = vSet.getConnection();
    StringBuilder concat_str = new StringBuilder();
    for (String s : fs.predsA) {
        String[] pres = StringUtils.split(s, ",");
        StringBuilder q = new StringBuilder();
        q.append("sparql SELECT * ");
        String prev_s = "<" + nodeA + ">";
        q.append(" WHERE {\n GRAPH <" + tGraph + "metadataA> {");
        if (pres.length == 1) {
            StringBuilder sq = new StringBuilder();
            sq.append("INSERT { GRAPH <" + tGraph + "> { ");
            sq.append(prev_s + " <" + pres[0] + "> ?o" + 0 + " . } ");
            sq.append(" } WHERE {\n GRAPH <" + tGraph + "metadataA> { " + prev_s + " <" + pres[0] + "> ?o" + 0
                    + " . } }");

            //System.out.println(sq.toString());

            VirtuosoUpdateRequest vur = VirtuosoUpdateFactory.create(sq.toString(), vSet);
            vur.exec();/*from  w  w  w .ja va  2s. c o  m*/

            return;
        }
        for (int i = 0; i < pres.length; i++) {
            q.append(prev_s + " <" + pres[i] + "> ?o" + i + " . ");
            prev_s = "?o" + i;
        }
        q.append("} }");
        //System.out.println(q.toString());

        PreparedStatement stmt;
        stmt = virt_conn.prepareStatement(q.toString());
        ResultSet rs = stmt.executeQuery();

        while (rs.next()) {
            StringBuilder insq = new StringBuilder();
            insq.append("INSERT { GRAPH <" + tGraph + "> { ");
            prev_s = "<" + nodeA + ">";
            for (int i = 0; i < pres.length - 2; i++) {
                insq.append(prev_s + " <" + pres[i] + "> ?o" + i + " . ");
                prev_s = "?o" + i;
            }
            String o = rs.getString(pres.length);
            String simplified = StringUtils.substringAfter(pres[pres.length - 1], "#");
            if (simplified.equals("")) {
                simplified = StringUtils.substring(pres[pres.length - 1],
                        StringUtils.lastIndexOf(pres[pres.length - 1], "/") + 1);
            }
            String o2 = rs.getString(pres.length - 1);
            insq.append(prev_s + " <" + o2 + "_" + simplified + "> \"" + o + "\"");
            insq.append("} } WHERE {\n GRAPH <" + tGraph + "metadataA> {");
            prev_s = "<" + nodeA + ">";
            for (int i = 0; i < pres.length; i++) {
                insq.append(prev_s + " <" + pres[i] + "> ?o" + i + " . ");
                prev_s = "?o" + i;
            }

            insq.append("} }");
            //System.out.println(insq.toString());

            VirtuosoUpdateRequest vur = VirtuosoUpdateFactory.create(insq.toString(), vSet);
            vur.exec();
        }

        //System.out.println(q.toString());
    }
}

From source file:de.adorsys.forge.gwt.GWTFacet.java

public String getSaveProjectName() {
    final JavaSourceFacet javaSourceFacet = project.getFacet(JavaSourceFacet.class);
    String basePackage = javaSourceFacet.getBasePackage();

    return StringUtils.substring(basePackage, StringUtils.lastIndexOf(basePackage, ".") + 1);
}

From source file:com.moviejukebox.plugin.ComingSoonPlugin.java

private static String getComingSoonIdFromURL(String url) {
    int index = url.indexOf("/scheda");
    if (index > -1) {
        String stripped = url.substring(0, index);
        index = StringUtils.lastIndexOf(stripped, '/');
        if (index > -1) {
            return stripped.substring(index + 1);
        }/*from  w ww .  jav  a2s.co m*/
    }
    return Movie.UNKNOWN;
}

From source file:fusion.FuseLinkServlet.java

private void metadataKeepFlatRight(int idx) throws SQLException {
    Connection virt_conn = vSet.getConnection();
    StringBuilder concat_str = new StringBuilder();
    for (String s : fs.predsB) {
        String[] pres = StringUtils.split(s, ",");
        StringBuilder q = new StringBuilder();
        q.append("sparql SELECT * ");
        String prev_s = "<" + nodeA + ">";
        q.append(" WHERE {\n GRAPH <" + tGraph + "metadataB> {");
        if (pres.length == 1) {
            StringBuilder sq = new StringBuilder();
            sq.append("INSERT { GRAPH <" + tGraph + "> { ");
            sq.append(prev_s + " <" + pres[0] + "> ?o" + 0 + " . } ");
            sq.append(" } WHERE {\n GRAPH <" + tGraph + "metadataB> { " + prev_s + " <" + pres[0] + "> ?o" + 0
                    + " . } }");

            //System.out.println(sq.toString());

            VirtuosoUpdateRequest vur = VirtuosoUpdateFactory.create(sq.toString(), vSet);
            vur.exec();/*from w  w w . ja va  2s  .c o  m*/

            return;
        }
        for (int i = 0; i < pres.length; i++) {
            q.append(prev_s + " <" + pres[i] + "> ?o" + i + " . ");
            prev_s = "?o" + i;
        }
        q.append("} }");
        //System.out.println(q.toString());

        PreparedStatement stmt;
        stmt = virt_conn.prepareStatement(q.toString());
        ResultSet rs = stmt.executeQuery();

        while (rs.next()) {
            StringBuilder insq = new StringBuilder();
            insq.append("INSERT { GRAPH <" + tGraph + "> { ");
            prev_s = "<" + nodeA + ">";
            for (int i = 0; i < pres.length - 2; i++) {
                insq.append(prev_s + " <" + pres[i] + "> ?o" + i + " . ");
                prev_s = "?o" + i;
            }
            String o = rs.getString(pres.length);
            String simplified = StringUtils.substringAfter(pres[pres.length - 1], "#");
            if (simplified.equals("")) {
                simplified = StringUtils.substring(pres[pres.length - 1],
                        StringUtils.lastIndexOf(pres[pres.length - 1], "/") + 1);
            }
            String o2 = rs.getString(pres.length - 1);
            insq.append(prev_s + " <" + o2 + "_" + simplified + "> \"" + o + "\"");
            insq.append("} } WHERE {\n GRAPH <" + tGraph + "metadataB> {");
            prev_s = "<" + nodeA + ">";
            for (int i = 0; i < pres.length; i++) {
                insq.append(prev_s + " <" + pres[i] + "> ?o" + i + " . ");
                prev_s = "?o" + i;
            }

            insq.append("} }");
            //System.out.println(insq.toString());

            VirtuosoUpdateRequest vur = VirtuosoUpdateFactory.create(insq.toString(), vSet);
            vur.exec();
        }

        //System.out.println(q.toString());
    }
}

From source file:com.adguard.filter.rules.UrlFilterRule.java

/**
 * Loads rule properties lazily//from   ww w  .j a  v a2  s.  c o m
 */
private synchronized void loadRuleProperties() {
    try {
        if (regex != null || urlRegexp != null || invalidRule) {
            // Rule is already loaded
            return;
        }

        String urlRuleText = getRuleText();

        if (StringUtils.startsWith(urlRuleText, MASK_WHITE_LIST)) {
            urlRuleText = urlRuleText.substring(MASK_WHITE_LIST.length());
        }

        int optionsIndex = StringUtils.lastIndexOf(urlRuleText, OPTIONS_DELIMITER);
        if (optionsIndex > -1) {
            // Options are specified, parsing it
            String optionsBase = urlRuleText;
            urlRuleText = urlRuleText.substring(0, optionsIndex);
            String options = optionsBase.substring(optionsIndex + 1);
            loadOptions(options);
        }

        // Transform to punycode
        urlRuleText = toPunycode(urlRuleText);

        boolean regexRule = urlRuleText.startsWith(MASK_REGEX_RULE) && urlRuleText.endsWith(MASK_REGEX_RULE);
        if (regexRule) {
            regex = urlRuleText.substring(MASK_REGEX_RULE.length(),
                    urlRuleText.length() - MASK_REGEX_RULE.length());
            // Pre-compile regex rules
            Pattern pattern = getUrlRegexp();
            if (pattern == null) {
                throw new IllegalArgumentException("ruleText");
            }
        } else {
            regex = createRegexFromRule(urlRuleText);
        }
    } catch (Exception ex) {
        LoggerFactory.getLogger(this.getClass()).warn("Invalid filter rule: {}\r\n", getRuleText(), ex);
        invalidRule = true;
    }
}

From source file:com.intuit.wasabi.api.pagination.filters.PaginationFilter.java

/**
 * Returns a filter string where the fulltext string is removed.
 * <p>/*from w ww  .  jav a2  s  . c om*/
 * Examples for filters and return values:
 * <ul>
 * <li>{@code Jul 15, 2014,appname=myApp} <i>returns</i> {@code appname=myApp}</li>
 * <li>Jul 15, 2014} <i>returns</i> the empty String</i></li>
 * <li>appname=myApp,experiment=myExp} <i>returns</i> {@code appname=myApp,experiment=myExp}</li>
 * <li>,,,=wrongFormatButStill} <i>returns</i> {@code =wrongFormatButStill}</li>
 * </ul>
 *
 * @param filter the filter
 * @return the key-value part of the filter
 */
/*test*/
final String getKeyValuePartOfFilter(String filter) {
    if (filter == null) {
        return "";
    }

    if (!filter.contains(SEPARATOR)) {
        return "";
    }

    if (!filter.contains(DELIMITER)) {
        return filter;
    }

    return filter
            .substring(StringUtils.lastIndexOf(filter.substring(0, filter.indexOf(SEPARATOR)), DELIMITER) + 1);
}

From source file:fusion.FuseLinkServlet.java

private void metadataKeepConcatLeft(int idx) throws SQLException {
    Connection virt_conn = vSet.getConnection();
    StringBuilder concat_str = new StringBuilder();
    for (String s : fs.predsA) {
        String[] pres = StringUtils.split(s, ",");
        StringBuilder q = new StringBuilder();
        q.append("sparql SELECT * ");
        String prev_s = "<" + nodeA + ">";
        q.append(" WHERE {\n GRAPH <" + tGraph + "metadataA> {");
        for (int i = 0; i < pres.length; i++) {
            q.append(prev_s + " <" + pres[i] + "> ?o" + i + " . ");
            prev_s = "?o" + i;
        }//from w w w  . j  a v  a2  s  . c o  m
        q.append("} }");
        //System.out.println(q.toString());

        PreparedStatement stmt;
        stmt = virt_conn.prepareStatement(q.toString());
        ResultSet rs = stmt.executeQuery();

        while (rs.next()) {
            //for (int i = 0; i < pres.length; i++) {
            String o = rs.getString(pres.length);
            String simplified = StringUtils.substringAfter(pres[pres.length - 1], "#");
            if (simplified.equals("")) {
                simplified = StringUtils.substring(pres[pres.length - 1],
                        StringUtils.lastIndexOf(pres[pres.length - 1], "/") + 1);
            }
            //concat_str.append(simplified+":"+o+" ");
            concat_str.append(o + " ");
            //}
        }

        //System.out.println(q.toString());
    }
    concat_str.setLength(concat_str.length() - 1);
    int lastIdx = StringUtils.lastIndexOf(fs.predsA.get(0), ",");
    String pred = fs.predsA.get(0).substring(0, lastIdx);
    String[] pres = StringUtils.split(pred, ",");
    StringBuilder q = new StringBuilder();
    q.append("INSERT { GRAPH <" + tGraph + "> { ");
    String prev_s = "<" + nodeA + ">";
    for (int i = 0; i < pres.length - 1; i++) {
        q.append(prev_s + " <" + pres[i] + "> ?o" + i + " . ");
        prev_s = "?o" + i;
    }
    q.append(prev_s + " ?o" + (pres.length - 1) + " \"" + concat_str + "\"");
    q.append("} } WHERE {\n GRAPH <" + tGraph + "metadataA> {");
    prev_s = "<" + nodeA + ">";
    for (int i = 0; i < pres.length; i++) {
        q.append(prev_s + " <" + pres[i] + "> ?o" + i + " . ");
        prev_s = "?o" + i;
    }
    q.append("} }");
    //System.out.println(q.toString());
    VirtuosoUpdateRequest vur = VirtuosoUpdateFactory.create(q.toString(), vSet);
    vur.exec();

    //System.out.println(concat_str);
}

From source file:com.intuit.wasabi.api.pagination.filters.PaginationFilter.java

/**
 * Returns a filter string where the key-value part is removed.
 * <p>//ww w .ja va2  s .c om
 * Examples for filters and return values:
 * <ul>
 * <li>{@code Jul 15, 2014,appname=myApp} <i>returns</i> {@code Jul 15, 2014}</li>
 * <li>{@code Jul 15, 2014} <i>returns</i> {@code Jul 15, 2014}</li>
 * <li>{@code Jul 15, 2014,} <i>returns</i> {@code Jul 15, 2014,}</li>
 * <li>{@code appname=myApp,experiment=myExp} <i>returns the empty String</i></li>
 * <li>{@code ,,,=wrongFormatButStill} <i>returns</i> {@code ,,}</li>
 * </ul>
 *
 * @param filter the filter
 * @return the fulltext part of the filter
 */
/*test*/
final String getFulltextPartOfFilter(String filter) {
    if (filter == null) {
        return "";
    }

    if (!filter.contains(SEPARATOR)) {
        return filter;
    }

    if (!filter.contains(DELIMITER) || filter.indexOf(SEPARATOR) < filter.indexOf(DELIMITER)) {
        return "";
    }

    return filter.substring(0,
            StringUtils.lastIndexOf(filter.substring(0, filter.indexOf(SEPARATOR)), DELIMITER));
}