com.google.common.collect.Iterables#getOnlyElement ( )源码实例Demo

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

源代码1 项目: selenium   文件: ErrorCodes.java
public String toState(Integer status) {
  if (status == null) {
    return toState(UNHANDLED_ERROR);
  }

  if (SUCCESS == status) {
    return SUCCESS_STRING;
  }

  Set<String> possibleMatches = KNOWN_ERRORS.stream()
    .filter(knownError -> knownError.getJsonCode() == status)
    .filter(KnownError::isCanonicalForW3C)
    .map(KnownError::getW3cCode)
    .collect(Collectors.toSet());

  return Iterables.getOnlyElement(possibleMatches, "unhandled error");
}
 
源代码2 项目: buck   文件: GlobTest.java
@Test
public void emptyIncludeListIsReportedAsAWarning() throws Exception {
  Path buildFile = root.getChild("BUCK");
  FileSystemUtils.writeContentAsLatin1(buildFile, "txts = glob([])");
  assertThat(
      assertEvaluate(buildFile).moduleLookup("txts"),
      equalTo(SkylarkList.createImmutable(ImmutableList.of())));
  Event event = Iterables.getOnlyElement(eventHandler);
  assertThat(event.getKind(), is(EventKind.WARNING));
  assertThat(event.getLocation(), notNullValue());
  assertThat(
      event.getMessage(),
      is(
          "glob's 'include' attribute is empty. "
              + "Such calls are expensive and unnecessary. "
              + "Please use an empty list ([]) instead."));
}
 
源代码3 项目: bazel   文件: RuntimeEntityResolver.java
private static ClassMemberKey<?> restoreMissingDescriptor(
    ClassMemberKey<?> classMemberKey,
    int round,
    Table<Integer, ClassMemberKey<?>, Set<ClassMemberKey<?>>> missingDescriptorLookupRepo) {
  Set<ClassMemberKey<?>> restoredClassMemberKey =
      missingDescriptorLookupRepo.get(round, classMemberKey);
  if (restoredClassMemberKey == null || restoredClassMemberKey.isEmpty()) {
    throw new IllegalStateException(
        String.format(
            "Unable to find class member (%s). Please check its presence.", classMemberKey));
  } else if (restoredClassMemberKey.size() > 1) {
    throw new IllegalStateException(
        String.format(
            "Class Member (%s) has same-name overloaded members: (%s) \n"
                + "Please specify a descriptor to disambiguate overloaded method request.",
            classMemberKey, restoredClassMemberKey));
  }
  return Iterables.getOnlyElement(restoredClassMemberKey);
}
 
源代码4 项目: brooklyn-server   文件: EntitiesYamlTest.java
@Test
public void testEntitySpecInUnmatchedConfig() throws Exception {
    String yaml =
            "services:\n"+
            "- serviceType: org.apache.brooklyn.core.test.entity.TestEntity\n"+
            "  brooklyn.config:\n"+
            "   key.does.not.match:\n"+
            "     $brooklyn:entitySpec:\n"+
            "       type: org.apache.brooklyn.core.test.entity.TestEntity\n"+
            "       brooklyn.config:\n"+
            "         test.confName: inchildspec\n";
    
    Application app = (Application) createStartWaitAndLogApplication(yaml);
    TestEntity entity = (TestEntity) Iterables.getOnlyElement(app.getChildren());
    Object entitySpecOrSupplier = entity.config().getBag().getStringKey("key.does.not.match");
    if (BrooklynFeatureEnablement.isEnabled(BrooklynFeatureEnablement.FEATURE_PERSIST_ENTITY_SPEC_AS_SUPPLIER)) {
        Asserts.assertInstanceOf(entitySpecOrSupplier, DeferredSupplier.class);
        entitySpecOrSupplier = entity.config().get(ConfigKeys.newConfigKey(Object.class, "key.does.not.match"));
    }
    EntitySpec<?> entitySpec = (EntitySpec<?>) entitySpecOrSupplier;
    assertEquals(entitySpec.getType(), TestEntity.class);
    assertEquals(entitySpec.getConfig(), ImmutableMap.of(TestEntity.CONF_NAME, "inchildspec"));
}
 
