public static String[] splitCommaOrWhitespaces(String s) { if(null == s) { return Arrays2.EMPTY_STRING_ARRAY; } if(s.indexOf(',') >= 0) { return Strings.split(s, ','); }else { return Strings.splitWhitespaces(s); } }
public static int parseFlags(String flags){ String[] flagNames = Strings.split(flags,"|"); int flag = 0; for(String name : flagNames){ Integer value = Patterns.flags.get(name); if(null == value){ throw new IllegalStateException("Invalid pattern flag '" + name + "'"); } flag = flag | value; } return flag; }
protected List<String> parseWords(String words){ List<String> list = new ArrayList<String>(); if(!Strings.isEmpty(words)){ String[] lines = Strings.splitMultiLines(words); for(String line : lines){ for(String word : Strings.split(line,',')){ list.add(word); } } } return list; }
private static String[] toArray(Object v) { if(v == null) { return null; } if(v instanceof String) { return Strings.split((String)v, ',', ' '); } if(v instanceof List) { return ((List<String>)v).toArray(Arrays2.EMPTY_STRING_ARRAY); } throw new IllegalStateException("Invalid array value " + v); }
private static Object stringToArray(String string,Class<?> componentType){ String[] strings = Strings.split(string,','); Object array = Array.newInstance(componentType, strings.length); for(int i=0;i<strings.length;i++){ Array.set(array, i, Converts.convert(strings[i],componentType)); } return array; } }
public AntPathPattern(String pattern,AntPathMatcher matcher) { Args.notEmpty(pattern,"pattern"); this.pattern = pattern; this.matcher = matcher; this.parts = Strings.split(pattern, '/', false); }
@Override public void process(int rownum, String[] values) throws Exception { //skip header if(rownum == 1){ return; } //columns : singular,acronyms String singular = values[0].toLowerCase(); String acronyms = values[1].toLowerCase(); Set<String> acronymSet = New.linkedHashSet(Strings.split(acronyms,'|')); singuralToAcronyms.put(singular, acronymSet); allAcronyms.addAll(acronymSet); } });
public static Map<String, String> queryStringToMap(String queryString){ Map<String, String> map = New.hashMap(); if(Strings.isNotEmpty(queryString)){ String[] kvs = Strings.split(queryString,'&'); for(String kvStr : kvs){ int idx = kvStr.indexOf('='); if(idx < 0){ map.put(kvStr.trim(),null); }else if(idx >= kvStr.length()){ String k = kvStr.substring(0,idx); map.put(k,null); }else { String k = kvStr.substring(0,idx); String v = kvStr.substring(idx+1); map.put(k,v); } } } return map; }
public T toCollection(Class<?> targetType,Class<?> elementType,String stringValue) throws Throwable { String[] stringArray = Strings.split(stringValue); T collection = newInstance(targetType); for(String string : stringArray){ collection.add(Converts.convert(string,elementType)); } return collection; }
public static String nameToTitle(String name) { if(name.indexOf('-') < 0 && name.indexOf('_') < 0) { name = Strings.lowerUnderscore(name); } String[] parts = Strings.split(name, '_', '-'); StringBuilder s = new StringBuilder(); for(int i=0;i<parts.length;i++) { if(i > 0) { s.append(' '); } if(i == 0) { s.append(Strings.upperFirst(parts[i])); }else { s.append(parts[i]); } } return s.toString(); }
@Override public String getTemplateBeforeVariables() { if(!hasVariables()){ return getTemplate(); }else{ StringBuilder path = new StringBuilder("/"); String[] parts = Strings.split(getTemplate(),"/"); for(String part : parts) { if(TEMPLATE_NAMES_PATTERN.matcher(part).matches()) { break; } path.append(part).append('/'); } return path.toString(); } }
protected String[] parse(String actions) { if(actions.equals(ALL)){ return getAllActionsAscendingSorted(); } if(actions.equals(NONE)){ return Arrays2.EMPTY_STRING_ARRAY; } String[] values = Strings.split(actions,",",true,true); for(int i=0;i<values.length;i++){ if(values[i].endsWith(ALL) || values[i].equals(NONE)){ throw new IllegalArgumentException("invalid actions '" + actions + "', '*' or 'none' can not used with other actions"); } if(!Arrays2.contains(getAllActionsAscendingSorted(), values[i])){ throw new IllegalArgumentException("invalid action '" + values[i] + "'"); } } Arrays.sort(values); return values; }
protected String[] decodeRememberMeTokens(Cookie cookie) { String encodedTokenString = cookie.getValue(); for (int j = 0; j < encodedTokenString.length() % 4; j++) { encodedTokenString = encodedTokenString + "="; } if(!Base64.isBase64(encodedTokenString)) { log.debug("The remember-me cookie is not a valid base64 string"); return null; } String decodedTokenString = Base64.decode(encodedTokenString); String[] tokens = Strings.split(decodedTokenString, ':'); if(tokens.length != 3){ return null; } return tokens; }
protected void parseTags(String expr) { if(Strings.isNotEmpty(expr)){ String[] tags = Strings.split(expr,","); for(String tag : tags){ if(Strings.isNotEmpty(tag)){ op.addTag(tag.trim()); } } } }
private Pool<Jedis> createSentinelPool() { HashSet<String> hosts = new HashSet<>(); Collections2.addAll(hosts, Strings.split(sentinelHostAndPorts, ',')); return new JedisSentinelPool(sentinelMasterName, hosts, checkPoolConfig(), timeout, password, database); } }
public static void parse(MetaSecurity security, String expr) { expr = Strings.trim(expr); if(Strings.isEmpty(expr)) { return; } String[] rules = Strings.split(expr, '|'); if(rules.length > 2) { throw new IllegalStateException("Invalid security expr '" + expr + "'"); } for(String rule : rules) { parseRule(security, rule); } }
private static void parseRule(MetaSecurity security, String expr) { expr = Strings.trim(expr); String[] parts = Strings.split(expr, ' ', ','); String name = parts[0]; String[] permissions = parts.length > 1 ? removeFirst(parts) : Arrays2.EMPTY_STRING_ARRAY; boolean disabled = permissions.length == 1 && permissions[0].equalsIgnoreCase("disabled"); MetaSecurity.Rule rule = disabled ? new MetaSecurity.Rule() : new MetaSecurity.Rule(permissions); if(name.equalsIgnoreCase("user")) { security.setUser(rule); return; } if(name.equalsIgnoreCase("client")) { security.setClient(rule); return; } throw new IllegalStateException("Invalid security '" + name + "', must be 'user' or 'client'"); }
private static boolean parseType(String name, String value, MetaField field) { //is type name ? varchar(100) JdbcType type = JdbcTypes.tryForTypeName(name.toLowerCase()); if(null != type) { field.setType(type.getName()); String[] numbers = Strings.split(value, ','); if(numbers.length == 2) { field.setPrecision(Integer.parseInt(numbers[0])); field.setScale(Integer.parseInt(numbers[1])); return true; } if(numbers.length == 1) { field.setLength(Integer.parseInt(numbers[0])); return true; } } return false; }
protected String[] extractClientCredentials(Request request, Response response) { String authorization = request.getHeader(Headers.AUTHORIZATION); if(!Strings.isEmpty(authorization)){ if(!authorization.startsWith("Basic")){ error(response, 400, INVALID_REQUEST, "invalid Authorization header"); return null; } String base64Token = Strings.trim(authorization.substring("Basic".length())); String token = Base64.decode(base64Token); String[] idAndSecret = Strings.split(token,":"); if(idAndSecret.length != 2){ error(response, 400, INVALID_REQUEST, "invalid Authorization header"); return null; } return new String[]{idAndSecret[0],idAndSecret[1]}; } return new String[]{request.getParameter("client_id"), request.getParameter("client_secret")}; }
void handleJsonSpecRequest(Api api, Request req, Response resp) throws Throwable { SwaggerJsonWriter w = new SwaggerJsonWriter(); w.setPropertyNamingStyle(api.getConfig().getPropertyNamingStyle()); resp.setContentType(w.getContentType()); String[] parts = req.getParameterValues("parts"); if(null != parts && parts.length == 1) { parts = Strings.split(parts[0], ','); } Set<String> partsSet = null == parts ? Collections.emptySet() : New.hashSet(parts); ApiSpecContext context = new ApiSpecContextImpl(req, partsSet); String json = toSwaggerJson(w, context, api.getMetadata()); String fingerprint = assetStrategy.getFingerprint(json.getBytes()); resp.setHeader(Headers.ETAG, "\"" + fingerprint + "\""); String ifNoneMatch = req.getHeader(Headers.IF_NONE_MATCH); if(!Strings.isEmpty(ifNoneMatch) && ifNoneMatch.equals("\"" + fingerprint + "\"")) { resp.setStatus(HTTP.SC_NOT_MODIFIED); }else { resp.getWriter().write(json); } }