Example usage for com.google.common.collect Sets intersection

List of usage examples for com.google.common.collect Sets intersection

Introduction

In this page you can find the example usage for com.google.common.collect Sets intersection.

Prototype

public static <E> SetView<E> intersection(final Set<E> set1, final Set<?> set2) 

Source Link

Document

Returns an unmodifiable view of the intersection of two sets.

Usage

From source file:com.farhad.ngram.lang.detector.identifier.Similarity.java

public void similarity(String fileName) {

    docProfile.load(fileName);//from   w  w w  .jav a  2s  . c  o m
    docProfile.toVector();

    Map<String, Double> doc = docProfile.vector;

    Set<String> doc_ngrams = doc.keySet();
    Iterator<String> profiles_it = profiles.keySet().iterator();
    while (profiles_it.hasNext()) {
        String lang = profiles_it.next();
        Map<String, Double> lang_profile = profiles.get(lang);

        Set<String> profile_ngrams = lang_profile.keySet();
        Set<String> intersections = Sets.intersection(doc_ngrams, profile_ngrams);

        int length = intersections.size();

        double[] doc_vector = new double[length];
        double[] profile_vector = new double[length];

        for (int i = 0; i < length; i++) {

            String ngram = (String) intersections.toArray()[i];
            profile_vector[i] = lang_profile.get(ngram);
            doc_vector[i] = doc.get(ngram);
        }

        double sim = cosineSimilarity(doc_vector, profile_vector);
        similarities.put(lang, sim);
    }

}

From source file:org.dllearner.algorithms.qtl.operations.lgg.LGGGeneratorSimple.java

@Override
protected Set<Triple<Node, Node, Node>> getRelatedEdges(RDFResourceTree tree1, RDFResourceTree tree2) {
    return Sets.intersection(tree1.getEdges(), tree2.getEdges()).stream().map(e -> Triple.of(e, e, e))
            .collect(Collectors.toSet());
}

From source file:springfox.documentation.builders.ParameterMerger.java

public List<Parameter> merged() {
    Set<String> existingParameterNames = from(destination).transform(toParameterName()).toSet();
    Set<String> newParameterNames = from(source).transform(toParameterName()).toSet();
    List<Parameter> merged = newArrayList();

    SetView<String> asIsParams = difference(existingParameterNames, newParameterNames);
    SetView<String> missingParamNames = difference(newParameterNames, existingParameterNames);
    SetView<String> paramsToMerge = Sets.intersection(newParameterNames, existingParameterNames);

    merged.addAll(asIsParameters(asIsParams, destination));
    merged.addAll(newParameters(missingParamNames, source));
    merged.addAll(mergedParameters(paramsToMerge, destination, source));
    return merged;
}

From source file:com.facebook.presto.byteCode.DynamicClassLoader.java

public Map<String, Class<?>> defineClasses(Map<String, byte[]> newClasses) {
    SetView<String> conflicts = Sets.intersection(pendingClasses.keySet(), newClasses.keySet());
    Preconditions.checkArgument(conflicts.isEmpty(), "The classes %s have already been defined", conflicts);

    pendingClasses.putAll(newClasses);/* w ww .j a v a2s.co m*/
    try {
        Map<String, Class<?>> classes = new HashMap<>();
        for (String className : newClasses.keySet()) {
            try {
                Class<?> clazz = loadClass(className);
                classes.put(className, clazz);
            } catch (ClassNotFoundException e) {
                // this should never happen
                throw Throwables.propagate(e);
            }
        }
        return classes;
    } finally {
        pendingClasses.keySet().removeAll(newClasses.keySet());
    }
}

From source file:com.facebook.buck.model.FlavorDomain.java

public Optional<Flavor> getFlavor(Set<Flavor> flavors) {
    Sets.SetView<Flavor> match = Sets.intersection(translation.keySet(), flavors);
    if (match.size() > 1) {
        throw new FlavorDomainException(
                String.format("multiple \"%s\" flavors: %s", name, Joiner.on(", ").join(match)));
    }//from ww w. j  a v a  2  s. c  o m

    return Optional.ofNullable(Iterables.getFirst(match, null));
}

From source file:org.graylog2.rest.models.messages.responses.DecorationStats.java