@Test
public void testAddCatalogItemOsgi() throws Exception {
    RegisteredType item = makeItem("t1", SIMPLE_ENTITY_TYPE);
    Assert.assertTrue(RegisteredTypePredicates.IS_APPLICATION.apply(item), "item: "+item);
    String yaml = RegisteredTypes.getImplementationDataStringForSpec(item);
    Assert.assertTrue(yaml.indexOf("sample comment")>=0,
        "YAML did not include original comments; it was:\n"+yaml);
    Assert.assertFalse(yaml.indexOf("description")>=0,
        "YAML included metadata which should have been excluded; it was:\n"+yaml);

    // Confirm can deploy an app using this template catalog item
    Entity app = createAndStartApplication(
            "services:",
            "- type: t1");
    waitForApplicationTasks(app);
    
    Entity entity = Iterables.getOnlyElement(app.getChildren());
    assertEquals(entity.getEntityType().getName(), SIMPLE_ENTITY_TYPE);
    
    deleteCatalogEntity("t1");
}
 
源代码6 项目: Quicksql   文件: LatticeSuggesterTest.java
@Test public void testExpressionInJoin() throws Exception {
  final Tester t = new Tester().foodmart().withEvolve(true);

  final String q0 = "select\n"
      + "  \"fname\" || ' ' || \"lname\" as \"full_name\",\n"
      + "  count(*) as c,\n"
      + "  avg(\"total_children\" - \"num_children_at_home\")\n"
      + "from \"customer\" join \"sales_fact_1997\" using (\"customer_id\")\n"
      + "group by \"fname\", \"lname\"";
  final String l0 = "sales_fact_1997 (customer:customer_id)"
      + ":[COUNT(), AVG($f2)]";
  t.addQuery(q0);
  assertThat(t.s.latticeMap.size(), is(1));
  assertThat(Iterables.getOnlyElement(t.s.latticeMap.keySet()),
      is(l0));
  final Lattice lattice = Iterables.getOnlyElement(t.s.latticeMap.values());
  final List<Lattice.DerivedColumn> derivedColumns = lattice.columns.stream()
      .filter(c -> c instanceof Lattice.DerivedColumn)
      .map(c -> (Lattice.DerivedColumn) c)
      .collect(Collectors.toList());
  assertThat(derivedColumns.size(), is(2));
  final List<String> tables = ImmutableList.of("customer");
  assertThat(derivedColumns.get(0).tables, is(tables));
  assertThat(derivedColumns.get(1).tables, is(tables));
}
 
@Test
public void testParameterAnnotations() throws Exception {
  @Api
  class Endpoint {
    @SuppressWarnings("unused")
    public void method(@Named("foo") @Nullable @DefaultValue("4") int foo) {}
  }

  ApiConfig config = createConfig(Endpoint.class);
  annotationReader.loadEndpointClass(serviceContext, Endpoint.class, config);
  annotationReader.loadEndpointMethods(serviceContext, Endpoint.class,
      config.getApiClassConfig().getMethods());

  ApiMethodConfig methodConfig =
      Iterables.getOnlyElement(config.getApiClassConfig().getMethods().values());
  ApiParameterConfig parameterConfig =
      Iterables.getOnlyElement(methodConfig.getParameterConfigs());
  validateParameter(parameterConfig, "foo", true, "4", int.class, null, int.class);
}
 
源代码8 项目: deadcode4j   文件: A_ModuleGenerator.java
@Test
public void createsClassPathEntryForResolvedDependency() throws MojoExecutionException {
    addResolvedArtifact(mavenProject);

    Iterable<Module> modules = objectUnderTest.getModulesFor(singleton(mavenProject));

    assertThat(modules, is(Matchers.<Module>iterableWithSize(1)));
    Module module = Iterables.getOnlyElement(modules);
    assertThat(module.getClassPath(), is(Matchers.<File>iterableWithSize(1)));
}
 
