Example usage for com.google.common.collect ImmutableTable.Builder put

List of usage examples for com.google.common.collect ImmutableTable.Builder put

Introduction

In this page you can find the example usage for com.google.common.collect ImmutableTable.Builder put.

Prototype

@Deprecated
@Override
public final V put(R rowKey, C columnKey, V value) 

Source Link

Document

Guaranteed to throw an exception and leave the table unmodified.

Usage

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());
}