Example usage for com.google.common.collect ImmutableList size

List of usage examples for com.google.common.collect ImmutableList size

Introduction

In this page you can find the example usage for com.google.common.collect ImmutableList size.

Prototype

int size();

Source Link

Document

Returns the number of elements in this list.

Usage

From source file:com.todoroo.astrid.service.StartupService.java

private void removeDuplicateTagMetadata(String uuid) {
    Criterion fullCriterion = Criterion.and(Metadata.KEY.eq(TaskToTagMetadata.KEY),
            TaskToTagMetadata.TAG_UUID.eq(uuid), Metadata.DELETION_DATE.eq(0));
    List<Metadata> metadatas = metadataDao.toList(fullCriterion);
    ImmutableListMultimap<Long, Metadata> metadataByTask = Multimaps.index(metadatas, Metadata::getTask);
    for (Long key : metadataByTask.keySet()) {
        ImmutableList<Metadata> tagData = metadataByTask.get(key);
        for (int i = 1; i < tagData.size(); i++) {
            metadataDao.delete(tagData.get(i).getId());
        }/*  w  w w  .  j a va2 s. c  o m*/
    }
}

From source file:org.prebake.service.plan.Recipe.java

void cookIngredients(ImmutableList<Ingredient> ingredients) {
    synchronized (this) {
        outstanding += ingredients.size();
    }/*  w  w  w  .  j a  v a  2s. co m*/
    for (final Ingredient ingredient : ingredients) {
        cook.cook(ingredient, new Function<Boolean, Void>() {
            public Void apply(Boolean success) {
                if (Boolean.TRUE.equals(success)) {
                    final ImmutableList.Builder<Ingredient> readyToCook = ImmutableList.builder();
                    synchronized (nIngredientsNeeded) {
                        for (Ingredient postReq : ingredient.postRequisites) {
                            Integer nNeededInt = nIngredientsNeeded.get(postReq);
                            int nNeeded = nNeededInt != null ? nNeededInt.intValue()
                                    : postReq.preRequisites.size();
                            if (nNeeded == 1) {
                                nIngredientsNeeded.remove(postReq);
                                readyToCook.add(postReq);
                            } else {
                                nIngredientsNeeded.put(postReq, nNeeded - 1);
                            }
                        }
                    }
                    cookIngredients(readyToCook.build());
                } else {
                    failed = true;
                }
                synchronized (this) {
                    if (--outstanding != 0) {
                        return null;
                    }
                }
                cook.done(!failed);
                return null;
            }
        });
    }
}

From source file:com.publictransitanalytics.scoregenerator.walking.ForwardTimeTracker.java

@Override
public boolean shouldReplace(final MovementPath currentPath, final LocalDateTime otherTime) {
    final ImmutableList<Movement> movements = currentPath.getMovements();
    if (movements.isEmpty()) {
        return false;
    }/*from  w  w  w  .  j  a  va 2s  .co  m*/

    final Movement terminal = movements.get(movements.size() - 1);
    return otherTime.isBefore(terminal.getEndTime());
}

From source file:com.google.javascript.refactoring.FixingErrorManager.java

@Override
public void report(CheckLevel level, JSError error) {
    super.report(level, error);
    if (!unfixableErrors.contains(error.getType())) {
        ImmutableList<SuggestedFix> fixes = ErrorToFixMapper.getFixesForJsError(error, compiler);
        if (fixes.size() == 1) {
            sureFixes.put(error, fixes.get(0));
        } else {//from   w ww .j a v  a2s.c o  m
            multiFixes.putAll(error, fixes);
        }
    }
}

From source file:com.google.devtools.bazel.e4b.wizard.BazelTargetCompletionContentProposalProvider.java

@Override
public IContentProposal[] getProposals(String contents, int position) {
    if (bazel == null) {
        return null;
    }//from   w w  w. j a v  a 2  s. c om
    try {
        ImmutableList<String> completions = bazel.complete(contents.substring(0, position));
        if (completions != null) {
            IContentProposal[] result = new IContentProposal[completions.size()];
            int i = 0;
            for (String s : completions) {
                result[i] = new ContentProposal(s);
                i++;
            }
            return result;
        }
    } catch (IOException e) {
        Activator.error("Failed to run Bazel to get completion information", e);
    } catch (InterruptedException e) {
        Activator.error("Bazel was interrupted", e);
    }
    return null;
}

From source file:com.palantir.atlasdb.keyvalue.impl.RemotingKeyValueService.java

@Override
public ClosableIterator<RowResult<Value>> getRange(String tableName, RangeRequest range, long timestamp) {
    ClosableIterator<RowResult<Value>> it = super.getRange(tableName, range, timestamp);
    try {//w  w w  .ja  va 2  s  .  c  o m
        int pageSize = range.getBatchHint() != null ? range.getBatchHint() : 100;
        if (pageSize == 1) {
            pageSize = 2;
        }
        ImmutableList<RowResult<Value>> page = ImmutableList.copyOf(Iterators.limit(it, pageSize));
        if (page.size() < pageSize) {
            return new RangeIterator(tableName, range, timestamp, false, page);
        } else {
            return new RangeIterator(tableName, range, timestamp, true, page.subList(0, pageSize - 1));
        }
    } finally {
        it.close();
    }
}

