Example usage for com.google.common.collect ImmutableMultiset entrySet

List of usage examples for com.google.common.collect ImmutableMultiset entrySet

Introduction

In this page you can find the example usage for com.google.common.collect ImmutableMultiset entrySet.

Prototype

ImmutableSet entrySet

To view the source code for com.google.common.collect ImmutableMultiset entrySet.

Click Source Link

Usage

From source file:com.github.rinde.dynurg.Generator.java

static void writePropertiesFile(Scenario scen, StatisticalSummary urgency, double dynamism,
        String problemClassId, String instanceId, GeneratorSettings settings, String fileName) {
    final DateTimeFormatter formatter = ISODateTimeFormat.dateHourMinuteSecondMillis();

    final ImmutableMap.Builder<String, Object> properties = ImmutableMap.<String, Object>builder()
            .put("problem_class", problemClassId).put("id", instanceId).put("dynamism", dynamism)
            .put("urgency_mean", urgency.getMean()).put("urgency_sd", urgency.getStandardDeviation())
            .put("creation_date", formatter.print(System.currentTimeMillis()))
            .put("creator", System.getProperty("user.name")).put("day_length", settings.dayLength)
            .put("office_opening_hours", settings.officeHours);

    properties.putAll(settings.properties);

    final ImmutableMultiset<Enum<?>> eventTypes = Metrics.getEventTypeCounts(scen);
    for (final Multiset.Entry<Enum<?>> en : eventTypes.entrySet()) {
        properties.put(en.getElement().name(), en.getCount());
    }// www. ja va2 s . c o m

    try {
        Files.write(Joiner.on("\n").withKeyValueSeparator(" = ").join(properties.build()),
                new File(fileName + ".properties"), Charsets.UTF_8);
    } catch (final IOException e) {
        throw new IllegalStateException(e);
    }
}

From source file:com.github.rinde.datgen.pdptw.DatasetGenerator.java

static void writePropertiesFile(Scenario scen, GeneratorSettings settings, double actualDyn, long seed,
        String fileName) {//w  w  w.  j av  a2  s.  c  o  m
    final DateTimeFormatter formatter = ISODateTimeFormat.dateHourMinuteSecondMillis();

    final VanLon15ProblemClass pc = (VanLon15ProblemClass) scen.getProblemClass();
    final ImmutableMap.Builder<String, Object> properties = ImmutableMap.<String, Object>builder()
            .put("problem_class", pc.getId()).put("id", scen.getProblemInstanceId())
            .put("dynamism_bin", pc.getDynamism()).put("dynamism_actual", actualDyn)
            .put("urgency", pc.getUrgency()).put("scale", pc.getScale()).put("random_seed", seed)
            .put("creation_date", formatter.print(System.currentTimeMillis()))
            .put("creator", System.getProperty("user.name")).put("day_length", settings.getDayLength())
            .put("office_opening_hours", settings.getOfficeHours());

    properties.putAll(settings.getProperties());

    final ImmutableMultiset<Class<?>> eventTypes = Metrics.getEventTypeCounts(scen);
    for (final Multiset.Entry<Class<?>> en : eventTypes.entrySet()) {
        properties.put(en.getElement().getSimpleName(), en.getCount());
    }

    try {
        Files.write(Paths.get(fileName + ".properties"),
                asList(Joiner.on("\n").withKeyValueSeparator(" = ").join(properties.build())), Charsets.UTF_8);
    } catch (final IOException e) {
        throw new IllegalStateException(e);
    }
}

From source file:com.google.devtools.build.lib.rules.config.ConfigFeatureFlag.java

@Override
public ConfiguredTarget create(RuleContext ruleContext) throws InterruptedException, RuleErrorException {
    List<String> specifiedValues = ruleContext.attributes().get("allowed_values", STRING_LIST);
    ImmutableSet<String> values = ImmutableSet.copyOf(specifiedValues);
    Predicate<String> isValidValue = Predicates.in(values);
    if (values.size() != specifiedValues.size()) {
        ImmutableMultiset<String> groupedValues = ImmutableMultiset.copyOf(specifiedValues);
        ImmutableList.Builder<String> duplicates = new ImmutableList.Builder<String>();
        for (Multiset.Entry<String> value : groupedValues.entrySet()) {
            if (value.getCount() > 1) {
                duplicates.add(value.getElement());
            }//from ww  w .jav  a2s.  c  om
        }
        ruleContext.attributeError("allowed_values", "cannot contain duplicates, but contained multiple of "
                + Printer.repr(duplicates.build(), '\''));
    }

    String defaultValue = ruleContext.attributes().get("default_value", STRING);
    if (!isValidValue.apply(defaultValue)) {
        ruleContext.attributeError("default_value", "must be one of " + Printer.repr(values.asList(), '\'')
                + ", but was " + Printer.repr(defaultValue, '\''));
    }

    if (ruleContext.hasErrors()) {
        // Don't bother validating the value if the flag was already incorrectly specified without
        // looking at the value.
        return null;
    }

    String value = ruleContext.getFragment(ConfigFeatureFlagConfiguration.class)
            .getFeatureFlagValue(ruleContext.getOwner()).or(defaultValue);

    if (!isValidValue.apply(value)) {
        // TODO(mstaib): When configurationError is available, use that instead.
        ruleContext.ruleError("value must be one of " + Printer.repr(values.asList(), '\'') + ", but was "
                + Printer.repr(value, '\''));
        return null;
    }

    ConfigFeatureFlagProvider provider = ConfigFeatureFlagProvider.create(value, isValidValue);

    return new RuleConfiguredTargetBuilder(ruleContext)
            .setFilesToBuild(NestedSetBuilder.<Artifact>emptySet(STABLE_ORDER))
            .addProvider(RunfilesProvider.class, RunfilesProvider.EMPTY)
            .addProvider(ConfigFeatureFlagProvider.class, provider).addNativeDeclaredProvider(provider).build();
}

From source file:cpw.mods.fml.common.Loader.java

private void identifyDuplicates(List<ModContainer> mods) {
    TreeMultimap<ModContainer, File> dupsearch = TreeMultimap.create(new ModIdComparator(),
            Ordering.arbitrary());//from w  ww . j  a va 2s .c o m
    for (ModContainer mc : mods) {
        if (mc.getSource() != null) {
            dupsearch.put(mc, mc.getSource());
        }
    }

    ImmutableMultiset<ModContainer> duplist = Multisets.copyHighestCountFirst(dupsearch.keys());
    SetMultimap<ModContainer, File> dupes = LinkedHashMultimap.create();
    for (Entry<ModContainer> e : duplist.entrySet()) {
        if (e.getCount() > 1) {
            FMLLog.severe("Found a duplicate mod %s at %s", e.getElement().getModId(),
                    dupsearch.get(e.getElement()));
            dupes.putAll(e.getElement(), dupsearch.get(e.getElement()));
        }
    }
    if (!dupes.isEmpty()) {
        throw new DuplicateModsFoundException(dupes);
    }
}