Package com.amazonaws.services.dynamodb.model

Examples of com.amazonaws.services.dynamodb.model.BatchGetItemRequest


    public Boolean supports(Class clazz) {
        return BatchGetItemRequest.class.isAssignableFrom(clazz);
    }

    public List<Error> validate(Object target) {
        BatchGetItemRequest instance = (BatchGetItemRequest) target;
        List<Error> errors = new ArrayList<Error>();
      //TODO: Redo this logic, look at whole request object
        for (String tablename : instance.getRequestItems().keySet()) {
            errors.addAll(ValidatorUtils.invokeValidator(new TableNameValidator(), tablename));
            errors.addAll(ValidatorUtils.invokeValidator(new KeysAndAttributesValidator(), instance.getRequestItems().get(tablename)));
        }
        return removeNulls(errors);
    }
View Full Code Here


import com.fasterxml.jackson.core.JsonToken;

public class BatchGetItemRequestJsonUnmarshaller implements Unmarshaller<BatchGetItemRequest, JsonUnmarshallerContext> {

    public BatchGetItemRequest unmarshall(JsonUnmarshallerContext context) throws Exception {
        BatchGetItemRequest request = new BatchGetItemRequest();

        int originalDepth = context.getCurrentDepth();
        int targetDepth = originalDepth + 1;

        JsonToken token = context.currentToken;
        if (token == null) token = context.nextToken();

       while (true) {
            if (token == null) break;
            if (token == JsonToken.FIELD_NAME || token == JsonToken.START_OBJECT) {
                if (context.testExpression("RequestItems", targetDepth)) {
                    request.setRequestItems(new MapUnmarshaller<String, KeysAndAttributes>(SimpleTypeJsonUnmarshallers.StringJsonUnmarshaller.getInstance(), KeysAndAttributesJsonUnmarshaller.getInstance()).unmarshall(context));
                }
            } else if (token == JsonToken.END_ARRAY || token == JsonToken.END_OBJECT) {
                if (context.getCurrentDepth() <= originalDepth) break;
            }
            token = context.nextToken();
View Full Code Here

        batchGetItemResult.setUnprocessedKeys(new HashMap<String, KeysAndAttributes>());
    return batchGetItemResult;
  }

  public com.amazonaws.services.dynamodbv2.model.BatchGetItemResult batchGetItemV2(com.amazonaws.services.dynamodbv2.model.BatchGetItemRequest v2Request) {
        BatchGetItemRequest request = AlternatorDBApiVersion2Mapper.MapV2BatchGetItemRequestToV1(v2Request, this.tables);
        BatchGetItemResult result = batchGetItem(request);
        final Set<String> requestedTables = v2Request.getRequestItems().keySet();
        return AlternatorDBApiVersion2Mapper.MapV1BatchGetItemResultToV2(result, this.tables, requestedTables);
  }
View Full Code Here

    }

  @Test
  public void vanillaBatchGetItemTest() throws Exception {
        this.vanillaBatchWriteItemTest();
        BatchGetItemRequest batchGetItemRequest = new BatchGetItemRequest();
        Map<String, KeysAndAttributes> requestItems = new HashMap<String, KeysAndAttributes>();
        KeysAndAttributes keysAndAttributes = new KeysAndAttributes();
        List<String> attributesToGet = new ArrayList<String>();
        attributesToGet.add(hashKeyValue1);
        keysAndAttributes.setAttributesToGet(attributesToGet);
        List<Key> keys = new ArrayList<Key>();

        KeysAndAttributes keysAndAttributes1 = new KeysAndAttributes();
        List<String> attributesToGet1 = new ArrayList<String>();
        attributesToGet1.add(hashKeyValue2);
        keysAndAttributes1.setAttributesToGet(attributesToGet1);
        //Test case 1: Every request has matches.
//        keys.add(new Key(new AttributeValue("4")));
//        keys.add(new Key(new AttributeValue("5")));
//        keys.add(new Key(new AttributeValue("3")));

        //Test case 2: Requests has no match.
        keys.add(new Key(new AttributeValue("1")));

        //Test case 3: Complicated test, some requests has matches, some doesn't.
//        keys.add(new Key(new AttributeValue("7")));
//        keys.add(new Key(new AttributeValue("4")));

        //Test case 4: Duplicated request
        //Duplicated requests return duplicated results.
//        keys.add(new Key(new AttributeValue("7")));
//        keys.add(new Key(new AttributeValue("7")));
//        keys.add(new Key(new AttributeValue("4")));
//        keys.add(new Key(new AttributeValue("4")));

        keysAndAttributes.setKeys(keys);
        keysAndAttributes1.setKeys(keys);
        //Test case for Exception: Table doesn't exist.
//        requestItems.put("Vito's Table", keysAndAttributes);

        // Normal test
        // TODO: Multi table test failed. Need to be fixed.
        requestItems.put(tableName1, keysAndAttributes);
        requestItems.put(tableName2, keysAndAttributes1);

        batchGetItemRequest.withRequestItems(requestItems);
    BatchGetItemResult result  = getClient().batchGetItem(batchGetItemRequest);
        Assert.assertNotNull("UnprocessedKeys should be empty rather than null.", result.getUnprocessedKeys());
  }
View Full Code Here

    }

    private void processBatchGetRequest(Map<String, Class<?>> tableNameToClassMapper,
            Map<String, KeysAndAttributes> requestItems, Map<String, List<Object>> resultSet) {
        BatchGetItemResult batchGetItemResult = null;
        BatchGetItemRequest batchGetItemRequest = new BatchGetItemRequest();
        batchGetItemRequest.setRequestItems(requestItems);
        do {
            if (batchGetItemResult != null) {
                batchGetItemRequest.setRequestItems(batchGetItemResult.getUnprocessedKeys());
            }

            batchGetItemResult = db.batchGetItem(batchGetItemRequest);
            Map<String, BatchResponse> responses = batchGetItemResult.getResponses();
            for (String tableName : responses.keySet()) {
View Full Code Here

    }

    private void processBatchGetRequest(Map<String, Class<?>> tableNameToClassMapper,
            Map<String, KeysAndAttributes> requestItems, Map<String, List<Object>> resultSet) {
        BatchGetItemResult batchGetItemResult = null;
        BatchGetItemRequest batchGetItemRequest = new BatchGetItemRequest();
        batchGetItemRequest.setRequestItems(requestItems);
        do {
            if (batchGetItemResult != null) {
                batchGetItemRequest.setRequestItems(batchGetItemResult.getUnprocessedKeys());
            }

            batchGetItemResult = db.batchGetItem(batchGetItemRequest);
            Map<String, BatchResponse> responses = batchGetItemResult.getResponses();
            for (String tableName : responses.keySet()) {
View Full Code Here

    }

    private void processBatchGetRequest(Map<String, Class<?>> tableNameToClassMapper,
            Map<String, KeysAndAttributes> requestItems, Map<String, List<Object>> resultSet) {
        BatchGetItemResult batchGetItemResult = null;
        BatchGetItemRequest batchGetItemRequest = new BatchGetItemRequest();
        batchGetItemRequest.setRequestItems(requestItems);
        do {
            if (batchGetItemResult != null) {
                batchGetItemRequest.setRequestItems(batchGetItemResult.getUnprocessedKeys());
            }

            batchGetItemResult = db.batchGetItem(batchGetItemRequest);
            Map<String, BatchResponse> responses = batchGetItemResult.getResponses();
            for (String tableName : responses.keySet()) {
View Full Code Here

TOP

Related Classes of com.amazonaws.services.dynamodb.model.BatchGetItemRequest

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.