Example usage for com.google.common.collect ImmutableSetMultimap get

List of usage examples for com.google.common.collect ImmutableSetMultimap get

Introduction

In this page you can find the example usage for com.google.common.collect ImmutableSetMultimap get.

Prototype

@Override
public ImmutableSet<V> get(@Nullable K key) 

Source Link

Document

Returns an immutable set of the values for the given key.

Usage

From source file:com.facebook.buck.apple.WorkspaceAndProjectGenerator.java

private static void buildWorkspaceSchemeTests(Optional<BuildTarget> mainTarget, TargetGraph projectGraph,
        boolean includeProjectTests, boolean includeDependenciesTests,
        ImmutableSetMultimap<String, Optional<TargetNode<?>>> schemeNameToSrcTargetNode,
        ImmutableSetMultimap<String, TargetNode<AppleTestDescription.Arg>> extraTestNodes,
        ImmutableSetMultimap.Builder<String, TargetNode<AppleTestDescription.Arg>> selectedTestsBuilder,
        ImmutableSetMultimap.Builder<String, TargetNode<?>> buildForTestNodesBuilder) {
    for (String schemeName : schemeNameToSrcTargetNode.keySet()) {
        ImmutableSet<TargetNode<?>> targetNodes = ImmutableSet
                .copyOf(Optional.presentInstances(schemeNameToSrcTargetNode.get(schemeName)));
        ImmutableSet<TargetNode<AppleTestDescription.Arg>> testNodes = getOrderedTestNodes(mainTarget,
                projectGraph, includeProjectTests, includeDependenciesTests, targetNodes,
                extraTestNodes.get(schemeName));
        selectedTestsBuilder.putAll(schemeName, testNodes);
        buildForTestNodesBuilder.putAll(schemeName, TopologicalSort.sort(projectGraph,
                Predicates.in(getTransitiveDepsAndInputs(projectGraph, testNodes, targetNodes))));
    }/*from w  w  w  .  ja va2  s  . com*/
}

From source file:org.apache.sentry.provider.file.Roles.java

public ImmutableSet<String> getRoles(@Nullable String database, String group, Boolean isURI) {
    ImmutableSet.Builder<String> resultBuilder = ImmutableSet.builder();
    String allowURIPerDbFile = System.getProperty(SimplePolicyEngine.ACCESS_ALLOW_URI_PER_DB_POLICYFILE);
    Boolean consultPerDbRolesForURI = isURI && ("true".equalsIgnoreCase(allowURIPerDbFile));

    if (database != null) {
        ImmutableSetMultimap<String, String> dbPolicies = perDatabaseRoles.get(database);
        if (dbPolicies != null && dbPolicies.containsKey(group)) {
            resultBuilder.addAll(dbPolicies.get(group));
        }// w  w w  .  ja  v  a 2s  .c  o  m
    }
    if (consultPerDbRolesForURI) {
        for (String db : perDatabaseRoles.keySet()) {
            ImmutableSetMultimap<String, String> dbPolicies = perDatabaseRoles.get(db);
            if (dbPolicies != null && dbPolicies.containsKey(group)) {
                resultBuilder.addAll(dbPolicies.get(group));
            }
        }
    }

    if (globalRoles.containsKey(group)) {
        resultBuilder.addAll(globalRoles.get(group));
    }
    ImmutableSet<String> result = resultBuilder.build();
    if (LOGGER.isDebugEnabled()) {
        LOGGER.debug("Database {}, Group {}, Result {}", new Object[] { database, group, result });
    }
    return result;
}

From source file:com.brighttag.agathon.service.impl.PerDataCenterSeedService.java

@Override
public ImmutableSet<String> getSeeds(CassandraRing ring) {
    ImmutableSet.Builder<String> seedBuilder = ImmutableSet.builder();
    ImmutableSetMultimap<String, CassandraInstance> dataCenterToInstanceMap = buildDataCenterToInstanceMap(
            ring.getInstances());//from  w ww.j  av  a2 s.co  m

    for (String dc : dataCenterToInstanceMap.keySet()) {
        seedBuilder.addAll(getSeeds(dc, dataCenterToInstanceMap.get(dc)));
    }

    return seedBuilder.build();
}

