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

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

源代码1 项目: morf   文件: ViewChanges.java
/**
 * Performs a topological sort using a depth-first search algorithm and returns a sorted list of
 * database views for the schema upgrade.
 *
 * @param allViews all of the database views bound into the target schema.
 * @param index a complete index of all views in both the source and target schema.
 * @return a topologically sorted list {@link http://en.wikipedia.org/wiki/Topological_sorting} of view names
 */
private List<String> topoSortViews(Collection<View> allViews, Map<String, View> index) {
  if (log.isDebugEnabled()) {
    log.debug("Toposorting: " + Joiner.on(", ").join(Collections2.transform(allViews, viewToName())));
  }

  // The set of views we want to perform the sort on.
  Set<String> unmarkedViews = newHashSet(Collections2.transform(allViews, viewToName()));
  Set<String> temporarilyMarkedRecords = newHashSet();
  List<String> sortedList = newLinkedList();

  while (!unmarkedViews.isEmpty()) {
    String node = Iterables.getFirst(unmarkedViews, null);
    visit(node, temporarilyMarkedRecords, sortedList, index);
    unmarkedViews.remove(node);
  }

  return sortedList;
}
 
源代码2 项目: tracecompass   文件: MetadataTest.java
private void testEndianess(String tsdl, ByteOrder traceEndian, ByteOrder fieldEndian) throws CTFException {
    fixture = new Metadata();
    CTFTrace trace = fixture.getTrace();
    fixture.parseText(tsdl);
    assertEquals(traceEndian, trace.getByteOrder());
    final Iterable<IEventDeclaration> eventDeclarations = trace.getEventDeclarations(0L);
    assertNotNull(eventDeclarations);
    IEventDeclaration event = Iterables.getFirst(eventDeclarations, null);
    assertNotNull(event);
    assertNotNull(event.getFields());
    final @Nullable IDeclaration field = event.getFields().getField("data");
    assertNotNull(field);
    if (field instanceof ISimpleDatatypeDeclaration) {
        ISimpleDatatypeDeclaration declaration = (ISimpleDatatypeDeclaration) field;
        assertEquals(fieldEndian, declaration.getByteOrder());
    } else {
        fail("data is not the right type");
    }
}
 
public ConfirmEmailHtmlNotificationDemoPage(PageParameters parameters) {
	super(parameters);
	
	User user = userService.getByUserName(ConsoleNotificationIndexPage.DEFAULT_USERNAME);
	EmailAddress emailAddress = null;
	if (user != null) {
		emailAddress = Iterables.getFirst(user.getAdditionalEmails(), null);
	}
	if (user == null || emailAddress == null) {
		LOGGER.error("There is no user or email address available");
		Session.get().error(getString("console.notifications.noDataAvailable"));
		
		throw new RestartResponseException(ConsoleNotificationIndexPage.class);
	}

	if (emailAddress.getEmailHash() == null) {
		emailAddress.setEmailHash(userService.getHash(user, emailAddress.getEmail()));
	}
	
	add(new ConfirmEmailHtmlNotificationPanel("htmlPanel", Model.of(emailAddress)));
}
 
源代码4 项目: dsl-devkit   文件: PrefixedContainerBasedScope.java
@SuppressWarnings("PMD.UseLocaleWithCaseConversions")
@Override
public synchronized IEObjectDescription getSingleElement(final QualifiedName name) {
  final boolean ignoreCase = isIgnoreCase();
  final QualifiedName lookupName = ignoreCase ? name.toLowerCase() : name;
  final IEObjectDescription result = contentByNameCache.get(lookupName);
  if (result != null && result != NULL_DESCRIPTION) {
    return result;
  } else if (result == null) {
    final ContainerQuery copy = ((ContainerQuery.Builder) criteria).copy().name(prefix.append(lookupName)).ignoreCase(ignoreCase);
    final Iterable<IEObjectDescription> res = copy.execute(container);
    IEObjectDescription desc = Iterables.getFirst(res, null);
    if (desc != null) {
      IEObjectDescription aliased = new AliasingEObjectDescription(name, desc);
      contentByNameCache.put(lookupName, aliased);
      return aliased;
    }
    contentByNameCache.put(lookupName, NULL_DESCRIPTION);
  }

  // in case of aliasing revert to normal ContainerBasedScope behavior (using name pattern)
  if (nameFunctions.size() > 1) {
    return super.getSingleElement(name);
  }
  return getParent().getSingleElement(name);
}
 
