com.google.common.collect.ImmutableMultiset#copyOf ( )源码实例Demo

下面列出了com.google.common.collect.ImmutableMultiset#copyOf ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: presto   文件: QueryAssertions.java
public static void assertEqualsIgnoreOrder(Iterable<?> actual, Iterable<?> expected, String message)
{
    assertNotNull(actual, "actual is null");
    assertNotNull(expected, "expected is null");

    ImmutableMultiset<?> actualSet = ImmutableMultiset.copyOf(actual);
    ImmutableMultiset<?> expectedSet = ImmutableMultiset.copyOf(expected);
    if (!actualSet.equals(expectedSet)) {
        Multiset<?> unexpectedRows = Multisets.difference(actualSet, expectedSet);
        Multiset<?> missingRows = Multisets.difference(expectedSet, actualSet);
        int limit = 100;
        fail(format(
                "%snot equal\n" +
                        "Actual rows (up to %s of %s extra rows shown, %s rows in total):\n    %s\n" +
                        "Expected rows (up to %s of %s missing rows shown, %s rows in total):\n    %s\n",
                message == null ? "" : (message + "\n"),
                limit,
                unexpectedRows.size(),
                actualSet.size(),
                Joiner.on("\n    ").join(Iterables.limit(unexpectedRows, limit)),
                limit,
                missingRows.size(),
                expectedSet.size(),
                Joiner.on("\n    ").join(Iterables.limit(missingRows, limit))));
    }
}
 
源代码2 项目: gwt-jackson   文件: MultisetGwtTest.java
public void testSerialization() {
    BeanWithMultisetTypes bean = new BeanWithMultisetTypes();

    List<String> list = Arrays.asList( "foo", "abc", null, "abc" );
    List<String> listWithNonNull = Arrays.asList( "foo", "abc", "bar", "abc" );

    bean.multiset = LinkedHashMultiset.create( list );
    bean.hashMultiset = HashMultiset.create( Arrays.asList( "abc", "abc" ) );
    bean.linkedHashMultiset = LinkedHashMultiset.create( list );
    bean.sortedMultiset = TreeMultiset.create( listWithNonNull );
    bean.treeMultiset = TreeMultiset.create( listWithNonNull );
    bean.immutableMultiset = ImmutableMultiset.copyOf( listWithNonNull );
    bean.enumMultiset = EnumMultiset.create( Arrays.asList( AlphaEnum.B, AlphaEnum.A, AlphaEnum.D, AlphaEnum.A ) );

    String expected = "{" +
            "\"multiset\":[\"foo\",\"abc\",\"abc\",null]," +
            "\"hashMultiset\":[\"abc\",\"abc\"]," +
            "\"linkedHashMultiset\":[\"foo\",\"abc\",\"abc\",null]," +
            "\"sortedMultiset\":[\"abc\",\"abc\",\"bar\",\"foo\"]," +
            "\"treeMultiset\":[\"abc\",\"abc\",\"bar\",\"foo\"]," +
            "\"immutableMultiset\":[\"foo\",\"abc\",\"abc\",\"bar\"]," +
            "\"enumMultiset\":[\"A\",\"A\",\"B\",\"D\"]" +
            "}";

    assertEquals( expected, BeanWithMultisetTypesMapper.INSTANCE.write( bean ) );
}
 
源代码3 项目: OSRS-Deobfuscator   文件: ClassMapper.java
private Multiset<Type> fieldCardinalities(ClassFile cf)
{
	List<Type> t = cf.getFields().stream()
		.filter(f -> !f.isStatic())
		.map(f -> f.getType())
		.collect(Collectors.toList());

	return ImmutableMultiset.copyOf(t);
}
 
源代码4 项目: OSRS-Deobfuscator   文件: ClassMapper.java
private Multiset<Signature> methodCardinalities(ClassFile cf)
{
	List<Signature> t = cf.getMethods().stream()
		.filter(m -> !m.isStatic())
		.filter(m -> !m.getName().startsWith("<"))
		.map(m -> m.getDescriptor())
		.collect(Collectors.toList());

	return ImmutableMultiset.copyOf(t);
}
 
源代码5 项目: ProjectAres   文件: IterableUtils.java
public static <T> ImmutableCollection<T> copyOf(Iterable<T> iterable) {
    if(iterable instanceof Set) {
        return ImmutableSet.copyOf(iterable);
    } else if(iterable instanceof Multiset) {
        return ImmutableMultiset.copyOf(iterable);
    } else {
        return ImmutableList.copyOf(iterable);
    }
}
 
源代码6 项目: memory-measurer   文件: ObjectGraphMeasurer.java
/**
 * Constructs a Footprint, by specifying the number of objects,
 * references, and primitives (represented as a {@link Multiset}).
 *
 * @param objects the number of objects
 * @param references the number of references
 * @param primitives the number of primitives (represented by the
 * respective primitive classes, e.g. {@code int.class} etc)
 */
public Footprint(int objects, int references, Multiset<Class<?>> primitives) {
  Preconditions.checkArgument(objects >= 0, "Negative number of objects");
  Preconditions.checkArgument(references >= 0, "Negative number of references");
  Preconditions.checkArgument(primitiveTypes.containsAll(primitives.elementSet()),
  "Unexpected primitive type");
  this.objects = objects;
  this.references = references;
  this.primitives = ImmutableMultiset.copyOf(primitives);
}
 
源代码7 项目: memory-measurer   文件: ObjectGraphMeasurer.java
/**
 * Constructs a Footprint, by specifying the number of objects,
 * references, and primitives (represented as a {@link Multiset}).
 *
 * @param objects the number of objects
 * @param references the number of references
 * @param primitives the number of primitives (represented by the
 * respective primitive classes, e.g. {@code int.class} etc)
 */