源代码9 项目: brooklyn-server   文件: CatalogYamlEntityTest.java
@Test
public void testLaunchApplicationReferencingCatalog() throws Exception {
    String symbolicName = "myitem";
    addCatalogEntity(IdAndVersion.of(symbolicName, TEST_VERSION), TestEntity.class.getName());

    Entity app = createAndStartApplication(
            "services:",
            "- type: "+ver(symbolicName, TEST_VERSION));

    Entity entity = Iterables.getOnlyElement(app.getChildren());
    assertEquals(entity.getEntityType().getName(), TestEntity.class.getName());

    deleteCatalogEntity(symbolicName);
}
 
源代码10 项目: brooklyn-server   文件: ConfigParametersYamlTest.java
@Test
public void testConfigParameterConstraintParsing() throws Exception {
    addCatalogItems(
            "brooklyn.catalog:",
            "  itemType: entity",
            "  items:",
            "  - id: entity-with-keys",
            "    item:",
            "      type: "+TestEntity.class.getName(),
            "      brooklyn.parameters:",
            "      - name: testRequired",
            "        type: String",
            "        constraints:",
            "        - or:",
            "           - regex: val1",
            "           - regex: val2");
    
    String yaml = Joiner.on("\n").join(
            "services:",
            "- type: entity-with-keys",
            "  brooklyn.config:",
            "    testRequired: val1");

    Entity app = createStartWaitAndLogApplication(yaml);
    TestEntity entity = (TestEntity) Iterables.getOnlyElement(app.getChildren());
    assertKeyEquals(entity, "testRequired", null, String.class, null, "val1");
    
    Predicate<?> constraint = entity.getEntityType().getConfigKey("testRequired").getConstraint();
    assertEquals(constraint.toString(), "Predicates.or(matchesRegex(\"val1\"),matchesRegex(\"val2\"))");

    // Rebind, and then check again that the config key is listed
    Entity newApp = rebind();
    TestEntity newEntity = (TestEntity) Iterables.getOnlyElement(newApp.getChildren());
    assertKeyEquals(newEntity, "testRequired", null, String.class, null, "val1");
    
    Predicate<?> newConstraint = newEntity.getEntityType().getConfigKey("testRequired").getConstraint();
    assertEquals(newConstraint.toString(), "Predicates.or(matchesRegex(\"val1\"),matchesRegex(\"val2\"))");
}
 
源代码11 项目: brooklyn-server   文件: CatalogYamlEntityTest.java
@Test
public void testLaunchApplicationChildWithCatalogReferencingOtherCatalog() throws Exception {
    String referencedSymbolicName = "my.catalog.app.id.child.referenced";
    String referrerSymbolicName = "my.catalog.app.id.child.referring";

    addCatalogEntity(IdAndVersion.of(referencedSymbolicName, TEST_VERSION), TestEntity.class.getName());

    addCatalogItems(
            "brooklyn.catalog:",
            "  id: " + referrerSymbolicName,
            "  version: " + TEST_VERSION,
            "  itemType: entity",
            "  item:",
            "    services:",
            "    - type: " + BasicEntity.class.getName(),
            "      brooklyn.children:",
            "      - type: " + ver(referencedSymbolicName, TEST_VERSION));

    Entity app = createAndStartApplication(
            "services:",
            "- type: "+BasicEntity.class.getName(),
            "  brooklyn.children:",
            "  - type: " + ver(referrerSymbolicName));

    Entity child = Iterables.getOnlyElement(app.getChildren());
    assertEquals(child.getEntityType().getName(), BasicEntity.class.getName());
    Entity grandChild = Iterables.getOnlyElement(child.getChildren());
    assertEquals(grandChild.getEntityType().getName(), BasicEntity.class.getName());
    Entity grandGrandChild = Iterables.getOnlyElement(grandChild.getChildren());
    assertEquals(grandGrandChild.getEntityType().getName(), TestEntity.class.getName());

    deleteCatalogEntity(referencedSymbolicName);
    deleteCatalogEntity(referrerSymbolicName);
}
 
