List of usage examples for com.google.common.collect ImmutableSortedSet.Builder add
boolean add(E e);
From source file:eu.eidas.auth.commons.attribute.AttributeRegistry.java
@Nonnull public ImmutableSortedSet<AttributeDefinition<?>> getByFilter(@Nonnull AttributeDefinitionFilter filter) { Preconditions.checkNotNull(filter, "filter"); try {//from ww w . j ava 2 s .c o m ImmutableSortedSet.Builder<AttributeDefinition<?>> builder = new ImmutableSortedSet.Builder<>( Ordering.natural()); for (final SingletonAccessor<ImmutableSortedSet<AttributeDefinition<?>>> accessor : getAccessors()) { ImmutableSortedSet<AttributeDefinition<?>> attributeDefinitions = accessor.get(); if (null != attributeDefinitions) { for (final AttributeDefinition<?> attributeDefinition : attributeDefinitions) { if (filter.accept(attributeDefinition)) { builder.add(attributeDefinition); } } } } return builder.build(); } catch (IOException ioe) { throw new InternalErrorEIDASException(EidasErrorKey.INTERNAL_ERROR.errorCode(), ioe.getMessage(), ioe); } }
From source file:com.chen.mail.ui.NestedFolderTeaserView.java
@Override public void onGetView() { if (mListUpdated) { // Clear out the folder views mNestedFolderContainer.removeAllViews(); // Sort the folders by name // TODO(skennedy) recents? starred? final ImmutableSortedSet.Builder<FolderHolder> folderHoldersBuilder = new ImmutableSortedSet.Builder<FolderHolder>( FolderHolder.NAME_COMPARATOR); for (int i = 0; i < mFolderHolders.size(); i++) { folderHoldersBuilder.add(mFolderHolders.valueAt(i)); }//from w w w .j a v a2s. c o m final ImmutableSortedSet<FolderHolder> folderHolders = folderHoldersBuilder.build(); // Add all folder views to the teaser int added = 0; for (final FolderHolder folderHolder : folderHolders) { mNestedFolderContainer.addView(folderHolder.getItemView()); added++; if (added >= sCollapsedFolderThreshold && mCollapsed) { // We will display the rest when "Show more" is clicked break; } } updateShowMoreView(); mListUpdated = false; } }
From source file:com.facebook.buck.jvm.java.JavaSymbolFinder.java
/** * Find all Java source files that define a given fully-qualified symbol (like "com.example.a.A"). * To do this, open up all the Java files that could define it (see {@link #getCandidatePaths}) * and parse them with our Eclipse-based {@link JavaFileParser}. *///from w ww. j a va 2s. c o m private ImmutableSortedSet<Path> getDefiningPaths(String symbol, Collection<Path> srcRoots) { ImmutableSortedSet.Builder<Path> definingPaths = ImmutableSortedSet.naturalOrder(); // TODO(shs96c): This should use the same javac env as was used for compiling the code. JavaFileParser parser = JavaFileParser.createJavaFileParser(javacOptions); for (Path candidatePath : getCandidatePaths(symbol, srcRoots)) { Optional<String> content = projectFilesystem .readFileIfItExists(projectFilesystem.getPathForRelativeExistingPath(candidatePath)); if (content.isPresent() && parser.getExportedSymbolsFromString(content.get()).contains(symbol)) { definingPaths.add(candidatePath); } } return definingPaths.build(); }
From source file:com.facebook.buck.java.JavaSymbolFinder.java
/** * Find all Java source files that define a given fully-qualified symbol (like "com.example.a.A"). * To do this, open up all the Java files that could define it (see {@link #getCandidatePaths}) * and parse them with our Eclipse-based {@link JavaFileParser}. *///w w w. j a v a 2 s . c o m private ImmutableSortedSet<Path> getDefiningPaths(String symbol, Collection<Path> srcRoots) { ImmutableSortedSet.Builder<Path> definingPaths = ImmutableSortedSet.naturalOrder(); // TODO(simons): This should use the same javac env as was used for compiling the code. JavaFileParser parser = JavaFileParser.createJavaFileParser(javacOptions); for (Path candidatePath : getCandidatePaths(symbol, srcRoots)) { String content = projectFilesystem .readFileIfItExists(projectFilesystem.getPathForRelativeExistingPath(candidatePath)).get(); Set<String> symbols = parser.getExportedSymbolsFromString(content); if (symbols.contains(symbol)) { definingPaths.add(candidatePath); } } return definingPaths.build(); }
From source file:com.facebook.buck.android.AndroidBinaryGraphEnhancer.java
private ImmutableSortedSet<BuildRule> getAdditionalAaptDeps(ImmutableSortedSet<BuildRule> resourceRules) { ImmutableSortedSet.Builder<BuildRule> builder = ImmutableSortedSet.<BuildRule>naturalOrder() .addAll(resourceRules)/*from ww w . j av a 2 s . c o m*/ .addAll(getTargetsAsRules( FluentIterable.from(androidResourceDepsFinder.getAssetOnlyAndroidResources()) .transform(HasBuildTarget.TO_TARGET).toList())) .addAll(getTargetsAsRules( androidResourceDepsFinder.getAndroidTransitiveDependencies().nativeTargetsWithAssets)); if (manifest instanceof BuildRuleSourcePath) { builder.add(((BuildRuleSourcePath) manifest).getRule()); } return builder.build(); }
From source file:com.facebook.buck.thrift.ThriftJavaEnhancer.java
@Override public BuildRule createBuildRule(TargetGraph targetGraph, BuildRuleParams params, BuildRuleResolver resolver, ThriftConstructorArg args, ImmutableMap<String, ThriftSource> sources, ImmutableSortedSet<BuildRule> deps) throws NoSuchBuildTargetException { SourcePathRuleFinder ruleFinder = new SourcePathRuleFinder(resolver); if (params.getBuildTarget().getFlavors().contains(CalculateAbi.FLAVOR)) { BuildTarget libraryTarget = params.getBuildTarget().withoutFlavors(CalculateAbi.FLAVOR); resolver.requireRule(libraryTarget); return CalculateAbi.of(params.getBuildTarget(), ruleFinder, params, new BuildTargetSourcePath(libraryTarget)); }/*ww w . ja va 2 s. c o m*/ // Pack all the generated sources into a single source zip that we'll pass to the // java rule below. ImmutableSortedSet.Builder<BuildRule> sourceZipsBuilder = ImmutableSortedSet.naturalOrder(); UnflavoredBuildTarget unflavoredBuildTarget = params.getBuildTarget().getUnflavoredBuildTarget(); for (ImmutableMap.Entry<String, ThriftSource> ent : sources.entrySet()) { String name = ent.getKey(); BuildRule compilerRule = ent.getValue().getCompileRule(); Path sourceDirectory = ent.getValue().getOutputDir().resolve("gen-java"); BuildTarget sourceZipTarget = getSourceZipBuildTarget(unflavoredBuildTarget, name); Path sourceZip = getSourceZipOutputPath(params.getProjectFilesystem(), unflavoredBuildTarget, name); sourceZipsBuilder.add(new SrcZip(params.copyWithChanges(sourceZipTarget, Suppliers.ofInstance(ImmutableSortedSet.of(compilerRule)), Suppliers.ofInstance(ImmutableSortedSet.of())), sourceZip, sourceDirectory)); } ImmutableSortedSet<BuildRule> sourceZips = sourceZipsBuilder.build(); resolver.addAllToIndex(sourceZips); // Create to main compile rule. BuildRuleParams javaParams = params.copyWithChanges( BuildTargets.createFlavoredBuildTarget(unflavoredBuildTarget, getFlavor()), Suppliers.ofInstance(ImmutableSortedSet.<BuildRule>naturalOrder().addAll(sourceZips).addAll(deps) .addAll(BuildRules.getExportedRules(deps)) .addAll(ruleFinder.filterBuildRuleInputs(templateOptions.getInputs(ruleFinder))).build()), Suppliers.ofInstance(ImmutableSortedSet.of())); BuildTarget abiJarTarget = params.getBuildTarget().withAppendedFlavors(CalculateAbi.FLAVOR); final SourcePathResolver pathResolver = new SourcePathResolver(ruleFinder); return new DefaultJavaLibrary(javaParams, pathResolver, ruleFinder, FluentIterable.from(sourceZips).transform(SourcePaths.getToBuildTargetSourcePath()) .toSortedSet(Ordering.natural()), /* resources */ ImmutableSet.of(), templateOptions.getGeneratedSourceFolderName(), /* proguardConfig */ Optional.empty(), /* postprocessClassesCommands */ ImmutableList.of(), /* exportedDeps */ ImmutableSortedSet.of(), /* providedDeps */ ImmutableSortedSet.of(), /* abiJar */ abiJarTarget, JavaLibraryRules.getAbiInputs(resolver, javaParams.getDeps()), templateOptions.trackClassUsage(), /* additionalClasspathEntries */ ImmutableSet.of(), new JavacToJarStepFactory(templateOptions, JavacOptionsAmender.IDENTITY), /* resourcesRoot */ Optional.empty(), /* manifest file */ Optional.empty(), /* mavenCoords */ Optional.empty(), /* tests */ ImmutableSortedSet.of(), /* classesToRemoveFromJar */ ImmutableSet.of()); }
From source file:com.facebook.buck.java.JavaSymbolFinder.java
/** * Guessing file names from fully-qualified Java symbols is ambiguous, because we don't know ahead * of time exactly what part of the symbol is the package, and what part is class names or static * members. This returns the set of all possible Java files for a given symbol, given different * possibilities for the package name and resolving against all the available source roots. * Returns only those candidates that actually exist. *///from ww w.j a va2s . c o m private ImmutableSortedSet<Path> getCandidatePaths(String symbol, Collection<Path> srcRoots) { ImmutableSortedSet.Builder<Path> candidatePaths = ImmutableSortedSet.naturalOrder(); List<String> symbolParts = Lists.newArrayList(symbol.split("\\.")); for (int symbolIndex = 0; symbolIndex < symbolParts.size(); symbolIndex++) { List<String> pathPartsList = symbolParts.subList(0, symbolIndex); String[] pathParts = pathPartsList.toArray(new String[pathPartsList.size()]); String candidateFileName = symbolParts.get(symbolIndex) + ".java"; for (Path srcRoot : srcRoots) { Path candidatePath = srcRoot.resolve(Paths.get("", pathParts)).resolve(candidateFileName); if (projectFilesystem.exists(candidatePath)) { candidatePaths.add(candidatePath); } } } return candidatePaths.build(); }
From source file:simpleserver.config.DTDEntityResolver.java
private ImmutableSet<Integer> parseGroups(String idString) { String[] segments = idString.split(","); ImmutableSortedSet.Builder<Integer> groups = ImmutableSortedSet.naturalOrder(); for (String segment : segments) { if (segment.matches("^\\s*$")) { continue; }//from w ww . j a v a 2 s. co m try { groups.add(Integer.valueOf(segment)); continue; } catch (NumberFormatException e) { } if (segment.indexOf('+') == segment.length() - 1) { int num = 0; try { num = Integer.valueOf(segment.split("\\+")[0]); } catch (NumberFormatException e) { System.out.println("Unable to parse group: " + segment); continue; } List ids = config.getList("/groups/group/@id"); for (int j = 0; j < ids.size(); j++) { int n = Integer.valueOf(ids.get(j).toString()); if (n >= num) { groups.add(n); } } continue; } String[] range = segment.split("-"); if (range.length != 2) { System.out.println("Unable to parse group: " + segment); continue; } int low; int high; try { low = Integer.valueOf(range[0]); high = Integer.valueOf(range[1]); } catch (NumberFormatException e) { System.out.println("Unable to parse group: " + segment); continue; } if (low > high) { System.out.println("Unable to parse group: " + segment); continue; } for (int k = low; k <= high; ++k) { groups.add(k); } } return groups.build(); }
From source file:com.palantir.atlasdb.table.description.Schema.java
/** * Performs code generation./*from ww w . j a va 2 s . co m*/ * * @param srcDir root source directory where code generation is performed. */ public void renderTables(File srcDir) throws IOException { Preconditions.checkNotNull(name, "schema name not set"); Preconditions.checkNotNull(packageName, "package name not set"); TableRenderer tableRenderer = new TableRenderer(packageName, namespace); for (Entry<String, TableDefinition> entry : tableDefinitions.entrySet()) { String rawTableName = entry.getKey(); TableDefinition table = entry.getValue(); ImmutableSortedSet.Builder<IndexMetadata> indices = ImmutableSortedSet .orderedBy(Ordering.natural().onResultOf(new Function<IndexMetadata, String>() { @Override public String apply(IndexMetadata index) { return index.getIndexName(); } })); if (table.getGenericTableName() != null) { Preconditions.checkState(!indexesByTable.containsKey(rawTableName), "Generic tables cannot have indices"); } else { for (String indexName : indexesByTable.get(rawTableName)) { indices.add(indexDefinitions.get(indexName).toIndexMetadata(indexName)); } } emit(srcDir, tableRenderer.render(rawTableName, table, indices.build()), packageName, tableRenderer.getClassName(rawTableName, table)); } for (Entry<String, TableDefinition> entry : tempTableDefinitions.entrySet()) { String rawTableName = entry.getKey(); TableDefinition table = entry.getValue(); emit(srcDir, tableRenderer.render(rawTableName, table, ImmutableSortedSet.<IndexMetadata>of()), packageName, tableRenderer.getClassName(rawTableName, table)); } for (StreamStoreRenderer renderer : streamStoreRenderers) { emit(srcDir, renderer.renderStreamStore(), renderer.getPackageName(), renderer.getStreamStoreClassName()); emit(srcDir, renderer.renderIndexCleanupTask(), renderer.getPackageName(), renderer.getIndexCleanupTaskClassName()); emit(srcDir, renderer.renderMetadataCleanupTask(), renderer.getPackageName(), renderer.getMetadataCleanupTaskClassName()); } TableFactoryRenderer tableFactoryRenderer = new TableFactoryRenderer(name, packageName, namespace, tableDefinitions); emit(srcDir, tableFactoryRenderer.render(), tableFactoryRenderer.getPackageName(), tableFactoryRenderer.getClassName()); }
From source file:cron.Times.java
public NavigableSet<ZonedDateTime> dateTimes() { if (seconds.isEmpty()) seconds.withRange(0, 1);/*from w ww .jav 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(); }