List of usage examples for com.google.common.collect Multimap keySet
Set<K> keySet();
From source file:org.eclipse.xtext.serializer.sequencer.AssignmentFinder.java
@Override public Set<AbstractElement> findAssignmentsByValue(EObject semanticObj, Multimap<AbstractElement, ISerializationContext> assignments, Object value, INode node) { List<AbstractElement> assignedElements = Lists.newArrayList(assignments.keySet()); EStructuralFeature feature = FeatureFinderUtil.getFeature(assignedElements.iterator().next(), semanticObj.eClass());//ww w .j a v a 2s . c om if (feature instanceof EAttribute) { Class<?> clazz = feature.getEType().getInstanceClass(); if (clazz == Boolean.class || clazz == boolean.class) return findValidBooleanAssignments(semanticObj, assignedElements, value); else return findValidValueAssignments(semanticObj, assignedElements, value); } else if (feature instanceof EReference) { EReference ref = (EReference) feature; if (ref.isContainment()) return findValidAssignmentsForContainmentRef(semanticObj, assignments, (EObject) value); else return findValidAssignmentsForCrossRef(semanticObj, assignedElements, (EObject) value, node); } throw new RuntimeException("unknown feature type"); }
From source file:springfox.documentation.spring.web.plugins.DefaultRequestHandlerCombiner.java
public List<RequestHandler> combine(List<RequestHandler> source) { List<RequestHandler> combined = new ArrayList<RequestHandler>(); Multimap<String, RequestHandler> byPath = LinkedListMultimap.create(); for (RequestHandler each : nullToEmptyList(source)) { byPath.put(patternsCondition(each).toString(), each); }/* w w w . j ava 2 s . c o m*/ for (String key : byPath.keySet()) { combined.addAll(combined(byPath.get(key))); } return byPatternsCondition().sortedCopy(combined); }
From source file:fr.jcgay.maven.plugin.buildplan.display.AbstractTableDescriptor.java
protected static Map<TableColumn, Integer> findMaxSize(Collection<MojoExecution> executions, TableColumn... columns) { Map<TableColumn, Integer> result = new HashMap<TableColumn, Integer>(); Multimap<TableColumn, Integer> count = ArrayListMultimap.create(); for (MojoExecution execution : executions) { for (TableColumn column : columns) { switch (column) { case ARTIFACT_ID: count.put(column, safeLength(execution.getArtifactId())); break; case EXECUTION_ID: count.put(column, safeLength(execution.getExecutionId())); break; case GOAL: count.put(column, safeLength(execution.getGoal())); break; case PHASE: MojoDescriptor mojoDescriptor = execution.getMojoDescriptor(); if (mojoDescriptor != null && mojoDescriptor.getPhase() != null) { count.put(column, safeLength(mojoDescriptor.getPhase())); } else { count.put(column, safeLength(execution.getLifecyclePhase())); }//from ww w . jav a2 s.co m } } } for (TableColumn column : TableColumn.values()) { count.put(column, column.title().length()); } for (TableColumn key : count.keySet()) { result.put(key, Collections.max(count.get(key))); } return result; }
From source file:co.cask.cdap.cli.command.CallServiceCommand.java
/** * Format multiple header values as a comma separated list of the values. * This is a valid formatting: http://www.w3.org/Protocols/rfc2616/rfc2616-sec4.html */// w w w . j a va 2 s . c om private String formatHeaders(HttpResponse response) { Multimap<String, String> headers = response.getHeaders(); ImmutableMap.Builder<String, String> builder = new ImmutableMap.Builder<>(); for (String key : headers.keySet()) { Collection<String> value = headers.get(key); builder.put(key, StringUtils.arrayToString(value.toArray(new String[value.size()]))); } return formatHeader(builder.build()); }
From source file:com.google.devtools.build.lib.analysis.config.ConfigurationResolver.java
/** * This method allows resolution of configurations outside of a skyfunction call. * * <p>If {@link BuildConfiguration.Options#trimConfigurations()} is true, transforms a collection * of <Target, Configuration> pairs by trimming each target's configuration to only the fragments * the target and its transitive dependencies need. * * <p>Else returns configurations that unconditionally include all fragments. * * <p>Preserves the original input order (but merges duplicate nodes that might occur due to * top-level configuration transitions) . Uses original (untrimmed) configurations for targets * that can't be evaluated (e.g. due to loading phase errors). * * <p>This is suitable for feeding {@link ConfiguredTargetValue} keys: as general principle {@link * ConfiguredTarget}s should have exactly as much information in their configurations as they need * to evaluate and no more (e.g. there's no need for Android settings in a C++ configured target). * * @param inputs the original targets and configurations * @param asDeps the inputs repackaged as dependencies * @param eventHandler//from w w w. j a v a2 s . c om * @param skyframeExecutor */ // TODO(bazel-team): error out early for targets that fail - untrimmed configurations should // never make it through analysis (and especially not seed ConfiguredTargetValues) public static LinkedHashSet<TargetAndConfiguration> getConfigurationsFromExecutor( Iterable<TargetAndConfiguration> inputs, Multimap<BuildConfiguration, Dependency> asDeps, ExtendedEventHandler eventHandler, SkyframeExecutor skyframeExecutor) throws InterruptedException { Map<Label, Target> labelsToTargets = new LinkedHashMap<>(); for (TargetAndConfiguration targetAndConfig : inputs) { labelsToTargets.put(targetAndConfig.getLabel(), targetAndConfig.getTarget()); } // Maps <target, originalConfig> pairs to <target, finalConfig> pairs for targets that // could be successfully Skyframe-evaluated. Map<TargetAndConfiguration, TargetAndConfiguration> successfullyEvaluatedTargets = new LinkedHashMap<>(); if (!asDeps.isEmpty()) { for (BuildConfiguration fromConfig : asDeps.keySet()) { Multimap<Dependency, BuildConfiguration> trimmedTargets = skyframeExecutor .getConfigurations(eventHandler, fromConfig.getOptions(), asDeps.get(fromConfig)); for (Map.Entry<Dependency, BuildConfiguration> trimmedTarget : trimmedTargets.entries()) { Target target = labelsToTargets.get(trimmedTarget.getKey().getLabel()); successfullyEvaluatedTargets.put(new TargetAndConfiguration(target, fromConfig), new TargetAndConfiguration(target, trimmedTarget.getValue())); } } } LinkedHashSet<TargetAndConfiguration> result = new LinkedHashSet<>(); for (TargetAndConfiguration originalInput : inputs) { if (successfullyEvaluatedTargets.containsKey(originalInput)) { // The configuration was successfully trimmed. result.add(successfullyEvaluatedTargets.get(originalInput)); } else { // Either the configuration couldn't be determined (e.g. loading phase error) or it's null. result.add(originalInput); } } return result; }
From source file:org.apache.brooklyn.entity.group.zoneaware.BalancingNodePlacementStrategy.java
protected Map<Location, Integer> toMutableLocationSizes(Multimap<Location, Entity> currentMembers, Iterable<? extends Location> otherLocs) { Map<Location, Integer> result = Maps.newLinkedHashMap(); for (Location key : currentMembers.keySet()) { result.put(key, currentMembers.get(key).size()); }// w w w.j ava 2s. c o m for (Location otherLoc : otherLocs) { if (!result.containsKey(otherLoc)) { result.put(otherLoc, 0); } } return result; }
From source file:org.jclouds.ec2.compute.strategy.EC2ListNodesStrategy.java
protected Iterable<? extends RunningInstance> pollRunningInstancesByRegionsAndIds( final Multimap<String, String> idsByRegions) { Iterable<? extends Set<? extends Reservation<? extends RunningInstance>>> reservations = transform( idsByRegions.keySet(), instancesByIdInRegion(idsByRegions)); return concat(concat(reservations)); }
From source file:org.franca.examples.validators.fidl.UniqueStateNameValidator.java
@Override public void validateModel(FModel model, ValidationMessageAcceptor messageAcceptor) { for (FInterface _interface : model.getInterfaces()) { FContract contract = _interface.getContract(); if (contract != null) { Multimap<String, FState> stateNameMap = ArrayListMultimap.create(); for (FState state : contract.getStateGraph().getStates()) { stateNameMap.put(state.getName(), state); }//from w w w . j a v a 2 s .c o m for (String name : stateNameMap.keySet()) { Collection<FState> states = stateNameMap.get(name); if (states.size() > 1) { for (FState state : states) { messageAcceptor.acceptError("The name of the state is not unique!", state, FrancaPackage.Literals.FMODEL_ELEMENT__NAME, ValidationMessageAcceptor.INSIGNIFICANT_INDEX, null); } } } } } }
From source file:org.sonar.java.checks.MembersDifferOnlyByCapitalizationCheck.java
private void checkForIssue(Symbol symbol, IdentifierTree reportTree, Multimap<String, Symbol> membersByName) { String name = symbol.name();/*from ww w.ja v a 2 s. c o m*/ for (String knownMemberName : membersByName.keySet()) { if (name.equalsIgnoreCase(knownMemberName)) { Optional<Symbol> conflictingMember = membersByName.get(knownMemberName).stream() .filter(knownMemberSymbol -> !symbol.equals(knownMemberSymbol) && isValidIssueLocation(symbol, knownMemberSymbol) && isInvalidMember(symbol, knownMemberSymbol)) .findFirst(); if (conflictingMember.isPresent()) { Symbol conflictingSymbol = conflictingMember.get(); reportIssue(reportTree, "Rename " + getSymbolTypeName(symbol) + " \"" + name + "\" " + "to prevent any misunderstanding/clash with " + getSymbolTypeName(conflictingSymbol) + " \"" + knownMemberName + "\"" + getDefinitionPlace(symbol, conflictingSymbol) + "."); } } } }
From source file:neon.core.GameSaver.java
private Element saveEvents() { Element events = new Element("events"); // alle gewone tasks (voorlopig enkel script tasks) Multimap<String, Action> tasks = queue.getTasks(); for (String key : tasks.keySet()) { for (Action action : tasks.get(key)) { Element event = new Element("task"); event.setAttribute("desc", key); if (action instanceof ScriptAction) { ScriptAction task = (ScriptAction) action; event.setAttribute("script", task.getScript()); }/* www. jav a 2s. co m*/ events.addContent(event); } } // alle timer tasks Multimap<Integer, TaskQueue.RepeatEntry> repeats = queue.getTimerTasks(); for (Integer key : repeats.keySet()) { for (TaskQueue.RepeatEntry entry : repeats.get(key)) { Element event = new Element("timer"); event.setAttribute("tick", key + ":" + entry.getPeriod() + ":" + entry.getStop()); if (entry.getScript() != null) { event.setAttribute("task", "script"); event.setAttribute("script", entry.getScript()); } else if (entry.getTask() instanceof MagicTask) { event.setAttribute("task", "magic"); Spell spell = ((MagicTask) entry.getTask()).getSpell(); event.setAttribute("effect", spell.getEffect().name()); if (spell.getTarget() != null) { event.setAttribute("target", Long.toString(spell.getTarget().getUID())); } if (spell.getCaster() != null) { event.setAttribute("caster", Long.toString(spell.getCaster().getUID())); } if (spell.getScript() != null) { event.setAttribute("script", spell.getScript()); } event.setAttribute("stype", spell.getType().name()); event.setAttribute("mag", Float.toString(spell.getMagnitude())); } events.addContent(event); } } return events; }