List of usage examples for com.google.common.collect FluentIterable from
@Deprecated @CheckReturnValue public static <E> FluentIterable<E> from(FluentIterable<E> iterable)
From source file:com.facebook.buck.distributed.BuildTargetsQueue.java
public static BuildTargetsQueue newQueue(BuildRuleResolver resolver, Iterable<BuildTarget> targetsToBuild) { // Build the reverse dependency graph by traversing the action graph Top-Down. Map<String, Set<String>> allReverseDeps = new HashMap<>(); Map<String, Integer> numberOfDependencies = new HashMap<>(); Set<String> visitedTargets = Sets.newHashSet(); Queue<BuildRule> buildRulesToProcess = Lists .newLinkedList(FluentIterable.from(targetsToBuild).transform(x -> { BuildRule rule = resolver.getRule(x); visitedTargets.add(ruleToTarget(rule)); return rule; }));//w w w. j av a 2 s . c o m while (!buildRulesToProcess.isEmpty()) { BuildRule rule = buildRulesToProcess.remove(); String target = ruleToTarget(rule); numberOfDependencies.put(target, rule.getBuildDeps().size()); for (BuildRule dependencyRule : rule.getBuildDeps()) { String dependencyTarget = ruleToTarget(dependencyRule); if (!allReverseDeps.containsKey(dependencyTarget)) { allReverseDeps.put(dependencyTarget, Sets.newHashSet()); } allReverseDeps.get(dependencyTarget).add(target); if (!visitedTargets.contains(dependencyTarget)) { visitedTargets.add(dependencyTarget); buildRulesToProcess.add(dependencyRule); } } } // Do the reference counting and create the EnqueuedTargets. List<EnqueuedTarget> zeroDependencyTargets = new ArrayList<>(); Map<String, EnqueuedTarget> allEnqueuedTargets = new HashMap<>(); for (String target : visitedTargets) { Iterable<String> currentRevDeps = null; if (allReverseDeps.containsKey(target)) { currentRevDeps = allReverseDeps.get(target); } else { currentRevDeps = new ArrayList<>(); } EnqueuedTarget enqueuedTarget = new EnqueuedTarget(target, ImmutableList.copyOf(currentRevDeps), Preconditions.checkNotNull(numberOfDependencies.get(target))); allEnqueuedTargets.put(target, enqueuedTarget); if (enqueuedTarget.areAllDependenciesResolved()) { zeroDependencyTargets.add(enqueuedTarget); } } return new BuildTargetsQueue(zeroDependencyTargets, allEnqueuedTargets); }
From source file:com.greensopinion.finance.services.web.model.PeriodTransactions.java
public PeriodTransactions(String name, List<Transaction> transactions) { this.name = checkNotNull(name); this.transactions = FluentIterable.from(transactions) .transform(new Function<Transaction, TransactionModel>() { @Override//ww w. j a v a 2 s.com public TransactionModel apply(Transaction transaction) { return new TransactionModel(transaction); } }).toList(); }
From source file:org.onosproject.pce.util.LinkServiceAdapter.java
@Override public Iterable<Link> getActiveLinks() { return FluentIterable.from(getLinks()).filter(input -> input.state() == State.ACTIVE); }
From source file:springfox.documentation.spi.schema.AlternateTypeProvider.java
public ResolvedType alternateFor(ResolvedType type) { Optional<AlternateTypeRule> matchingRule = FluentIterable.from(rules).firstMatch(thatAppliesTo(type)); if (matchingRule.isPresent()) { return matchingRule.get().alternateFor(type); }// w w w. j a v a 2s.c om return type; }
From source file:br.com.caelum.vraptor.interceptor.PackagesAcceptor.java
@Override public boolean validate(ControllerMethod method, ControllerInstance instance) { String controllerPackageName = instance.getBeanClass().getPackageName(); return FluentIterable.from(allowedPackages).anyMatch(currentOrSubpackage(controllerPackageName)); }
From source file:models.UserMembership.java
/** * Looks up the organizations the user is a part of. * * @param userName the user name// w ww. j a v a2s .com * @return a list of organizations */ public static List<Owner> getOrgsForUser(final String userName) { final List<UserMembership> memberships = FINDER.fetch("org").where().eq("user_name", userName).findList(); return FluentIterable.from(memberships).transform(new Function<UserMembership, Owner>() { @Nullable @Override public Owner apply(final UserMembership userMembership) { return userMembership.getOrg(); } }).toList(); }
From source file:com.freiheit.fuava.simplebatch.processor.BatchProcessor.java
@Override public Iterable<Result<Input, BatchProcessorResult<P>>> process( final Iterable<Result<Input, Output>> iterable) { final List<Result<Input, Output>> success = FluentIterable.from(iterable).filter(Result::isSuccess) .toList();//from w w w . j a v a 2 s .c o m final List<Result<Input, Output>> fails = FluentIterable.from(iterable).filter(Result::isFailed).toList(); final ImmutableList.Builder<Result<Input, BatchProcessorResult<P>>> resultBuilder = ImmutableList.builder(); if (!success.isEmpty()) { final List<Input> successInputs = FluentIterable.from(success).transform(Result::getInput).toList(); final List<Output> successOutputs = FluentIterable.from(success).transform(Result::getOutput).toList(); final Iterable<Result<List<Input>, P>> batchResults = this.delegee.process( ImmutableList.of(Result.<List<Input>, List<Output>>success(successInputs, successOutputs))); for (final Result<List<Input>, P> r : batchResults) { final List<Input> inputs = r.getInput(); final P batchOutput = r.getOutput(); int row = 0; final int total = inputs.size(); for (final Input input : inputs) { resultBuilder.add(Result.success(input, new BatchProcessorResult<P>(batchOutput, row, total))); row++; } } } for (final Result<Input, Output> fail : fails) { resultBuilder.add(Result.<Input, BatchProcessorResult<P>>builder(fail).failed()); } return resultBuilder.build(); }
From source file:com.b2international.snowowl.datastore.server.snomed.history.SnomedHistoryUtils.java
public static String getLabelForConcept(final Concept concept) { checkArgument(CDOUtils.checkObject(concept)); // TODO this code belongs to the client where lang.refset preference is actually available final LanguageSetting langSetting = ApplicationContext.getServiceForClass(LanguageSetting.class); Optional<Description> preferredTerm = FluentIterable.from(concept.getDescriptions()) .firstMatch(new Predicate<Description>() { @Override/*w ww. ja v a2s. co m*/ public boolean apply(Description input) { return SnomedModelExtensions.isPreferred(input, langSetting.getLanguagePreference().get(0).getLanguageRefSetId()); } }); return preferredTerm.isPresent() ? preferredTerm.get().getTerm() : concept.getFullySpecifiedName(); }
From source file:google.registry.util.SendEmailUtils.java
/** * Sends an email from Nomulus to the specified recipients. Returns true iff sending was * successful.//from www .ja v a 2 s.c om */ public static boolean sendEmail(Iterable<String> addresses, final String subject, String body) { try { Message msg = emailService.createMessage(); msg.setFrom(new InternetAddress(CONFIG.getGoogleAppsSendFromEmailAddress(), CONFIG.getGoogleAppsAdminEmailDisplayName())); List<InternetAddress> emails = FluentIterable.from(addresses) .transform(new Function<String, InternetAddress>() { @Override public InternetAddress apply(String emailAddress) { try { return new InternetAddress(emailAddress); } catch (AddressException e) { logger.severefmt(e, "Could not send email to %s with subject '%s'.", emailAddress, subject); // Returning null excludes this address from the list of recipients on the email. return null; } } }).filter(Predicates.notNull()).toList(); if (emails.isEmpty()) { return false; } msg.addRecipients(Message.RecipientType.TO, toArray(emails, InternetAddress.class)); msg.setSubject(subject); msg.setText(body); emailService.sendMessage(msg); } catch (Throwable t) { logger.severefmt(t, "Could not email to addresses %s with subject '%s'.", Joiner.on(", ").join(addresses), subject); return false; } return true; }
From source file:com.cognifide.aet.runner.conversion.SuiteMergeStrategy.java
/** * Merges current and pattern suite. All comments, version and patterns in current suite are overwritten from pattern suite. * * @param current - current run suite.//ww w. java2 s .c o m * @param pattern - pattern suite, usually the last run. * @return merged suite. */ public static Suite merge(Suite current, Suite pattern) { final ImmutableMap<String, Test> tests = FluentIterable.from(current.getTests()).uniqueIndex(TEST_TO_MAP); if (pattern != null) { current.setVersion(pattern.getVersion() + 1); updateComment(current, pattern); for (Test patternTest : pattern.getTests()) { if (tests.containsKey(patternTest.getName())) { mergeTest(tests.get(patternTest.getName()), patternTest); } } } else { current.setVersion(1L); } return current; }