Example usage for com.google.common.collect ImmutableTable builder

List of usage examples for com.google.common.collect ImmutableTable builder

Introduction

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

Prototype

public static <R, C, V> Builder<R, C, V> builder() 

Source Link

Document

Returns a new builder.

Usage

From source file:cz.cuni.mff.ms.brodecva.botnicek.ide.utils.data.Tables.java

/**
 * Pevede reprezentace tabulky.//w  w  w.  java 2s. c o m
 * 
 * @param tableMap
 *            tabulka ve form dvojitho zobrazen
 * @return tabulka
 */
public static <R, C, V> Table<R, C, V> toImmutableTable(
        final Map<? extends R, ? extends Map<? extends C, ? extends V>> tableMap) {
    Preconditions.checkNotNull(tableMap);

    final Builder<R, C, V> builder = ImmutableTable.builder();

    final Set<? extends Entry<? extends R, ? extends Map<? extends C, ? extends V>>> rowEntries = tableMap
            .entrySet();
    for (final Entry<? extends R, ? extends Map<? extends C, ? extends V>> rowEntry : rowEntries) {
        final R rowKey = rowEntry.getKey();

        final Map<? extends C, ? extends V> row = rowEntry.getValue();
        final Set<? extends Entry<? extends C, ? extends V>> cellEntries = row.entrySet();
        for (final Entry<? extends C, ? extends V> cellEntry : cellEntries) {
            final C columnKey = cellEntry.getKey();
            final V value = cellEntry.getValue();

            builder.put(rowKey, columnKey, value);
        }
    }

    return builder.build();
}

From source file:org.apache.bigtop.datagenerators.samplers.markovmodels.MarkovModelBuilder.java

public MarkovModelBuilder() {
    transitionWeights = ImmutableTable.builder();
    startWeights = ImmutableMap.builder();
}

From source file:com.rackspacecloud.blueflood.cache.SafetyTtlProvider.java

private SafetyTtlProvider() {
    ImmutableTable.Builder<Granularity, RollupType, TimeValue> ttlMapBuilder = new ImmutableTable.Builder<Granularity, RollupType, TimeValue>();

    for (Granularity granularity : Granularity.granularities()) {
        for (RollupType type : RollupType.values()) {
            try {
                ColumnFamily cf = CassandraModel.getColumnFamily(RollupType.classOf(type, granularity),
                        granularity);/*from  w w  w .  ja v  a 2s .  co  m*/

                if (cf instanceof CassandraModel.MetricColumnFamily) {
                    CassandraModel.MetricColumnFamily metricCF = (CassandraModel.MetricColumnFamily) cf;
                    TimeValue ttl = new TimeValue(metricCF.getDefaultTTL().getValue() * 5,
                            metricCF.getDefaultTTL().getUnit());
                    ttlMapBuilder.put(granularity, type, ttl);
                }
            } catch (IllegalArgumentException ex) {
                // pass
            }
        }
    }

    this.SAFETY_TTLS = ttlMapBuilder.build();
}

From source file:org.apache.provisionr.amazon.core.ImageTable.java

/**
 * Load the list of AMIs from a resource file (csv format)
 * <p/>/*w  w  w  .j av  a2 s  .c  om*/
 * Note: the parser is doing only split by comma. There is no
 * support for escaping line components
 *
 * @param resource path to resource
 * @return an instance of {@see ImageTable}
 * @throws IOException
 */
public static ImageTable fromCsvResource(String resource) throws IOException {
    checkNotNull(resource, "resource is null");

    List<String> lines = Resources.readLines(Resources.getResource(ImageTable.class, resource), Charsets.UTF_8);
    checkArgument(!lines.isEmpty(), "the resource is an empty file");

    final ImmutableTable.Builder<String, String, String> table = ImmutableTable.builder();
    final Iterable<String> headers = extractHeaders(lines);

    int index = 0;
    for (String line : Iterables.skip(lines, 1)) {
        final Iterable<Table.Cell<String, String, String>> cells = combineHeadersWithLinePartsAsTableCells(
                index, headers, COMMA.split(line));
        for (Table.Cell<String, String, String> cell : cells) {
            table.put(cell);
        }
        index++;
    }

    return new ImageTable(table.build());
}

From source file:foo.domaintest.config.ConfigModule.java

@Provides
@Singleton//from   www. j  av  a2s  .com
@EasterEggs
@SuppressWarnings("unchecked")
Table<String, String, String> provideEasterEggs() {
    ImmutableTable.Builder<String, String, String> table = new ImmutableTable.Builder<>();
    for (Map<String, String> egg : ((List<Map<String, String>>) JSONValue
            .parse(Optional.fromNullable(System.getProperty("foo.domaintest.eastereggs")).or("[]")))) {
        table.put(egg.get("key"), egg.get("value"), egg.get("url"));
    }
    return table.build();
}

From source file:com.proofpoint.discovery.ConfigStore.java

