List of usage examples for com.google.common.collect Multimap get
Collection<V> get(@Nullable K key);
From source file:org.sonar.server.qualityprofile.ws.InheritanceAction.java
private Long getOverridingRuleCount(Multimap<String, FacetValue> profileStats) { Long result = null;//www . ja v a 2 s . co m if (profileStats.containsKey(RuleIndexDefinition.FIELD_ACTIVE_RULE_INHERITANCE)) { for (FacetValue value : profileStats.get(RuleIndexDefinition.FIELD_ACTIVE_RULE_INHERITANCE)) { if ("OVERRIDES".equals(value.getKey())) { result = value.getValue(); } } } return result; }
From source file:com.google.javascript.jscomp.deps.SortedDependencies.java
private static <T> List<T> topologicalStableSort(List<T> items, Multimap<T, T> deps) { if (items.isEmpty()) { // Priority queue blows up if we give it a size of 0. Since we need // to special case this either way, just bail out. return new ArrayList<>(); }// ww w. j a v a 2 s.co m final Map<T, Integer> originalIndex = new HashMap<>(); for (int i = 0; i < items.size(); i++) { originalIndex.put(items.get(i), i); } PriorityQueue<T> inDegreeZero = new PriorityQueue<>(items.size(), new Comparator<T>() { @Override public int compare(T a, T b) { return originalIndex.get(a).intValue() - originalIndex.get(b).intValue(); } }); List<T> result = new ArrayList<>(); Multiset<T> inDegree = HashMultiset.create(); Multimap<T, T> reverseDeps = ArrayListMultimap.create(); Multimaps.invertFrom(deps, reverseDeps); // First, add all the inputs with in-degree 0. for (T item : items) { Collection<T> itemDeps = deps.get(item); inDegree.add(item, itemDeps.size()); if (itemDeps.isEmpty()) { inDegreeZero.add(item); } } // Then, iterate to a fixed point over the reverse dependency graph. while (!inDegreeZero.isEmpty()) { T item = inDegreeZero.remove(); result.add(item); for (T inWaiting : reverseDeps.get(item)) { inDegree.remove(inWaiting, 1); if (inDegree.count(inWaiting) == 0) { inDegreeZero.add(inWaiting); } } } return result; }
From source file:org.nuxeo.ecm.platform.groups.audit.service.acl.data.AclSummaryExtractor.java
public boolean hasLockInheritanceACE(Multimap<String, Pair<String, Boolean>> acls) throws ClientException { for (String user : acls.keySet()) { for (Pair<String, Boolean> ace : acls.get(user)) { if (SecurityConstants.EVERYONE.equals(user)) { if (filter.acceptsUserOrGroup(user)) { if (SecurityConstants.EVERYTHING.equals(ace.a) && !ace.b) return true; }// ww w . j a va2 s . c om } } } return false; }
From source file:edu.isi.karma.modeling.research.approach1.RankedSteinerSet.java
private List<Integer> computeCohesion() { if (nodes == null) return null; List<String> patternIds = new ArrayList<String>(); for (Node n : nodes) for (String s : n.getPatternIds()) patternIds.add(s);/* w w w . ja v a 2 s . com*/ Function<String, String> stringEqualiy = new Function<String, String>() { @Override public String apply(final String s) { return s; } }; Multimap<String, String> index = Multimaps.index(patternIds, stringEqualiy); List<Integer> frequencies = new ArrayList<Integer>(); for (String s : index.keySet()) { frequencies.add(index.get(s).size()); } Collections.sort(frequencies); frequencies = Lists.reverse(frequencies); return frequencies; }
From source file:org.summer.dsl.xbase.imports.ConflictResolver.java
public Map<String, JvmDeclaredType> resolveConflicts(TypeUsages usages, NonOverridableTypesProvider nonOverridableTypesProvider, XtextResource resource) { RewritableImportSection importSection = importSectionFactory.parse(resource); Multimap<String, JvmDeclaredType> locallyDefinedTypes = getLocallyDefinedTypes(resource); Map<String, JvmDeclaredType> result = newLinkedHashMap(); Multimap<String, JvmDeclaredType> simpleName2Types = usages.getSimpleName2Types(); for (String simpleName : simpleName2Types.keySet()) { Collection<JvmDeclaredType> types = simpleName2Types.get(simpleName); Collection<JvmDeclaredType> localTypes = locallyDefinedTypes.get(simpleName); if (!localTypes.isEmpty() || isConflictsWithNonOverridableTypes(types, usages, nonOverridableTypesProvider, simpleName)) { // name conflict with local type or non-overridable type // if there are multiple local types with same name, none of them can be imported JvmDeclaredType singleLocalType = localTypes.size() == 1 ? localTypes.iterator().next() : null; for (JvmDeclaredType type : types) { if (type == singleLocalType) result.put(type.getSimpleName(), type); else result.put(type.getQualifiedName('.'), type); }/*from w w w .j a va2 s . co m*/ } else if (isConflictsWithNonOverridableTypes(types, usages, nonOverridableTypesProvider, simpleName)) { for (JvmDeclaredType type : types) result.put(type.getQualifiedName('.'), type); } else { if (types.size() == 1) { result.put(simpleName, types.iterator().next()); } else { JvmDeclaredType bestMatch = findBestMatch(types, usages, importSection); for (JvmDeclaredType type : types) { if (type == bestMatch) result.put(simpleName, type); else result.put(type.getQualifiedName('.'), type); } } } } return result; }
From source file:edu.umn.msi.tropix.labs.requests.impl.RequestHandlerImpl.java
private String getServiceInfo(final RequestInfo requestInfo) { final Multimap<String, String> fields = requestInfo.getFields(); final StringBuilder serviceInfo = new StringBuilder(); if (fields != null) { for (final String key : fields.keySet()) { final String value = Joiner.on(",").join(fields.get(key)).replace("\n", ""); serviceInfo.append(key + ":" + value + "\n"); }/* w ww .ja v a 2 s . c om*/ } return serviceInfo.toString(); }
From source file:edu.uci.ics.sourcerer.tools.java.component.model.cluster.ClusterMatcher.java
public Set<ClusterVersion> getClusterVersions(Collection<FqnVersion> fqns) { Multimap<FqnVersion, ClusterVersion> map = fqnVersionsToClusterVersions.get(); Multiset<ClusterVersion> set = HashMultiset.create(); for (FqnVersion fqn : fqns) { set.addAll(map.get(fqn)); }//from w w w . ja va 2s. c om Set<ClusterVersion> result = new HashSet<>(); for (ClusterVersion version : set.elementSet()) { if (set.count(version) == version.getFqns().size()) { result.add(version); } } return result; }
From source file:org.ambraproject.wombat.freemarker.ReplaceParametersDirective.java
public void execute(Environment environment, Map params, TemplateModel[] loopVars, TemplateDirectiveBody body) throws TemplateException, IOException { if (!params.keySet().equals(EXPECTED_KEYS)) { throw new TemplateException("ReplaceParametersDirective requires keys: " + EXPECTED_KEYS, environment); }//from w w w. j a va 2 s . co m // I have no idea why freemarker feels the need to invent their own collection classes... SimpleHash parameterMap = (SimpleHash) params.get(PARAMETER_MAP_KEY); Multimap<String, TemplateModel> replacements = TemplateModelUtil .getAsMultimap((TemplateModel) params.get(REPLACEMENTS_KEY)); Multimap<String, String> outputParams = replaceParameters(parameterMap, replacements); List<NameValuePair> paramList = new ArrayList<>(outputParams.size()); for (String key : outputParams.keySet()) { for (String value : outputParams.get(key)) { paramList.add(new BasicNameValuePair(key, value)); } } environment.getOut().write(URLEncodedUtils.format(paramList, "UTF-8")); }
From source file:io.redlink.sdk.impl.analysis.model.Entity.java
/** * Get a literal value for a property and language passed by parameters * * @param property Property URI// w w w. j a v a 2 s .com * @param language Language code * @return */ public String getValue(String property, String language) { Multimap<Optional<String>, String> values = properties.get(property); if (values == null) { return null; } Iterator<String> it = values.get(Optional.of(language)).iterator(); return it.hasNext() ? it.next() : null; }
From source file:org.yakindu.sct.ui.editor.validation.DefaultValidationIssueStore.java
protected boolean changedErrorCount(String semanticElementID, Multimap<String, SCTIssue> oldVisibleIssues, Multimap<String, SCTIssue> newVisibleIssues) { return oldVisibleIssues.get(semanticElementID).size() != newVisibleIssues.get(semanticElementID).size(); }