List of usage examples for com.google.common.collect ImmutableSortedMap.Builder put
V put(K key, V value);
From source file:com.facebook.buck.thrift.ThriftCxxEnhancer.java
@Override public BuildRule createBuildRule(TargetGraph targetGraph, BuildRuleParams params, BuildRuleResolver resolver, ThriftConstructorArg args, ImmutableMap<String, ThriftSource> sources, ImmutableSortedSet<BuildRule> deps) throws NoSuchBuildTargetException { SourcePathResolver pathResolver = new SourcePathResolver(new SourcePathRuleFinder(resolver)); // Grab all the sources and headers generated from the passed in thrift sources. CxxHeadersAndSources spec = getThriftHeaderSourceSpec(params, args, sources); // Add all the passed in language-specific thrift deps, and any C/C++ specific deps // passed in via the constructor arg. ImmutableSortedSet<BuildRule> allDeps = ImmutableSortedSet.<BuildRule>naturalOrder().addAll(deps) .addAll(resolver.getAllRules((cpp2 ? args.cpp2Deps : args.cppDeps))).build(); // Create language specific build params by using the deps we formed above. BuildRuleParams langParams = params.copyWithDeps(Suppliers.ofInstance(ImmutableSortedSet.of()), Suppliers.ofInstance(allDeps)); // Merge the thrift generated headers with the ones passed in via the description. ImmutableSortedMap.Builder<String, SourcePath> headersBuilder = ImmutableSortedMap.naturalOrder(); headersBuilder.putAll(spec.getHeaders()); if (args.cppExportedHeaders.getNamedSources().isPresent()) { headersBuilder.putAll(args.cppExportedHeaders.getNamedSources().get()); } else {/* ww w . java 2 s.c om*/ headersBuilder.putAll(pathResolver.getSourcePathNames(params.getBuildTarget(), "cpp_headers", args.cppExportedHeaders.getUnnamedSources().get())); } ImmutableSortedMap<String, SourcePath> headers = headersBuilder.build(); // Merge the thrift generated sources with the ones passed in via the description. ImmutableSortedMap.Builder<String, SourceWithFlags> srcsBuilder = ImmutableSortedMap.naturalOrder(); srcsBuilder.putAll(spec.getSources()); if (args.cppSrcs.getNamedSources().isPresent()) { srcsBuilder.putAll(args.cppSrcs.getNamedSources().get()); } else { for (SourceWithFlags sourceWithFlags : args.cppSrcs.getUnnamedSources().get()) { srcsBuilder.put( pathResolver.getSourcePathName(params.getBuildTarget(), sourceWithFlags.getSourcePath()), sourceWithFlags); } } ImmutableSortedMap<String, SourceWithFlags> srcs = srcsBuilder.build(); // Construct the C/C++ library description argument to pass to the CxxLibraryDescription.Arg langArgs = CxxLibraryDescription.createEmptyConstructorArg(); langArgs.headerNamespace = args.cppHeaderNamespace; langArgs.srcs = ImmutableSortedSet.copyOf(srcs.values()); langArgs.exportedHeaders = SourceList.ofNamedSources(headers); langArgs.canBeAsset = Optional.empty(); langArgs.compilerFlags = cpp2 ? args.cpp2CompilerFlags : args.cppCompilerFlags; // Since thrift generated C/C++ code uses lots of templates, just use exported deps throughout. langArgs.exportedDeps = FluentIterable.from(allDeps).transform(HasBuildTarget::getBuildTarget) .toSortedSet(Ordering.natural()); return cxxLibraryDescription.createBuildRule(targetGraph, langParams, resolver, langArgs); }
From source file:com.proofpoint.log.Logging.java
@SuppressWarnings("MethodMayBeStatic") public Map<String, Level> getAllLevels() { ImmutableSortedMap.Builder<String, Level> levels = ImmutableSortedMap.naturalOrder(); for (String loggerName : Collections.list(LogManager.getLogManager().getLoggerNames())) { java.util.logging.Level level = java.util.logging.Logger.getLogger(loggerName).getLevel(); if (level != null) { levels.put(loggerName, fromJulLevel(level)); }//from w w w . j ava2 s.co m } return levels.build(); }
From source file:org.gradle.api.internal.changedetection.rules.InputPropertiesTaskStateChanges.java
public InputPropertiesTaskStateChanges(@Nullable TaskExecution previousExecution, TaskExecution currentExecution, TaskInternal task, ValueSnapshotter valueSnapshotter) { ImmutableSortedMap<String, ValueSnapshot> previousInputProperties = previousExecution == null ? ImmutableSortedMap.<String, ValueSnapshot>of() : previousExecution.getInputProperties(); ImmutableSortedMap.Builder<String, ValueSnapshot> builder = ImmutableSortedMap.naturalOrder(); removed = new HashSet<String>(previousInputProperties.keySet()); changed = new HashSet<String>(); added = new HashSet<String>(); for (Map.Entry<String, Object> entry : task.getInputs().getProperties().entrySet()) { String propertyName = entry.getKey(); Object value = entry.getValue(); try {/* w w w . j a va2s . c om*/ removed.remove(propertyName); ValueSnapshot previousSnapshot = previousInputProperties.get(propertyName); if (previousSnapshot == null) { added.add(propertyName); builder.put(propertyName, valueSnapshotter.snapshot(value)); } else { ValueSnapshot newSnapshot = valueSnapshotter.snapshot(value, previousSnapshot); if (newSnapshot == previousSnapshot) { builder.put(propertyName, previousSnapshot); } else { changed.add(propertyName); builder.put(propertyName, valueSnapshotter.snapshot(value)); } } } catch (Exception e) { throw new GradleException(String.format( "Unable to store input properties for %s. Property '%s' with value '%s' cannot be serialized.", task, propertyName, value), e); } } currentExecution.setInputProperties(builder.build()); this.task = task; }
From source file:com.facebook.buck.maven.Resolver.java
private ImmutableMap<String, Artifact> getRunTimeTransitiveDeps(Iterable<Dependency> mavenCoords) throws RepositoryException { CollectRequest collectRequest = new CollectRequest(); collectRequest.setRequestContext(JavaScopes.RUNTIME); collectRequest.setRepositories(repos); for (Dependency dep : mavenCoords) { collectRequest.addDependency(dep); }/* ww w .j ava2s . c o m*/ DependencyFilter filter = DependencyFilterUtils.classpathFilter(JavaScopes.RUNTIME); DependencyRequest dependencyRequest = new DependencyRequest(collectRequest, filter); DependencyResult dependencyResult = repoSys.resolveDependencies(session, dependencyRequest); ImmutableSortedMap.Builder<String, Artifact> knownDeps = ImmutableSortedMap.naturalOrder(); for (ArtifactResult artifactResult : dependencyResult.getArtifactResults()) { Artifact node = artifactResult.getArtifact(); knownDeps.put(buildKey(node), node); } return knownDeps.build(); }
From source file:gobblin.metrics.InnerMetricContext.java
@SuppressWarnings("unchecked") private <T extends com.codahale.metrics.Metric> SortedMap<String, T> getSimplyNamedMetrics(Class<T> mClass, Optional<MetricFilter> filter) { ImmutableSortedMap.Builder<String, T> builder = ImmutableSortedMap.naturalOrder(); for (Map.Entry<String, InnerMetric> entry : this.contextAwareMetrics.entrySet()) { if (mClass.isInstance(entry.getValue())) { if (filter.isPresent() && !filter.get().matches(entry.getKey(), entry.getValue().getContextAwareMetric())) { continue; }//from www. j a v a2 s .c o m builder.put(entry.getKey(), (T) entry.getValue()); } } return builder.build(); }
From source file:com.google.gerrit.server.notedb.ChangeNotes.java
public ImmutableSortedMap<PatchSet.Id, PatchSet> getPatchSets() { if (patchSets == null) { ImmutableSortedMap.Builder<PatchSet.Id, PatchSet> b = ImmutableSortedMap .orderedBy(comparing(PatchSet.Id::get)); for (Map.Entry<PatchSet.Id, PatchSet> e : state.patchSets()) { b.put(e.getKey(), new PatchSet(e.getValue())); }/*from w ww .j a va 2 s .com*/ patchSets = b.build(); } return patchSets; }
From source file:com.facebook.buck.features.haskell.HaskellDescriptionUtils.java
/** * Create a Haskell compile rule that compiles all the given haskell sources in one step and pulls * interface files from all transitive haskell dependencies. *///ww w. j a v a 2 s . co m private static HaskellCompileRule createCompileRule(BuildTarget target, ProjectFilesystem projectFilesystem, BuildRuleParams baseParams, ActionGraphBuilder graphBuilder, SourcePathRuleFinder ruleFinder, ImmutableSet<BuildRule> deps, HaskellPlatform platform, Linker.LinkableDepType depType, boolean hsProfile, Optional<String> main, Optional<HaskellPackageInfo> packageInfo, ImmutableList<String> flags, HaskellSources sources) { CxxPlatform cxxPlatform = platform.getCxxPlatform(); Map<BuildTarget, ImmutableList<String>> depFlags = new TreeMap<>(); Map<BuildTarget, ImmutableList<SourcePath>> depIncludes = new TreeMap<>(); ImmutableSortedMap.Builder<String, HaskellPackage> exposedPackagesBuilder = ImmutableSortedMap .naturalOrder(); ImmutableSortedMap.Builder<String, HaskellPackage> packagesBuilder = ImmutableSortedMap.naturalOrder(); new AbstractBreadthFirstTraversal<BuildRule>(deps) { private final ImmutableSet<BuildRule> empty = ImmutableSet.of(); @Override public Iterable<BuildRule> visit(BuildRule rule) { Iterable<BuildRule> ruleDeps = empty; if (rule instanceof HaskellCompileDep) { HaskellCompileDep haskellCompileDep = (HaskellCompileDep) rule; ruleDeps = haskellCompileDep.getCompileDeps(platform); HaskellCompileInput compileInput = haskellCompileDep.getCompileInput(platform, depType, hsProfile); depFlags.put(rule.getBuildTarget(), compileInput.getFlags()); depIncludes.put(rule.getBuildTarget(), compileInput.getIncludes()); // We add packages from first-order deps as expose modules, and transitively included // packages as hidden ones. boolean firstOrderDep = deps.contains(rule); for (HaskellPackage pkg : compileInput.getPackages()) { if (firstOrderDep) { exposedPackagesBuilder.put(pkg.getInfo().getIdentifier(), pkg); } else { packagesBuilder.put(pkg.getInfo().getIdentifier(), pkg); } } } return ruleDeps; } }.start(); Collection<CxxPreprocessorInput> cxxPreprocessorInputs = CxxPreprocessables .getTransitiveCxxPreprocessorInput(cxxPlatform, graphBuilder, deps); ExplicitCxxToolFlags.Builder toolFlagsBuilder = CxxToolFlags.explicitBuilder(); PreprocessorFlags.Builder ppFlagsBuilder = PreprocessorFlags.builder(); toolFlagsBuilder.setPlatformFlags( StringArg.from(CxxSourceTypes.getPlatformPreprocessFlags(cxxPlatform, CxxSource.Type.C))); for (CxxPreprocessorInput input : cxxPreprocessorInputs) { ppFlagsBuilder.addAllIncludes(input.getIncludes()); ppFlagsBuilder.addAllFrameworkPaths(input.getFrameworks()); toolFlagsBuilder.addAllRuleFlags(input.getPreprocessorFlags().get(CxxSource.Type.C)); } ppFlagsBuilder.setOtherFlags(toolFlagsBuilder.build()); PreprocessorFlags ppFlags = ppFlagsBuilder.build(); ImmutableList<String> compileFlags = ImmutableList.<String>builder().addAll(platform.getCompilerFlags()) .addAll(flags).addAll(Iterables.concat(depFlags.values())).build(); ImmutableList<SourcePath> includes = ImmutableList.copyOf(Iterables.concat(depIncludes.values())); ImmutableSortedMap<String, HaskellPackage> exposedPackages = exposedPackagesBuilder.build(); ImmutableSortedMap<String, HaskellPackage> packages = packagesBuilder.build(); return HaskellCompileRule.from(target, projectFilesystem, baseParams, ruleFinder, platform.getCompiler().resolve(graphBuilder), platform.getHaskellVersion(), compileFlags, ppFlags, cxxPlatform, depType == Linker.LinkableDepType.STATIC ? PicType.PDC : PicType.PIC, hsProfile, main, packageInfo, includes, exposedPackages, packages, sources, CxxSourceTypes.getPreprocessor(cxxPlatform, CxxSource.Type.C).resolve(graphBuilder)); }
From source file:com.facebook.buck.haskell.HaskellGhciDescription.java
@Override public BuildRule createBuildRule(TargetGraph targetGraph, BuildTarget buildTarget, final ProjectFilesystem projectFilesystem, BuildRuleParams params, final BuildRuleResolver resolver, final CellPathResolver cellPathResolver, HaskellGhciDescriptionArg args) throws NoSuchBuildTargetException { CxxPlatform cxxPlatform = cxxPlatforms.getValue(buildTarget).orElse(defaultCxxPlatform); SourcePathRuleFinder ruleFinder = new SourcePathRuleFinder(resolver); SourcePathResolver pathResolver = DefaultSourcePathResolver.from(ruleFinder); ImmutableSet.Builder<BuildRule> depsBuilder = ImmutableSet.builder(); depsBuilder.addAll(CxxDeps.builder().addDeps(args.getDeps()).addPlatformDeps(args.getPlatformDeps()).build() .get(resolver, cxxPlatform)); ImmutableSet<BuildRule> deps = depsBuilder.build(); ImmutableSet.Builder<HaskellPackage> haskellPackages = ImmutableSet.builder(); ImmutableSet.Builder<HaskellPackage> prebuiltHaskellPackages = ImmutableSet.builder(); ImmutableSet.Builder<HaskellPackage> firstOrderHaskellPackages = ImmutableSet.builder(); AbstractBreadthFirstThrowingTraversal<BuildRule, NoSuchBuildTargetException> haskellVisitor = new AbstractBreadthFirstThrowingTraversal<BuildRule, NoSuchBuildTargetException>( deps) {/*from ww w . jav a 2 s . c o m*/ @Override public ImmutableSet<BuildRule> visit(BuildRule rule) throws NoSuchBuildTargetException { ImmutableSet.Builder<BuildRule> traverse = ImmutableSet.builder(); if (rule instanceof HaskellLibrary || rule instanceof PrebuiltHaskellLibrary) { HaskellCompileInput ci = ((HaskellCompileDep) rule).getCompileInput(cxxPlatform, Linker.LinkableDepType.STATIC, args.getEnableProfiling()); if (params.getBuildDeps().contains(rule)) { firstOrderHaskellPackages.addAll(ci.getPackages()); } if (rule instanceof HaskellLibrary) { haskellPackages.addAll(ci.getPackages()); traverse.addAll(rule.getBuildDeps()); } else if (rule instanceof PrebuiltHaskellLibrary) { prebuiltHaskellPackages.addAll(ci.getPackages()); traverse.addAll(rule.getBuildDeps()); } } return traverse.build(); } }; haskellVisitor.start(); ImmutableSet.Builder<NativeLinkable> nativeLinkables = ImmutableSet.builder(); AbstractBreadthFirstThrowingTraversal<BuildRule, NoSuchBuildTargetException> cxxVisitor = new AbstractBreadthFirstThrowingTraversal<BuildRule, NoSuchBuildTargetException>( deps) { @Override public ImmutableSet<BuildRule> visit(BuildRule rule) throws NoSuchBuildTargetException { ImmutableSet.Builder<BuildRule> traverse = ImmutableSet.builder(); if (rule instanceof CxxLibrary) { nativeLinkables.add((NativeLinkable) rule); } else if (rule instanceof PrebuiltCxxLibrary) { nativeLinkables.add((NativeLinkable) rule); } else if (rule instanceof HaskellLibrary || rule instanceof PrebuiltHaskellLibrary) { for (NativeLinkable nl : ((NativeLinkable) rule) .getNativeLinkableExportedDepsForPlatform(cxxPlatform)) { traverse.add((BuildRule) nl); } } return traverse.build(); } }; cxxVisitor.start(); ImmutableList<NativeLinkable> sortedNativeLinkables = getSortedNativeLinkables(cxxPlatform, nativeLinkables.build()); BuildRule omnibusSharedObject = requireOmnibusSharedObject(buildTarget, projectFilesystem, resolver, cxxPlatform, sortedNativeLinkables); ImmutableSortedMap.Builder<String, SourcePath> solibs = ImmutableSortedMap.naturalOrder(); for (NativeLinkable nativeLinkable : sortedNativeLinkables) { if (isPrebuiltSO(nativeLinkable, cxxPlatform)) { ImmutableMap<String, SourcePath> sharedObjects = nativeLinkable.getSharedLibraries(cxxPlatform); for (Map.Entry<String, SourcePath> ent : sharedObjects.entrySet()) { if (ent.getValue() instanceof PathSourcePath) { solibs.put(ent.getKey(), ent.getValue()); } } } } HaskellSources srcs = HaskellSources.from(buildTarget, resolver, pathResolver, ruleFinder, cxxPlatform, "srcs", args.getSrcs()); return resolver.addToIndex(HaskellGhciRule.from(buildTarget, projectFilesystem, params, resolver, srcs, args.getCompilerFlags(), args.getGhciBinDep(), args.getGhciInit(), omnibusSharedObject, solibs.build(), firstOrderHaskellPackages.build(), haskellPackages.build(), prebuiltHaskellPackages.build(), args.getEnableProfiling(), haskellConfig.getGhciScriptTemplate(), haskellConfig.getGhciBinutils(), haskellConfig.getGhciGhc(), haskellConfig.getGhciLib(), haskellConfig.getGhciCxx(), haskellConfig.getGhciCc(), haskellConfig.getGhciCpp())); }
From source file:kr.co.bitnine.octopus.engine.calcite.CachingCalciteSchema.java
protected void addImplicitTablesBasedOnNullaryFunctionsToBuilder( ImmutableSortedMap.Builder<String, Table> builder) { ImmutableSortedMap<String, Table> explicitTables = builder.build(); for (String s : implicitFunctionCache.get(System.currentTimeMillis())) { // explicit table wins. if (explicitTables.containsKey(s)) { continue; }/* w ww .java 2 s.com*/ for (Function function : getSchema().getFunctions(s)) { if (function instanceof TableMacro && function.getParameters().isEmpty()) { final Table table = ((TableMacro) function).apply(ImmutableList.of()); builder.put(s, table); } } } }
From source file:org.thelq.stackexchange.dbimport.Controller.java
public void initMetadataMap(SessionFactory sessionFactory) { ImmutableSortedMap.Builder<String, ImmutableMap<String, Type>> metadataMapBuilder = ImmutableSortedMap .orderedBy(String.CASE_INSENSITIVE_ORDER); for (Map.Entry<String, ClassMetadata> curEntry : sessionFactory.getAllClassMetadata().entrySet()) { ClassMetadata tableDataRaw = curEntry.getValue(); ImmutableMap.Builder<String, Type> propertiesBuilder = ImmutableMap.builder(); propertiesBuilder.put(tableDataRaw.getIdentifierPropertyName(), tableDataRaw.getIdentifierType()); for (String curPropertyName : tableDataRaw.getPropertyNames()) propertiesBuilder.put(curPropertyName, tableDataRaw.getPropertyType(curPropertyName)); metadataMapBuilder.put(curEntry.getKey(), propertiesBuilder.build()); }/*from www . j a v a2 s . c om*/ metadataMap = metadataMapBuilder.build(); }