Example usage for com.google.common.collect Iterables getLast

List of usage examples for com.google.common.collect Iterables getLast

Introduction

In this page you can find the example usage for com.google.common.collect Iterables getLast.

Prototype

public static <T> T getLast(Iterable<T> iterable) 

Source Link

Document

Returns the last element of iterable .

Usage

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;
}