List of usage examples for com.google.common.collect ImmutableTable.Builder put
@Deprecated @Override public final V put(R rowKey, C columnKey, V value)
From source file:net.minecrell.quartz.mappings.loader.Mappings.java
private static <R, C, V> void fillTable(ImmutableTable.Builder<R, C, V> builder, R row, Map<C, V> values) { for (Map.Entry<C, V> entry : values.entrySet()) { builder.put(row, entry.getKey(), entry.getValue()); }/*from www.j a v a 2 s .c o m*/ }
From source file:me.yanaga.guava.stream.MoreCollectors.java
public static <T, R, C, V> Collector<T, ?, ImmutableTable<R, C, V>> toImmutableTable( Function<? super T, ? extends R> rowMapper, Function<? super T, ? extends C> columnMapper, Function<? super T, ? extends V> valueMapper) { return Collector.of(ImmutableTable::builder, new BiConsumer<ImmutableTable.Builder<R, C, V>, T>() { @Override/*from w w w . j a v a 2 s . c o m*/ public void accept(ImmutableTable.Builder<R, C, V> rcvBuilder, T t) { rcvBuilder.put(rowMapper.apply(t), columnMapper.apply(t), valueMapper.apply(t)); } }, new BinaryOperator<ImmutableTable.Builder<R, C, V>>() { @Override public ImmutableTable.Builder<R, C, V> apply(ImmutableTable.Builder<R, C, V> rcvBuilder, ImmutableTable.Builder<R, C, V> rcvBuilder2) { return rcvBuilder.putAll(rcvBuilder2.build()); } }, new Function<ImmutableTable.Builder<R, C, V>, ImmutableTable<R, C, V>>() { @Override public ImmutableTable<R, C, V> apply(ImmutableTable.Builder<R, C, V> rcvBuilder) { return rcvBuilder.build(); } }, UNORDERED, CONCURRENT); }
From source file:me.yanaga.guava.stream.MoreCollectors.java
public static <T, R, C, V> Collector<T, ?, ImmutableTable<R, C, V>> toImmutableSortedTable( Function<? super T, ? extends R> rowMapper, Function<? super T, ? extends C> columnMapper, Function<? super T, ? extends V> valueMapper, Comparator<R> rowComparator, Comparator<C> columnComparator) { return Collector.of(new Supplier<ImmutableTable.Builder<R, C, V>>() { @Override// ww w . ja v a2 s .c om public ImmutableTable.Builder<R, C, V> get() { return ImmutableTable.<R, C, V>builder().orderRowsBy(rowComparator) .orderColumnsBy(columnComparator); } }, new BiConsumer<ImmutableTable.Builder<R, C, V>, T>() { @Override public void accept(ImmutableTable.Builder<R, C, V> rcvBuilder, T t) { rcvBuilder.put(rowMapper.apply(t), columnMapper.apply(t), valueMapper.apply(t)); } }, new BinaryOperator<ImmutableTable.Builder<R, C, V>>() { @Override public ImmutableTable.Builder<R, C, V> apply(ImmutableTable.Builder<R, C, V> rcvBuilder, ImmutableTable.Builder<R, C, V> rcvBuilder2) { return rcvBuilder.putAll(rcvBuilder2.build()); } }, new Function<ImmutableTable.Builder<R, C, V>, ImmutableTable<R, C, V>>() { @Override public ImmutableTable<R, C, V> apply(ImmutableTable.Builder<R, C, V> rcvBuilder) { return rcvBuilder.build(); } }, CONCURRENT); }
From source file:org.sonar.server.settings.ws.Setting.java
private static List<Map<String, String>> buildPropertySetValuesAsMap(String propertyKey, List<PropertyDto> propertySets) { if (propertySets.isEmpty()) { return Collections.emptyList(); }/*from w w w . j av a 2 s. co m*/ ImmutableTable.Builder<String, String, String> tableBuilder = new ImmutableTable.Builder<>(); propertySets.forEach(property -> { List<String> setIdWithFieldKey = DOT_SPLITTER .splitToList(property.getKey().replace(propertyKey + ".", "")); String setId = setIdWithFieldKey.get(0); String fieldKey = setIdWithFieldKey.get(1); tableBuilder.put(setId, fieldKey, property.getValue()); }); ImmutableTable<String, String, String> table = tableBuilder.build(); return table.rowKeySet().stream().map(table::row).collect(Collectors.toList()); }
From source file:org.sonar.server.setting.ws.Setting.java
private static List<Map<String, String>> buildPropertySetValuesAsMap(String propertyKey, List<PropertyDto> propertySets) { if (propertySets.isEmpty()) { return Collections.emptyList(); }/*from w w w.j av a 2 s. c om*/ ImmutableTable.Builder<String, String, String> tableBuilder = new ImmutableTable.Builder<>(); propertySets.forEach(property -> { String keyWithoutSettingKey = property.getKey().replace(propertyKey + ".", ""); List<String> setIdWithFieldKey = DOT_SPLITTER.splitToList(keyWithoutSettingKey); String setId = setIdWithFieldKey.get(0); String fieldKey = keyWithoutSettingKey.replaceFirst(setId + ".", ""); tableBuilder.put(setId, fieldKey, property.getValue()); }); ImmutableTable<String, String, String> table = tableBuilder.build(); return table.rowKeySet().stream().map(table::row).collect(Collectors.toList()); }
From source file:org.apache.beam.runners.fnexecution.control.ProcessBundleDescriptors.java
private static Map<String, Map<String, BagUserStateSpec>> forBagUserStates(ExecutableStage stage, Components components) throws IOException { ImmutableTable.Builder<String, String, BagUserStateSpec> idsToSpec = ImmutableTable.builder(); for (UserStateReference userStateReference : stage.getUserStates()) { FullWindowedValueCoder<KV<?, ?>> coder = (FullWindowedValueCoder) WireCoders .instantiateRunnerWireCoder(userStateReference.collection(), components); idsToSpec.put(userStateReference.transform().getId(), userStateReference.localName(), BagUserStateSpec.of(userStateReference.transform().getId(), userStateReference.localName(), // We use the ByteString coder to save on encoding and decoding the actual key. ByteStringCoder.of(), // Usage of the ByteStringCoder provides a significant simplification for handling // a logical stream of values by not needing to know where the element boundaries // actually are. See StateRequestHandlers.java for further details. ByteStringCoder.of(), coder.getWindowCoder())); }//from www . j av a 2s . c o m return idsToSpec.build().rowMap(); }
From source file:org.opennms.netmgt.integrations.R.RScriptExecutor.java
/** * Convert the CSV string to an immutable table. */// ww w .j av a 2 s .co m protected static ImmutableTable<Long, String, Double> fromCsv(final String csv) throws IOException { ImmutableTable.Builder<Long, String, Double> builder = ImmutableTable.builder(); try (StringReader reader = new StringReader(csv); CSVParser parser = new CSVParser(reader, CSVFormat.RFC4180.withHeader());) { long rowIndex = 0; Map<String, Integer> headerMap = parser.getHeaderMap(); for (CSVRecord record : parser) { for (String key : headerMap.keySet()) { Double value; try { value = Double.valueOf(record.get(key)); } catch (NumberFormatException e) { value = Double.NaN; } builder.put(rowIndex, key, value); } rowIndex++; } } return builder.build(); }
From source file:no.ssb.vtl.script.operations.join.AbstractJoinOperation.java
/** * Create a table that maps the components of the resulting dataset to the component of the underlying * datasets./*w ww . ja v a 2 s. c o m*/ * * <pre> * +------+-----------------+ * | re | Dataset | * | su +-----+-----+-----+ * | lt | ds1 | dsN | ... | * +------+-----+-----+-----+ * | ref | ref | ref | | * +------+-----+-----+ + * | ref | ref | ref | | * +------+-----+-----+ + * | ... | | * +------+-----+-----+-----+ * </pre> * * @param datasets the datasets * @return the component table */ @VisibleForTesting static Table<Component, Dataset, Component> createComponentMapping(Iterable<Dataset> datasets) { Map<String, Component> seen = Maps.newHashMap(); ImmutableTable.Builder<Component, Dataset, Component> table; table = ImmutableTable.builder(); for (Dataset dataset : datasets) { DataStructure structure = dataset.getDataStructure(); for (Map.Entry<String, Component> entry : structure.entrySet()) { Component component; if (entry.getValue().isIdentifier()) component = seen.computeIfAbsent(entry.getKey(), s -> entry.getValue()); else component = entry.getValue(); table.put(component, dataset, entry.getValue()); } } return table.build(); }
From source file:com.google.gerrit.server.index.change.ChangeField.java
public static ReviewerByEmailSet parseReviewerByEmailFieldValues(Iterable<String> values) { ImmutableTable.Builder<ReviewerStateInternal, Address, Timestamp> b = ImmutableTable.builder(); for (String v : values) { int f = v.indexOf(','); if (f < 0) { continue; }//from ww w.jav a2 s . co m int l = v.lastIndexOf(','); if (l == f) { continue; } b.put(ReviewerStateInternal.valueOf(v.substring(0, f)), Address.parse(v.substring(f + 1, l)), new Timestamp(Long.valueOf(v.substring(l + 1, v.length())))); } return ReviewerByEmailSet.fromTable(b.build()); }
From source file:com.google.gerrit.server.index.change.ChangeField.java
public static ReviewerSet parseReviewerFieldValues(Iterable<String> values) { ImmutableTable.Builder<ReviewerStateInternal, Account.Id, Timestamp> b = ImmutableTable.builder(); for (String v : values) { int f = v.indexOf(','); if (f < 0) { continue; }/* w w w . j a va2 s. co m*/ int l = v.lastIndexOf(','); if (l == f) { continue; } b.put(ReviewerStateInternal.valueOf(v.substring(0, f)), Account.Id.parse(v.substring(f + 1, l)), new Timestamp(Long.valueOf(v.substring(l + 1, v.length())))); } return ReviewerSet.fromTable(b.build()); }