List of usage examples for com.google.common.collect ImmutableMultiset entrySet
ImmutableSet entrySet
To view the source code for com.google.common.collect ImmutableMultiset entrySet.
Click Source Link
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); } }