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

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

Introduction

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

Prototype

E get(int index);

Source Link

Document

Returns the element at the specified position in this list.

Usage

From source file:de.metanome.backend.input.sql.ResultSetTwoLinesFixture.java

public ResultSet getTestData() throws SQLException {
    ResultSet resultSet = mock(ResultSet.class);
    ResultSetMetaData resultSetMetaData = mock(ResultSetMetaData.class);
    // Expected values
    // Expected column count
    when(resultSetMetaData.getColumnCount()).thenReturn(numberOfColumns());
    // Simulate SQLException when starting count at 0.
    when(resultSetMetaData.getTableName(0)).thenThrow(new SQLException());
    when(resultSetMetaData.getTableName(1)).thenReturn(getExpectedRelationName());
    ImmutableList<String> expectedColumnNames = getExpectedColumnNames();
    // Simulate SQLException when starting count at 0.
    when(resultSetMetaData.getColumnName(0)).thenThrow(new SQLException());
    for (int i = 0; i < expectedColumnNames.size(); i++) {
        when(resultSetMetaData.getColumnLabel(i + 1)).thenReturn(expectedColumnNames.get(i));
    }/*from   w  ww.  j a v a2s  .c o  m*/
    // Expected values when calling getMetaData
    when(resultSet.getMetaData()).thenReturn(resultSetMetaData);
    // Expected values when calling next
    when(resultSet.next()).thenReturn(getFirstExpectedNextValue(), getExpectedNextValuesExceptFirstAsArray());
    List<ImmutableList<String>> expectedRecords = getExpectedRecords();
    // Simulate SQLException when starting count at 0.
    when(resultSet.getString(0)).thenThrow(new SQLException());
    // Expected values when calling getString
    for (int columnIndex = 0; columnIndex < numberOfColumns(); columnIndex++) {
        when(resultSet.getString(columnIndex + 1)).thenReturn(expectedRecords.get(0).get(columnIndex))
                .thenReturn(expectedRecords.get(1).get(columnIndex));
    }

    return resultSet;
}

From source file:com.github.explainable.sql.table.BaseTable.java

@Nonnull
@Override/*  www  .j  a  va  2 s . c  o  m*/
public ImmutableList<BaseColumn> columns() {
    if (columns == null) {
        ImmutableList<String> fieldNames = relation.columnNames();
        ImmutableList<PrimitiveType> types = relation.type().columnTypes();

        ImmutableList.Builder<BaseColumn> columnsBuilder = ImmutableList.builder();
        for (int i = 0; i < fieldNames.size(); i++) {
            columnsBuilder.add(new BaseColumn(fieldNames.get(i), this, types.get(i)));
        }

        columns = columnsBuilder.build();
    }

    return columns;
}

From source file:com.facebook.buck.features.js.JsBundleGenrule.java

