List of usage examples for com.google.common.collect ImmutableSet builder
public static <E> Builder<E> builder()
From source file:com.jgaap.eventCullers.LeastCommonEvents.java
@Override public Set<Event> train(List<EventSet> eventSets) { int numEvents = getParameter("numEvents", 50); EventHistogram histogram = new EventHistogram(); for (EventSet eventSet : eventSets) { for (Event event : eventSet) { histogram.add(event);//from ww w. j av a 2 s . co m } } List<Pair<Event, Integer>> eventFrequencies = histogram.getSortedHistogram(); Collections.reverse(eventFrequencies); ImmutableSet.Builder<Event> builder = ImmutableSet.builder(); int count = 0; for (Pair<Event, Integer> eventPair : eventFrequencies) { count++; builder.add(eventPair.getFirst()); if (numEvents <= count) { break; } } return builder.build(); }
From source file:com.facebook.buck.apple.XcodeRuleConfiguration.java
/** * Convert from a raw json representation of the Configuration to an actual Configuration object. * * @param configurations/*w ww . j av a2 s .c o m*/ * A map of configuration names to lists, where each each element is a layer of the * configuration. Each layer can be specified as a path to a .xcconfig file, or a dictionary of * xcode build settings. */ public static ImmutableSet<XcodeRuleConfiguration> fromRawJsonStructure( ImmutableMap<String, ImmutableList<Either<Path, ImmutableMap<String, String>>>> configurations) { ImmutableSet.Builder<XcodeRuleConfiguration> builder = ImmutableSet.builder(); for (ImmutableMap.Entry<String, ImmutableList<Either<Path, ImmutableMap<String, String>>>> entry : configurations .entrySet()) { ImmutableList.Builder<Layer> layers = ImmutableList.builder(); for (Either<Path, ImmutableMap<String, String>> value : entry.getValue()) { if (value.isLeft()) { layers.add(new Layer(value.getLeft())); } else if (value.isRight()) { layers.add(new Layer(value.getRight())); } } builder.add(new XcodeRuleConfiguration(entry.getKey(), layers.build())); } return builder.build(); }
From source file:com.facebook.presto.sql.planner.iterative.rule.PruneWindowColumns.java
@Override protected Optional<PlanNode> pushDownProjectOff(PlanNodeIdAllocator idAllocator, WindowNode windowNode, Set<Symbol> referencedOutputs) { Map<Symbol, WindowNode.Function> referencedFunctions = Maps.filterKeys(windowNode.getWindowFunctions(), referencedOutputs::contains); if (referencedFunctions.isEmpty()) { return Optional.of(windowNode.getSource()); }/*ww w. j av a 2 s .c om*/ ImmutableSet.Builder<Symbol> referencedInputs = ImmutableSet .<Symbol>builder().addAll(windowNode.getSource().getOutputSymbols().stream() .filter(referencedOutputs::contains).iterator()) .addAll(windowNode.getPartitionBy()).addAll(windowNode.getOrderBy()); windowNode.getHashSymbol().ifPresent(referencedInputs::add); for (WindowNode.Function windowFunction : referencedFunctions.values()) { referencedInputs.addAll(SymbolsExtractor.extractUnique(windowFunction.getFunctionCall())); windowFunction.getFrame().getStartValue().ifPresent(referencedInputs::add); windowFunction.getFrame().getEndValue().ifPresent(referencedInputs::add); } PlanNode prunedWindowNode = new WindowNode(windowNode.getId(), restrictOutputs(idAllocator, windowNode.getSource(), referencedInputs.build()) .orElse(windowNode.getSource()), windowNode.getSpecification(), referencedFunctions, windowNode.getHashSymbol(), windowNode.getPrePartitionedInputs(), windowNode.getPreSortedOrderPrefix()); if (prunedWindowNode.getOutputSymbols().size() == windowNode.getOutputSymbols().size()) { // Neither function pruning nor input pruning was successful. return Optional.empty(); } return Optional.of(prunedWindowNode); }
From source file:com.google.doubleclick.openrtb.ExpandableDirectionMapper.java
public static ImmutableSet<Integer> toDoubleClick(List<ExpandableDirection> openrtbList) { boolean left = false, right = false, up = false, down = false; for (ExpandableDirection openrtb : openrtbList) { switch (openrtb) { case LEFT: left = true;//from w ww. j ava2 s.c o m break; case RIGHT: right = true; break; case UP: up = true; break; case DOWN: down = true; break; default: } } ImmutableSet.Builder<Integer> dcSet = ImmutableSet.builder(); if (!left) { dcSet.add(15 /* ExpandingDirection: ExpandingLeft */); } if (!right) { dcSet.add(16 /* ExpandingDirection: ExpandingRight */); } if (!up) { dcSet.add(13 /* ExpandingDirection: ExpandingUp */); } if (!down) { dcSet.add(14 /* ExpandingDirection: ExpandingDown */); } return dcSet.build(); }
From source file:com.google.gerrit.server.config.AdministrateServerGroupsProvider.java
@Inject public AdministrateServerGroupsProvider(GroupBackend groupBackend, @GerritServerConfig Config config, ThreadLocalRequestContext threadContext, ServerRequestContext serverCtx) { RequestContext ctx = threadContext.setContext(serverCtx); try {//from www .j av a 2s .c om ImmutableSet.Builder<GroupReference> builder = ImmutableSet.builder(); for (String value : config.getStringList("capability", null, "administrateServer")) { PermissionRule rule = PermissionRule.fromString(value, false); String name = rule.getGroup().getName(); GroupReference g = GroupBackends.findBestSuggestion(groupBackend, name); if (g != null) { builder.add(g); } else { Logger log = LoggerFactory.getLogger(getClass()); log.warn("Group \"{}\" not available, skipping.", name); } } groups = builder.build(); } finally { threadContext.setContext(ctx); } }
From source file:org.lanternpowered.server.block.trait.LanternIntegerTrait.java
/** * Creates a new integer trait with the specified name and the possible values. * //www.ja va 2 s . c o m * <p>The possible values array may not be empty.</p> * * @param name the name * @param key the key that should be attached to the trait * @param possibleValues the possible values * @return the integer trait */ public static IntegerTrait of(String name, Key<? extends Value<Integer>> key, int... possibleValues) { checkNotNullOrEmpty(name, "name"); checkNotNull(possibleValues, "possibleValues"); checkNotNull(key, "key"); checkState(possibleValues.length != 0, "possibleValues may not be empty"); ImmutableSet.Builder<Integer> builder = ImmutableSet.builder(); for (int possibleValue : possibleValues) { builder.add(possibleValue); } return new LanternIntegerTrait(name, key, builder.build()); }
From source file:com.facebook.buck.core.rules.transformer.impl.FetchTargetNodeToBuildRuleTransformer.java
public FetchTargetNodeToBuildRuleTransformer(ImmutableSet<DescriptionWithTargetGraph<?>> descriptions) { this.descriptions = descriptions; this.downloadableTargets = ImmutableSet.builder(); this.delegate = new DefaultTargetNodeToBuildRuleTransformer(); }
From source file:uk.co.lucasweb.stream.ImmutableSetCollector.java
@Override public Function<ImmutableSet.Builder<E>, ImmutableSet<E>> finisher() { return ImmutableSet.Builder::build; }
From source file:org.jclouds.googlecomputeengine.compute.functions.FirewallToIpPermission.java
@Override public Iterable<IpPermission> apply(Firewall fw) { ImmutableSet.Builder setBuilder = ImmutableSet.builder(); for (Rule rule : fw.getAllowed()) { if (!rule.getPorts().isEmpty()) { for (Range<Integer> r : rule.getPorts().asRanges()) { IpPermission.Builder builder = populateBuilder(fw, rule.getIpProtocol()); builder.fromPort(r.lowerEndpoint()); builder.toPort(r.upperEndpoint()); setBuilder.add(builder.build()); }// w w w . j av a 2s.c om } else { setBuilder.add(populateBuilder(fw, rule.getIpProtocol()).build()); } } return setBuilder.build(); }
From source file:uk.ac.ebi.atlas.model.baseline.Factor.java
public Factor(String header, String value, OntologyTerm... valueOntologyTerms) { this.header = header; this.type = normalize(checkNotNull(header)); this.value = checkNotNull(value); this.valueOntologyTerms = new ImmutableSet.Builder<OntologyTerm>().add(valueOntologyTerms).build(); }