List of usage examples for com.google.common.collect ImmutableListMultimap get
@Override
public ImmutableList<V> get(@Nullable K key)
From source file:org.gradle.model.internal.manage.schema.extract.StructStrategy.java
private <R> void ensureNoOverloadedMethods(ModelSchemaExtractionContext<R> extractionContext, final ImmutableListMultimap<String, Method> methodsByName) { ImmutableSet<String> methodNames = methodsByName.keySet(); for (String methodName : methodNames) { ImmutableList<Method> methods = methodsByName.get(methodName); if (methods.size() > 1) { List<Method> deduped = CollectionUtils.dedup(methods, equivalence); if (deduped.size() > 1) { throw invalidMethods(extractionContext, "overloaded methods are not supported", deduped); }/*from w ww. j ava2 s . c om*/ } } }
From source file:com.facebook.buck.core.build.engine.manifest.Manifest.java
/** Adds a new output file to the manifest. */ public void addEntry(FileHashCache fileHashCache, RuleKey key, SourcePathResolver resolver, ImmutableSet<SourcePath> universe, ImmutableSet<SourcePath> inputs) throws IOException { // Construct the input sub-paths that we care about. ImmutableSet<String> inputPaths = RichStream.from(inputs).map(sourcePathToManifestHeaderFunction(resolver)) .toImmutableSet();//from ww w . ja v a 2s.co m // Create a multimap from paths we care about to SourcePaths that maps to them. ImmutableListMultimap<String, SourcePath> sortedUniverse = index(universe, sourcePathToManifestHeaderFunction(resolver), inputPaths::contains); // Record the Entry. int index = 0; int[] hashIndices = new int[inputs.size()]; for (String relativePath : inputPaths) { ImmutableList<SourcePath> paths = sortedUniverse.get(relativePath); Preconditions.checkState(!paths.isEmpty()); hashIndices[index++] = addHash(relativePath, hashSourcePathGroup(fileHashCache, resolver, paths)); } entries.add(new Pair<>(key, hashIndices)); }
From source file:com.google.auto.factory.processor.FactoryDescriptorGenerator.java
FactoryMethodDescriptor generateDescriptorForConstructor(final AutoFactoryDeclaration declaration, ExecutableElement constructor) { checkNotNull(constructor);/*www . ja v a 2s.c o m*/ checkArgument(constructor.getKind() == ElementKind.CONSTRUCTOR); Element classElement = constructor.getEnclosingElement(); Name returnType = classElement.accept(new ElementKindVisitor6<Name, Void>() { @Override protected Name defaultAction(Element e, Void p) { throw new AssertionError(); } @Override public Name visitTypeAsClass(TypeElement e, Void p) { if (!e.getTypeParameters().isEmpty()) { messager.printMessage(ERROR, "AutoFactory does not support generic types", e); } return e.getQualifiedName(); } }, null); ImmutableListMultimap<Boolean, ? extends VariableElement> parameterMap = Multimaps .index(constructor.getParameters(), Functions.forPredicate(new Predicate<VariableElement>() { @Override public boolean apply(VariableElement parameter) { return parameter.getAnnotation(Provided.class) != null; } })); ImmutableSet<Parameter> providedParameters = Parameter.forParameterList(parameterMap.get(true)); ImmutableSet<Parameter> passedParameters = Parameter.forParameterList(parameterMap.get(false)); return new FactoryMethodDescriptor.Builder(declaration) .factoryName(declaration.getFactoryName(elements.getPackageOf(constructor).getQualifiedName(), classElement.getSimpleName())) .name("create").returnType(returnType.toString()) .publicMethod(constructor.getEnclosingElement().getModifiers().contains(PUBLIC)) .providedParameters(providedParameters).passedParameters(passedParameters) .creationParameters(Parameter.forParameterList(constructor.getParameters())).build(); }
From source file:com.github.rinde.gpem17.eval.VanLonHolvoetResultWriter.java
void writeBidComputationTimeMeasurements(SimulationResult result) { if (!(result.getResultObject() instanceof SimResult)) { return;//w ww .ja v a 2 s .com } final SimResult info = (SimResult) result.getResultObject(); if (!info.getAuctionEvents().isEmpty() && !info.getTimeMeasurements().isEmpty()) { final SimArgs simArgs = result.getSimArgs(); final Scenario scenario = simArgs.getScenario(); final String id = Joiner.on("-").join(simArgs.getMasConfig().getName(), scenario.getProblemClass().getId(), scenario.getProblemInstanceId(), simArgs.getRandomSeed(), simArgs.getRepetition()); File statsDir = new File(experimentDirectory, "computation-time-stats"); statsDir.mkdirs(); final File auctionsFile = new File(statsDir, id + "-auctions.csv"); final File compFile = new File(statsDir, id + "-bid-computations.csv"); StringBuilder auctionContents = new StringBuilder(); auctionContents.append("auction_start,auction_end,num_bids").append(System.lineSeparator()); for (AuctionEvent e : info.getAuctionEvents()) { Joiner.on(",").appendTo(auctionContents, e.getAuctionStartTime(), e.getTime(), e.getNumBids()); auctionContents.append(System.lineSeparator()); } ImmutableListMultimap<Bidder<?>, SolverTimeMeasurement> measurements = info.getTimeMeasurements(); StringBuilder compContents = new StringBuilder(); compContents.append("bidder_id,comp_start_sim_time,route_length,duration_ns") .append(System.lineSeparator()); int bidderId = 0; for (Bidder<?> bidder : measurements.keySet()) { List<SolverTimeMeasurement> ms = measurements.get(bidder); for (SolverTimeMeasurement m : ms) { // int available = m.input().getAvailableParcels().size(); // int total = GlobalStateObjects.allParcels(m.input()).size(); // int pickedUp = total - available; // (available * 2) + pickedUp; int routeLength = m.input().getVehicles().get(0).getRoute().get().size(); Joiner.on(",").appendTo(compContents, bidderId, m.input().getTime(), routeLength, m.durationNs()); compContents.append(System.lineSeparator()); } bidderId++; } try { Files.write(auctionContents, auctionsFile, Charsets.UTF_8); Files.write(compContents, compFile, Charsets.UTF_8); } catch (IOException e1) { throw new IllegalStateException(e1); } } }
From source file:org.mskcc.shenkers.control.track.gene.GTFGeneModelProvider.java
@Override public Iterable<GeneModel> query(String chr, int start, int end) { CloseableTribbleIterator<GTFContext> query = null; try {/*w w w . j a va2 s . c om*/ query = features.query(chr, start, end); Stream<GTFContext> filter = StreamSupport .stream(Spliterators.spliteratorUnknownSize(query, Spliterator.CONCURRENT), true) .filter(c -> c.getTranscriptId() != null); ImmutableListMultimap<String, GTFContext> transcript_id_multimap = Multimaps.index(filter.iterator(), GTFContext::getTranscriptId); Stream<GeneModel> map = transcript_id_multimap.keySet().stream().map(key -> { System.out.println(key); ImmutableListMultimap<String, GTFContext> transcript_features = Multimaps .index(transcript_id_multimap.get(key), GTFContext::getFeature); Map<String, RangeSet<Integer>> collect = transcript_features.keySet().stream() .collect(Collectors.toMap(s -> s, feature -> { return transcript_features.get(feature).stream() .map(c -> Range.closed(c.getStart(), c.getEnd())) .collect(new RangeSetCollector()); })); GeneModel model = new GeneModel(collect.get("transcript").span(), Optional.ofNullable(collect.get("exon")), Optional.ofNullable(collect.get("CDS")).map(c -> c.span())); return model; }); return map::iterator; } catch (IOException ex) { logger.error("exception reading gene models ", ex); throw new RuntimeException(ex); } finally { query.close(); } }
From source file:org.apache.james.mailbox.cassandra.mail.CassandraMessageDAO.java
private Stream<Pair<MessageWithoutAttachment, Stream<MessageAttachmentRepresentation>>> toMessagesWithAttachmentRepresentation( List<ComposedMessageIdWithMetaData> messageIds, FetchType fetchType, ResultSet resultSet) { ImmutableListMultimap<MessageId, Row> messagesById = CassandraUtils.convertToStream(resultSet).collect( Guavate.toImmutableListMultimap(row -> messageIdFactory.of(row.getUUID(MESSAGE_ID)), row -> row)); return messageIds.stream() .filter(composedId -> !messagesById.get(composedId.getComposedMessageId().getMessageId()).isEmpty()) .map(composedId -> message( messagesById.get(composedId.getComposedMessageId().getMessageId()).get(0), composedId, fetchType));/* w ww . ja v a 2s. co m*/ }
From source file:com.google.gerrit.pgm.RebuildNoteDb.java
private boolean rebuildProject(ReviewDb db, ImmutableListMultimap<Project.NameKey, Change.Id> allChanges, Project.NameKey project, Repository allUsersRepo) throws IOException, OrmException { checkArgument(allChanges.containsKey(project)); boolean ok = true; ProgressMonitor pm = new TextProgressMonitor( new PrintWriter(new BufferedWriter(new OutputStreamWriter(System.out, UTF_8)))); pm.beginTask(FormatUtil.elide(project.get(), 50), allChanges.get(project).size()); try (NoteDbUpdateManager manager = updateManagerFactory.create(project); ObjectInserter allUsersInserter = allUsersRepo.newObjectInserter(); ObjectReader reader = allUsersInserter.newReader(); RevWalk allUsersRw = new RevWalk(reader)) { manager.setAllUsersRepo(allUsersRepo, allUsersRw, allUsersInserter, new ChainedReceiveCommands(allUsersRepo)); for (Change.Id changeId : allChanges.get(project)) { try { rebuilder.buildUpdates(manager, bundleReader.fromReviewDb(db, changeId)); } catch (NoPatchSetsException e) { log.warn(e.getMessage()); } catch (Throwable t) { log.error("Failed to rebuild change " + changeId, t); ok = false;//from w ww . j ava 2 s . co m } pm.update(1); } manager.execute(); } finally { pm.endTask(); } return ok; }
From source file:com.groupon.jenkins.dynamic.RecentBuilds.java
private List<RecentProject> groupByProject(Iterable<DynamicBuild> builds) { final ImmutableListMultimap<String, DynamicBuild> groupedByProject = Multimaps.index(builds, new Function<DynamicBuild, String>() { @Override//from ww w .j av a 2 s.c om public String apply(DynamicBuild build) { return build.getParent().getFullName(); } }); Iterable<RecentProject> groupedRecentProjects = Iterables.transform(groupedByProject.keySet(), new Function<String, RecentProject>() { @Override public RecentProject apply(String projectName) { return new RecentProject(projectName, groupedByProject.get(projectName)); } }); return Lists.newArrayList(groupedRecentProjects); }
From source file:com.github.rinde.jaamas17.VanLonHolvoetResultWriter.java
void writeBidComputationTimeMeasurements(SimulationResult result) { if (!(result.getResultObject() instanceof SimResult)) { return;//from ww w . j a va 2s . c o m } final SimResult info = (SimResult) result.getResultObject(); final TimeMeasurements measurements = info.getTimeMeasurements().get(); if (measurements.getAuctionEvents().isEmpty() || measurements.getBidTimeMeasurements().isEmpty() || measurements.getRpTimeMeasurements().isEmpty()) { return; } final SimArgs simArgs = result.getSimArgs(); final Scenario scenario = simArgs.getScenario(); final String id = Joiner.on("-").join(simArgs.getMasConfig().getName(), scenario.getProblemClass().getId(), scenario.getProblemInstanceId(), simArgs.getRandomSeed(), simArgs.getRepetition()); final File statsDir = new File(experimentDirectory, "computation-time-stats"); statsDir.mkdirs(); if (!measurements.getAuctionEvents().isEmpty()) { final File auctionsFile = new File(statsDir, id + "-auctions.csv"); final StringBuilder auctionContents = new StringBuilder(); auctionContents.append("auction_start,auction_end,num_bids").append(System.lineSeparator()); for (final AuctionEvent e : measurements.getAuctionEvents()) { Joiner.on(",").appendTo(auctionContents, e.getAuctionStartTime(), e.getTime(), e.getNumBids()); auctionContents.append(System.lineSeparator()); } try { Files.write(auctionContents, auctionsFile, Charsets.UTF_8); } catch (final IOException e) { throw new IllegalStateException(e); } } if (!measurements.getBidTimeMeasurements().isEmpty()) { final File compFile = new File(statsDir, id + "-bid-computations.csv"); final ImmutableListMultimap<Bidder<?>, SolverTimeMeasurement> bidMeasurements = measurements .getBidTimeMeasurements(); final StringBuilder compContents = new StringBuilder(); compContents.append("bidder_id,comp_start_sim_time,route_length,duration_ns") .append(System.lineSeparator()); int bidderId = 0; for (final Bidder<?> bidder : bidMeasurements.keySet()) { final List<SolverTimeMeasurement> ms = bidMeasurements.get(bidder); for (final SolverTimeMeasurement m : ms) { final int routeLength = m.input().getVehicles().get(0).getRoute().get().size(); Joiner.on(",").appendTo(compContents, bidderId, m.input().getTime(), routeLength, m.durationNs()); compContents.append(System.lineSeparator()); } bidderId++; } try { Files.write(compContents, compFile, Charsets.UTF_8); } catch (final IOException e1) { throw new IllegalStateException(e1); } } if (!measurements.getRpTimeMeasurements().isEmpty()) { final File rpCompFile = new File(statsDir, id + "-rp-computations.csv"); final ImmutableListMultimap<RoutePlanner, SolverTimeMeasurement> solMeasurements = measurements .getRpTimeMeasurements(); final StringBuilder compContents = new StringBuilder(); compContents.append("route_planner_id,comp_start_sim_time,route_length,duration_ns") .append(System.lineSeparator()); int rpId = 0; for (final RoutePlanner rp : solMeasurements.keySet()) { final List<SolverTimeMeasurement> ms = solMeasurements.get(rp); for (final SolverTimeMeasurement m : ms) { final int routeLength = m.input().getVehicles().get(0).getRoute().get().size(); Joiner.on(",").appendTo(compContents, rpId, m.input().getTime(), routeLength, m.durationNs()); compContents.append(System.lineSeparator()); } rpId++; } try { Files.write(compContents, rpCompFile, Charsets.UTF_8); } catch (final IOException e1) { throw new IllegalStateException(e1); } } // clear measurements to avoid filling memory info.getTimeMeasurements().clear(); }
From source file:com.android.tools.idea.gradle.editor.ui.ReferencedValuesGradleEditorComponent.java
public void bind(@NotNull Project project, @NotNull List<GradleEditorSourceBinding> sourceBindings) { myProjectRef = new WeakReference<Project>(project); ImmutableListMultimap<VirtualFile, GradleEditorSourceBinding> byFile = Multimaps.index(sourceBindings, GROUPER);/*from ww w .j a v a 2s . c om*/ List<VirtualFile> orderedFiles = Lists.newArrayList(byFile.keySet()); ContainerUtil.sort(orderedFiles, FILES_COMPARATOR); for (VirtualFile file : orderedFiles) { ImmutableList<GradleEditorSourceBinding> list = byFile.get(file); List<RangeMarker> rangeMarkers = Lists.newArrayList(); for (GradleEditorSourceBinding descriptor : list) { rangeMarkers.add(descriptor.getRangeMarker()); } if (!rangeMarkers.isEmpty()) { ContainerUtil.sort(rangeMarkers, RANGE_COMPARATOR); String name = getRepresentativeName(project, file); mySourceBindings.put(name, rangeMarkers); myFilesByName.put(name, file); } } }