From source file:org.gradle.api.internal.artifacts.ivyservice.modulecache.ModuleComponentResolveMetadataSerializer.java

private void writeOwners(Encoder encoder, ImmutableList<? extends ComponentIdentifier> platformOwners)
        throws IOException {
    encoder.writeSmallInt(platformOwners.size());
    for (ComponentIdentifier platformOwner : platformOwners) {
        writeComponentIdentifier(encoder, (ModuleComponentIdentifier) platformOwner);
    }//from www .j  av  a 2s.c o  m
}

From source file:com.github.rinde.rinsim.central.GlobalStateObject.java

/**
 * Constructs a new {@link GlobalStateObject} using the routes specified.
 * @param routes The routes to use, this will replace any existing routes in
 *          the vehicles. Exactly one route must be specified for each
 *          vehicle.//from   w w w.j a  v  a2  s. c o m
 * @return A newly constructed {@link GlobalStateObject} that only differs
 *         from the current object in the vehicles' routes.
 */
public GlobalStateObject withRoutes(ImmutableList<ImmutableList<Parcel>> routes) {
    checkArgument(routes.size() == getVehicles().size());
    final ImmutableList.Builder<VehicleStateObject> b = ImmutableList.builder();
    for (int i = 0; i < getVehicles().size(); i++) {
        b.add(getVehicles().get(i).withRoute(routes.get(i)));
    }
    return create(getAvailableParcels(), b.build(), getTime(), getTimeUnit(), getSpeedUnit(), getDistUnit());
}

From source file:com.facebook.buck.cxx.AbstractNewPrebuiltCxxLibraryPaths.java

private <T> Optional<T> getParameter(String parameter, Optional<T> element, CxxPlatform cxxPlatform,
        Optional<PatternMatchedCollection<T>> platformElement,
        Optional<ImmutableMap<BuildTarget, Version>> selectedVersions,
        Optional<VersionMatchedCollection<T>> versionedElement) {

    if (element.isPresent()) {
        return element;
    }/*  w w w . j  a va2s  .  c o m*/

    if (platformElement.isPresent()) {
        ImmutableList<T> matches = platformElement.get().getMatchingValues(cxxPlatform.getFlavor().toString());
        if (matches.size() != 1) {
            throw new HumanReadableException("%s: %s: expected a single match for platform %s, but found %s",
                    getTarget(), parameter, cxxPlatform.getFlavor(), matches);
        }
        return Optional.of(matches.get(0));
    }

    if (selectedVersions.isPresent() && versionedElement.isPresent()) {
        return Optional.of(
                versionedElement.get().getOnlyMatchingValue(getTarget().toString(), selectedVersions.get()));
    }

    return Optional.empty();
}

From source file:org.locationtech.geogig.api.plumbing.merge.MergeFeaturesOp.java

@SuppressWarnings("unchecked")
private Feature merge(RevFeature featureA, RevFeature featureB, RevFeature ancestor,
        RevFeatureType featureType) {/*from  w  w w  . ja v a  2  s. co m*/

    SimpleFeatureBuilder featureBuilder = new SimpleFeatureBuilder((SimpleFeatureType) featureType.type());
    ImmutableList<Optional<Object>> valuesA = featureA.getValues();
    ImmutableList<Optional<Object>> valuesB = featureB.getValues();
    ImmutableList<Optional<Object>> valuesAncestor = ancestor.getValues();
    ImmutableList<PropertyDescriptor> descriptors = featureType.sortedDescriptors();
    for (int i = 0; i < descriptors.size(); i++) {
        PropertyDescriptor descriptor = descriptors.get(i);
        boolean isGeom = Geometry.class.isAssignableFrom(descriptor.getType().getBinding());
        Name name = descriptor.getName();
        Optional<Object> valueAncestor = valuesAncestor.get(i);
        Optional<Object> valueA = valuesA.get(i);
        Optional<Object> valueB = valuesB.get(i);
        if (!valueA.equals(valueAncestor)) {
            Optional<Object> merged = valueA;
            if (isGeom && !valueB.equals(valueAncestor)) { // true merge is only done with
                                                           // geometries
                GeometryAttributeDiff diffB = new GeometryAttributeDiff(
                        Optional.fromNullable((Geometry) valueAncestor.orNull()),
                        Optional.fromNullable((Geometry) valueB.orNull()));
                merged = (Optional<Object>) diffB.applyOn(valueA);
            }
            featureBuilder.set(name, merged.orNull());
        } else {
            featureBuilder.set(name, valueB.orNull());
        }
    }
    return featureBuilder.buildFeature(nodeRefA.name());

}