List of usage examples for com.google.common.collect Multimap keySet
Set<K> keySet();
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; }