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

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

Introduction

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

Prototype

@Nullable
public static <T> T getFirst(Iterable<? extends T> iterable, @Nullable T defaultValue) 

Source Link

Document

Returns the first element in iterable or defaultValue if the iterable is empty.

Usage

From source file:com.dropbox.presto.kafka.KafkaSplitManager.java

@Override
public SplitSource getPartitionSplits(TableHandle tableHandle, List<Partition> partitions) {
    checkNotNull(partitions, "partitions is null");

    Partition partition = Iterables.getFirst(partitions, null);
    if (partition != null) {
        checkArgument(partition instanceof HivePartition, "Partition must be a hive partition");
    }/*from   w ww  .  j a v a 2 s  .com*/

    SchemaTableName tableName = getTableName(tableHandle);
    Table table = null;
    Iterable<org.apache.hadoop.hive.metastore.api.Partition> hivePartitions = null;
    try {
        table = metastore().getTable(tableName.getSchemaName(), tableName.getTableName());
        if (table.getPartitionKeys() != null && table.getPartitionKeys().size() > 0) {
            List<String> partitionNames = new ArrayList<String>(
                    Lists.transform(partitions, partitionIdGetter()));
            Collections.sort(partitionNames, Ordering.natural().reverse());
            hivePartitions = getPartitions(table, tableName, partitionNames);
        }
    } catch (NoSuchObjectException e) {
        throw new RuntimeException(tableName + " not found.");
    } catch (MetaException e) {
        throw new RuntimeException(tableName + " not found.");
    }

    return new KafkaSplitSourceProvider(connectorId, table, hivePartitions, kafkaConfig).get();
}

From source file:com.infinities.keystone4j.token.model.KeystoneToken.java

public String getAutitId() {
    if (V3.equals(version)) {
        return Iterables.getFirst(((TokenData) tokenData).getAuditIds(), null);
    } else {//from  w ww. ja v a2 s.  c  o m
        return Iterables.getFirst(((Access) tokenData).getToken().getAuditIds(), null);
    }
}

From source file:com.linagora.obm.ui.page.ContactPage.java

public WebElement findDeleteButton() {
    return Iterables.getFirst(driver.findElements(By.className("deleteButton")), null);
}

From source file:org.robotframework.ide.eclipse.main.plugin.hyperlink.TableHyperlinksSupport.java

@VisibleForTesting
static Optional<IRegion> getMergedHyperlinkRegion(final Collection<IHyperlink> hyperlinks) {
    if (hyperlinks.isEmpty()) {
        return Optional.empty();
    }/*from  w  ww  .  j a  v a2  s  .c  om*/
    IRegion hyperlinkRegion = Iterables.getFirst(hyperlinks, null).getHyperlinkRegion();
    for (final IHyperlink link : hyperlinks) {
        hyperlinkRegion = merge(hyperlinkRegion, link.getHyperlinkRegion());
    }
    return Optional.of(hyperlinkRegion);
}

From source file:com.google.gerrit.server.project.ConfigInfoImpl.java

