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(java.util.Map<String, AttributeValue> key) 

Source Link

Document

Constructs a new DeleteRequest object.

Usage

From source file:com.dell.doradus.db.s3.DynamoDBService2.java

License:Apache License

public void commit(DBTransaction dbTran) {
    Timer t = new Timer();
    List<WriteRequest> list = new ArrayList<>();

    for (ColumnUpdate mutation : dbTran.getColumnUpdates()) {
        Map<String, AttributeValue> item = getPrimaryKey(mutation.getStoreName() + "_" + mutation.getRowKey(),
                mutation.getColumn().getName());
        byte[] value = mutation.getColumn().getRawValue();
        if (value.length == 0)
            value = EMPTY_VALUE;/*  w w  w.  j  av a2  s. c  o m*/
        item.put("value", new AttributeValue().withB(ByteBuffer.wrap(value)));
        list.add(new WriteRequest().withPutRequest(new PutRequest(item)));

        if (list.size() >= 25) {
            commitPartial(list);
        }
    }

    for (ColumnDelete mutation : dbTran.getColumnDeletes()) {
        Map<String, AttributeValue> item = getPrimaryKey(mutation.getStoreName() + "_" + mutation.getRowKey(),
                mutation.getColumnName());
        list.add(new WriteRequest().withDeleteRequest(new DeleteRequest(item)));

        if (list.size() >= 25) {
            commitPartial(list);
        }

    }

    for (RowDelete mutation : dbTran.getRowDeletes()) {
        for (DColumn c : getColumnSlice(mutation.getStoreName(), mutation.getRowKey(), null, null)) {
            Map<String, AttributeValue> item = getPrimaryKey(
                    mutation.getStoreName() + "_" + mutation.getRowKey(), c.getName());
            list.add(new WriteRequest().withDeleteRequest(new DeleteRequest(item)));

            if (list.size() >= 25) {
                commitPartial(list);
            }

        }
    }

    if (list.size() > 0) {
        commitPartial(list);
    }

    m_logger.debug("Committed transaction to {} in {}", getTenant().getName(), t);
}