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

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

Introduction

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

Prototype

public static <E extends Comparable<?>> Builder<E> naturalOrder() 

Source Link

Usage

From source file:org.voltcore.utils.COWNavigableSet.java

@Override
public E pollFirst() {
    while (true) {
        ImmutableSortedSet<E> snapshot = m_set.get();
        E first = null;/*from  w  w w . j a  v a  2s.  co m*/
        if (snapshot.size() > 0) {
            first = snapshot.first();
        } else {
            return null;
        }
        ImmutableSortedSet.Builder<E> builder = ImmutableSortedSet.naturalOrder();
        builder.addAll(snapshot.tailSet(first, false));
        if (m_set.compareAndSet(snapshot, builder.build())) {
            return first;
        }
    }
}

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

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

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

@Override
protected Iterable<String> getInputsToCompareToOutput(BuildContext context) {
    ImmutableSortedSet.Builder<String> inputsToConsiderForCachingPurposes = ImmutableSortedSet.naturalOrder();

    addInputsToSortedSet(nativeLibs, inputsToConsiderForCachingPurposes, directoryTraverser);

    return inputsToConsiderForCachingPurposes.build();
}

From source file:com.vmware.thinapp.manualmode.server.Status.java

public Status() {
    // Build an immutable set of ending states
    ImmutableSortedSet.Builder<State> builder = ImmutableSortedSet.naturalOrder();
    for (State state : State.values()) {
        if (isEndingState(state)) {
            builder.add(state);//from w ww .j  a  va  2 s . c om
        }
    }
    endingStates = builder.build();

    // Initial state is State.created
    setCurrentState(State.created);
}

From source file:com.facebook.buck.android.AndroidResourceDescription.java

private ImmutableSortedSet<Path> collectInputFiles(ProjectFilesystem filesystem, Optional<Path> inputDir) {
    if (!inputDir.isPresent()) {
        return ImmutableSortedSet.of();
    }/*w  ww .  ja va  2 s  .  co  m*/
    ImmutableSortedSet.Builder<Path> paths = ImmutableSortedSet.naturalOrder();
    try {
        paths.addAll(filesystem.getFilesUnderPath(inputDir.get()));
    } catch (IOException e) {
        throw new HumanReadableException(e, "Error traversing directory: %s.", inputDir.get());
    }
    return paths.build();
}

From source file:com.github.nmorel.gwtjackson.guava.client.deser.ImmutableSortedSetJsonDeserializer.java

@Override
protected ImmutableSortedSet<T> doDeserialize(JsonReader reader, JsonDeserializationContext ctx,
        JsonDeserializerParameters params) {
    try {/*  w ww  .  j  av  a 2s  .com*/
        currentBuilder = ImmutableSortedSet.naturalOrder();
        buildCollection(reader, ctx, params);
        return currentBuilder.build();
    } finally {
        currentBuilder = null;
    }
}

From source file:cron.Times.java

public NavigableSet<ZonedDateTime> dateTimes() {
    if (seconds.isEmpty())
        seconds.withRange(0, 1);/*  www.  j  av  a  2 s  .  c o m*/
    if (minutes.isEmpty())
        minutes.withRange(0, 1);
    if (hours.isEmpty())
        hours.withRange(0, 1);
    if (months.isEmpty())
        months.withRange(1, 2);
    if (years.isEmpty()) {
        int thisYear = ZonedDateTime.now().getYear();
        years.withRange(thisYear, thisYear + 1);
    }
    ImmutableSortedSet.Builder<ZonedDateTime> builder = ImmutableSortedSet.naturalOrder();
    for (int second : seconds) {
        for (int minute : minutes) {
            for (int hour : hours) {
                for (int month : months) {
                    for (int year : years) {
                        ZonedDateTime base = ZonedDateTime.now().truncatedTo(ChronoUnit.DAYS).withSecond(second)
                                .withMinute(minute).withHour(hour).withMonth(month).withDayOfMonth(1)
                                .withYear(year);
                        if (!daysOfWeek.isEmpty() && !daysOfMonth.isEmpty()) {
                            addDaysOfWeek(builder, base);
                            addDaysOfMonth(builder, base);
                        } else if (!daysOfWeek.isEmpty()) {
                            addDaysOfWeek(builder, base);
                        } else if (!daysOfMonth.isEmpty()) {
                            addDaysOfMonth(builder, base);
                        } else {
                            builder.add(base);
                        }
                    }
                }
            }
        }
    }
    return builder.build();
}