public ConfigInfoImpl(boolean serverEnableSignedPush, ProjectControl control, TransferConfig config,
        DynamicMap<ProjectConfigEntry> pluginConfigEntries, PluginConfigFactory cfgFactory,
        AllProjectsName allProjects, DynamicMap<RestView<ProjectResource>> views) {
    ProjectState projectState = control.getProjectState();
    Project p = control.getProject();/* w  w  w  . j av a  2 s .c om*/
    this.description = Strings.emptyToNull(p.getDescription());

    InheritedBooleanInfo useContributorAgreements = new InheritedBooleanInfo();
    InheritedBooleanInfo useSignedOffBy = new InheritedBooleanInfo();
    InheritedBooleanInfo useContentMerge = new InheritedBooleanInfo();
    InheritedBooleanInfo requireChangeId = new InheritedBooleanInfo();
    InheritedBooleanInfo createNewChangeForAllNotInTarget = new InheritedBooleanInfo();
    InheritedBooleanInfo enableSignedPush = new InheritedBooleanInfo();
    InheritedBooleanInfo requireSignedPush = new InheritedBooleanInfo();
    InheritedBooleanInfo rejectImplicitMerges = new InheritedBooleanInfo();
    InheritedBooleanInfo enableReviewerByEmail = new InheritedBooleanInfo();

    useContributorAgreements.value = projectState.isUseContributorAgreements();
    useSignedOffBy.value = projectState.isUseSignedOffBy();
    useContentMerge.value = projectState.isUseContentMerge();
    requireChangeId.value = projectState.isRequireChangeID();
    createNewChangeForAllNotInTarget.value = projectState.isCreateNewChangeForAllNotInTarget();

    useContributorAgreements.configuredValue = p.getUseContributorAgreements();
    useSignedOffBy.configuredValue = p.getUseSignedOffBy();
    useContentMerge.configuredValue = p.getUseContentMerge();
    requireChangeId.configuredValue = p.getRequireChangeID();
    createNewChangeForAllNotInTarget.configuredValue = p.getCreateNewChangeForAllNotInTarget();
    enableSignedPush.configuredValue = p.getEnableSignedPush();
    requireSignedPush.configuredValue = p.getRequireSignedPush();
    rejectImplicitMerges.configuredValue = p.getRejectImplicitMerges();
    enableReviewerByEmail.configuredValue = p.getEnableReviewerByEmail();

    ProjectState parentState = Iterables.getFirst(projectState.parents(), null);
    if (parentState != null) {
        useContributorAgreements.inheritedValue = parentState.isUseContributorAgreements();
        useSignedOffBy.inheritedValue = parentState.isUseSignedOffBy();
        useContentMerge.inheritedValue = parentState.isUseContentMerge();
        requireChangeId.inheritedValue = parentState.isRequireChangeID();
        createNewChangeForAllNotInTarget.inheritedValue = parentState.isCreateNewChangeForAllNotInTarget();
        enableSignedPush.inheritedValue = projectState.isEnableSignedPush();
        requireSignedPush.inheritedValue = projectState.isRequireSignedPush();
        rejectImplicitMerges.inheritedValue = projectState.isRejectImplicitMerges();
        enableReviewerByEmail.inheritedValue = projectState.isEnableReviewerByEmail();
    }

    this.useContributorAgreements = useContributorAgreements;
    this.useSignedOffBy = useSignedOffBy;
    this.useContentMerge = useContentMerge;
    this.requireChangeId = requireChangeId;
    this.rejectImplicitMerges = rejectImplicitMerges;
    this.createNewChangeForAllNotInTarget = createNewChangeForAllNotInTarget;
    this.enableReviewerByEmail = enableReviewerByEmail;
    if (serverEnableSignedPush) {
        this.enableSignedPush = enableSignedPush;
        this.requireSignedPush = requireSignedPush;
    }

    MaxObjectSizeLimitInfo maxObjectSizeLimit = new MaxObjectSizeLimitInfo();
    maxObjectSizeLimit.value = config.getEffectiveMaxObjectSizeLimit(projectState) == config
            .getMaxObjectSizeLimit() ? config.getFormattedMaxObjectSizeLimit() : p.getMaxObjectSizeLimit();
    maxObjectSizeLimit.configuredValue = p.getMaxObjectSizeLimit();
    maxObjectSizeLimit.inheritedValue = config.getFormattedMaxObjectSizeLimit();
    this.maxObjectSizeLimit = maxObjectSizeLimit;

    this.submitType = p.getSubmitType();
    this.state = p.getState() != com.google.gerrit.extensions.client.ProjectState.ACTIVE ? p.getState() : null;

    this.commentlinks = new LinkedHashMap<>();
    for (CommentLinkInfo cl : projectState.getCommentLinks()) {
        this.commentlinks.put(cl.name, cl);
    }

    pluginConfig = getPluginConfig(control.getProjectState(), pluginConfigEntries, cfgFactory, allProjects);

    actions = new TreeMap<>();
    for (UiAction.Description d : UiActions.from(views, new ProjectResource(control),
            Providers.of(control.getUser()))) {
        actions.put(d.getId(), new ActionInfo(d));
    }
    this.theme = projectState.getTheme();

    this.extensionPanelNames = projectState.getConfig().getExtensionPanelSections();
}

From source file:be.ugent.psb.coexpnetviz.layout.CENVLayoutTask.java

private Set<Set<CyNode>> getConnectedComponents() {
    Set<Set<CyNode>> connectedComponents = new HashSet<>();
    Set<CyNode> unvisited = new HashSet<CyNode>(getNetwork().getNodeList());

    while (!unvisited.isEmpty()) {
        Set<CyNode> connectedComponent = new HashSet<>();
        connectedComponents.add(connectedComponent);

        Set<CyNode> toVisit = new HashSet<>(); // nodes of the connected component that we know we haven't visited yet
        toVisit.add(Iterables.getFirst(unvisited, null));

        while (!toVisit.isEmpty()) {
            CyNode node = Sets.pop(toVisit);
            unvisited.remove(node);//  ww w.  j  av a 2s.  co  m
            connectedComponent.add(node);
            for (CyNode neighbour : getNetwork().getNeighborList(node, CyEdge.Type.ANY)) {
                if (unvisited.contains(neighbour)) {
                    toVisit.add(neighbour);
                }
            }
        }
        System.out.println("connected component: " + connectedComponent.size());
    }

    System.out.println("got the connected components");
    return connectedComponents;
}

