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

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

Introduction

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

Prototype

Collection<V> get(@Nullable K key);

Source Link

Document

Returns a view collection of the values associated with key in this multimap, if any.

Usage

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