Example usage for com.amazonaws.services.dynamodbv2.model ScanRequest setLimit

List of usage examples for com.amazonaws.services.dynamodbv2.model ScanRequest setLimit

Introduction

In this page you can find the example usage for com.amazonaws.services.dynamodbv2.model ScanRequest setLimit.

Prototype


public void setLimit(Integer limit) 

Source Link

Document

The maximum number of items to evaluate (not necessarily the number of matching items).

Usage

From source file:org.apache.metamodel.dynamodb.DynamoDbDataContext.java

License:Apache License

@Override
protected DataSet materializeMainSchemaTable(Table table, List<Column> columns, int maxRows) {
    final List<String> attributeNames = columns.stream().map(col -> col.getName()).collect(Collectors.toList());
    final ScanRequest scanRequest = new ScanRequest(table.getName());
    scanRequest.setAttributesToGet(attributeNames);
    if (maxRows > 0) {
        scanRequest.setLimit(maxRows);
    }// ww w.  ja  va 2 s. com
    final ScanResult result = _dynamoDb.scan(scanRequest);
    return new DynamoDbDataSet(columns, result);
}

From source file:org.iternine.jeppetto.dao.dynamodb.DynamoDBQueryModelDAO.java

License:Apache License

private Iterable<T> scanItems(QueryModel queryModel, ConditionExpressionBuilder conditionExpressionBuilder) {
    ScanRequest scanRequest = new ScanRequest(tableName);

    if (queryModel.getFirstResult() > 0) {
        logger.warn(// w  w  w. j a  va  2  s.  c  o  m
                "DynamoDB does not support skipping results.  Call setPosition() on DynamoDBIterable instead.");
    }

    if (queryModel.getMaxResults() > 0) {
        scanRequest.setLimit(queryModel.getMaxResults());
    }

    if (queryModel.getSorts() != null) {
        logger.warn("Not able to sort when performing a 'scan' operation.  Ignoring... ");
    }

    Map<String, String> expressionAttributeNames;

    scanRequest.setProjectionExpression(projectionExpression);

    if (conditionExpressionBuilder.hasExpression()) {
        scanRequest.setFilterExpression(conditionExpressionBuilder.getExpression());

        if (!conditionExpressionBuilder.getExpressionAttributeValues().isEmpty()) {
            scanRequest.setExpressionAttributeValues(conditionExpressionBuilder.getExpressionAttributeValues());
        }

        if (projectionExpressionNames.isEmpty()) {
            expressionAttributeNames = conditionExpressionBuilder.getExpressionAttributeNames();
        } else if (conditionExpressionBuilder.getExpressionAttributeNames().isEmpty()) {
            expressionAttributeNames = projectionExpressionNames;
        } else {
            expressionAttributeNames = new LinkedHashMap<String, String>();
            expressionAttributeNames.putAll(conditionExpressionBuilder.getExpressionAttributeNames());
            expressionAttributeNames.putAll(projectionExpressionNames);
        }
    } else {
        expressionAttributeNames = projectionExpressionNames;
    }

    if (!expressionAttributeNames.isEmpty()) {
        scanRequest.setExpressionAttributeNames(expressionAttributeNames);
    }

    return new ScanIterable<T>(dynamoDB, persistableEnhancer, scanRequest,
            rangeKeyField == null ? Collections.singleton(hashKeyField)
                    : Arrays.asList(hashKeyField, rangeKeyField));
}