@SuppressWarnings("unused")
@JsonProperty(FIELD_CHANGED_FIELDS)/*from  ww w.  j a  v  a2  s  . c om*/
public Map<String, Object> changedFields() {
    return Sets.intersection(originalMessage().keySet(), decoratedMessage().keySet()).stream()
            .filter(key -> !originalMessage().get(key).equals(decoratedMessage().get(key)))
            .collect(Collectors.toMap(Function.identity(), key -> originalMessage().get(key)));
}

From source file:com.github.explainable.sql.table.AggTypeForColumn.java

private AggTypeForColumn(Iterable<? extends Column> aggregateColumns,
        Iterable<? extends Column> aggBottomColumns) {
    this.aggregateColumns = ImmutableSet.copyOf(aggregateColumns);
    this.aggBottomColumns = ImmutableSet.copyOf(aggBottomColumns);
    assert Sets.intersection(this.aggregateColumns, this.aggBottomColumns).isEmpty();
}

From source file:org.caleydo.view.enroute.correlation.SimpleIDClassifier.java

@Override
public SimpleCategory apply(Object id, IDType idType) {
    if (idType.getIDCategory() != myIDType.getIDCategory())
        return null;

    IDMappingManager mappingManager = IDMappingManagerRegistry.get().getIDMappingManager(myIDType);
    Set<Object> ids = mappingManager.getIDAsSet(idType, myIDType, id);
    if (ids == null || ids.isEmpty())
        return null;

    if (!Sets.intersection(ids, class1IDs).isEmpty()) {
        return class1;
    } else if (!Sets.intersection(ids, class2IDs).isEmpty()) {
        return class2;
    }//  w  w w .  ja va 2  s  .co  m
    return null;
}

From source file:piecework.common.SearchQueryBuilder.java

public Query build(Set<String> allowedProcessDefinitionKeys, Sanitizer sanitizer) {
    Query query = new Query();

    Set<String> filteredProcessDefinitionKeys;

    if (searchCriteria.getProcessDefinitionKeys() != null
            && !searchCriteria.getProcessDefinitionKeys().isEmpty())
        filteredProcessDefinitionKeys = Sets.intersection(searchCriteria.getProcessDefinitionKeys(),
                allowedProcessDefinitionKeys);
    else/*  w  w w.  j ava 2s  .co m*/
        filteredProcessDefinitionKeys = allowedProcessDefinitionKeys;

    query.addCriteria(where("processDefinitionKey").in(filteredProcessDefinitionKeys));

    if (StringUtils.isNotEmpty(searchCriteria.getProcessInstanceId()))
        query.addCriteria(where("processInstanceId").is(searchCriteria.getProcessInstanceId()));

    Map<SearchFacet, Object> facetParameters = searchCriteria.getFacetParameters();
    if (facetParameters != null && !facetParameters.isEmpty()) {
        for (Map.Entry<SearchFacet, Object> entry : facetParameters.entrySet()) {
            if (entry.getKey() == null)
                continue;
            if (entry.getValue() == null)
                continue;

            query.addCriteria(entry.getKey().criteria(entry.getValue()));
        }
    }

    if (StringUtils.isNotBlank(searchCriteria.getProcessStatus())) {
        if (!searchCriteria.getProcessStatus().equalsIgnoreCase("all"))
            query.addCriteria(where("processStatus").is(searchCriteria.getProcessStatus()));
    }

    if (StringUtils.isNotEmpty(searchCriteria.getInitiatedBy()))
        query.addCriteria(where("initiatorId").is(searchCriteria.getInitiatedBy()));

    if (!searchCriteria.getKeywords().isEmpty()) {
        List<String> tokens = new ArrayList<String>();
        for (String keyword : searchCriteria.getKeywords()) {
            String resultString = keyword.replaceAll("[^\\p{L}\\p{Nd}]\\-", ",");
            String[] components = resultString.split(",");
            if (components != null && components.length > 0)
                tokens.addAll(Arrays.asList(components));
        }

        int count = 0;
        Criteria criteria = where("keywords");
        List<Pattern> dbObjects = new ArrayList<Pattern>();
        for (String keyword : tokens) {
            dbObjects.add(Pattern.compile(keyword, 0));
            count++;
        }
        if (count > 0)
            query.addCriteria(criteria.all(dbObjects));
    }

    return query;
}

From source file:piecework.authorization.AccessAuthority.java

public boolean hasGroup(Set<String> allowedGroupIds) {
    return Sets.intersection(groupIds, allowedGroupIds).size() >= 1;
}