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

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

Introduction

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

Prototype

public static <E> Builder<E> builder() 

Source Link

Usage

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();
}