@Override
public ImmutableList<Step> getBuildSteps(BuildContext context, BuildableContext buildableContext) {
    SourcePathResolver sourcePathResolver = context.getSourcePathResolver();
    ImmutableList<Step> buildSteps = super.getBuildSteps(context, buildableContext);
    OptionalInt lastRmStep = IntStream.range(0, buildSteps.size()).map(x -> buildSteps.size() - 1 - x)
            .filter(i -> buildSteps.get(i) instanceof RmStep).findFirst();

    Preconditions.checkState(lastRmStep.isPresent(), "Genrule is expected to have at least on RmDir step");

    ImmutableList.Builder<Step> builder = ImmutableList.<Step>builder()
            // First, all Genrule steps including the last RmDir step are added
            .addAll(buildSteps.subList(0, lastRmStep.getAsInt() + 1))
            // Our MkdirStep must run after all RmSteps created by Genrule to prevent immediate
            // deletion of the directory. It must, however, run before the genrule command itself
            // runs.
            .add(MkdirStep.of(BuildCellRelativePath.fromCellRelativePath(context.getBuildCellRootPath(),
                    getProjectFilesystem(), sourcePathResolver.getRelativePath(getSourcePathToOutput()))));

    if (rewriteSourcemap) {
        // If the genrule rewrites the source map, we have to create the parent dir, and record
        // the build artifact

        SourcePath sourcePathToSourceMap = getSourcePathToSourceMap();
        buildableContext.recordArtifact(sourcePathResolver.getRelativePath(sourcePathToSourceMap));
        builder.add(MkdirStep.of(BuildCellRelativePath.fromCellRelativePath(context.getBuildCellRootPath(),
                getProjectFilesystem(),//  www. ja  v a2  s. c o m
                sourcePathResolver.getRelativePath(sourcePathToSourceMap).getParent())));
    }

    if (rewriteMisc) {
        // If the genrule rewrites the misc folder, we have to create the corresponding dir, and
        // record its contents

        SourcePath miscDirPath = getSourcePathToMisc();
        buildableContext.recordArtifact(sourcePathResolver.getRelativePath(miscDirPath));
        builder.add(MkdirStep.of(BuildCellRelativePath.fromCellRelativePath(context.getBuildCellRootPath(),
                getProjectFilesystem(), sourcePathResolver.getRelativePath(miscDirPath))));
    }

    if (rewriteDepsFile) {
        // If the genrule rewrites the dependencies file, we have to record its contents

        SourcePath dependenciesFilePath = getSourcePathToDepsFile();
        buildableContext.recordArtifact(sourcePathResolver.getRelativePath(dependenciesFilePath));
    }

    // Last, we add all remaining genrule commands after the last RmStep
    return builder.addAll(buildSteps.subList(lastRmStep.getAsInt() + 1, buildSteps.size())).build();
}

From source file:com.google.cloud.firestore.FieldPath.java

/** Encodes a list of field name segments in the server-accepted format. */
private String canonicalString() {
    ImmutableList<String> segments = getSegments();

    StringBuilder builder = new StringBuilder();
    for (int i = 0; i < segments.size(); i++) {
        if (i > 0) {
            builder.append(".");
        }/* w ww. ja  v a2 s  . c o m*/
        // Escape backslashes and backticks.
        String escaped = segments.get(i);
        escaped = escaped.replace("\\", "\\\\").replace("`", "\\`");

        if (!isValidIdentifier(escaped)) {
            escaped = '`' + escaped + '`';
        }

        builder.append(escaped);
    }
    return builder.toString();
}

From source file:com.facebook.buck.macho.CompDirReplacer.java

private void processThinBinary(final MachoMagicInfo magicInfo, final String oldCompDir,
        final String updatedCompDir) {
    buffer.position(0);/*  w ww .  ja v  a 2s . c  o m*/
    ImmutableList<SegmentCommand> segmentCommands = LoadCommandUtils.findLoadCommandsWithClass(buffer,
            nulTerminatedCharsetDecoder, SegmentCommand.class);
    Preconditions.checkArgument(segmentCommands.size() == 1, "Found %d SegmentCommands, expected 1",
            segmentCommands.size());

    processSectionsInSegmentCommand(segmentCommands.get(0), magicInfo, oldCompDir, updatedCompDir);
}

From source file:org.apache.hadoop.hbase.regionserver.DefaultStoreFileManager.java

@Override
public Collection<StoreFile> getUnneededFiles(long maxTs, List<StoreFile> filesCompacting) {
    Collection<StoreFile> expiredStoreFiles = null;
    ImmutableList<StoreFile> files = storefiles;
    // 1) We can never get rid of the last file which has the maximum seqid.
    // 2) Files that are not the latest can't become one due to (1), so the rest are fair game.
    for (int i = 0; i < files.size() - 1; ++i) {
        StoreFile sf = files.get(i);
        long fileTs = sf.getReader().getMaxTimestamp();
        if (fileTs < maxTs && !filesCompacting.contains(sf)) {
            LOG.info("Found an expired store file: " + sf.getPath() + " whose maxTimeStamp is " + fileTs
                    + ", which is below " + maxTs);
            if (expiredStoreFiles == null) {
                expiredStoreFiles = new ArrayList<StoreFile>();
            }//from  ww  w.ja va2 s.c om
            expiredStoreFiles.add(sf);
        }
    }
    return expiredStoreFiles;
}

