Example usage for org.apache.commons.lang StringUtils splitPreserveAllTokens

List of usage examples for org.apache.commons.lang StringUtils splitPreserveAllTokens

Introduction

In this page you can find the example usage for org.apache.commons.lang StringUtils splitPreserveAllTokens.

Prototype

public static String[] splitPreserveAllTokens(String str) 

Source Link

Document

Splits the provided text into an array, using whitespace as the separator, preserving all tokens, including empty tokens created by adjacent separators.

Usage

From source file:com.npower.unicom.sync.simple.FileSyncItemReaderImpl.java

@Override
protected SyncItem parse(String line) throws ParseException {
    if (StringUtils.isEmpty(line)) {
        return null;
    }/*  w w w.j  a va2  s .c  o m*/
    String cols[] = StringUtils.splitPreserveAllTokens("\t");
    if (cols == null || cols.length != 4) {
        throw new ParseException("Error data: " + line);
    }
    SimpleSyncItem item = new SimpleSyncItem(cols[0], SyncAction.valueOfByString(cols[1]));
    item.setBrand(cols[2]);
    item.setModel(cols[4]);
    return item;
}

From source file:com.aliyun.openservices.odps.console.mr.MapReduceCommand.java

private void internalParseGeneralOptions(String commandText) throws ODPSConsoleException, IOException {
    // split command by whitespace chars (space, tab, newline)
    String[] ss = StringUtils.splitPreserveAllTokens(commandText.trim());
    int idx = 1; // skip 'jar' command
    while (idx < ss.length) {
        // skip empty tokens;
        while (idx < ss.length && ss[idx].isEmpty()) {
            idx++;// w w  w . j a va2 s.  com
        }
        if (idx >= ss.length) {
            break;
        }

        String token = ss[idx];

        if (token.equalsIgnoreCase(OPT_CONF)) {
            // skip empty tokens
            do {
                idx++;
            } while (idx < ss.length && ss[idx].isEmpty());

            if (idx < ss.length && isNotOpt(ss[idx])) {
                this.conf = ss[idx];
            } else {
                throw new IOException("Argument for conf can't be empty");
            }
            validateFiles(this.conf);

        } else if (token.equalsIgnoreCase(OPT_RESOURCES)) {
            // skip empty tokens
            do {
                idx++;
            } while (idx < ss.length && ss[idx].isEmpty());

            if (idx < ss.length && isNotOpt(ss[idx])) {
                this.resources = formatSeparator(ss[idx], false);
            } else {
                throw new IOException("Argument for resources can't be empty");
            }

        } else if (token.equalsIgnoreCase(OPT_LIBJARS)) {
            // skip empty tokens
            do {
                idx++;
            } while (idx < ss.length && ss[idx].isEmpty());

            if (idx < ss.length && isNotOpt(ss[idx])) {
                this.libjars = formatSeparator(ss[idx], true);
            } else {
                throw new IOException("Argument for libjars can't be empty");
            }

        } else if (token.equalsIgnoreCase(OPT_CLASSPATH) || token.equalsIgnoreCase(OPT_CP)) {
            // skip empty tokens
            do {
                idx++;
            } while (idx < ss.length && ss[idx].isEmpty());

            if (idx < ss.length && isNotOpt(ss[idx])) {
                this.classpath = formatSeparator(ss[idx], false);
            } else {
                throw new IOException("Argument for classpath can't be empty");
            }
            this.classpath = validateFiles(this.classpath);

        } else if (token.equals(OPT_L)) {
            localMode = true;
        } else if (token.startsWith(OPT_D)) {
            String[] kv = token.substring(OPT_D.length()).split("=", 2);
            if (kv.length == 2) {
                this.jvmOptions.add(token);
            } else {
                throw new IOException("Incorrect property: " + token);
            }

        } else if (token.startsWith(OPT_X)) {
            String xparam = token.substring(OPT_X.length());
            if (xparam.isEmpty()) {
                throw new IOException("Incorrect -X option, should not be empty");
            }
            this.jvmOptions.add(token);

        } else if (!token.isEmpty()) {
            // find main class
            // NOTE: tab and newline will be replaced with space
            StringBuilder builder = new StringBuilder();
            for (int i = idx; i < ss.length; i++) {
                if (i != idx) {
                    builder.append(' ');
                }
                builder.append(ss[i]);
            }
            remainderArgs = builder.toString();

            break;

        }

        idx++;
    }
}

