Example usage for com.google.common.collect ImmutableSortedSet builder

List of usage examples for com.google.common.collect ImmutableSortedSet builder

Introduction

In this page you can find the example usage for com.google.common.collect ImmutableSortedSet builder.

Prototype

@Deprecated
    public static <E> ImmutableSortedSet.Builder<E> builder() 

Source Link

Usage

From source file:com.proofpoint.event.collector.validation.ValidUriValidator.java

@Override
public boolean isValid(Iterable<String> value, ConstraintValidatorContext context) {
    ImmutableSortedSet.Builder<String> uriWithInvalidSyntaxBuilder = ImmutableSortedSet.naturalOrder();
    ImmutableSortedSet.Builder<String> uriWithInvalidSchemeBuilder = ImmutableSortedSet.naturalOrder();

    for (String uriString : value) {
        URI uri;/*ww w.j a v  a 2 s  .  c  o  m*/
        try {
            uri = URI.create(uriString);
        } catch (Exception ignored) {
            uriWithInvalidSyntaxBuilder.add(uriString);
            continue;
        }

        if (validSchemes.isEmpty()) {
            continue;
        }

        String uriScheme = uri.getScheme();

        if (uriScheme == null || !validSchemes.contains(uriScheme.toLowerCase())) {
            uriWithInvalidSchemeBuilder.add(uriString);
            continue;
        }
    }

    StringBuilder messageBuilder = new StringBuilder();
    Set<String> uriWithInvalidSyntax = uriWithInvalidSyntaxBuilder.build();
    Set<String> uriWithInvalidScheme = uriWithInvalidSchemeBuilder.build();

    if (uriWithInvalidSyntax.isEmpty() && uriWithInvalidScheme.isEmpty()) {
        return true;
    }

    messageBuilder.append("Invalid URIs: ");
    String prefix = "";
    if (!uriWithInvalidSyntax.isEmpty()) {
        messageBuilder.append(prefix).append("Invalid syntax: ")
                .append(ERROR_JOINER.join(uriWithInvalidSyntax));
        prefix = ERROR_SEPARATOR;
    }
    if (!uriWithInvalidScheme.isEmpty()) {
        messageBuilder.append(prefix).append("Invalid scheme: ")
                .append(ERROR_JOINER.join(uriWithInvalidScheme));
        prefix = ERROR_SEPARATOR;
    }

    context.disableDefaultConstraintViolation();
    context.buildConstraintViolationWithTemplate(messageBuilder.toString()).addConstraintViolation();

    return false;
}

From source file:com.tyler.collectors.GuavaCollectors.java

public static <T extends Comparable<?>> Collector<T, ImmutableSortedSet.Builder<T>, ImmutableSortedSet<T>> toImmutableSortedSet() {

    return Collector.of(ImmutableSortedSet::<T>naturalOrder, ImmutableSortedSet.Builder<T>::add,
            (l, r) -> l.addAll(r.build()), ImmutableSortedSet.Builder<T>::build);
}

From source file:com.facebook.buck.versions.VersionPropagatorBuilder.java

public VersionPropagatorBuilder setDeps(String... deps) {
    ImmutableSortedSet.Builder<BuildTarget> builder = ImmutableSortedSet.naturalOrder();
    for (String dep : deps) {
        builder.add(BuildTargetFactory.newInstance(dep));
    }/*from  w w  w.  j a v  a 2  s. c o  m*/
    return setDeps(builder.build());
}

From source file:com.ibm.common.geojson.BoundingBox.java

protected static BoundingBox calculateBoundingBoxLineStrings(Iterable<LineString> lineStrings) {
    ImmutableSortedSet.Builder<Float> xset = ImmutableSortedSet.naturalOrder();
    ImmutableSortedSet.Builder<Float> yset = ImmutableSortedSet.naturalOrder();
    ImmutableSortedSet.Builder<Float> zset = ImmutableSortedSet.naturalOrder();
    for (LineString ls : lineStrings) {
        for (Position p : ls) {
            xset.add(p.northing());/*from w w  w.j  a  v a2  s. c om*/
            yset.add(p.easting());
            if (p.hasAltitude())
                zset.add(p.altitude());
        }
    }
    return buildBoundingBox(xset.build(), yset.build(), zset.build());
}

From source file:com.facebook.buck.rules.InputRule.java

/**
 * Convert a set of input file paths to InputRules.
 *//*  w w w . j a  v  a2  s  .  c  o  m*/
public static ImmutableSortedSet<InputRule> inputPathsAsInputRules(Iterable<String> paths,
        Function<String, String> pathRelativizer) {
    ImmutableSortedSet.Builder<InputRule> builder = ImmutableSortedSet.naturalOrder();
    for (String path : paths) {
        builder.add(new InputRule(new File(pathRelativizer.apply(path)), path));
    }
    return builder.build();
}

