List of usage examples for org.apache.commons.lang StringUtils splitPreserveAllTokens
public static String[] splitPreserveAllTokens(String str)
Splits the provided text into an array, using whitespace as the separator, preserving all tokens, including empty tokens created by adjacent separators.
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; }