@Inject
public ConfigStore(final ConfigStoreConfig config) {
    Multimap<TypeAndPool, Service> multimap = HashMultimap.create();
    for (Entry<String, StaticAnnouncementConfig> entry : config.getAnnouncements().entrySet()) {
        Service service = new Service(Id.valueOf(UUID.nameUUIDFromBytes(entry.getKey().getBytes(UTF_8))), null,
                entry.getValue().getType(), entry.getValue().getPool(), "/somewhere/" + entry.getKey(),
                entry.getValue().getProperties());
        multimap.put(//from ww  w.  j a  v  a2 s .  c o  m
                new AutoValue_ConfigStore_TypeAndPool(entry.getValue().getType(), entry.getValue().getPool()),
                service);
    }

    ImmutableTable.Builder<String, String, Collection<Service>> builder = ImmutableTable.builder();
    for (Entry<TypeAndPool, Collection<Service>> entry : multimap.asMap().entrySet()) {
        builder.put(entry.getKey().getType(), entry.getKey().getPool(), ImmutableList.copyOf(entry.getValue()));
    }

    table = builder.build();
}

From source file:com.opengamma.strata.report.trade.TradeReportRunner.java

@Override
public TradeReport runReport(ReportCalculationResults results, TradeReportTemplate reportTemplate) {
    ImmutableTable.Builder<Integer, Integer, Result<?>> resultTable = ImmutableTable.builder();

    for (int reportColumnIdx = 0; reportColumnIdx < reportTemplate.getColumns().size(); reportColumnIdx++) {
        TradeReportColumn reportColumn = reportTemplate.getColumns().get(reportColumnIdx);
        List<Result<?>> columnResults;

        if (reportColumn.getValue().isPresent()) {
            columnResults = ValuePathEvaluator.evaluate(reportColumn.getValue().get(), results);
        } else {/*from   ww  w  . j a va 2 s.c o m*/
            columnResults = IntStream.range(0, results.getTargets().size())
                    .mapToObj(
                            i -> Result.failure(FailureReason.INVALID, "No value specified in report template"))
                    .collect(toImmutableList());
        }
        int rowCount = results.getCalculationResults().getRowCount();

        for (int rowIdx = 0; rowIdx < rowCount; rowIdx++) {
            resultTable.put(rowIdx, reportColumnIdx, columnResults.get(rowIdx));
        }
    }

    return TradeReport.builder().runInstant(Instant.now()).valuationDate(results.getValuationDate())
            .columns(reportTemplate.getColumns()).data(resultTable.build()).build();
}

From source file:org.jclouds.aws.binders.BindTableToIndexedFormParams.java

@SuppressWarnings("unchecked")
@Override//  www.j a v  a  2  s  . c o  m
public <R extends HttpRequest> R bindToRequest(R request, Object input) {
    if (checkNotNull(input, "input") instanceof Map) {
        Builder<Object, Object, Object> builder = ImmutableTable.builder();
        int index = 1;
        for (Map.Entry<?, ?> entry : ((Map<?, ?>) input).entrySet())
            builder.put(index++, entry.getKey(), entry.getValue());
        input = builder.build();
    }
    checkArgument(checkNotNull(input, "input") instanceof Table, "this binder is only valid for Table");
    Table<?, ?, ?> table = Table.class.cast(input);

    ImmutableMap.Builder<String, String> builder = ImmutableMap.builder();
    int amazonOneBasedIndex = 1; // according to docs, counters must start
                                 // with 1
    for (Cell<?, ?, ?> cell : table.cellSet()) {
        // not null by contract
        builder.put(format(rowPattern, amazonOneBasedIndex), cell.getRowKey().toString());
        builder.put(format(columnPattern, amazonOneBasedIndex), cell.getColumnKey().toString());
        builder.put(format(valuePattern, amazonOneBasedIndex), cell.getValue().toString());

        amazonOneBasedIndex++;
    }
    Multimap<String, String> forms = Multimaps.forMap(builder.build());
    return forms.size() == 0 ? request : (R) request.toBuilder().replaceFormParams(forms).build();
}

From source file:com.google.devtools.build.lib.skyframe.serialization.ImmutableTableCodec.java

@Override
public ImmutableTable<R, C, V> deserialize(DeserializationContext context, CodedInputStream codedIn)
        throws SerializationException, IOException {
    int length = codedIn.readInt32();
    if (length < 0) {
        throw new SerializationException("Expected non-negative length: " + length);
    }/*from   w  w  w. jav  a2 s .  com*/
    ImmutableTable.Builder<R, C, V> builder = ImmutableTable.builder();
    for (int i = 0; i < length; i++) {
        builder.put(/*rowKey=*/ context.deserialize(codedIn), /*columnKey=*/ context.deserialize(codedIn),
                /*value=*/ context.deserialize(codedIn));
    }
    return builder.build();
}

From source file:de.fhg.igd.iva.explorer.main.CompareView.java

public CompareView(List<KnownColormap> colorMaps) {
    setLayout(new GridLayout(1, 0));

    List<ColormapQuality> metrics = getMetrics();

    ImmutableTable.Builder<KnownColormap, ColormapQuality, Double> builder = ImmutableTable.builder();

    for (KnownColormap cm : colorMaps) {
        for (ColormapQuality metric : metrics) {
            builder.put(cm, metric, metric.getQuality(cm));
        }//from   w  ww  . j  ava2  s  .  co m
    }

    Table<KnownColormap, ColormapQuality, Double> infoTable = builder.build();

    add(new CompareViewPanel(infoTable));
    add(new CompareViewPanel(infoTable));
    add(new CompareViewPanel(infoTable));
}