List of usage examples for com.google.common.collect ImmutableSetMultimap get
@Override
public ImmutableSet<V> get(@Nullable K key)
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)); } }