public static Set<String> parseClientTags(String clientTagsString) { Splitter splitter = Splitter.on(',').trimResults().omitEmptyStrings(); return ImmutableSet.copyOf(splitter.split(nullToEmpty(clientTagsString))); }
/** * Copied from Guava's {@link Splitter#splitToList(CharSequence)}. * This is to avoid the error of the missing method signature when using an old Guava library. * For example, it may happen when running Druid Hadoop indexing jobs, since we may inherit the version provided by * the Hadoop cluster. See https://github.com/apache/incubator-druid/issues/6801. */ private List<String> splitToList(String input) { Preconditions.checkNotNull(input); Iterator<String> iterator = splitter.split(input).iterator(); List<String> result = new ArrayList<String>(); while (iterator.hasNext()) { result.add(iterator.next()); } return Collections.unmodifiableList(result); } }
@VisibleForTesting public static UClassIdent create(String qualifiedName) { List<String> topLevelPath = new ArrayList<>(); for (String component : Splitter.on('.').split(qualifiedName)) { topLevelPath.add(component); if (Character.isUpperCase(component.charAt(0))) { break; } } return create(Joiner.on('.').join(topLevelPath), qualifiedName); }
private static String upperToHttpHeaderName( String constantName, ImmutableBiMap<String, String> specialCases, ImmutableSet<String> uppercaseAcronyms) { if (specialCases.containsKey(constantName)) { return specialCases.get(constantName); } List<String> parts = Lists.newArrayList(); for (String part : SPLITTER.split(constantName)) { if (!uppercaseAcronyms.contains(part)) { part = part.charAt(0) + Ascii.toLowerCase(part.substring(1)); } parts.add(part); } return JOINER.join(parts); } }
private static AbstractMap.SimpleEntry<String, String> parseKeyValuePair( final String arg ) { final List<String> keyValueSplit = Lists.newArrayList( Splitter.on( SEPARATOR ).limit( 2 ).split( arg ) ); if ( keyValueSplit.size() == 1 ) { throw new IllegalArgumentException( "Could not separate \"" + arg + "\" by a whitespace into two parts" ); } return new AbstractMap.SimpleEntry<String, String>( keyValueSplit.get( 0 ), keyValueSplit.get( 1 ) ); } }
public void testStringSplitOnOnlyDelimitersOmitEmptyStrings() { Iterable<String> empty = Splitter.on(".").omitEmptyStrings().split("..."); assertThat(empty).isEmpty(); }
public void testCharacterSplitEmptyToken() { String emptyToken = "a. .c"; Iterable<String> letters = Splitter.on('.').trimResults().split(emptyToken); assertThat(letters).containsExactly("a", "", "c").inOrder(); }
public void testLimitExtraSeparatorsTrim() { String text = ",,a,, , b ,, c,d "; Iterable<String> items = COMMA_SPLITTER.limit(2).omitEmptyStrings().trimResults().split(text); assertThat(items).containsExactly("a", "b ,, c,d").inOrder(); }
public void testLimitExtraSeparatorsTrim1EmptyOmit() { String text = ""; Iterable<String> items = COMMA_SPLITTER.omitEmptyStrings().limit(1).split(text); assertThat(items).isEmpty(); }
public void testLimitExtraSeparatorsTrim1NoOmit() { String text = ",,a,, , b ,, c,d "; Iterable<String> items = COMMA_SPLITTER.limit(1).trimResults().split(text); assertThat(items).containsExactly(",,a,, , b ,, c,d").inOrder(); }
public static ImmutableSet<HostAddress> parseNodes(String nodes) { Splitter splitter = Splitter.on(',').omitEmptyStrings().trimResults(); return ImmutableSet.copyOf(transform(splitter.split(nodes), KafkaConnectorConfig::toHostAddress)); }
public List<Integer> toList(String integers) { List<Integer> integerList = new ArrayList<Integer>(); for (String integer : Splitter.on(",").split(integers)) { try { integerList.add(Integer.parseInt(integer.trim())); } catch (NumberFormatException nfe) { mockServerLogger.error("NumberFormatException converting " + integer + " to integer", nfe); } } return integerList; }
/** * Sorts a text range with a comparator. Returns true if a replace was performed, false otherwise. * * @param editor The editor to replace text in * @param start The starting position for the sort * @param end The ending position for the sort * @param lineComparator The comparator to use to sort * @return true if able to sort the text, false if not */ private boolean sortTextRange(@NotNull Editor editor, int start, int end, @NotNull Comparator<String> lineComparator) { final String selectedText = editor.getDocument().getText(new TextRangeInterval(start, end)); final List<String> lines = Lists.newArrayList(Splitter.on("\n").split(selectedText)); if (lines.size() < 1) { return false; } lines.sort(lineComparator); replaceText(editor, start, end, StringUtil.join(lines, "\n")); return true; }
public void testCharacterSplitOnOnlyDelimitersOmitEmptyStrings() { Iterable<String> empty = Splitter.on('.').omitEmptyStrings().split("..."); assertThat(empty).isEmpty(); }
public void testStringSplitEmptyToken() { String emptyToken = "a. .c"; Iterable<String> letters = Splitter.on(".").trimResults().split(emptyToken); assertThat(letters).containsExactly("a", "", "c").inOrder(); }
public void testLimitExtraSeparatorsTrim3() { String text = ",,a,, , b ,, c,d "; Iterable<String> items = COMMA_SPLITTER.limit(3).omitEmptyStrings().trimResults().split(text); assertThat(items).containsExactly("a", "b", "c,d").inOrder(); }
public void testFixedLengthSplitEmptyStringWithOmitEmptyStrings() { assertThat(Splitter.fixedLength(3).omitEmptyStrings().split("")).isEmpty(); }