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

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

Introduction

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

Prototype

Set<K> keySet();

Source Link

Document

Returns a view collection of all distinct keys contained in this multimap.

Usage

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;
                }//from   ww w .ja  v  a  2  s .c om
            }
        }
    }
    return false;
}

From source file:de.unisb.cs.st.javalanche.mutation.analyze.html.HtmlAnalyzer.java

public HtmlReport analyze(Iterable<Mutation> mutations) {
    HtmlReport report = new HtmlReport();
    Multimap<String, Mutation> map = HashMultimap.create();
    for (Mutation m : mutations) {
        map.put(getClassName(m), m);/*from w w  w . j ava2  s.  c om*/
    }
    Set<String> keySet = map.keySet();
    for (String key : keySet) {
        Iterable<String> content = getClassContent(key);
        ClassReport classReport = ClassReportFactory.getClassReport(key, content,
                new ArrayList<Mutation>(map.get(key)));
        report.add(classReport);
    }
    return report;
}

From source file:fr.putnami.pwt.doc.client.page.sample.SamplePage.java

protected void addSources(Multimap<String, String> sources) {
    Panel panelToOpen = null;/*from w ww . j a  v a 2 s  . c om*/
    String sourceToOpen = null;
    for (String panelName : sources.keySet()) {

        List sourceList = new List();
        sourceList.setType(Type.LIST);
        for (String source : sources.get(panelName)) {
            if (sourceToOpen == null) {
                sourceToOpen = source;
            }
            sourceList.add(new SourceItem(source));
        }
        Panel sourcePanel = new Panel();
        if (panelToOpen == null) {
            panelToOpen = sourcePanel;
        }
        sourcePanel.add(new Header(panelName));
        sourcePanel.add(sourceList);
        this.samplePageLayout.sourceAccordion.add(sourcePanel);
    }
    this.requestFile(sourceToOpen);
}

From source file:org.eclipse.xtext.ui.refactoring.impl.EmfResourceReferenceUpdater.java

@Override
protected void createReferenceUpdates(ElementRenameArguments elementRenameArguments,
        Multimap<URI, IReferenceDescription> resource2references, ResourceSet resourceSet,
        IRefactoringUpdateAcceptor updateAcceptor, IProgressMonitor monitor) {
    for (URI referringResourceURI : resource2references.keySet()) {
        try {//from  www . j ava 2s . c  o  m
            if (monitor.isCanceled())
                throw new OperationCanceledException();
            Resource referringResource = resourceSet.getResource(referringResourceURI, false);
            EObject refactoredElement = resourceSet.getEObject(
                    elementRenameArguments.getNewElementURI(elementRenameArguments.getTargetElementURI()),
                    true);
            if (referringResource != refactoredElement.eResource()) {
                if (refactoredElement instanceof EClassifier) {
                    for (IReferenceDescription reference : resource2references.get(referringResourceURI)) {
                        EObject source = referringResource
                                .getEObject(reference.getSourceEObjectUri().fragment());
                        if (source == null) {
                            LOG.error("Couldn't find source element " + reference.getSourceEObjectUri() + " in "
                                    + referringResource.getURI());
                        } else {
                            EObject referringEReference = source.eContainer();
                            if (referringEReference != null && referringEReference instanceof EReference)
                                ((EReference) referringEReference).setEType((EClassifier) refactoredElement);
                        }
                    }
                }
                changeUtil.addSaveAsUpdate(referringResource, updateAcceptor);
            }
        } catch (OperationCanceledException e) {
            throw e;
        } catch (Exception exc) {
            throw new WrappedException(exc);
        }
    }
}

From source file:org.gradle.tooling.internal.consumer.converters.BuildInvocationsConverter.java

private List<ConsumerProvidedTaskSelector> buildRecursively(GradleProject project) {
    Multimap<String, String> aggregatedTasks = ArrayListMultimap.create();

    collectTasks(project, aggregatedTasks);

    List<ConsumerProvidedTaskSelector> selectors = Lists.newArrayList();
    for (String selectorName : aggregatedTasks.keySet()) {
        SortedSet<String> selectorTasks = Sets.newTreeSet(new TaskNameComparator());
        selectorTasks.addAll(aggregatedTasks.get(selectorName));
        selectors.add(new ConsumerProvidedTaskSelector().setName(selectorName).setTaskNames(selectorTasks)
                .setDescription(project.getParent() != null
                        ? String.format("%s:%s task selector", project.getPath(), selectorName)
                        : String.format("%s task selector", selectorName))
                .setDisplayName(String.format("%s in %s and subprojects.", selectorName, project.getName())));
    }//from w  w  w . j  ava 2 s .  com
    return selectors;
}

