Example usage for com.amazonaws.services.dynamodbv2.model QueryRequest setFilterExpression

List of usage examples for com.amazonaws.services.dynamodbv2.model QueryRequest setFilterExpression

Introduction

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

Prototype


public void setFilterExpression(String filterExpression) 

Source Link

Document

A string that contains conditions that DynamoDB applies after the Query operation, but before the data is returned to you.

Usage

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

License:Apache License

private void applyExpressions(ConditionExpressionBuilder conditionExpressionBuilder,
        QueryRequest queryRequest) {
    Map<String, String> expressionAttributeNames;

    queryRequest.setProjectionExpression(projectionExpression);

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

        if (!conditionExpressionBuilder.getExpressionAttributeValues().isEmpty()) {
            queryRequest//from   w ww.j  a  v a  2 s  .  co  m
                    .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()) {
        queryRequest.setExpressionAttributeNames(expressionAttributeNames);
    }
}