From source file:uk.ac.ebi.atlas.experimentimport.analyticsindex.differential.MicroArrayDiffAnalyticsIndexerService.java

private ImmutableSetMultimap<String, String> expandOntologyTerms(
        ImmutableSetMultimap<String, String> termIdsByAssayAccession) {

    ImmutableSetMultimap.Builder<String, String> builder = ImmutableSetMultimap.builder();
    for (String assayAccession : termIdsByAssayAccession.keys()) {
        Set<String> expandedOntologyTerms = new HashSet<>();

        expandedOntologyTerms/*from   ww  w . j  a v a 2s  . c om*/
                .addAll(efoParentsLookupService.getAllParents(termIdsByAssayAccession.get(assayAccession)));
        expandedOntologyTerms.addAll(termIdsByAssayAccession.get(assayAccession));

        builder.putAll(assayAccession, expandedOntologyTerms);
    }

    return builder.build();
}

From source file:com.google.caliper.runner.BenchmarkClass.java

void validateParameters(ImmutableSetMultimap<String, String> parameters) throws InvalidCommandException {
    for (String paramName : parameters.keySet()) {
        Parameter parameter = userParameters.get(paramName);
        if (parameter == null) {
            throw new InvalidCommandException("unrecognized parameter: " + paramName);
        }/*from w  ww . ja  va2  s  . c  o  m*/
        try {
            parameter.validate(parameters.get(paramName));
        } catch (InvalidBenchmarkException e) {
            // TODO(kevinb): this is weird.
            throw new InvalidCommandException(e.getMessage());
        }
    }
}

From source file:dk.ilios.spanner.benchmark.ParameterSet.java

/**
 * Create the combined set of Parameters set in code in the benchmark class and any potential overrides.
 * NOTE: Overrides not used currently. Legacy from Spanner where commandline params took precedence.
 *//*  w  ww  .  j  ava 2s. c o m*/
public ImmutableSetMultimap<String, String> fillInDefaultsFor(
        ImmutableSetMultimap<String, String> explicitValues) {
    ImmutableSetMultimap.Builder<String, String> combined = ImmutableSetMultimap.builder();

    // For user parameters, this'll actually be the same as fromClass.keySet(), since any extras
    // given at the command line are treated as errors; for VM parameters this is not the case.
    for (String name : Sets.union(map.keySet(), explicitValues.keySet())) {
        Parameter parameter = map.get(name);
        ImmutableCollection<String> values = explicitValues.containsKey(name) ? explicitValues.get(name)
                : parameter.defaults();

        combined.putAll(name, values);
        if (values.isEmpty()) {
            throw new IllegalArgumentException("ERROR: No default value provided for " + name);
        }
    }
    return combined.orderKeysBy(Ordering.natural()).build();
}

From source file:com.google.caliper.runner.ParameterSet.java

public ImmutableSetMultimap<String, String> fillInDefaultsFor(
        ImmutableSetMultimap<String, String> explicitValues) throws InvalidBenchmarkException {
    ImmutableSetMultimap.Builder<String, String> combined = ImmutableSetMultimap.builder();

    // For user parameters, this'll actually be the same as fromClass.keySet(), since any extras
    // given at the command line are treated as errors; for VM parameters this is not the case.
    for (String name : Sets.union(map.keySet(), explicitValues.keySet())) {
        Parameter parameter = map.get(name);
        ImmutableCollection<String> values = explicitValues.containsKey(name) ? explicitValues.get(name)
                : parameter.defaults();/*from w  w  w  .j  a  v a2 s.  co m*/

        combined.putAll(name, values);
        if (values.isEmpty()) {
            throw new InvalidBenchmarkException("ERROR: No default value provided for " + name);
        }
    }
    return combined.orderKeysBy(Ordering.natural()).build();
}

From source file:com.facebook.buck.cli.MissingSymbolsHandler.java

/**
 * Using missing symbol events from the build and the JavaSymbolFinder class, build a list of
 * missing dependencies for each broken target.
 *///from w w w .jav  a  2s .  c o  m