From source file:com.b2international.snowowl.snomed.api.rest.CodeSystemVersionRestRequests.java

public static SortedSet<String> getEffectiveDates(String shortName) {
    Map<?, ?> response = getVersions(shortName).extract().as(Map.class);

    if (!response.containsKey("items")) {
        return ImmutableSortedSet.of();
    } else {//from ww  w  .j  a v a 2 s. c  o m
        ImmutableSortedSet.Builder<String> effectiveDatesBuilder = ImmutableSortedSet.naturalOrder();
        @SuppressWarnings("unchecked")
        List<Map<?, ?>> items = (List<Map<?, ?>>) response.get("items");
        for (Map<?, ?> version : items) {
            String effectiveDate = (String) version.get("effectiveDate");
            effectiveDatesBuilder.add(effectiveDate);
        }

        return effectiveDatesBuilder.build();
    }
}

From source file:com.facebook.buck.android.NdkLibraryDescription.java

@Override
public NdkLibrary createBuildable(BuildRuleParams params, Arg args) {
    final ImmutableSortedSet.Builder<SourcePath> srcs = ImmutableSortedSet.naturalOrder();

    try {/*from   w  ww .  j  a va 2  s .c om*/
        final Path buildRulePath = Paths.get(params.getBuildTarget().getBasePath());
        final Path rootDirectory = params.getPathAbsolutifier().apply(buildRulePath);
        Files.walkFileTree(rootDirectory, EnumSet.of(FileVisitOption.FOLLOW_LINKS),
                /* maxDepth */ Integer.MAX_VALUE, new SimpleFileVisitor<Path>() {
                    @Override
                    public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) throws IOException {
                        if (EXTENSIONS_REGEX.matcher(file.toString()).matches()) {
                            srcs.add(new PathSourcePath(buildRulePath.resolve(rootDirectory.relativize(file))));
                        }

                        return super.visitFile(file, attrs);
                    }
                });
    } catch (IOException e) {
        throw new RuntimeException(e);
    }

    return new NdkLibrary(params.getBuildTarget(), srcs.build(), args.flags.get(), args.isAsset.or(false),
            ndkVersion);
}

From source file:com.facebook.buck.android.AndroidAppModularityGraphEnhancer.java

AndroidAppModularityGraphEnhancementResult createAdditionalBuildables() {

    ImmutableSortedSet.Builder<BuildRule> enhancedDeps = ImmutableSortedSet.naturalOrder();
    enhancedDeps.addAll(originalDeps);/*w w w. j  a  v  a2 s.c om*/

    AndroidPackageableCollector collector = new AndroidPackageableCollector(originalBuildTarget,
            buildTargetsToExcludeFromDex, apkModuleGraph);
    collector.addPackageables(AndroidPackageableCollector.getPackageableRules(originalDeps), ruleResolver);
    AndroidPackageableCollection packageableCollection = collector.build();

    enhancedDeps.addAll(getTargetsAsRules(packageableCollection.getJavaLibrariesToDex()));

    // Add dependencies on all the build rules generating third-party JARs.  This is mainly to
    // correctly capture deps when a prebuilt_jar forwards the output from another build rule.
    enhancedDeps.addAll(ruleFinder.filterBuildRuleInputs(
            packageableCollection.getPathsToThirdPartyJars().get(apkModuleGraph.getRootAPKModule())));

    return AndroidAppModularityGraphEnhancementResult.builder().setPackageableCollection(packageableCollection)
            .setFinalDeps(enhancedDeps.build()).setAPKModuleGraph(apkModuleGraph).build();
}