@Test
public void canGenerateOutputUnderAdditionalDeclaredTree() throws Exception {
  SpecialArtifact inputTree = createAndPopulateTreeArtifact("input", "child");
  SpecialArtifact outputTree = createTreeArtifact("output");
  SpecialArtifact additionalOutputTree = createTreeArtifact("additional_output");

  ActionTemplate<DummyAction> template =
      new TestActionTemplate(inputTree, outputTree) {
        @Override
        public ImmutableList<DummyAction> generateActionsForInputArtifacts(
            ImmutableSet<TreeFileArtifact> inputTreeFileArtifacts,
            ActionLookupKey artifactOwner) {
          TreeFileArtifact input = Iterables.getOnlyElement(inputTreeFileArtifacts);
          return ImmutableList.of(
              new DummyAction(
                  input,
                  TreeFileArtifact.createTemplateExpansionOutput(
                      outputTree, "child", artifactOwner)),
              new DummyAction(
                  input,
                  TreeFileArtifact.createTemplateExpansionOutput(
                      additionalOutputTree, "additional_child", artifactOwner)));
        }

        @Override
        public ImmutableSet<Artifact> getOutputs() {
          return ImmutableSet.of(outputTree, additionalOutputTree);
        }
      };

  evaluate(template);
}
 
@Test(groups = {"Live"})
public void testNetcatServer() throws Exception {
    // Runs as root user (hence not `sudo yum install ...`)
    // breaks if shell.env uses attributeWhenReady, so not doing that - see testNetcatServerWithDslInShellEnv()
    String yaml = Joiner.on("\n").join(
            locationYaml,
            "services:",
            "  - type: " + VanillaSoftwareProcess.class.getName(),
            "    brooklyn.parameters:",
            "      - name: netcat.port",
            "        type: port",
            "        default: 8081",
            "    brooklyn.config:",
            "      install.command: |",
            "        yum install -y nc",
            "      launch.command: |",
            "        echo $MESSAGE | nc -l $NETCAT_PORT &",
            "        echo $! > $PID_FILE",
            "      shell.env:",
            "        MESSAGE: mymessage",
            "        NETCAT_PORT: $brooklyn:attributeWhenReady(\"netcat.port\")",
            "    brooklyn.enrichers:",
            "      - type: " + OnPublicNetworkEnricher.class.getName(),
            "        brooklyn.config:",
            "          " + OnPublicNetworkEnricher.SENSORS.getName() + ":",
            "            - netcat.port");

    Entity app = createStartWaitAndLogApplication(yaml);
    VanillaSoftwareProcess entity = Iterables.getOnlyElement(Entities.descendantsAndSelf(app, VanillaSoftwareProcess.class));

    String publicMapped = assertAttributeEventuallyNonNull(entity, Sensors.newStringSensor("netcat.endpoint.mapped.public"));
    HostAndPort publicPort = HostAndPort.fromString(publicMapped);

    assertTrue(Networking.isReachable(publicPort), "publicPort=" + publicPort);
}
 
@Test
public void testEmptyName() {
  setName("");
  List<ConstraintViolation<Object>> validations =
      validator.validate(context, metric, root);
  Assert.assertFalse(validations.isEmpty());
  ConstraintViolation<Object> validation = Iterables.getOnlyElement(
      validations);
  Assert.assertTrue(validation.toString(),
                    validation.getMessage().contains(
                     "does not start with the service name"));
  String path = validation.getPropertyPath().toString();
  Assert.assertEquals(String.format("%s.name", SERVICE_NAME), path);
}
 