public ImmutableSetMultimap<BuildTarget, BuildTarget> getNeededDependencies(
        Collection<MissingSymbolEvent> missingSymbolEvents) throws InterruptedException, IOException {
    ImmutableSetMultimap.Builder<BuildTarget, String> targetsMissingSymbolsBuilder = ImmutableSetMultimap
            .builder();
    for (MissingSymbolEvent event : missingSymbolEvents) {
        if (event.getType() != MissingSymbolEvent.SymbolType.Java) {
            throw new UnsupportedOperationException("Only implemented for Java.");
        }
        targetsMissingSymbolsBuilder.put(event.getTarget(), event.getSymbol());
    }
    ImmutableSetMultimap<BuildTarget, String> targetsMissingSymbols = targetsMissingSymbolsBuilder.build();
    ImmutableSetMultimap<String, BuildTarget> symbolProviders = javaSymbolFinder
            .findTargetsForSymbols(ImmutableSet.copyOf(targetsMissingSymbols.values()));

    ImmutableSetMultimap.Builder<BuildTarget, BuildTarget> neededDeps = ImmutableSetMultimap.builder();

    for (BuildTarget target : targetsMissingSymbols.keySet()) {
        for (String symbol : targetsMissingSymbols.get(target)) {
            // TODO(oconnor663): Properly handle symbols that are defined in more than one place.
            // TODO(oconnor663): Properly handle target visibility.
            neededDeps.putAll(target, ImmutableSortedSet.copyOf(symbolProviders.get(symbol)));
        }
    }

    return neededDeps.build();
}

From source file:com.google.caliper.core.BenchmarkClassModel.java

/**
 * Returns a multimap containing the full set of parameter values to use for the benchmark. For
 * parameters on the benchmark that have values in the given user-supplied parameters, the user's
 * specified values are used. For all other parameters, the default values specified in the
 * annotation or implied by the type are used.
 *
 * @throws IllegalArgumentException if a parameter for the benchmark has neither user-specified
 *     values nor default values//w w  w . ja  v a 2 s .  c  o m
 */
public final ImmutableSetMultimap<String, String> fillInDefaultParameterValues(
        ImmutableSetMultimap<String, String> userParameters) {
    ImmutableSetMultimap.Builder<String, String> combined = ImmutableSetMultimap.builder();

    // For user parameters, this'll actually be the same as parameters().keySet(), since any extras
    // given at the command line are treated as errors; for VM parameters this is not the case.
    for (String name : Sets.union(parameters().keySet(), userParameters.keySet())) {
        ImmutableSet<String> values = userParameters.containsKey(name) ? userParameters.get(name)
                : parameters().get(name);
        combined.putAll(name, values);
        checkArgument(!values.isEmpty(), "ERROR: No default value provided for %s", name);
    }
    return combined.orderKeysBy(Ordering.natural()).build();
}

From source file:com.facebook.buck.cli.MissingSymbolsHandler.java

/**
 * Get a list of missing dependencies from {@link #getNeededDependencies} and print it to the
 * console in a list-of-Python-strings way that's easy to copy and paste.
 *///from w w  w  .ja v a  2 s  . c  o  m
private void printNeededDependencies(Collection<MissingSymbolEvent> missingSymbolEvents)
        throws InterruptedException {
    ImmutableSetMultimap<BuildTarget, BuildTarget> neededDependencies;
    try {
        neededDependencies = getNeededDependencies(missingSymbolEvents);
    } catch (IOException e) {
        LOG.warn(e, "Could not find missing deps");
        print("Could not find missing deps because of an IOException: " + e.getMessage());
        return;
    }
    ImmutableSortedSet.Builder<String> samePackageDeps = ImmutableSortedSet.naturalOrder();
    ImmutableSortedSet.Builder<String> otherPackageDeps = ImmutableSortedSet.naturalOrder();
    for (BuildTarget target : neededDependencies.keySet()) {
        print(formatTarget(target) + " is missing deps:");
        Set<BuildTarget> sortedDeps = ImmutableSortedSet.copyOf(neededDependencies.get(target));
        for (BuildTarget neededDep : sortedDeps) {
            if (neededDep.getBaseName().equals(target.getBaseName())) {
                samePackageDeps.add(":" + neededDep.getShortName());
            } else {
                otherPackageDeps.add(neededDep.toString());
            }
        }
    }
    String format = "    '%s',";
    for (String dep : samePackageDeps.build()) {
        print(String.format(format, dep));
    }
    for (String dep : otherPackageDeps.build()) {
        print(String.format(format, dep));
    }
}