From source file:com.aliyun.openservices.odps.console.mapreduce.runtime.MapReduceJob.java

private String[] parseCmd(String cmd) throws IOException {
    cmd = cmd.trim();/*w w  w  . j  a v  a 2 s. c  om*/
    if (StringUtils.isEmpty(cmd)) {
        throw new IOException("cmd is empty, because main class not specified.");
    }

    List<String> result = new ArrayList<String>();
    String[] ss = StringUtils.splitPreserveAllTokens(cmd);

    int idx = 0;
    boolean quot = false;
    StringBuilder buffer = new StringBuilder();
    while (idx < ss.length) {
        if (quot) {
            buffer.append(' ');
        }

        // skip empty tokens;
        while (idx < ss.length && ss[idx].isEmpty()) {
            if (quot) {
                buffer.append(' ');
            }
            idx++;
        }

        if (idx >= ss.length) {
            break;
        }

        String tok = ss[idx];

        if (tok.startsWith("\"") || tok.endsWith("\"")) {
            if (tok.startsWith("\"")) {
                if (quot) {
                    buffer.append(tok);
                } else {
                    buffer.append(tok.substring(1));
                }
                quot = true;
            }

            if (tok.endsWith("\"") && tok.length() > 1) {
                quot = false;
                if (tok.startsWith("\"")) {
                    buffer.deleteCharAt(buffer.length() - 1);
                } else {
                    buffer.append(tok.substring(0, tok.length() - 1));
                }
                result.add(buffer.toString());
                buffer = new StringBuilder();
            }
        } else {
            if (quot) {
                buffer.append(tok);
            } else {
                result.add(tok);
            }
        }

        idx++;
    }

    if (quot) {
        throw new IOException("exist unmatched quotations: " + cmd);
    }
    return result.toArray(new String[result.size()]);
}

From source file:edu.ku.brc.specify.config.init.secwiz.SpecifyDBSecurityWizard.java

/**
 * Sets up initial preference settings.//from   w w w  . j a  va2  s.c  om
 */
protected void setupLoginPrefs() {
    String userName = props.getProperty("usrUsername");
    String password = props.getProperty("usrPassword");
    String saUserName = props.getProperty("saUserName");
    String saPassword = props.getProperty("saPassword");

    String encryptedMasterUP = UserAndMasterPasswordMgr.encrypt(saUserName, saPassword, password);

    DatabaseDriverInfo driverInfo = dbPanel.getDriver();
    AppPreferences ap = AppPreferences.getLocalPrefs();

    String loginDBPrefName = "login.databases";
    String loginDBs = ap.get(loginDBPrefName, null);
    if (StringUtils.isNotEmpty(loginDBs)) {
        TreeSet<String> dbNames = new TreeSet<String>();
        for (String dbNm : StringUtils.splitPreserveAllTokens(loginDBs)) {
            dbNames.add(dbNm);
        }
        StringBuilder sb = new StringBuilder();
        for (String dbNm : dbNames) {
            if (sb.length() > 0)
                sb.append(',');
            sb.append(dbNm);
        }
        if (sb.length() > 0)
            sb.append(',');
        sb.append(dbPanel.getDbName());
        loginDBs = sb.toString();
    } else {
        loginDBs = dbPanel.getDbName();
    }
    ap.put(userName + "_master.islocal", "true");
    ap.put(userName + "_master.path", encryptedMasterUP);
    ap.put("login.dbdriver_selected", driverInfo.getName());
    ap.put("login.username", props.getProperty("usrUsername"));
    ap.put("login.databases_selected", dbPanel.getDbName());
    ap.put(loginDBPrefName, loginDBs);
    ap.put("login.servers", props.getProperty("hostName"));
    ap.put("login.servers_selected", props.getProperty("hostName"));
    ap.put("login.rememberuser", "true");
    ap.put("extra.check", "true");
    ap.put("version_check.auto", "true");

    try {
        ap.flush();

    } catch (BackingStoreException ex) {
    }
}

