List of usage examples for com.google.common.collect Iterables getLast
public static <T> T getLast(Iterable<T> iterable)
From source file:com.google.api.codegen.configgen.NodeFinder.java
public static ConfigNode getLastChild(ConfigNode parentNode) { return Iterables.getLast(getChildren(parentNode)); }
From source file:com.b2international.snowowl.snomed.importer.rf2.refset.SnomedRefSetImporterFactory.java
public static AbstractSnomedRefSetImporter<?, ?> createRefSetImporter(final URL url, final SnomedImportContext importContext, String urlIdentifier) throws IOException { if (url == null) { return null; }/*from w w w . ja v a 2 s . c om*/ String header; try (BufferedReader reader = new BufferedReader(new InputStreamReader(url.openStream(), Charsets.UTF_8))) { header = reader.readLine(); if (Strings.isNullOrEmpty(header)) { return null; } } List<String> headerElements = TAB_SPLITTER.splitToList(header); String lastColumnName = Iterables.getLast(headerElements); if (lastColumnName.equalsIgnoreCase(SnomedRf2Headers.FIELD_QUERY)) { return new SnomedQueryRefSetImporter(importContext, url.openStream(), urlIdentifier); } else if (lastColumnName.equalsIgnoreCase(SnomedRf2Headers.FIELD_VALUE_ID)) { return new SnomedAttributeValueRefSetImporter(importContext, url.openStream(), urlIdentifier); } else if (lastColumnName.equalsIgnoreCase(SnomedRf2Headers.FIELD_TARGET_COMPONENT) || lastColumnName.equalsIgnoreCase(SnomedRf2Headers.FIELD_TARGET_COMPONENT_ID)) { return new SnomedAssociationRefSetImporter(importContext, url.openStream(), urlIdentifier); } else if (lastColumnName.equalsIgnoreCase(SnomedRf2Headers.FIELD_MAP_TARGET)) { return new SnomedSimpleMapTypeRefSetImporter(importContext, url.openStream(), urlIdentifier); } else if (lastColumnName.equalsIgnoreCase(SnomedRf2Headers.FIELD_MAP_TARGET_DESCRIPTION)) { return new SnomedSimpleMapWithDescriptionRefSetImporter(importContext, url.openStream(), urlIdentifier); } else if (lastColumnName.equalsIgnoreCase(SnomedRf2Headers.FIELD_ACCEPTABILITY_ID)) { return new SnomedLanguageRefSetImporter(importContext, url.openStream(), urlIdentifier); } else if (lastColumnName.equalsIgnoreCase(SnomedRf2Headers.FIELD_REFERENCED_COMPONENT_ID)) { return new SnomedSimpleTypeRefSetImporter(importContext, url.openStream(), urlIdentifier); } else if (lastColumnName.equalsIgnoreCase(SnomedRf2Headers.FIELD_CORRELATION_ID)) { return new SnomedComplexMapTypeRefSetImporter(importContext, url.openStream(), false, urlIdentifier); } else if (lastColumnName.equalsIgnoreCase(SnomedRf2Headers.FIELD_MAP_CATEGORY_ID)) { return new SnomedComplexMapTypeRefSetImporter(importContext, url.openStream(), true, urlIdentifier); } else if (lastColumnName.equalsIgnoreCase(SnomedRf2Headers.FIELD_DESCRIPTION_LENGTH)) { return new SnomedDescriptionTypeRefSetImporter(importContext, url.openStream(), urlIdentifier); } else if (lastColumnName.equalsIgnoreCase(SnomedRf2Headers.FIELD_CHARACTERISTIC_TYPE_ID)) { return new SnomedConcreteDataTypeRefSetImporter(importContext, url.openStream(), true, urlIdentifier); } else if (lastColumnName.equalsIgnoreCase(SnomedRf2Headers.FIELD_TARGET_EFFECTIVE_TIME)) { return new SnomedModuleDependencyRefSetImporter(importContext, url.openStream(), urlIdentifier); } else if (lastColumnName.equalsIgnoreCase(SnomedRf2Headers.FIELD_OWL_EXPRESSION)) { if (urlIdentifier.contains("Axiom")) { return new SnomedOWLAxiomRefSetImporter(importContext, url.openStream(), urlIdentifier); } else if (urlIdentifier.contains("Ontology")) { return new SnomedOWLOntologyRefSetImporter(importContext, url.openStream(), urlIdentifier); } } else if (lastColumnName.equalsIgnoreCase(SnomedRf2Headers.FIELD_MRCM_EDITORIAL_GUIDE_REFERENCE)) { return new SnomedMRCMDomainRefSetImporter(importContext, url.openStream(), urlIdentifier); } else if (lastColumnName.equalsIgnoreCase(SnomedRf2Headers.FIELD_MRCM_RULE_REFSET_ID)) { return new SnomedMRCMModuleScopeRefSetImporter(importContext, url.openStream(), urlIdentifier); } else if (lastColumnName.equals(SnomedRf2Headers.FIELD_MRCM_CONTENT_TYPE_ID)) { if (headerElements.contains(SnomedRf2Headers.FIELD_MRCM_DOMAIN_ID)) { return new SnomedMRCMAttributeDomainRefSetImporter(importContext, url.openStream(), urlIdentifier); } else if (headerElements.contains(SnomedRf2Headers.FIELD_MRCM_RANGE_CONSTRAINT)) { return new SnomedMRCMAttributeRangeRefSetImporter(importContext, url.openStream(), urlIdentifier); } } return null; }
From source file:com.google.errorprone.matchers.IsLastStatementInBlock.java
@Override public boolean matches(T statement, VisitorState state) { BlockTree block = state.findEnclosing(BlockTree.class); return Iterables.getLast(block.getStatements()).equals(statement); }
From source file:org.trancecode.collection.TcIterables.java
/** * Get the last argument from a sequence, or <code>defaultElement</code> if * there is no such last element.//from ww w . j a v a 2s. c om */ @ReturnsNullable public static <T> T getLast(final Iterable<T> elements, final T defaultElement) { try { return Iterables.getLast(elements); } catch (final NoSuchElementException e) { return defaultElement; } }
From source file:org.apache.whirr.service.puppet.predicates.PuppetPredicates.java
public static Predicate<String> isLastPuppetRoleIn(final Iterable<String> roles) { return new Predicate<String>() { @Override//from ww w. j a va 2 s . c o m public boolean apply(String arg0) { return Iterables .getLast(Iterables.filter(roles, Predicates.containsPattern("^" + PUPPET_ROLE_PREFIX + arg0))) .equals(PUPPET_ROLE_PREFIX + arg0); } @Override public String toString() { return "isLastPuppetRoleIn(" + roles + ")"; } }; }
From source file:com.android.tools.idea.npw.importing.ImportUIUtil.java
/** * Formats a message picking the format string depending on number of arguments * * @param values values that will be used as format argument. * @param oneElementMessage message when only one value is in the list. Should accept one string argument. * @param twoOrThreeElementsMessage message format when there's 2 or 3 values. Should accept two string arguments. * @param moreThenThreeElementsMessage message format for over 3 values. Should accept one string and one number. * @return formatted message string/*from w w w . j a v a 2 s . c o m*/ */ public static String formatElementListString(Iterable<String> values, String oneElementMessage, String twoOrThreeElementsMessage, String moreThenThreeElementsMessage) { int size = Iterables.size(values); if (size <= 1) { // If there's 0 elements, some error happened return String.format(oneElementMessage, Iterables.getFirst(values, "<validation error>")); } else if (size <= 3) { return String.format(twoOrThreeElementsMessage, atMostTwo(values, size), Iterables.getLast(values)); } else { return String.format(moreThenThreeElementsMessage, atMostTwo(values, size), size - 2); } }
From source file:fr.putnami.pwt.core.editor.client.util.PathUtils.java
public static boolean isCollection(Path path) { return path != null && !path.isEmpty() && Iterables.getLast(path).getIndexKey() != null; }
From source file:com.vmware.vchs.utils.BillingUtils.java
public static void checkFileSizeWithGCS(BackupResource backupResource) { String backupFileName = Iterables .getLast(Splitter.on("/").trimResults().omitEmptyStrings().split(backupResource.getResourceUri())); int backupFileSize = new GCSClient().getSizeOfFile(backupFileName); assertThat(Math.round(backupFileSize / 1024)).isEqualTo((int) backupResource.getSize()); }
From source file:org.apache.metron.dataloads.nonbulk.taxii.TableInfo.java
public TableInfo(String s) { Iterable<String> i = Splitter.on(":").split(s); if (Iterables.size(i) != 2) { throw new IllegalStateException("Malformed table:cf => " + s); }/*from w w w . ja v a 2 s.co m*/ tableName = Iterables.getFirst(i, null); columnFamily = Iterables.getLast(i); }
From source file:com.google.security.zynamics.binnavi.Gui.Debug.ToolbarPanel.Implementations.CStepEndHelper.java
/** * Returns the addresses of all final instructions of a graph. * * @param graph The graph whose final addresses are returned. * * @return The final addresses of the graph. *///from w w w . jav a 2 s . com public static Set<BreakpointAddress> getEndAddresses(final ZyGraph graph) { final Set<BreakpointAddress> instructions = new HashSet<BreakpointAddress>(); graph.iterate(new INodeCallback<NaviNode>() { @Override public IterationMode next(final NaviNode node) { if ((node.getRawNode() instanceof INaviCodeNode) && node.getChildren().isEmpty()) { final INaviCodeNode cnode = (INaviCodeNode) node.getRawNode(); final INaviInstruction lastInstruction = Iterables.getLast(cnode.getInstructions()); instructions.add(new BreakpointAddress(lastInstruction.getModule(), new UnrelocatedAddress(lastInstruction.getAddress()))); } return IterationMode.CONTINUE; } }); return instructions; }