From source file:fr.putnami.pwt.doc.client.page.sample.SampleView.java

protected void addSources(Multimap<String, String> sources) {
    Panel panelToOpen = null;/*from  w  ww . j ava2  s  .  c om*/
    String sourceToOpen = null;
    for (String panelName : sources.keySet()) {

        List sourceList = new List();
        sourceList.setType(Type.LIST);
        for (String source : sources.get(panelName)) {
            if (sourceToOpen == null) {
                sourceToOpen = source;
            }
            sourceList.add(new SourceItem(source));
        }
        Panel sourcePanel = new Panel();
        if (panelToOpen == null) {
            panelToOpen = sourcePanel;
        }
        sourcePanel.add(new Header(panelName));
        sourcePanel.add(sourceList);
        samplePageLayout.sourceAccordion.add(sourcePanel);
    }
    requestFile(sourceToOpen);
}

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  ww .j ava 2  s  . c om*/

    // 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.github.fsm.StateMachine.java

/**
 * A stateMachine is said to be valid iff it meets the following conditions
 * <ul>//from   w  w  w.j a  va  2 s .c om
 *     <li>It should have a valid start state and a nonempty set of end states. It has to be halting</li>
 *     <li>For all the states defined, make sure there are transitions from each one of 'em except for the end state</li>
 *     <li>Make sure there are no transitions defined from the endstate</li>
 * </ul>
 * @throws InvalidStateException
 */
public void validate() throws InvalidStateException {
    if (Objects.isNull(stateManagementService.getFrom()))
        throw new InvalidStateException("No start state found");
    if (stateManagementService.getEndStates().isEmpty())
        throw new InvalidStateException("No end states found");

    Set<State> allStates = stateManagementService.getReferenceStates();
    Multimap<State, Transition> map = transitionService.getTransitionDetails();
    map.keySet().stream().forEach(state -> {
        allStates.add(state);
        map.get(state).stream().forEach(transition -> {
            allStates.add(transition.getFrom());
            allStates.add(transition.getTo());
        });
    });

    for (State state : allStates) {
        Set<Transition> transitions = (Set<Transition>) map.get(state);
        if (isNullOrEmpty(transitions)) {
            if (!stateManagementService.getEndStates().contains(state)) {
                throw new InvalidStateException(
                        "state :" + state + " is not an end state but" + " has no outgoing transitions");
            }
            if (stateManagementService.getEndStates().contains(state)) {
                if (!transitions.isEmpty()) {
                    throw new InvalidStateException("state :" + state + " is an end state"
                            + " and cannot have any out going transition");
                }
            }
        }
    }
}

From source file:com.google.devtools.build.lib.query2.DepsUnboundedVisitor.java

@Override
protected Visit getVisitResult(Iterable<SkyKey> keys) throws InterruptedException {
    if (depsNeedFiltering) {
        // We have to targetify the keys here in order to determine the allowed dependencies.
        Multimap<SkyKey, SkyKey> packageKeyToTargetKeyMap = env.makePackageKeyToTargetKeyMap(keys);
        Set<PackageIdentifier> pkgIdsNeededForTargetification = packageKeyToTargetKeyMap.keySet().stream()
                .map(SkyQueryEnvironment.PACKAGE_SKYKEY_TO_PACKAGE_IDENTIFIER).collect(toImmutableSet());
        packageSemaphore.acquireAll(pkgIdsNeededForTargetification);
        Iterable<Target> deps;
        try {//from www  .jav a 2 s .  co  m
            deps = env.getFwdDeps(env.makeTargetsFromSkyKeys(keys).values());
        } finally {
            packageSemaphore.releaseAll(pkgIdsNeededForTargetification);
        }

        return new Visit(/*keysToUseForResult=*/ keys,
                /*keysToVisit=*/ Iterables.transform(deps, Target::getLabel));
    }

    // We need to explicitly check that all requested TTVs are actually in the graph.
    Map<SkyKey, Iterable<SkyKey>> depMap = env.graph.getDirectDeps(keys);
    checkIfMissingTargets(keys, depMap);
    Iterable<SkyKey> deps = Iterables.filter(Iterables.concat(depMap.values()), IS_TTV);
    return new Visit(keys, deps);
}

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);//from   w w  w.  j  ava2  s  .c o  m

    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;

}