From source file:com.google.errorprone.matchers.method.ParameterMatcherImpl.java

@Override
protected Optional<MatchState> matchResult(ExpressionTree item, MatchState info, VisitorState state) {
    ImmutableList<Type> actual = ImmutableList.copyOf(info.paramTypes());
    if (info.sym().isVarArgs()) {
        if (actual.size() < expected.size()) {
            return Optional.absent();
        }//w w w.  j  a  v a 2 s  . c  o  m
    } else if (actual.size() != expected.size()) {
        return Optional.absent();
    }

    for (int i = 0; i < actual.size(); ++i) {
        if (!state.getTypes().isSameType(actual.get(i), expected.get(i).get(state))) {
            return Optional.absent();
        }
    }
    return Optional.of(info);
}

From source file:org.locationtech.geogig.osm.internal.CreateOSMChangesetOp.java

/**
 * Executes the diff operation.//  w  w  w . j a v  a2s  .c om
 * 
 * @return an iterator to a set of differences between the two trees
 * @see DiffEntry
 */
@Override
protected Iterator<ChangeContainer> _call() {

    Iterator<DiffEntry> nodeIterator = command(DiffOp.class).setFilter(OSMUtils.NODE_TYPE_NAME)
            .setNewVersion(newRefSpec).setOldVersion(oldRefSpec).setReportTrees(false).call();
    Iterator<DiffEntry> wayIterator = command(DiffOp.class).setFilter(OSMUtils.WAY_TYPE_NAME)
            .setNewVersion(newRefSpec).setOldVersion(oldRefSpec).setReportTrees(false).call();
    Iterator<DiffEntry> iterator = Iterators.concat(nodeIterator, wayIterator);

    final EntityConverter converter = new EntityConverter();
    Function<DiffEntry, ChangeContainer> function = new Function<DiffEntry, ChangeContainer>() {

        @Override
        @Nullable
        public ChangeContainer apply(@Nullable DiffEntry diff) {
            NodeRef ref = diff.changeType().equals(ChangeType.REMOVED) ? diff.getOldObject()
                    : diff.getNewObject();
            RevFeature revFeature = command(RevObjectParse.class).setObjectId(ref.objectId())
                    .call(RevFeature.class).get();
            RevFeatureType revFeatureType = command(RevObjectParse.class).setObjectId(ref.getMetadataId())
                    .call(RevFeatureType.class).get();
            SimpleFeatureBuilder featureBuilder = new SimpleFeatureBuilder(
                    (SimpleFeatureType) revFeatureType.type());
            ImmutableList<PropertyDescriptor> descriptors = revFeatureType.sortedDescriptors();
            ImmutableList<Optional<Object>> values = revFeature.getValues();
            for (int i = 0; i < descriptors.size(); i++) {
                PropertyDescriptor descriptor = descriptors.get(i);
                Optional<Object> value = values.get(i);
                featureBuilder.set(descriptor.getName(), value.orNull());
            }
            SimpleFeature feature = featureBuilder.buildFeature(ref.name());
            Entity entity = converter.toEntity(feature, id);
            EntityContainer container;
            if (entity instanceof Node) {
                container = new NodeContainer((Node) entity);
            } else {
                container = new WayContainer((Way) entity);
            }

            ChangeAction action = diff.changeType().equals(ChangeType.ADDED) ? ChangeAction.Create
                    : diff.changeType().equals(ChangeType.MODIFIED) ? ChangeAction.Modify : ChangeAction.Delete;

            return new ChangeContainer(container, action);

        }

    };
    return Iterators.transform(iterator, function);
}

From source file:com.google.devtools.build.importdeps.ImportDepsChecker.java

