private static Object locateNode(GenericRecord element, String columnMapping) { Object value = element; for (String pathElement : Splitter.on('/').omitEmptyStrings().split(columnMapping)) { if (value == null) { return null; } value = ((GenericRecord) value).get(pathElement); } return value; }
public static ImmutableSet<HostAddress> parseNodes(String nodes) { Splitter splitter = Splitter.on(',').omitEmptyStrings().trimResults(); return ImmutableSet.copyOf(transform(splitter.split(nodes), KafkaConnectorConfig::toHostAddress)); }
private static List<String> splitSessionHeader(Enumeration<String> headers) { Splitter splitter = Splitter.on(',').trimResults().omitEmptyStrings(); return Collections.list(headers).stream() .map(splitter::splitToList) .flatMap(Collection::stream) .collect(toImmutableList()); }
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(); }
@Config("jmx.dump-tables") public JmxConnectorConfig setDumpTables(String tableNames) { this.dumpTables = Splitter.on(Pattern.compile("(?<!\\\\),")) // match "," not preceded by "\" .omitEmptyStrings() .splitToList(tableNames) .stream() .map(part -> part.replace("\\,", ",")) // unescape all escaped commas .collect(Collectors.toSet()); return this; }
public void testLimitExtraSeparatorsTrim1EmptyOmit() { String text = ""; Iterable<String> items = COMMA_SPLITTER.omitEmptyStrings().limit(1).split(text); assertThat(items).isEmpty(); }
@Override public Iterable<List<String>> convertRecord(String outputSchema, String inputRecord, WorkUnitState workUnit) throws DataConversionException { List<String> convertedRecord = this.shouldTrimResults ? this.splitter.omitEmptyStrings().trimResults().splitToList(inputRecord) : this.splitter.splitToList(inputRecord); return new SingleRecordIterable<>(convertedRecord); } }
@Test public void split() { List<String> result = MoreStringUtil.split("192.168.0.1", '.', 4); assertThat(result).hasSize(4).containsSequence("192", "168", "0", "1"); result = MoreStringUtil.split("192.168..1", '.', 4); assertThat(result).hasSize(3).containsSequence("192", "168", "1"); result = MoreStringUtil.split("192.168.0.", '.', 4); assertThat(result).hasSize(3).containsSequence("192", "168", "0"); assertThat(MoreStringUtil.split(null, '.', 4)).isNull(); assertThat(MoreStringUtil.split("", '.', 4)).hasSize(0); Splitter splitter =MoreStringUtil.charsSplitter("/\\").omitEmptyStrings(); result = splitter.splitToList("/a/b/c"); assertThat(result).hasSize(3).containsSequence("a", "b", "c"); result = splitter.splitToList("\\a\\b\\c"); assertThat(result).hasSize(3).containsSequence( "a", "b", "c"); }
public static Set<String> parseClientTags(String clientTagsString) { Splitter splitter = Splitter.on(',').trimResults().omitEmptyStrings(); return ImmutableSet.copyOf(splitter.split(nullToEmpty(clientTagsString))); }
public static List<String> decodeScmAccounts(@Nullable String dbValue) { if (dbValue == null) { return new ArrayList<>(); } else { return Lists.newArrayList(Splitter.on(SCM_ACCOUNTS_SEPARATOR).omitEmptyStrings().split(dbValue)); } }
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(); }
/** * Reverse of Tag.toString(). Parses a string of the form "key:value" into a {@link Tag}. * * <p> * If there are multiple ":" in the input string, the key will be the substring up to the first ":", and the * value will be the substring after the first ":". * </p> * * @param tagKeyValue String of the form "key:value". * @return {@link org.apache.gobblin.metrics.Tag} parsed from input. */ public static Tag<String> fromString(String tagKeyValue) { List<String> splitKeyValue = Splitter.on(KEY_VALUE_SEPARATOR).limit(2).omitEmptyStrings().splitToList(tagKeyValue); if(splitKeyValue.size() == 2) { return new Tag<>(splitKeyValue.get(0), splitKeyValue.get(1)); } else { return null; } }
public void testFixedLengthSplitEmptyStringWithOmitEmptyStrings() { assertThat(Splitter.fixedLength(3).omitEmptyStrings().split("")).isEmpty(); }
public static ImmutableSet<HostAddress> parseNodes(String nodes) { Splitter splitter = Splitter.on(',').omitEmptyStrings().trimResults(); return ImmutableSet.copyOf(transform(splitter.split(nodes), RedisConnectorConfig::toHostAddress)); }
private static JsonNode locateNode(JsonNode tree, DecoderColumnHandle columnHandle) { String mapping = columnHandle.getMapping(); checkState(mapping != null, "No mapping for %s", columnHandle.getName()); JsonNode currentNode = tree; for (String pathElement : Splitter.on('/').omitEmptyStrings().split(mapping)) { if (!currentNode.has(pathElement)) { return MissingNode.getInstance(); } currentNode = currentNode.path(pathElement); } return currentNode; } }
public void testLimitExtraSeparatorsTrim1() { String text = ",,a,, , b ,, c,d "; Iterable<String> items = COMMA_SPLITTER.limit(1).omitEmptyStrings().trimResults().split(text); assertThat(items).containsExactly("a,, , b ,, c,d").inOrder(); }
public void testLimitExtraSeparatorsOmitEmpty() { String text = "a,,,b,,c,d"; Iterable<String> items = COMMA_SPLITTER.limit(2).omitEmptyStrings().split(text); assertThat(items).containsExactly("a", "b,,c,d").inOrder(); }
private Set<String> parseClientTags(HttpServletRequest servletRequest) { Splitter splitter = Splitter.on(',').trimResults().omitEmptyStrings(); return ImmutableSet.copyOf(splitter.split(nullToEmpty(servletRequest.getHeader(PRESTO_CLIENT_TAGS)))); }
public void testCharacterSplitOnOnlyDelimitersOmitEmptyStrings() { Iterable<String> empty = Splitter.on('.').omitEmptyStrings().split("..."); assertThat(empty).isEmpty(); }
public void testLimitExtraSeparatorsOmitEmpty3() { String text = "a,,,b,,c,d"; Iterable<String> items = COMMA_SPLITTER.limit(3).omitEmptyStrings().split(text); assertThat(items).containsExactly("a", "b", "c,d").inOrder(); }