public Footprint(int objects, int references, Multiset<Class<?>> primitives) {
  Preconditions.checkArgument(objects >= 0, "Negative number of objects");
  Preconditions.checkArgument(references >= 0, "Negative number of references");
  Preconditions.checkArgument(primitiveTypes.containsAll(primitives.elementSet()),
  "Unexpected primitive type");
  this.objects = objects;
  this.references = references;
  this.primitives = ImmutableMultiset.copyOf(primitives);
}
 
源代码8 项目: Quicksql   文件: CalciteAssert.java
static ImmutableMultiset<String> toSet(ResultSet resultSet)
    throws SQLException {
  return ImmutableMultiset.copyOf(toList(resultSet));
}
 
源代码9 项目: nomulus   文件: DeleteOldCommitLogsAction.java
@Override
public void reduce(
    final Key<CommitLogManifest> manifestKey,
    ReducerInput<Boolean> canDeleteVerdicts) {
  ImmutableMultiset<Boolean> canDeleteMultiset = ImmutableMultiset.copyOf(canDeleteVerdicts);
  if (canDeleteMultiset.count(TRUE) > 1) {
    getContext().incrementCounter("commit log manifests incorrectly mapped multiple times");
  }
  if (canDeleteMultiset.count(FALSE) > 1) {
    getContext().incrementCounter("commit log manifests referenced multiple times");
  }
  if (canDeleteMultiset.contains(FALSE)) {
    getContext().incrementCounter(
        canDeleteMultiset.contains(TRUE)
        ? "old commit log manifests still referenced"
        : "new (or nonexistent) commit log manifests referenced");
    getContext().incrementCounter(
        "EPP resource revisions handled",
        canDeleteMultiset.count(FALSE));
    return;
  }

  DeletionResult deletionResult = tm().transactNew(() -> {
    CommitLogManifest manifest = ofy().load().key(manifestKey).now();
    // It is possible that the same manifestKey was run twice, if a shard had to be restarted
    // or some weird failure. If this happens, we want to exit immediately.
    // Note that this can never happen in dryRun.
    if (manifest == null) {
      return DeletionResult.create(DeletionResult.Status.ALREADY_DELETED, 0);
    }
    // Doing a sanity check on the date. This is the only place we use the CommitLogManifest,
    // so maybe removing this test will improve performance. However, unless it's proven that
    // the performance boost is significant (and we've tested this enough to be sure it never
    // happens)- the safty of "let's not delete stuff we need from prod" is more important.
    if (manifest.getCommitTime().isAfter(deletionThreshold)) {
      return DeletionResult.create(DeletionResult.Status.AFTER_THRESHOLD, 0);
    }
    Iterable<Key<CommitLogMutation>> commitLogMutationKeys = ofy().load()
        .type(CommitLogMutation.class)
        .ancestor(manifestKey)
        .keys()
        .iterable();
    ImmutableList<Key<?>> keysToDelete = ImmutableList.<Key<?>>builder()
        .addAll(commitLogMutationKeys)
        .add(manifestKey)
        .build();
    // Normally in a dry run we would log the entities that would be deleted, but those can
    // number in the millions so we skip the logging.
    if (!isDryRun) {
      ofy().deleteWithoutBackup().keys(keysToDelete);
    }
    return DeletionResult.create(DeletionResult.Status.SUCCESS, keysToDelete.size());
  });

  switch (deletionResult.status()) {
    case SUCCESS:
      getContext().incrementCounter("old commit log manifests deleted");
      getContext().incrementCounter("total entities deleted", deletionResult.numDeleted());
      break;
    case ALREADY_DELETED:
      getContext().incrementCounter("attempts to delete an already deleted manifest");
      break;
    case AFTER_THRESHOLD:
      logger.atSevere().log(
          "Won't delete CommitLogManifest %s that is too recent.", manifestKey);
      getContext().incrementCounter("manifests incorrectly assigned for deletion (SEE LOGS)");
      break;
  }
}
 
源代码10 项目: memory-measurer   文件: ObjectGraphMeasurer.java
public Footprint result() {
  return new Footprint(objects, references, ImmutableMultiset.copyOf(primitives));
}
 
源代码11 项目: txtUML   文件: CollectionTests.java
@SafeVarargs
private static <T> void assertThatContains(GeneralCollection<T> actual, T... expecteds) {
	Multiset<T> actualSet = ImmutableMultiset.copyOf(actual);
	Multiset<T> expectedSet = ImmutableMultiset.copyOf(expecteds);
	assertEquals(expectedSet, actualSet);
}
 
源代码12 项目: calcite   文件: CalciteAssert.java
static ImmutableMultiset<String> toSet(ResultSet resultSet)
    throws SQLException {
  return ImmutableMultiset.copyOf(toList(resultSet));
}
 
源代码13 项目: bazel   文件: ImmutableSortedKeyListMultimap.java
@Override
public Multiset<K> keys() {
  return ImmutableMultiset.copyOf(sortedKeys);
}
 
源代码14 项目: memory-measurer   文件: ObjectGraphMeasurer.java
public Footprint result() {
  return new Footprint(objects, references, ImmutableMultiset.copyOf(primitives));
}
 
源代码15 项目: batfish   文件: Rows.java
/**
 * Returns an immutable copy of the rows in this object
 *
 * @return An ImmutableMultiset
 */
@JsonValue
public Multiset<Row> getData() {
  return ImmutableMultiset.copyOf(_data);
}