List of usage examples for com.amazonaws.services.dynamodbv2.datamodeling DynamoDBScanExpression DynamoDBScanExpression
DynamoDBScanExpression
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(); }