Example usage for com.google.common.base Predicates in

List of usage examples for com.google.common.base Predicates in

Introduction

In this page you can find the example usage for com.google.common.base Predicates in.

Prototype

public static <T> Predicate<T> in(Collection<? extends T> target) 

Source Link

Document

Returns a predicate that evaluates to true if the object reference being tested is a member of the given collection.

Usage

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;
}