From source file:com.facebook.buck.cxx.CxxCompilationDatabase.java

public static CxxCompilationDatabase createCompilationDatabase(BuildRuleParams params,
        SourcePathResolver pathResolver, Iterable<CxxPreprocessAndCompile> compileAndPreprocessRules) {
    ImmutableSortedSet.Builder<BuildRule> deps = ImmutableSortedSet.naturalOrder();
    ImmutableSortedSet.Builder<CxxPreprocessAndCompile> compileRules = ImmutableSortedSet.naturalOrder();
    for (CxxPreprocessAndCompile compileRule : compileAndPreprocessRules) {
        compileRules.add(compileRule);/*from www .  jav a  2 s .  co m*/
        deps.addAll(compileRule.getDeps());
    }

    return new CxxCompilationDatabase(
            params.copyWithDeps(Suppliers.ofInstance(ImmutableSortedSet.of()),
                    Suppliers.ofInstance(ImmutableSortedSet.of())),
            pathResolver, compileRules.build(), deps.build());
}

From source file:se.sics.caracaldb.utils.TimestampIdFactory.java

@Override
public synchronized ImmutableSortedSet<UUID> newIds(int n) {
    checkUpdateTs();/*  ww  w  . j  a v a2  s. com*/
    ImmutableSortedSet.Builder<UUID> idBuilder = ImmutableSortedSet.naturalOrder();
    for (int i = 0; i < n; i++) {
        idBuilder.add(nextId());
    }
    return idBuilder.build();
}

From source file:com.facebook.buck.apple.Flavors.java

/**
 * Propagate flavors represented by the given {@link FlavorDomain} objects from a parent target to
 * its dependencies.//from w  ww . j  av a  2  s .  co m
 */
public static ImmutableSortedSet<BuildTarget> propagateFlavorDomains(BuildTarget target,
        Iterable<FlavorDomain<?>> domains, Iterable<BuildTarget> deps) {

    Set<Flavor> flavors = new HashSet<>();

    // For each flavor domain, extract the corresponding flavor from the parent target and
    // verify that each dependency hasn't already set this flavor.
    for (FlavorDomain<?> domain : domains) {

        // Now extract all relevant domain flavors from our parent target.
        ImmutableSet<Flavor> flavorSet = Sets.intersection(domain.getFlavors(), target.getFlavors())
                .immutableCopy();

        if (flavorSet.isEmpty()) {
            throw new HumanReadableException("%s: no flavor for \"%s\"", target, domain.getName());
        }
        flavors.addAll(flavorSet);

        // First verify that our deps are not already flavored for our given domains.
        for (BuildTarget dep : deps) {
            if (domain.getFlavor(dep).isPresent()) {
                throw new HumanReadableException("%s: dep %s already has flavor for \"%s\" : %s", target, dep,
                        domain.getName(), flavorSet.toString());
            }
        }
    }

    ImmutableSortedSet.Builder<BuildTarget> flavoredDeps = ImmutableSortedSet.naturalOrder();

    // Now flavor each dependency with the relevant flavors.
    for (BuildTarget dep : deps) {
        flavoredDeps.add(dep.withAppendedFlavors(flavors));
    }

    return flavoredDeps.build();
}

From source file:com.isotrol.impe3.web20.impl.TimeMap.java

private TimeMap(TimeMapConfig config, SchedulerComponent scheduler, WithTimeMapManager<M> manager) {
    this.maps = new MapMaker().makeMap();
    this.manager = checkNotNull(manager);
    ImmutableSortedSet.Builder<Long> ib = ImmutableSortedSet.naturalOrder();
    if (config.isGlobal()) {
        ib.add(Long.MAX_VALUE);// ww w .  j  a v a2  s .  co m
        this.maps.put(Long.MAX_VALUE, manager.createEmptyTimeMap());
        scheduler.scheduleWithFixedDelay(new Task(null), 0L, config.getDelay(), TimeUnit.SECONDS);
    }
    for (Long seconds : config.getIntervals()) {
        ib.add(seconds);
        this.maps.put(seconds, manager.createEmptyTimeMap());
        scheduler.scheduleWithFixedDelay(new Task(seconds), 0L, config.getDelay(), TimeUnit.SECONDS);
    }
    this.intervals = ib.build();
}

From source file:com.facebook.buck.rules.CommandTool.java

@Override
public ImmutableCollection<SourcePath> getInputs() {
    ImmutableSortedSet.Builder<SourcePath> inputs = ImmutableSortedSet.naturalOrder();
    if (baseTool.isPresent()) {
        inputs.addAll(baseTool.get().getInputs());
    }//from w w w .  j  a  v  a2 s  .c o  m
    for (Arg arg : args) {
        inputs.addAll(arg.getInputs());
    }
    inputs.addAll(extraInputs);
    return inputs.build();
}