源代码5 项目: grpc-java   文件: KeepAliveManagerTest.java
@Test
public void transportGoesIdleBeforePingSent() {

  // Transport becomes active. We should schedule keepalive pings.
  keepAliveManager.onTransportActive();
  assertThat(fakeClock.getPendingTasks()).hasSize(1);
  ScheduledFuture<?> pingFuture = Iterables.getFirst(fakeClock.getPendingTasks(), null);

  // Data is received, and we go to ping delayed
  keepAliveManager.onDataReceived();

  // Transport becomes idle while the 1st ping is still scheduled
  keepAliveManager.onTransportIdle();

  // Transport becomes active again, we don't need to reschedule another ping
  keepAliveManager.onTransportActive();
  assertThat(fakeClock.getPendingTasks()).containsExactly(pingFuture);
}
 
@Test
public void testOneEdge() {
  Configuration c = configurationWithSession();
  String node = c.getHostname();
  String iface = Iterables.getFirst(c.getAllInterfaces().keySet(), null);
  Set<Edge> edges = ImmutableSortedSet.of(Edge.of(NODE1, IFACE1, node, iface));
  LastHopOutgoingInterfaceManager mgr =
      new LastHopOutgoingInterfaceManager(_pkt, configs(c), edges);
  assertThat(mgr.getFiniteDomains().entrySet(), hasSize(1));
  BDD lastHopBdd = mgr.getLastHopOutgoingInterfaceBdd(NODE1, IFACE1, node, iface);
  assertFalse(lastHopBdd.isZero());
  assertFalse(lastHopBdd.isOne());

  BDD noLastHopBdd = mgr.getNoLastHopOutgoingInterfaceBdd(node, iface);
  assertFalse(noLastHopBdd.isZero());
  assertFalse(noLastHopBdd.isOne());

  assertThat(lastHopBdd, not(equalTo(noLastHopBdd)));
}
 
@Test
public void testTwoEdges() {
  Configuration c = configurationWithSession();
  String node = c.getHostname();
  String iface = Iterables.getFirst(c.getAllInterfaces().keySet(), null);
  Set<Edge> edges =
      ImmutableSet.of(Edge.of(NODE1, IFACE1, node, iface), Edge.of(NODE2, IFACE2, node, iface));
  LastHopOutgoingInterfaceManager mgr =
      new LastHopOutgoingInterfaceManager(_pkt, configs(c), edges);
  assertThat(mgr.getFiniteDomains().values(), not(empty()));
  BDD bdd1 = mgr.getLastHopOutgoingInterfaceBdd(NODE1, IFACE1, node, iface);
  BDD bdd2 = mgr.getLastHopOutgoingInterfaceBdd(NODE2, IFACE2, node, iface);
  assertFalse(bdd1.isZero());
  assertFalse(bdd1.isOne());
  assertFalse(bdd2.isZero());
  assertFalse(bdd2.isOne());
  assertTrue(!bdd1.equals(bdd2));
}
 
源代码8 项目: java_in_examples   文件: CollectionSearchTests.java
private static void testGetFirst() {
    Collection<String> collection = Lists.newArrayList("a1", "a2", "a3", "a1");
    OrderedIterable<String> orderedIterable = FastList.newListWith("a1", "a2", "a3", "a1");
    Iterable<String> iterable = collection;

    // get first element
    Iterator<String> iterator = collection.iterator(); // using JDK
    String jdk = iterator.hasNext() ? iterator.next(): "1";
    String guava = Iterables.getFirst(iterable, "1"); // using guava
    String apache = CollectionUtils.get(iterable, 0);  // using Apache
    String gs = orderedIterable.getFirst(); // using GS
    String stream = collection.stream().findFirst().orElse("1"); // using Stream API
    System.out.println("first = " + jdk + ":" + guava + ":" + apache + ":" + gs + ":" + stream); // print first = a1:a1:a1:a1:a1
}
 
源代码9 项目: closure-stylesheets   文件: Property.java
public Property build() {
  if (this.shorthands == null) {
    this.shorthands = computeShorthandPropertiesFor(this.name);
  }
  String partition = Iterables.getFirst(this.shorthands, name);
  return new Property(
      this.name,
      this.shorthands,
      partition,
      this.vendor,
      this.hasPositionalParameters,
      this.isCustom,
      this.isSvgOnly,
      this.warning);
}
 
源代码10 项目: xtext-extras   文件: Bug480686Test.java
@Test
public void testUpdateTwice() throws Exception {
	ContentAssistFragmentTestLanguageRoot result = parseHelper.parse("");
	XtextResource res = (XtextResource) result.eResource();
	new InvariantChecker().checkInvariant(res.getParseResult().getRootNode());
	res.update(0, 0, "newArrayList()");
	EObject first = Iterables.getFirst(res.getContents(), null);
	Assert.assertTrue(first.eClass().getName(), first instanceof ContentAssistFragmentTestLanguageRoot);
	res.update("newArrayList(".length(), 0, "1");
	EObject second = Iterables.getFirst(res.getContents(), null);
	Assert.assertTrue(second.eClass().getName(), second instanceof ContentAssistFragmentTestLanguageRoot);
}
 
