Example usage for com.amazonaws.services.dynamodbv2.model DeleteRequest DeleteRequest

List of usage examples for com.amazonaws.services.dynamodbv2.model DeleteRequest DeleteRequest

Introduction

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

Prototype

public DeleteRequest() 

Source Link

Document

Default constructor for DeleteRequest object.

Usage

From source file:com.erudika.para.persistence.AWSDynamoDAO.java

License:Apache License

@Override
public <P extends ParaObject> void deleteAll(String appid, List<P> objects) {
    if (objects == null || objects.isEmpty() || StringUtils.isBlank(appid)) {
        return;/*from   w  w  w.jav a 2s.  c om*/
    }

    List<WriteRequest> reqs = new ArrayList<WriteRequest>(objects.size());
    for (ParaObject object : objects) {
        if (object != null) {
            reqs.add(new WriteRequest().withDeleteRequest(new DeleteRequest().withKey(Collections
                    .singletonMap(Config._KEY, new AttributeValue(getKeyForAppid(object.getId(), appid))))));
        }
    }
    batchWrite(Collections.singletonMap(getTableNameForAppid(appid), reqs));
    logger.debug("DAO.deleteAll() {}", objects.size());
}

From source file:com.intuit.tank.persistence.databases.AmazonDynamoDatabaseDocApi.java

License:Open Source License

/**
 * @{inheritDoc/*from w  w  w  . j a va2s  .co m*/
 */
@Override
public void deleteForJob(final String tableName, final String jobId, final boolean asynch) {
    Runnable task = new Runnable() {
        public void run() {
            MethodTimer mt = new MethodTimer(logger, this.getClass(), "deleteForJob (" + jobId + ")");

            List<Item> items = getItems(tableName, null, null, null, jobId);
            if (!items.isEmpty()) {
                List<WriteRequest> requests = new ArrayList<WriteRequest>();
                try {
                    for (Item item : items) {
                        String id = null;
                        for (Attribute attr : item.getAttributes()) {
                            if (DatabaseKeys.REQUEST_NAME_KEY.getShortKey().equals(attr.getName())) {
                                id = attr.getValue();
                                break;
                            }
                        }
                        if (id != null) {
                            Map<String, AttributeValue> keyMap = new HashMap<String, AttributeValue>();
                            keyMap.put(DatabaseKeys.REQUEST_NAME_KEY.getShortKey(),
                                    new AttributeValue().withS(id));
                            keyMap.put(DatabaseKeys.JOB_ID_KEY.getShortKey(),
                                    new AttributeValue().withS(jobId));
                            DeleteRequest deleteRequest = new DeleteRequest().withKey(keyMap);
                            WriteRequest writeRequest = new WriteRequest().withDeleteRequest(deleteRequest);
                            requests.add(writeRequest);
                        }
                    }
                    sendBatch(tableName, requests);
                } catch (Exception t) {
                    logger.error("Error adding results: " + t.getMessage(), t);
                    throw new RuntimeException(t);
                }
            }
            mt.endAndLog();
        }
    };
    if (asynch) {
        EXECUTOR.execute(task);
    } else {
        task.run();
    }

}

From source file:jp.xet.uncommons.spring.DynamoPersistentTokenRepository.java

License:Apache License

@Override
public void removeUserTokens(String username) {
    if (logger.isTraceEnabled()) {
        logger.trace("Remove token: username={}", username);
    }/*w  w  w  .  j ava  2  s . c  om*/

    try {
        Condition cond = new Condition().withComparisonOperator(ComparisonOperator.EQ)
                .withAttributeValueList(new AttributeValue(username));

        ScanRequest scanRequest = new ScanRequest().withTableName(persistentLoginTable)
                .withAttributesToGet(SERIES).withScanFilter(Collections.singletonMap(USERNAME, cond));
        ScanResult result = dynamoDb.scan(scanRequest);

        List<WriteRequest> writeRequests = Lists.newArrayListWithCapacity(result.getCount());
        for (Map<String, AttributeValue> item : result.getItems()) {
            DeleteRequest deleteRequest = new DeleteRequest()
                    .withKey(Collections.singletonMap(SERIES, item.get(SERIES)));
            writeRequests.add(new WriteRequest().withDeleteRequest(deleteRequest));
        }

        Map<String, List<WriteRequest>> requestItems = Maps.newHashMapWithExpectedSize(0);
        requestItems.put(persistentLoginTable, writeRequests);

        BatchWriteItemResult batchItemResult;
        do {
            BatchWriteItemRequest batchWriteItemRequest = new BatchWriteItemRequest()
                    .withRequestItems(requestItems);
            batchItemResult = dynamoDb.batchWriteItem(batchWriteItemRequest);
            requestItems = batchItemResult.getUnprocessedItems();
            if (logger.isDebugEnabled()) {
                logger.debug("Token removed: {}", batchItemResult);
            }
        } while (batchItemResult.getUnprocessedItems().size() > 0);
    } catch (Exception e) {
        logger.error("unknown exception", e);
    }
}