源代码15 项目: j2cl   文件: J2clTestingProcessingStep.java
@Override
public Set<Element> process(
    SetMultimap<Class<? extends Annotation>, Element> elementsByAnnotation) {
  Element value = Iterables.getOnlyElement(elementsByAnnotation.get(J2clTestInput.class));
  String className =
      MoreApt.getClassNameFromAnnotation(value, J2clTestInput.class, "value").get();
  handleClass(className);
  return ImmutableSet.of();
}
 
源代码16 项目: auto   文件: ExtensionTest.java
@Test
public void oddBuilderContext() {
  JavaFileObject autoValueClass = JavaFileObjects.forSourceLines(
      "foo.bar.Baz",
      "package foo.bar;",
      "",
      "import com.google.auto.value.AutoValue;",
      "import com.google.common.collect.ImmutableList;",
      "",
      "@AutoValue",
      "abstract class Baz {",
      "  abstract String string();",
      "",
      "  @AutoValue.Builder",
      "  abstract static class Builder {",
      "    abstract Builder setString(String x);",
      "    abstract Baz oddBuild();",
      "    Baz build(int butNotReallyBecauseOfThisParameter) {",
      "      return null;",
      "    }",
      "  }",
      "}");
  ContextChecker checker =
      context -> {
        assertThat(context.builder()).isPresent();
        BuilderContext builderContext = context.builder().get();
        assertThat(builderContext.builderMethods()).isEmpty();
        assertThat(builderContext.toBuilderMethods()).isEmpty();
        assertThat(builderContext.buildMethod()).isEmpty();
        assertThat(builderContext.autoBuildMethod().getSimpleName().toString())
            .isEqualTo("oddBuild");

        Map<String, Set<ExecutableElement>> setters = builderContext.setters();
        assertThat(setters.keySet()).containsExactly("string");
        Set<ExecutableElement> thingSetters = setters.get("string");
        assertThat(thingSetters).hasSize(1);
        ExecutableElement thingSetter = Iterables.getOnlyElement(thingSetters);
        assertThat(thingSetter.getSimpleName().toString()).isEqualTo("setString");

        assertThat(builderContext.propertyBuilders()).isEmpty();
      };
  ContextCheckingExtension extension = new ContextCheckingExtension(checker);
  Compilation compilation =
      javac()
          .withProcessors(new AutoValueProcessor(ImmutableList.of(extension)))
          .compile(autoValueClass);
  assertThat(compilation).succeededWithoutWarnings();
}
 
源代码17 项目: presto   文件: StreamPropertyDerivations.java
@Override
public StreamProperties visitSample(SampleNode node, List<StreamProperties> inputProperties)
{
    return Iterables.getOnlyElement(inputProperties);
}
 
源代码18 项目: grakn   文件: GraknClientIT.java
@Test
public void testExecutingAQuery_ExplanationsAreReturned() {
    try (GraknClient.Transaction tx = remoteSession.transaction().write()) {
        tx.execute(Graql.define(
                type("name").sub("attribute").value("string"),
                type("content").sub("entity").has("name").plays("contained").plays("container"),
                type("contains").sub("relation").relates("contained").relates("container"),
                type("transitive-location").sub("rule")
                        .when(and(
                                rel("contained", "x").rel("container", "y").isa("contains"),
                                rel("contained", "y").rel("container", "z").isa("contains")
                        ))
                        .then(rel("contained", "x").rel("container", "z").isa("contains"))
        ));
        tx.execute(Graql.insert(
                var("x").isa("content").has("name", "x"),
                var("y").isa("content").has("name", "y"),
                var("z").isa("content").has("name", "z"),
                rel("contained", "x").rel("container", "y").isa("contains"),
                rel("contained", "y").rel("container", "z").isa("contains")
        ));
        tx.commit();
    }
    try (GraknClient.Transaction tx = remoteSession.transaction().write()) {
        List<Pattern> patterns = Lists.newArrayList(
                Graql.var("x").isa("content").has("name", "x"),
                var("z").isa("content").has("name", "z"),
                var("infer").rel("contained", "x").rel("container", "z").isa("contains")
        );
        ConceptMap answer = Iterables.getOnlyElement(tx.execute(Graql.match(patterns).get(), GraknClient.Transaction.Options.explain(true)).get());

        final int ruleStatements = tx.getRule("transitive-location").when().statements().size();

        Set<ConceptMap> deductions = deductions(answer);

        assertEquals(patterns.size() + ruleStatements + 1, deductions.size());
        assertEquals(patterns.size(), answer.explanation().getAnswers().size());
        answer.explanation().getAnswers().stream()
                .filter(a -> a.map().containsKey(var("infer").var()))
                .forEach(a -> assertEquals(1, a.explanation().getAnswers().size()));
        testExplanation(answer);
    }
}
 