源代码11 项目: bazel-buildfarm   文件: CASFileCacheTest.java
public WindowsCASFileCacheTest() {
  super(
      Iterables.getFirst(
          Jimfs.newFileSystem(
                  Configuration.windows()
                      .toBuilder()
                      .setAttributeViews("basic", "owner", "dos", "acl", "posix", "user")
                      .build())
              .getRootDirectories(),
          null));
}
 
源代码12 项目: blueocean-plugin   文件: FavoritesStatePreloader.java
@Override
protected FetchData getFetchData(@Nonnull BlueUrlTokenizer blueUrl) {
    User jenkinsUser = User.current();
    if (jenkinsUser != null) {
        BlueOrganization organization = Iterables.getFirst(OrganizationFactory.getInstance().list(), null);
        if (organization != null) {
            String pipelineFullName = blueUrl.getPart(BlueUrlTokenizer.UrlPart.PIPELINE);

            // don't need this list when at pipeline pages
            if (pipelineFullName != null) {
                return null;
            }

            UserImpl blueUser = new UserImpl(organization, jenkinsUser, organization.getUsers());
            BlueFavoriteContainer favoritesContainer = blueUser.getFavorites();

            if (favoritesContainer != null) {
                JSONArray favorites = new JSONArray();
                // Limit the number of favorites to return to a sane amount
                Iterator<BlueFavorite> favoritesIterator = favoritesContainer.iterator(0, DEFAULT_LIMIT);

                while (favoritesIterator.hasNext()) {
                    Reachable favorite = favoritesIterator.next();
                    try {
                        favorites.add(JSONObject.fromObject(Export.toJson(favorite)));
                    } catch (IOException e) {
                        LOGGER.log(Level.FINE, String.format("Unable to preload favorites for User '%s'. Serialization error.", jenkinsUser.getFullName()), e);
                        return null;
                    }
                }

                return new FetchData(favoritesContainer.getLink().getHref() + "?start=0&limit=" + DEFAULT_LIMIT, favorites.toString());
            }
        }
    }

    // Don't preload any data on the page.
    return null;
}
 
源代码13 项目: metron   文件: CSVConverter.java
/**
 * Given a column determines the column -> position. If the column contains data in the format
 * {@code columnName:position}, use that. Otherwise, use the provided value of i.
 *
 * @param column The data in the column
 * @param i The default position to use
 * @return A map entry of column value -> position
 */
public static Map.Entry<String, Integer> getColumnMapEntry(String column, int i) {
  if(column.contains(":")) {
    Iterable<String> tokens = Splitter.on(':').split(column);
    String col = Iterables.getFirst(tokens, null);
    Integer pos = Integer.parseInt(Iterables.getLast(tokens));
    return new AbstractMap.SimpleEntry<>(col, pos);
  }
  else {
    return new AbstractMap.SimpleEntry<>(column, i);
  }

}
 
源代码14 项目: tracecompass   文件: MultiAspect.java
/**
 * Factory method for building a multi aspect.
 *
 * @param aspects
 *            Aspects sharing the same type as the "aspectClass" parameter
 * @param aspectClass
 *            Class of the aspects to aggregate
 * @return a MultiAspect or another ITmfEventAspect
 */
public static @Nullable ITmfEventAspect<?> create(Iterable<ITmfEventAspect<?>> aspects, Class<?> aspectClass) {
    int size = Iterables.size(aspects);
    if (size == 0 || size == 1) {
        // Nothing to aggregate if there is no aspects or one unique aspect
        return Iterables.getFirst(aspects, null);
    }

    Set<String> names = new HashSet<>();
    for (ITmfEventAspect<?> aspect : aspects) {
        // Ensure all aspects belong to the same class as the "aspectClass" parameter
        if (aspectClass.isAssignableFrom(aspect.getClass())) {
            names.add(aspect.getName());
        } else {
            throw new IllegalArgumentException("Aspects must belong to the same class as the \"aspectClass\" parameter."); //$NON-NLS-1$
        }
    }

    // Ensure all aspects of the same type share the same name
    if (names.size() != 1) {
        StringJoiner sj = new StringJoiner(", "); //$NON-NLS-1$
        names.forEach(sj::add);
        TraceCompassLogUtils.traceInstant(LOGGER, Level.WARNING, "Aspects do not have the same name: ", sj.toString()); //$NON-NLS-1$ );
    }

    return new MultiAspect<>(Iterables.get(names, 0), aspects);
}
 
源代码15 项目: scalable-ocr   文件: ConversionProcessor.java
private int getPageNumber(String fileName) {
  Iterable<String> it = Splitter.on(".tiff").split(fileName);
  String first = Iterables.getFirst(it, null);
  return Integer.parseInt(Iterables.getLast(Splitter.on("-").split(first)));
}
 