public String computeResultOutput(String ruleLabel) {
    StringBuilder builder = new StringBuilder();
    ImmutableList<String> missingClasses = resultCollector.getSortedMissingClassInternalNames();
    for (String missing : missingClasses) {
        builder.append("Missing ").append(missing.replace('/', '.')).append('\n');
    }/*from w ww .j a  v  a  2  s  .  co  m*/

    ImmutableList<IncompleteState> incompleteClasses = resultCollector.getSortedIncompleteClasses();
    for (IncompleteState incomplete : incompleteClasses) {
        builder.append("Incomplete ancestor classpath for ")
                .append(incomplete.classInfo().get().internalName().replace('/', '.')).append('\n');

        ImmutableList<String> failurePath = incomplete.getResolutionFailurePath();
        checkState(!failurePath.isEmpty(), "The resolution failure path is empty. %s", failurePath);
        builder.append(INDENT).append("missing ancestor: ")
                .append(failurePath.get(failurePath.size() - 1).replace('/', '.')).append('\n');
        builder.append(INDENT).append("resolution failure path: ").append(failurePath.stream()
                .map(internalName -> internalName.replace('/', '.')).collect(Collectors.joining(" -> ")))
                .append('\n');
    }
    ImmutableList<MissingMember> missingMembers = resultCollector.getSortedMissingMembers();
    for (MissingMember missing : missingMembers) {
        builder.append("Missing member '").append(missing.memberName()).append("' in class ")
                .append(missing.owner().replace('/', '.')).append(" : name=").append(missing.memberName())
                .append(", descriptor=").append(missing.descriptor()).append('\n');
    }
    if (missingClasses.size() + incompleteClasses.size() + missingMembers.size() != 0) {
        builder.append("===Total===\n").append("missing=").append(missingClasses.size()).append('\n')
                .append("incomplete=").append(incompleteClasses.size()).append('\n').append("missing_members=")
                .append(missingMembers.size()).append('\n');
    }

    ImmutableList<Path> indirectJars = resultCollector.getSortedIndirectDeps();
    if (!indirectJars.isEmpty()) {
        ImmutableList<String> labels = extractLabels(indirectJars);
        if (ruleLabel.isEmpty() || labels.isEmpty()) {
            builder.append("*** Missing strict dependencies on the following Jars which don't carry "
                    + "rule labels.\nPlease determine the originating rules, e.g., using Bazel's "
                    + "'query' command, and add them to the dependencies of ")
                    .append(ruleLabel.isEmpty() ? inputJars : ruleLabel).append('\n');
            for (Path jar : indirectJars) {
                builder.append(jar).append('\n');
            }
        } else {
            builder.append("*** Missing strict dependencies. Run the following command to fix ***\n\n");
            builder.append("    add_dep ");
            for (String indirectLabel : labels) {
                builder.append(indirectLabel).append(" ");
            }
            builder.append(ruleLabel).append('\n');
        }
    }
    return builder.toString();
}

From source file:com.google.testing.i18n.sanitycheck.checkers.OrderingChecker.java

@VisibleForTesting
void makeCheck(ImmutableList<Collator> collators, ImmutableList<String> tokenizedInput, ULocale locale,
        String message) {//from w  ww.  j a  va2s  . com
    int position = 0;
    boolean failed = false;
    if (tokenizedInput != null) {
        main: for (int i = 1; i < tokenizedInput.size(); i++) {
            position = i;
            for (Collator testCollator : collators) {
                if (testCollator.compare(tokenizedInput.get(i - 1), tokenizedInput.get(i)) <= 0) {
                    continue main;
                }
            }
            failed = true;
            break;
        }
    }
    String errorMessage = message != null ? message
            : String.format("List is not sorted for %s. Should have \"%s\" <= \"%s\" at position %s.", locale,
                    tokenizedInput.get(position), tokenizedInput.get(position - 1), position);
    Assert.assertFalse(errorMessage, failed);
}