From source file:edu.ku.brc.specify.config.init.SpecifyDBSetupWizard.java

/**
 * Sets up initial preference settings./*from  w w w. j  av a  2s .  co m*/
 */
protected void setupLoginPrefs() {
    String userName = props.getProperty("usrUsername");
    String password = props.getProperty("usrPassword");
    String saUserName = props.getProperty("saUserName");
    String saPassword = props.getProperty("saPassword");
    String hostName = props.getProperty("hostName");

    hostName = hostName != null ? hostName : "";

    String encryptedMasterUP = UserAndMasterPasswordMgr.encrypt(saUserName, saPassword, password);

    DatabaseDriverInfo driverInfo = dbPanel.getDriver();
    AppPreferences ap = AppPreferences.getLocalPrefs();

    String loginDBPrefName = "login.databases";
    String loginDBs = ap.get(loginDBPrefName, null);
    if (StringUtils.isNotEmpty(loginDBs)) {
        TreeSet<String> dbNames = new TreeSet<String>();
        for (String dbNm : StringUtils.splitPreserveAllTokens(loginDBs)) {
            dbNames.add(dbNm);
        }
        StringBuilder sb = new StringBuilder();
        for (String dbNm : dbNames) {
            if (sb.length() > 0)
                sb.append(',');
            sb.append(dbNm);
        }
        if (sb.length() > 0)
            sb.append(',');
        sb.append(dbPanel.getDbName());
        loginDBs = sb.toString();
    } else {
        loginDBs = dbPanel.getDbName();
    }
    ap.put(userName + "_master.islocal", "true");
    ap.put(userName + "_master.path", encryptedMasterUP);
    ap.put("login.dbdriver_selected", driverInfo.getName());
    ap.put("login.username", userName != null ? userName : "");
    ap.put("login.databases_selected", dbPanel.getDbName());
    ap.put("login.databases", loginDBs);
    ap.put("login.servers", hostName);
    ap.put("login.servers_selected", hostName);
    ap.put("login.rememberuser", "true");
    ap.put("extra.check", "true");
    ap.put("version_check.auto", "true");

    try {
        ap.flush();

    } catch (BackingStoreException ex) {
    }
}

From source file:ubic.gemma.loader.genome.ProbeSequenceParser.java

@Override
public BioSequence parseOneLine(String line) {

    if (line.startsWith(">")) {
        throw new RuntimeException(
                "FASTA format not supported - please use the tabular format for oligonucleotides");
    }//from w  ww  .j  a v a2  s. com

    if (StringUtils.isBlank(line)) {
        return null;
    }

    String[] sArray = StringUtils.splitPreserveAllTokens(line);

    if (sArray.length == 0) {
        return null;
    }

    if (sArray.length != 3) {
        throw new IllegalArgumentException(
                "Expected 3 fields: probe name, sequence name, sequence; line=" + line);
    }

    String probeId = sArray[0].trim();

    if (StringUtils.isBlank(probeId)) {
        return null;
    }

    String sequenceName = sArray[1].trim();

    String sequence = sArray[2].trim();

    // Rarely there are extra junk characters. See bug 2719
    sequence = sequence.replaceAll("[^a-yA-Y]", "");

    // A Adenine
    // C Cytosine
    // G Guanine
    // T Thymine
    // U Uracil
    // R Purine (A or G)
    // Y Pyrimidine (C, T, or U)
    // M C or A
    // K T, U, or G
    // W T, U, or A
    // S C or G
    // B C, T, U, or G (not A)
    // D A, T, U, or G (not C)
    // H A, T, U, or C (not G)
    // V A, C, or G (not T, not U)
    // N Any base (A, C, G, T, or U)

    if (StringUtils.isBlank(sequence)) {
        return null;
    }

    BioSequence seq = BioSequence.Factory.newInstance();
    seq.setSequence(sequence);
    seq.setLength((long) sequence.length());
    seq.setIsCircular(false);
    seq.setIsApproximateLength(false);
    seq.setName(sequenceName);

    if (this.results.containsKey(probeId)) {
        log.warn("Duplicated probe id: " + probeId);
    }
    put(probeId, seq);

    return seq;
}