源代码16 项目: xtext-core   文件: CommandRegistryTest.java
@Override
public CompletableFuture<Void> unregisterCapability(UnregistrationParams params) {
	Unregistration unreg = Iterables.getFirst(params.getUnregisterations(), null);
	registered.remove(unreg.getId());
	return CompletableFuture.completedFuture(null);
}
 
源代码17 项目: tracecompass   文件: CallGraphDensityViewer.java
@Override
protected @Nullable ISegmentStoreProvider getSegmentStoreProvider(@NonNull ITmfTrace trace) {
    Iterable<CallStackAnalysis> csModules = TmfTraceUtils.getAnalysisModulesOfClass(trace, CallStackAnalysis.class);
    return Iterables.getFirst(csModules, null);
}
 
private void testParser(final String table, final String databaseOperation, final String moduleId,
    final String address, final String position, final String expressionId,
    final String typeInstanceId) {

  final StringBuilder builder = new StringBuilder();
  builder.append(table);
  builder.append(' ');
  builder.append(databaseOperation);
  builder.append(' ');
  builder.append(moduleId);
  builder.append(' ');
  if (address != null) {
    builder.append(address);
    builder.append(' ');
  }
  if (position != null) {
    builder.append(position);
    builder.append(' ');
  }
  if (expressionId != null) {
    builder.append(expressionId);
    builder.append(' ');
  }
  builder.append(typeInstanceId);
  final String notification = builder.toString();
  notifications.add(new MockPGNotification("type_instances_changes", notification));

  final PostgreSQLTypeInstancesNotificationParser parser =
      new PostgreSQLTypeInstancesNotificationParser();
  final Collection<TypeInstancesNotificationContainer> result =
      parser.parse(notifications, provider);

  assertNotNull(result);
  assertTrue(!result.isEmpty());
  assertTrue(result.size() == 1);

  final TypeInstancesNotificationContainer container = Iterables.getFirst(result, null);
  assertNotNull(container);
  assertEquals(databaseOperation, container.getDatabaseOperation());

}
 
源代码19 项目: kite   文件: TestFileSystemUtil.java
@Test
public void testIncompatibleFormatFilesInSameFolder() throws Exception {
  File folder = temp.newFolder("a/b/c/d/e");
  Path root = new Path(temp.getRoot().toURI());
  FileSystem fs = LocalFileSystem.getInstance();

  // create Avro and Parquet files under separate folders, with the same schema
  Path parent = new Path(folder.toURI());
  createAvroUserFile(fs, parent);
  createParquetUserFile(fs, parent);

  Collection<DatasetDescriptor> descriptors = FileSystemUtil
      .findPotentialDatasets(fs, root);

  Assert.assertEquals("Should have 2 descriptors", 2, descriptors.size());
  DatasetDescriptor avro;
  DatasetDescriptor parquet;
  DatasetDescriptor first = Iterables.getFirst(descriptors, null);
  if (first.getFormat() == Formats.AVRO) {
    avro = first;
    parquet = Iterables.getLast(descriptors, null);
  } else {
    parquet = first;
    avro = Iterables.getLast(descriptors, null);
  }

  Assert.assertFalse("Should not flag at mixed depth",
      avro.hasProperty("kite.filesystem.mixed-depth"));
  Assert.assertEquals("Should be directly under parent",
      parent.toUri(),
      parent(avro.getLocation()));
  Assert.assertTrue("Should be a .avro file",
      avro.getLocation().toString().endsWith(".avro"));
  Assert.assertEquals("Should use user schema",
      USER_SCHEMA, avro.getSchema());
  Assert.assertEquals("Should have Avro format",
      Formats.AVRO, avro.getFormat());
  Assert.assertFalse("Should not be partitioned",
      avro.isPartitioned());

  Assert.assertFalse("Should not flag at mixed depth",
      parquet.hasProperty("kite.filesystem.mixed-depth"));
  Assert.assertEquals("Should be directly under parent",
      parent.toUri(),
      parent(parquet.getLocation()));
  Assert.assertTrue("Should be a .parquet file",
      parquet.getLocation().toString().endsWith(".parquet"));
  Assert.assertEquals("Should use user schema",
      USER_SCHEMA, parquet.getSchema());
  Assert.assertEquals("Should have Avro format",
      Formats.PARQUET, parquet.getFormat());
  Assert.assertFalse("Should not be partitioned",
      parquet.isPartitioned());
}
 
源代码20 项目: async-datastore-client   文件: QueryResult.java
/**
 * Return the first entity returned from the query or null if not found.
 *
 * This is a shortcut for {@code getAll().get(0)}
 *
 * @return an entity returned from the Datastore.
 */
public Entity getEntity() {
  return Iterables.getFirst(entities, null);
}