源代码19 项目: bazel   文件: StarlarkDefinedAspectsTest.java
/**
 * r0 is a dependency of r1 via two attributes, dep1 and dep2. r1 sends an aspect 'a' along dep1
 * but not along dep2.
 *
 * <p>rcollect depends upon r1 and sends another aspect, 'collector', along its dep dependency.
 * 'collector' wants to see aspect 'a' and propagates along dep1 and dep2. It should be applied
 * both to r0 and to r0+a.
 */
@Test
public void multipleDepsDifferentAspects() throws Exception {
  scratch.file(
      "test/aspect.bzl",
      "PAspect = provider()",
      "PCollector = provider()",
      "def _aspect_impl(target, ctx):",
      "   return [PAspect()]",
      "a = aspect(_aspect_impl, attr_aspects = ['dep'], provides = [PAspect])",
      "def _collector_impl(target, ctx):",
      "   suffix = '+PAspect' if PAspect in target else ''",
      "   result = [str(target.label)+suffix]",
      "   for a in ['dep', 'dep1', 'dep2']:",
      "     if hasattr(ctx.rule.attr, a):",
      "        result += getattr(ctx.rule.attr, a)[PCollector].result",
      "   return [PCollector(result=result)]",
      "collector = aspect(_collector_impl, attr_aspects = ['*'], ",
      "                   required_aspect_providers = [PAspect])",
      "def _rimpl(ctx):",
      "   pass",
      "r0 = rule(_rimpl)",
      "r1 = rule(_rimpl, ",
      "          attrs = {",
      "             'dep1' : attr.label(),",
      "             'dep2' : attr.label(aspects = [a]),",
      "          },",
      ")",
      "def _rcollect_impl(ctx):",
      "    return [ctx.attr.dep[PCollector]]",
      "rcollect = rule(_rcollect_impl,",
      "                attrs = {",
      "                  'dep' : attr.label(aspects = [collector]),",
      "                })");
  scratch.file(
      "test/BUILD",
      "load(':aspect.bzl', 'r0', 'r1', 'rcollect')",
      "r0(name = 'r0')",
      "r1(name = 'r1', dep1 = ':r0', dep2 = ':r0')",
      "rcollect(name = 'rcollect', dep = ':r1')");

  AnalysisResult analysisResult = update(ImmutableList.of(), "//test:rcollect");
  ConfiguredTarget configuredTarget =
      Iterables.getOnlyElement(analysisResult.getTargetsToBuild());
  StarlarkProvider.Key pCollector =
      new StarlarkProvider.Key(
          Label.parseAbsolute("//test:aspect.bzl", ImmutableMap.of()), "PCollector");
  StructImpl pCollectorProvider = (StructImpl) configuredTarget.get(pCollector);
  assertThat((Sequence<?>) pCollectorProvider.getValue("result"))
      .containsExactly("//test:r1", "//test:r0", "//test:r0+PAspect");
}
 
源代码20 项目: grakn   文件: RelationTypeVertex.java
public InternalRelationType getBaseType() {
    Entry entry = Iterables.getOnlyElement(getRelated(TypeDefinitionCategory.RELATIONTYPE_INDEX, Direction.IN), null);
    if (entry == null) return null;
    return (InternalRelationType) entry.getSchemaType();
}