List of usage examples for com.google.common.base Predicates in
public static <T> Predicate<T> in(Collection<? extends T> target)
From source file:com.google.devtools.build.lib.query2.engine.AllPathsFunction.java
@Override public <T> void eval(QueryEnvironment<T> env, VariableContext<T> context, QueryExpression expression, List<Argument> args, Callback<T> callback) throws QueryException, InterruptedException { Set<T> fromValue = QueryUtil.evalAll(env, context, args.get(0).getExpression()); Set<T> toValue = QueryUtil.evalAll(env, context, args.get(1).getExpression()); // Algorithm: compute "reachableFromX", the forward transitive closure of // the "from" set, then find the intersection of "reachableFromX" with the // reverse transitive closure of the "to" set. The reverse transitive // closure and intersection operations are interleaved for efficiency. // "result" holds the intersection. env.buildTransitiveClosure(expression, fromValue, Integer.MAX_VALUE); Set<T> reachableFromX = env.getTransitiveClosure(fromValue); Predicate<T> reachable = Predicates.in(reachableFromX); Uniquifier<T> uniquifier = env.createUniquifier(); Collection<T> result = uniquifier.unique(intersection(reachableFromX, toValue)); callback.process(result);/*from w w w. j av a 2s.c om*/ Collection<T> worklist = result; while (!worklist.isEmpty()) { Collection<T> reverseDeps = env.getReverseDeps(worklist); worklist = uniquifier.unique(Iterables.filter(reverseDeps, reachable)); callback.process(worklist); } }
From source file:org.spka.cursus.test.AbstractSPKASeries.java
@Override public List<ScoresXMLFile> createScores() throws Exception { Scores seriesScores;//from w ww .ja v a 2 s. c om List<Scores> eventScores = new ArrayList<Scores>(); List<Scores> raceScores = new ArrayList<Scores>(); Series series = seriesDAO.find(SERIES_NAME); seriesScores = scorer.scoreSeries(series, Predicates.in(getSeriesResultsPilots(series))); for (Event event : series.getEvents()) { if (!event.getRaces().isEmpty()) { eventScores.add( scorer.scoreRaces(event.getRaces(), Predicates.in(getEventResultsPilots(series, event)))); for (Race race : event.getRaces()) { raceScores.add(scorer.scoreRaces(Collections.singletonList(race), Predicates.in(getEventResultsPilots(series, event)))); } } } return Arrays.asList(new ScoresXMLFile(seriesScores, eventScores, raceScores)); }
From source file:org.eclipse.sirius.diagram.sequence.ui.tool.internal.edit.validator.InteractionUseMoveValidator.java
/** * {@inheritDoc}/*from www .java 2 s.c om*/ */ @Override protected Collection<ISequenceEvent> getFinalParents() { // Possibility to handle "reparent" and insertion" Collection<ISequenceEvent> finalParents = Sets.newLinkedHashSet(); Range insertionPoint = new Range(finalRange.getLowerBound(), finalRange.getLowerBound()); Collection<Lifeline> coveredLifelines = frame.computeCoveredLifelines(); for (Lifeline lifeline : coveredLifelines) { EventFinder finder = new EventFinder(lifeline); finder.setEventsToIgnore(Predicates.in(Collections.<ISequenceEvent>singletonList(frame))); ISequenceEvent localParent = finder.findMostSpecificEvent(insertionPoint); if (localParent != null) { finalParents.add(localParent); } } return finalParents; // return frame.computeParentEvents(); }
From source file:org.eclipse.sirius.diagram.sequence.ui.tool.internal.edit.validator.CombinedFragmentMoveValidator.java
/** * Overridden to get final parents.//from ww w . ja v a 2s . co m * * {@inheritDoc} */ @Override protected Collection<ISequenceEvent> getFinalParents() { // Possibility to handle "reparent" and insertion" Collection<ISequenceEvent> finalParents = Sets.newLinkedHashSet(); Range insertionPoint = new Range(finalRange.getLowerBound(), finalRange.getLowerBound()); Collection<Lifeline> coveredLifelines = frame.computeCoveredLifelines(); for (Lifeline lifeline : coveredLifelines) { EventFinder finder = new EventFinder(lifeline); finder.setEventsToIgnore(Predicates.in(Collections.<ISequenceEvent>singletonList(frame))); ISequenceEvent localParent = finder.findMostSpecificEvent(insertionPoint); if (localParent != null) { finalParents.add(localParent); } } return finalParents; }
From source file:org.jclouds.cloudstack.predicates.OSCategoryIn.java
@Override public Predicate<Template> apply(final Set<String> acceptableCategories) { final Map<String, String> categories = categoriesSupplier.get(); final Set<String> acceptableOSTypeIds = Maps.filterValues( Maps.transformValues(Maps.uniqueIndex(osTypesSupplier.get(), new Function<OSType, String>() { @Override// www.j a v a 2 s. c om public String apply(OSType input) { return input.getId(); } }), new Function<OSType, String>() { @Override public String apply(OSType input) { return categories.get(input.getOSCategoryId()); } }), Predicates.in(acceptableCategories)).keySet(); return new Predicate<Template>() { @Override public boolean apply(Template input) { return Predicates.in(acceptableOSTypeIds).apply(input.getOSTypeId()); } @Override public String toString() { return "OSCategoryIn(" + acceptableCategories + ")"; } }; }
From source file:org.jclouds.vcloud.director.testng.FormatApiResultsListener.java
private String getApi(ITestResult res) { Optional<String> found = Iterables.tryFind(Arrays.asList(res.getMethod().getGroups()), Predicates.in(apis)); return found.isPresent() ? found.get() : ""; }
From source file:org.apache.druid.query.dimension.ListFilteredDimensionSpec.java
private DimensionSelector filterWhiteList(DimensionSelector selector) { final int selectorCardinality = selector.getValueCardinality(); if (selectorCardinality < 0 || (selector.idLookup() == null && !selector.nameLookupPossibleInAdvance())) { return new PredicateFilteredDimensionSelector(selector, Predicates.in(values)); }/*from w w w.j a va2 s .c om*/ final int maxPossibleFilteredCardinality = values.size(); int count = 0; final Int2IntOpenHashMap forwardMapping = new Int2IntOpenHashMap(maxPossibleFilteredCardinality); forwardMapping.defaultReturnValue(-1); final int[] reverseMapping = new int[maxPossibleFilteredCardinality]; IdLookup idLookup = selector.idLookup(); if (idLookup != null) { for (String value : values) { int i = idLookup.lookupId(value); if (i >= 0) { forwardMapping.put(i, count); reverseMapping[count++] = i; } } } else { for (int i = 0; i < selectorCardinality; i++) { if (values.contains(NullHandling.nullToEmptyIfNeeded(selector.lookupName(i)))) { forwardMapping.put(i, count); reverseMapping[count++] = i; } } } return new ForwardingFilteredDimensionSelector(selector, forwardMapping, reverseMapping); }
From source file:net.automatalib.util.automata.predicates.TransitionPredicates.java
public static <S, I, T> TransitionPredicate<S, I, T> inputIn(Collection<?> inputs) { return inputSatisfying(Predicates.in(inputs)); }
From source file:org.gitools.matrix.filter.MatrixViewValueFilter.java
private static void filter(IMatrixView matrixView, IMatrixViewDimension filterDimension, IMatrixViewDimension otherDimension, List<ValueFilterFunction> criteriaList, boolean allCriteria, boolean allElements, boolean invertCriteria, IProgressMonitor monitor) { Set<String> selection = otherDimension.getSelected(); if (selection.isEmpty()) { selection = Sets.newHashSet(otherDimension); }// w ww . j a v a 2 s.co m Set<String> filterin = new HashSet<>(); IMatrixPosition position = matrixView.newPosition(); int length = filterDimension.size(); monitor.begin("Filtering " + filterDimension.getId().getLabel() + "s", length); for (String filterItem : position.iterate(filterDimension)) { boolean cellsAnd = true; boolean cellsOr = false; for (String otherDimItem : position.iterate(otherDimension.subset(selection))) { boolean critAnd = true; boolean critOr = false; for (ValueFilterFunction criteria : criteriaList) { IMatrixLayer layer = matrixView.getLayers().get(criteria.getLayerId()); double value = MatrixUtils.doubleValue(matrixView.get(layer, position)); boolean critRes = criteria.getComparator().compare(value, criteria.getCutoffValue()); critAnd &= critRes; critOr |= critRes; } boolean critFilterIn = allCriteria ? critAnd : critOr; cellsAnd &= critFilterIn; cellsOr |= critFilterIn; } boolean cellsFilterIn = allElements ? cellsAnd : cellsOr; if (invertCriteria) { cellsFilterIn = !cellsFilterIn; } if (cellsFilterIn) { filterin.add(filterItem); } monitor.worked(1); if (monitor.isCancelled()) { return; } } filterDimension.show(Predicates.in(filterin)); }
From source file:org.apache.jackrabbit.oak.plugins.index.aggregate.AggregationCursor.java
private void fetchNext() { if (aggregates != null && aggregates.hasNext()) { currentPath = aggregates.next(); init = true;/*from ww w. j a v a 2 s . c o m*/ return; } aggregates = null; if (cursor.hasNext()) { currentRow = cursor.next(); if (!currentRow.isVirtualRow()) { String path = currentRow.getPath(); aggregates = Iterators.filter( Iterators.concat(Iterators.singletonIterator(path), aggregator.getParents(rootState, path)), Predicates.not(Predicates.in(seenPaths))); } fetchNext(); return; } closed = true; }