Example usage for com.amazonaws.services.dynamodbv2.datamodeling DynamoDBScanExpression DynamoDBScanExpression

List of usage examples for com.amazonaws.services.dynamodbv2.datamodeling DynamoDBScanExpression DynamoDBScanExpression

Introduction

In this page you can find the example usage for com.amazonaws.services.dynamodbv2.datamodeling DynamoDBScanExpression DynamoDBScanExpression.

Prototype

DynamoDBScanExpression

Source Link

Usage

From source file:org.socialsignin.spring.data.dynamodb.repository.query.DynamoDBEntityWithHashKeyOnlyCriteria.java

License:Apache License

public DynamoDBScanExpression buildScanExpression() {

    if (sort != null) {
        throw new UnsupportedOperationException("Sort not supported for scan expressions");
    }/*from w w  w.  ja  va2 s .  c o  m*/

    DynamoDBScanExpression scanExpression = new DynamoDBScanExpression();
    if (isHashKeySpecified()) {
        scanExpression.addFilterCondition(getHashKeyAttributeName(),
                createSingleValueCondition(getHashKeyPropertyName(), ComparisonOperator.EQ,
                        getHashKeyAttributeValue(), getHashKeyAttributeValue().getClass(), true));
    }

    for (Map.Entry<String, List<Condition>> conditionEntry : attributeConditions.entrySet()) {
        for (Condition condition : conditionEntry.getValue()) {
            scanExpression.addFilterCondition(conditionEntry.getKey(), condition);
        }
    }
    return scanExpression;
}

From source file:org.socialsignin.spring.data.dynamodb.repository.support.SimpleDynamoDBCrudRepository.java

License:Apache License

@Override
public List<T> findAll() {

    assertScanEnabled(enableScanPermissions.isFindAllUnpaginatedScanEnabled(), "findAll");
    DynamoDBScanExpression scanExpression = new DynamoDBScanExpression();
    return dynamoDBOperations.scan(domainType, scanExpression);
}

From source file:org.socialsignin.spring.data.dynamodb.repository.support.SimpleDynamoDBCrudRepository.java

License:Apache License

@Override
public long count() {
    assertScanEnabled(enableScanPermissions.isCountUnpaginatedScanEnabled(), "count");
    final DynamoDBScanExpression scanExpression = new DynamoDBScanExpression();
    return dynamoDBOperations.count(domainType, scanExpression);
}

From source file:org.socialsignin.spring.data.dynamodb.repository.support.SimpleDynamoDBPagingAndSortingRepository.java

License:Apache License

@Override
public Page<T> findAll(Pageable pageable) {

    if (pageable.getSort() != null) {
        throw new UnsupportedOperationException("Sorting not supported for find all scan operations");
    }//from  w  w w. j  av  a 2  s.  c  o m

    DynamoDBScanExpression scanExpression = new DynamoDBScanExpression();
    // Scan to the end of the page after the requested page
    int scanTo = pageable.getOffset() + (2 * pageable.getPageSize());
    scanExpression.setLimit(scanTo);
    PaginatedScanList<T> paginatedScanList = dynamoDBOperations.scan(domainType, scanExpression);
    Iterator<T> iterator = paginatedScanList.iterator();
    int processedCount = 0;
    if (pageable.getOffset() > 0) {
        processedCount = scanThroughResults(iterator, pageable.getOffset());
        if (processedCount < pageable.getOffset())
            return new PageImpl<T>(new ArrayList<T>());
    }
    // Scan ahead to retrieve the next page count
    List<T> results = readPageOfResults(iterator, pageable.getPageSize());

    assertScanEnabled(enableScanPermissions.isFindAllPaginatedScanEnabled(), "findAll(Pageable pageable)");
    assertScanCountEnabled(enableScanPermissions.isFindAllUnpaginatedScanCountEnabled(),
            "findAll(Pageable pageable)");

    int totalCount = dynamoDBOperations.count(domainType, scanExpression);

    return new PageImpl<T>(results, pageable, totalCount);

}

From source file:org.socialsignin.spring.data.dynamodb.repository.support.SimpleMultiTableDynamoDBCrudRepository.java

License:Apache License

@Override
public List<T> findAllInTable(String tableName) {
    assertScanEnabled(enableScanPermissions.isFindAllUnpaginatedScanEnabled(), "findAll");
    DynamoDBScanExpression scanExpression = new DynamoDBScanExpression();
    return dynamoDBMapper.scan(domainType, scanExpression,
            new DynamoDBMapperConfig(new TableNameOverride(tableName)));
}

From source file:se.symsoft.codecamp.SmsTerminatorService.java

License:Open Source License

private void initCache() {
    PaginatedScanList<TerminatorData> pageList = getDynamoDB().scan(TerminatorData.class,
            new DynamoDBScanExpression());
    pageList.stream().forEach(c -> terminatorDataCache.put(c.getRealm(), c));

    new Thread(() -> {
        while (true) {
            try {
                Thread.sleep(10000);
            } catch (InterruptedException e) {
                throw new RuntimeException(e);
            }/*from ww  w  .j  av a  2s.c  o m*/
            PaginatedScanList<TerminatorData> pageList1 = getDynamoDB().scan(TerminatorData.class,
                    new DynamoDBScanExpression());
            Map<String, TerminatorData> newData = new HashMap<>();
            pageList1.stream().forEach(c -> newData.put(c.getRealm(), c));
            terminatorDataCache = newData;
        }
    }).start();
}