From source file:cpw.mods.fml.common.asm.transformers.AccessTransformer.java

private void readMapFile(String rulesFile) throws IOException {
    File file = new File(rulesFile);
    URL rulesResource;//ww  w  .  j a  v a 2 s .  c o m
    if (file.exists()) {
        rulesResource = file.toURI().toURL();
    } else {
        rulesResource = Resources.getResource(rulesFile);
    }
    Resources.readLines(rulesResource, Charsets.UTF_8, new LineProcessor<Void>() {
        @Override
        public Void getResult() {
            return null;
        }

        @Override
        public boolean processLine(String input) throws IOException {
            String line = Iterables.getFirst(Splitter.on('#').limit(2).split(input), "").trim();
            if (line.length() == 0) {
                return true;
            }
            List<String> parts = Lists.newArrayList(Splitter.on(" ").trimResults().split(line));
            if (parts.size() > 3) {
                throw new RuntimeException("Invalid config file line " + input);
            }
            Modifier m = new Modifier();
            m.setTargetAccess(parts.get(0));

            if (parts.size() == 2) {
                m.modifyClassVisibility = true;
            } else {
                String nameReference = parts.get(2);
                int parenIdx = nameReference.indexOf('(');
                if (parenIdx > 0) {
                    m.desc = nameReference.substring(parenIdx);
                    m.name = nameReference.substring(0, parenIdx);
                } else {
                    m.name = nameReference;
                }
            }
            String className = parts.get(1).replace('/', '.');
            modifiers.put(className, m);
            if (DEBUG)
                System.out.printf("AT RULE: %s %s %s (type %s)\n", toBinary(m.targetAccess), m.name, m.desc,
                        className);
            return true;
        }
    });
    FMLRelaunchLog.fine("Loaded %d rules from AccessTransformer config file %s\n", modifiers.size(), rulesFile);
}

From source file:com.kolich.logback.LogbackCapturingAppender.java

/**
 * Returns the first logger event level in the {@link List} of captured logging messages.
 *
 * Will return null if no logging events have been captured.
 */// w w  w. ja  v  a 2 s.  c  o m
public Level getFirstLevel() {
    return Iterables.getFirst(getLevels(), null);
}

From source file:ru.crazyproger.plugins.webtoper.component.ClassLineMarkerProvider.java

private void collectClassLineMarkers(PsiClass element, Collection<LineMarkerInfo> result) {
    ProjectFileIndex fileIndex = ProjectRootManager.getInstance(element.getProject()).getFileIndex();
    PsiFile containingFile = element.getContainingFile();
    PsiIdentifier identifier = PsiTreeUtil.getChildOfType(element, PsiIdentifier.class);
    if (identifier == null)
        return;/* w  ww .jav a 2 s. c o  m*/
    if (containingFile == null)
        return;
    VirtualFile virtualFile = containingFile.getVirtualFile();
    if (virtualFile == null)
        return;
    Module module = fileIndex.getModuleForFile(virtualFile);
    if (module == null)
        return;
    Collection<PsiElement> elements = getNavigatablePsiElements(element, module);
    if (elements.isEmpty())
        return;
    Icon icon;
    MyPsiElementCellRenderer renderer = new MyPsiElementCellRenderer(
            DomManager.getDomManager(element.getProject()));
    if (elements.size() > 1) {
        icon = Icons.W16;
    } else {
        icon = renderer.getIcon(Iterables.getFirst(elements, null));
    }
    NavigationGutterIconBuilder<PsiElement> builder = NavigationGutterIconBuilder.create(icon);
    builder.setTargets(elements);
    builder.setPopupTitle(message("class.lineMarker.popupTitle"));
    builder.setTooltipTitle(message("class.lineMarker.tooltip.title"));
    builder.setNamer(new XmlFileByElementNamer());
    builder.setCellRenderer(renderer);
    result.add(builder.createLineMarkerInfo(identifier));
}

From source file:org.jclouds.abiquo.internal.BasePricingService.java

@Override
public CostCode findCostCode(final Predicate<CostCode> filter) {
    return Iterables.getFirst(listCostCodes(filter), null);
}